diff options
| author | Richard Basch <probe@mit.edu> | 1995-12-14 00:50:25 +0000 |
|---|---|---|
| committer | Richard Basch <probe@mit.edu> | 1995-12-14 00:50:25 +0000 |
| commit | 9d14aa5a07fada286cc9a76aa9245bc1be859001 (patch) | |
| tree | 79cd8617dbddce1646377a5a36646e18eb147ccc /src/lib/crypto | |
| parent | 69b747c160db1dff10c0b7de30f3a7ef1dac3bfa (diff) | |
| download | krb5-9d14aa5a07fada286cc9a76aa9245bc1be859001.tar.gz krb5-9d14aa5a07fada286cc9a76aa9245bc1be859001.tar.xz krb5-9d14aa5a07fada286cc9a76aa9245bc1be859001.zip | |
* t_verify.c: Added an n-fold test
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7231 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/crypto')
| -rw-r--r-- | src/lib/crypto/des/t_verify.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/lib/crypto/des/t_verify.c b/src/lib/crypto/des/t_verify.c index 7ae08c763..cf7a56167 100644 --- a/src/lib/crypto/des/t_verify.c +++ b/src/lib/crypto/des/t_verify.c @@ -45,6 +45,7 @@ int mit_des_debug; krb5_encrypt_block eblock; krb5_keyblock keyblock; +krb5_data kdata; unsigned char cipher_text[64]; unsigned char clear_text[64] = "Now is the time for all " ; @@ -55,6 +56,23 @@ unsigned char zero_text[8] = {0x0,0,0,0,0,0,0,0}; unsigned char msb_text[8] = {0x0,0,0,0, 0,0,0,0x40}; /* to ANSI MSB */ unsigned char *input; +unsigned char *nfold_in[] = { + "basch", + "eichin", + "sommerfeld", + "MASSACHVSETTS INSTITVTE OF TECHNOLOGY" }; + +unsigned char nfold_192[4][24] = { + { 0x1a, 0xab, 0x6b, 0x42, 0x96, 0x4b, 0x98, 0xb2, 0x1f, 0x8c, 0xde, 0x2d, + 0x24, 0x48, 0xba, 0x34, 0x55, 0xd7, 0x86, 0x2c, 0x97, 0x31, 0x64, 0x3f }, + { 0x65, 0x69, 0x63, 0x68, 0x69, 0x6e, 0x4b, 0x73, 0x2b, 0x4b, 0x1b, 0x43, + 0xda, 0x1a, 0x5b, 0x99, 0x5a, 0x58, 0xd2, 0xc6, 0xd0, 0xd2, 0xdc, 0xca }, + { 0x2f, 0x7a, 0x98, 0x55, 0x7c, 0x6e, 0xe4, 0xab, 0xad, 0xf4, 0xe7, 0x11, + 0x92, 0xdd, 0x44, 0x2b, 0xd4, 0xff, 0x53, 0x25, 0xa5, 0xde, 0xf7, 0x5c }, + { 0xdb, 0x3b, 0x0d, 0x8f, 0x0b, 0x06, 0x1e, 0x60, 0x32, 0x82, 0xb3, 0x08, + 0xa5, 0x08, 0x41, 0x22, 0x9a, 0xd7, 0x98, 0xfa, 0xb9, 0x54, 0x0c, 0x1b } +}; + /* 0x0123456789abcdef */ unsigned char default_key[8] = { 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef @@ -339,6 +357,24 @@ main(argc,argv) } else printf("verify: CBC checksum is correct\n\n"); + + printf("N-fold\n"); + for (i=0; i<sizeof(nfold_in)/sizeof(char *); i++) { + kdata.data = nfold_in[i]; + kdata.length = strlen(kdata.data); + printf("\tInput:\t\"%.*s\"\n", kdata.length, kdata.data); + printf("\t192-Fold:\t"); + mit_des_n_fold(kdata.data, kdata.length, cipher_text, 24); + for (j=0; j<24; j++) + printf("%s%02x", (j&3) ? "" : " ", cipher_text[j]); + printf("\n"); + if (memcmp(cipher_text, nfold_192[i], 24)) { + printf("verify: error in n-fold\n"); + exit(-1); + }; + } + printf("verify: N-fold is correct\n\n"); + exit(0); } |
