| 48 |
#define DEATTACK_DETECTED 1 |
#define DEATTACK_DETECTED 1 |
| 49 |
|
|
| 50 |
/* |
/* |
| 51 |
* $Id: crypt.c,v 1.27 2008-11-22 10:05:33 maya Exp $ Cryptographic attack |
* $Id: crypt.c,v 1.28 2008-11-23 07:44:05 doda Exp $ Cryptographic attack |
| 52 |
* detector for ssh - source code (C)1998 CORE-SDI, Buenos Aires Argentina |
* detector for ssh - source code (C)1998 CORE-SDI, Buenos Aires Argentina |
| 53 |
* Ariel Futoransky(futo@core-sdi.com) <http://www.core-sdi.com> |
* Ariel Futoransky(futo@core-sdi.com) <http://www.core-sdi.com> |
| 54 |
*/ |
*/ |
| 1476 |
|
|
| 1477 |
enc = &pvar->ssh2_keys[MODE_IN].enc; |
enc = &pvar->ssh2_keys[MODE_IN].enc; |
| 1478 |
cipher_init_SSH2(&pvar->evpcip[MODE_IN], |
cipher_init_SSH2(&pvar->evpcip[MODE_IN], |
| 1479 |
enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher), |
enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher), |
| 1480 |
enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher), |
enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher), |
| 1481 |
CIPHER_DECRYPT, |
CIPHER_DECRYPT, |
| 1482 |
get_cipher_EVP_CIPHER(pvar->crypt_state.sender_cipher), |
get_cipher_EVP_CIPHER(pvar->crypt_state.receiver_cipher), |
| 1483 |
get_cipher_discard_len(pvar->crypt_state.sender_cipher), |
get_cipher_discard_len(pvar->crypt_state.receiver_cipher), |
| 1484 |
pvar); |
pvar); |
| 1485 |
|
|
| 1486 |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher)); |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher)); |
| 1487 |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher)); |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher)); |
| 1488 |
|
|
| 1489 |
pvar->crypt_state.decrypt = c3DES_CBC_decrypt; |
pvar->crypt_state.decrypt = c3DES_CBC_decrypt; |
| 1490 |
break; |
break; |
| 1502 |
|
|
| 1503 |
enc = &pvar->ssh2_keys[MODE_IN].enc; |
enc = &pvar->ssh2_keys[MODE_IN].enc; |
| 1504 |
cipher_init_SSH2(&pvar->evpcip[MODE_IN], |
cipher_init_SSH2(&pvar->evpcip[MODE_IN], |
| 1505 |
enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher), |
enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher), |
| 1506 |
enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher), |
enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher), |
| 1507 |
CIPHER_DECRYPT, |
CIPHER_DECRYPT, |
| 1508 |
get_cipher_EVP_CIPHER(pvar->crypt_state.sender_cipher), |
get_cipher_EVP_CIPHER(pvar->crypt_state.receiver_cipher), |
| 1509 |
get_cipher_discard_len(pvar->crypt_state.sender_cipher), |
get_cipher_discard_len(pvar->crypt_state.receiver_cipher), |
| 1510 |
pvar); |
pvar); |
| 1511 |
|
|
| 1512 |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher)); |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher)); |
| 1513 |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher)); |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher)); |
| 1514 |
|
|
| 1515 |
pvar->crypt_state.decrypt = cAES128_decrypt; |
pvar->crypt_state.decrypt = cAES128_decrypt; |
| 1516 |
break; |
break; |
| 1522 |
|
|
| 1523 |
enc = &pvar->ssh2_keys[MODE_IN].enc; |
enc = &pvar->ssh2_keys[MODE_IN].enc; |
| 1524 |
cipher_init_SSH2(&pvar->evpcip[MODE_IN], |
cipher_init_SSH2(&pvar->evpcip[MODE_IN], |
| 1525 |
enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher), |
enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher), |
| 1526 |
enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher), |
enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher), |
| 1527 |
CIPHER_DECRYPT, |
CIPHER_DECRYPT, |
| 1528 |
get_cipher_EVP_CIPHER(pvar->crypt_state.sender_cipher), |
get_cipher_EVP_CIPHER(pvar->crypt_state.receiver_cipher), |
| 1529 |
get_cipher_discard_len(pvar->crypt_state.sender_cipher), |
get_cipher_discard_len(pvar->crypt_state.receiver_cipher), |
| 1530 |
pvar); |
pvar); |
| 1531 |
|
|
| 1532 |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher)); |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher)); |
| 1533 |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher)); |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher)); |
| 1534 |
|
|
| 1535 |
pvar->crypt_state.decrypt = cBlowfish_decrypt2; |
pvar->crypt_state.decrypt = cBlowfish_decrypt2; |
| 1536 |
break; |
break; |
| 1544 |
|
|
| 1545 |
enc = &pvar->ssh2_keys[MODE_IN].enc; |
enc = &pvar->ssh2_keys[MODE_IN].enc; |
| 1546 |
cipher_init_SSH2(&pvar->evpcip[MODE_IN], |
cipher_init_SSH2(&pvar->evpcip[MODE_IN], |
| 1547 |
enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher), |
enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher), |
| 1548 |
enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher), |
enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher), |
| 1549 |
CIPHER_DECRYPT, |
CIPHER_DECRYPT, |
| 1550 |
get_cipher_EVP_CIPHER(pvar->crypt_state.sender_cipher), |
get_cipher_EVP_CIPHER(pvar->crypt_state.receiver_cipher), |
| 1551 |
get_cipher_discard_len(pvar->crypt_state.sender_cipher), |
get_cipher_discard_len(pvar->crypt_state.receiver_cipher), |
| 1552 |
pvar); |
pvar); |
| 1553 |
|
|
| 1554 |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher)); |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher)); |
| 1555 |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher)); |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher)); |
| 1556 |
|
|
| 1557 |
pvar->crypt_state.decrypt = cArcfour_decrypt; |
pvar->crypt_state.decrypt = cArcfour_decrypt; |
| 1558 |
break; |
break; |
| 1564 |
|
|
| 1565 |
enc = &pvar->ssh2_keys[MODE_IN].enc; |
enc = &pvar->ssh2_keys[MODE_IN].enc; |
| 1566 |
cipher_init_SSH2(&pvar->evpcip[MODE_IN], |
cipher_init_SSH2(&pvar->evpcip[MODE_IN], |
| 1567 |
enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher), |
enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher), |
| 1568 |
enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher), |
enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher), |
| 1569 |
CIPHER_DECRYPT, |
CIPHER_DECRYPT, |
| 1570 |
get_cipher_EVP_CIPHER(pvar->crypt_state.sender_cipher), |
get_cipher_EVP_CIPHER(pvar->crypt_state.receiver_cipher), |
| 1571 |
get_cipher_discard_len(pvar->crypt_state.sender_cipher), |
get_cipher_discard_len(pvar->crypt_state.receiver_cipher), |
| 1572 |
pvar); |
pvar); |
| 1573 |
|
|
| 1574 |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher)); |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher)); |
| 1575 |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher)); |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher)); |
| 1576 |
|
|
| 1577 |
pvar->crypt_state.decrypt = cCast128_decrypt; |
pvar->crypt_state.decrypt = cCast128_decrypt; |
| 1578 |
break; |
break; |