| 312 |
|
|
| 313 |
|
|
| 314 |
// for SSH2(yutaka) |
// for SSH2(yutaka) |
| 315 |
static void c3DES_CBC_encrypt(PTInstVar pvar, unsigned char FAR * buf, |
static void c3DES_encrypt2(PTInstVar pvar, unsigned char FAR * buf, |
| 316 |
int bytes) |
int bytes) |
| 317 |
{ |
{ |
| 318 |
unsigned char *newbuf = malloc(bytes); |
unsigned char *newbuf = malloc(bytes); |
| 359 |
free(newbuf); |
free(newbuf); |
| 360 |
} |
} |
| 361 |
|
|
| 362 |
static void c3DES_CBC_decrypt(PTInstVar pvar, unsigned char FAR * buf, |
static void c3DES_decrypt2(PTInstVar pvar, unsigned char FAR * buf, |
| 363 |
int bytes) |
int bytes) |
| 364 |
{ |
{ |
| 365 |
unsigned char *newbuf = malloc(bytes); |
unsigned char *newbuf = malloc(bytes); |
| 864 |
| (1 << SSH2_CIPHER_ARCFOUR) |
| (1 << SSH2_CIPHER_ARCFOUR) |
| 865 |
| (1 << SSH2_CIPHER_ARCFOUR128) |
| (1 << SSH2_CIPHER_ARCFOUR128) |
| 866 |
| (1 << SSH2_CIPHER_ARCFOUR256) |
| (1 << SSH2_CIPHER_ARCFOUR256) |
| 867 |
| (1 << SSH2_CIPHER_CAST128_CBC); |
| (1 << SSH2_CIPHER_CAST128_CBC) |
| 868 |
|
| (1 << SSH2_CIPHER_3DES_CTR) |
| 869 |
|
| (1 << SSH2_CIPHER_BLOWFISH_CTR) |
| 870 |
|
| (1 << SSH2_CIPHER_CAST128_CTR); |
| 871 |
} |
} |
| 872 |
|
|
| 873 |
sender_ciphers &= cipher_mask; |
sender_ciphers &= cipher_mask; |
| 1332 |
switch (pvar->crypt_state.sender_cipher) { |
switch (pvar->crypt_state.sender_cipher) { |
| 1333 |
// for SSH2(yutaka) |
// for SSH2(yutaka) |
| 1334 |
case SSH2_CIPHER_3DES_CBC: |
case SSH2_CIPHER_3DES_CBC: |
| 1335 |
|
case SSH2_CIPHER_3DES_CTR: |
| 1336 |
{ |
{ |
| 1337 |
struct Enc *enc; |
struct Enc *enc; |
| 1338 |
|
|
| 1348 |
//debug_print(10, enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher)); |
//debug_print(10, enc->key, get_cipher_key_len(pvar->crypt_state.sender_cipher)); |
| 1349 |
//debug_print(11, enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher)); |
//debug_print(11, enc->iv, get_cipher_block_size(pvar->crypt_state.sender_cipher)); |
| 1350 |
|
|
| 1351 |
pvar->crypt_state.encrypt = c3DES_CBC_encrypt; |
pvar->crypt_state.encrypt = c3DES_encrypt2; |
| 1352 |
break; |
break; |
| 1353 |
} |
} |
| 1354 |
|
|
| 1379 |
} |
} |
| 1380 |
|
|
| 1381 |
case SSH2_CIPHER_BLOWFISH_CBC: |
case SSH2_CIPHER_BLOWFISH_CBC: |
| 1382 |
|
case SSH2_CIPHER_BLOWFISH_CTR: |
| 1383 |
{ |
{ |
| 1384 |
struct Enc *enc; |
struct Enc *enc; |
| 1385 |
|
|
| 1421 |
} |
} |
| 1422 |
|
|
| 1423 |
case SSH2_CIPHER_CAST128_CBC: |
case SSH2_CIPHER_CAST128_CBC: |
| 1424 |
|
case SSH2_CIPHER_CAST128_CTR: |
| 1425 |
{ |
{ |
| 1426 |
struct Enc *enc; |
struct Enc *enc; |
| 1427 |
|
|
| 1477 |
switch (pvar->crypt_state.receiver_cipher) { |
switch (pvar->crypt_state.receiver_cipher) { |
| 1478 |
// for SSH2(yutaka) |
// for SSH2(yutaka) |
| 1479 |
case SSH2_CIPHER_3DES_CBC: |
case SSH2_CIPHER_3DES_CBC: |
| 1480 |
|
case SSH2_CIPHER_3DES_CTR: |
| 1481 |
{ |
{ |
| 1482 |
struct Enc *enc; |
struct Enc *enc; |
| 1483 |
|
|
| 1493 |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher)); |
//debug_print(12, enc->key, get_cipher_key_len(pvar->crypt_state.receiver_cipher)); |
| 1494 |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher)); |
//debug_print(13, enc->iv, get_cipher_block_size(pvar->crypt_state.receiver_cipher)); |
| 1495 |
|
|
| 1496 |
pvar->crypt_state.decrypt = c3DES_CBC_decrypt; |
pvar->crypt_state.decrypt = c3DES_decrypt2; |
| 1497 |
break; |
break; |
| 1498 |
} |
} |
| 1499 |
|
|
| 1524 |
} |
} |
| 1525 |
|
|
| 1526 |
case SSH2_CIPHER_BLOWFISH_CBC: |
case SSH2_CIPHER_BLOWFISH_CBC: |
| 1527 |
|
case SSH2_CIPHER_BLOWFISH_CTR: |
| 1528 |
{ |
{ |
| 1529 |
struct Enc *enc; |
struct Enc *enc; |
| 1530 |
|
|
| 1567 |
} |
} |
| 1568 |
|
|
| 1569 |
case SSH2_CIPHER_CAST128_CBC: |
case SSH2_CIPHER_CAST128_CBC: |
| 1570 |
|
case SSH2_CIPHER_CAST128_CTR: |
| 1571 |
{ |
{ |
| 1572 |
struct Enc *enc; |
struct Enc *enc; |
| 1573 |
|
|
| 1686 |
return "Arcfour256"; |
return "Arcfour256"; |
| 1687 |
case SSH2_CIPHER_CAST128_CBC: |
case SSH2_CIPHER_CAST128_CBC: |
| 1688 |
return "CAST-128-CBC"; |
return "CAST-128-CBC"; |
| 1689 |
|
case SSH2_CIPHER_3DES_CTR: |
| 1690 |
|
return "3DES-CTR"; |
| 1691 |
|
case SSH2_CIPHER_BLOWFISH_CTR: |
| 1692 |
|
return "Blowfish-CTR"; |
| 1693 |
|
case SSH2_CIPHER_CAST128_CTR: |
| 1694 |
|
return "CAST-128-CTR"; |
| 1695 |
|
|
| 1696 |
default: |
default: |
| 1697 |
return "Unknown"; |
return "Unknown"; |