summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/des/destest.c
diff options
context:
space:
mode:
authorbeck <>2002-05-15 02:29:21 +0000
committerbeck <>2002-05-15 02:29:21 +0000
commitb64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9 (patch)
treefa27cf82a1250b64ed3bf5f4a18c7354d470bbcc /src/lib/libcrypto/des/destest.c
parente471e1ea98d673597b182ea85f29e30c97cd08b5 (diff)
downloadopenbsd-b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9.tar.gz
openbsd-b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9.tar.bz2
openbsd-b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9.zip
OpenSSL 0.9.7 stable 2002 05 08 merge
Diffstat (limited to 'src/lib/libcrypto/des/destest.c')
-rw-r--r--src/lib/libcrypto/des/destest.c103
1 files changed, 61 insertions, 42 deletions
diff --git a/src/lib/libcrypto/des/destest.c b/src/lib/libcrypto/des/destest.c
index df0d615d6b..58e8c35dcb 100644
--- a/src/lib/libcrypto/des/destest.c
+++ b/src/lib/libcrypto/des/destest.c
@@ -56,25 +56,26 @@
56 * [including the GNU Public Licence.] 56 * [including the GNU Public Licence.]
57 */ 57 */
58 58
59#if defined(WIN32) || defined(WIN16) || defined(WINDOWS) 59#include <stdio.h>
60#ifndef MSDOS 60#include <stdlib.h>
61#define MSDOS 61
62#include <openssl/e_os2.h>
63#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN16) || defined(OPENSSL_SYS_WINDOWS)
64#ifndef OPENSSL_SYS_MSDOS
65#define OPENSSL_SYS_MSDOS
62#endif 66#endif
63#endif 67#endif
64 68
65#include <stdio.h> 69#ifndef OPENSSL_SYS_MSDOS
66#include <stdlib.h> 70#if !defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_VMS_DECC)
67#ifndef MSDOS
68#if !defined(VMS) || defined(__DECC)
69#include <openssl/opensslconf.h>
70#include OPENSSL_UNISTD 71#include OPENSSL_UNISTD
71#endif /* VMS */ 72#endif
72#else 73#else
73#include <io.h> 74#include <io.h>
74#endif 75#endif
75#include <string.h> 76#include <string.h>
76 77
77#ifdef NO_DES 78#ifdef OPENSSL_NO_DES
78int main(int argc, char *argv[]) 79int main(int argc, char *argv[])
79{ 80{
80 printf("No DES support\n"); 81 printf("No DES support\n");
@@ -83,7 +84,7 @@ int main(int argc, char *argv[])
83#else 84#else
84#include <openssl/des.h> 85#include <openssl/des.h>
85 86
86#if defined(PERL5) || defined(__FreeBSD__) 87#if defined(PERL5) || defined(__FreeBSD__) || defined(NeXT)
87#define crypt(c,s) (des_crypt((c),(s))) 88#define crypt(c,s) (des_crypt((c),(s)))
88#endif 89#endif
89 90
@@ -348,19 +349,19 @@ int main(int argc, char *argv[])
348 int num; 349 int num;
349 char *str; 350 char *str;
350 351
351#ifndef NO_DESCBCM 352#ifndef OPENSSL_NO_DESCBCM
352 printf("Doing cbcm\n"); 353 printf("Doing cbcm\n");
353 if ((j=des_set_key_checked(&cbc_key,ks)) != 0) 354 if ((j=DES_set_key_checked(&cbc_key,&ks)) != 0)
354 { 355 {
355 printf("Key error %d\n",j); 356 printf("Key error %d\n",j);
356 err=1; 357 err=1;
357 } 358 }
358 if ((j=des_set_key_checked(&cbc2_key,ks2)) != 0) 359 if ((j=DES_set_key_checked(&cbc2_key,&ks2)) != 0)
359 { 360 {
360 printf("Key error %d\n",j); 361 printf("Key error %d\n",j);
361 err=1; 362 err=1;
362 } 363 }
363 if ((j=des_set_key_checked(&cbc3_key,ks3)) != 0) 364 if ((j=DES_set_key_checked(&cbc3_key,&ks3)) != 0)
364 { 365 {
365 printf("Key error %d\n",j); 366 printf("Key error %d\n",j);
366 err=1; 367 err=1;
@@ -372,9 +373,9 @@ int main(int argc, char *argv[])
372 memcpy(iv3,cbc_iv,sizeof(cbc_iv)); 373 memcpy(iv3,cbc_iv,sizeof(cbc_iv));
373 memset(iv2,'\0',sizeof iv2); 374 memset(iv2,'\0',sizeof iv2);
374 375
375 des_ede3_cbcm_encrypt(cbc_data,cbc_out,16L,ks,ks2,ks3,&iv3,&iv2, 376 DES_ede3_cbcm_encrypt(cbc_data,cbc_out,16L,&ks,&ks2,&ks3,&iv3,&iv2,
376 DES_ENCRYPT); 377 DES_ENCRYPT);
377 des_ede3_cbcm_encrypt(&cbc_data[16],&cbc_out[16],i-16,ks,ks2,ks3, 378 DES_ede3_cbcm_encrypt(&cbc_data[16],&cbc_out[16],i-16,&ks,&ks2,&ks3,
378 &iv3,&iv2,DES_ENCRYPT); 379 &iv3,&iv2,DES_ENCRYPT);
379 /* if (memcmp(cbc_out,cbc3_ok, 380 /* if (memcmp(cbc_out,cbc3_ok,
380 (unsigned int)(strlen((char *)cbc_data)+1+7)/8*8) != 0) 381 (unsigned int)(strlen((char *)cbc_data)+1+7)/8*8) != 0)
@@ -385,7 +386,7 @@ int main(int argc, char *argv[])
385 */ 386 */
386 memcpy(iv3,cbc_iv,sizeof(cbc_iv)); 387 memcpy(iv3,cbc_iv,sizeof(cbc_iv));
387 memset(iv2,'\0',sizeof iv2); 388 memset(iv2,'\0',sizeof iv2);
388 des_ede3_cbcm_encrypt(cbc_out,cbc_in,i,ks,ks2,ks3,&iv3,&iv2,DES_DECRYPT); 389 DES_ede3_cbcm_encrypt(cbc_out,cbc_in,i,&ks,&ks2,&ks3,&iv3,&iv2,DES_DECRYPT);
389 if (memcmp(cbc_in,cbc_data,strlen((char *)cbc_data)+1) != 0) 390 if (memcmp(cbc_in,cbc_data,strlen((char *)cbc_data)+1) != 0)
390 { 391 {
391 int n; 392 int n;
@@ -404,7 +405,7 @@ int main(int argc, char *argv[])
404 printf("Doing ecb\n"); 405 printf("Doing ecb\n");
405 for (i=0; i<NUM_TESTS; i++) 406 for (i=0; i<NUM_TESTS; i++)
406 { 407 {
407 des_set_key_unchecked(&key_data[i],ks); 408 DES_set_key_unchecked(&key_data[i],&ks);
408 memcpy(in,plain_data[i],8); 409 memcpy(in,plain_data[i],8);
409 memset(out,0,8); 410 memset(out,0,8);
410 memset(outin,0,8); 411 memset(outin,0,8);
@@ -430,9 +431,9 @@ int main(int argc, char *argv[])
430 printf("Doing ede ecb\n"); 431 printf("Doing ede ecb\n");
431 for (i=0; i<(NUM_TESTS-1); i++) 432 for (i=0; i<(NUM_TESTS-1); i++)
432 { 433 {
433 des_set_key_unchecked(&key_data[i],ks); 434 DES_set_key_unchecked(&key_data[i],&ks);
434 des_set_key_unchecked(&key_data[i+1],ks2); 435 DES_set_key_unchecked(&key_data[i+1],&ks2);
435 des_set_key_unchecked(&key_data[i+2],ks3); 436 DES_set_key_unchecked(&key_data[i+2],&ks3);
436 memcpy(in,plain_data[i],8); 437 memcpy(in,plain_data[i],8);
437 memset(out,0,8); 438 memset(out,0,8);
438 memset(outin,0,8); 439 memset(outin,0,8);
@@ -456,7 +457,7 @@ int main(int argc, char *argv[])
456#endif 457#endif
457 458
458 printf("Doing cbc\n"); 459 printf("Doing cbc\n");
459 if ((j=des_set_key_checked(&cbc_key,ks)) != 0) 460 if ((j=DES_set_key_checked(&cbc_key,&ks)) != 0)
460 { 461 {
461 printf("Key error %d\n",j); 462 printf("Key error %d\n",j);
462 err=1; 463 err=1;
@@ -483,7 +484,7 @@ int main(int argc, char *argv[])
483 484
484#ifndef LIBDES_LIT 485#ifndef LIBDES_LIT
485 printf("Doing desx cbc\n"); 486 printf("Doing desx cbc\n");
486 if ((j=des_set_key_checked(&cbc_key,ks)) != 0) 487 if ((j=DES_set_key_checked(&cbc_key,&ks)) != 0)
487 { 488 {
488 printf("Key error %d\n",j); 489 printf("Key error %d\n",j);
489 err=1; 490 err=1;
@@ -509,17 +510,17 @@ int main(int argc, char *argv[])
509#endif 510#endif
510 511
511 printf("Doing ede cbc\n"); 512 printf("Doing ede cbc\n");
512 if ((j=des_set_key_checked(&cbc_key,ks)) != 0) 513 if ((j=DES_set_key_checked(&cbc_key,&ks)) != 0)
513 { 514 {
514 printf("Key error %d\n",j); 515 printf("Key error %d\n",j);
515 err=1; 516 err=1;
516 } 517 }
517 if ((j=des_set_key_checked(&cbc2_key,ks2)) != 0) 518 if ((j=DES_set_key_checked(&cbc2_key,&ks2)) != 0)
518 { 519 {
519 printf("Key error %d\n",j); 520 printf("Key error %d\n",j);
520 err=1; 521 err=1;
521 } 522 }
522 if ((j=des_set_key_checked(&cbc3_key,ks3)) != 0) 523 if ((j=DES_set_key_checked(&cbc3_key,&ks3)) != 0)
523 { 524 {
524 printf("Key error %d\n",j); 525 printf("Key error %d\n",j);
525 err=1; 526 err=1;
@@ -530,13 +531,22 @@ int main(int argc, char *argv[])
530 /* i=((i+7)/8)*8; */ 531 /* i=((i+7)/8)*8; */
531 memcpy(iv3,cbc_iv,sizeof(cbc_iv)); 532 memcpy(iv3,cbc_iv,sizeof(cbc_iv));
532 533
533 des_ede3_cbc_encrypt(cbc_data,cbc_out,16L,ks,ks2,ks3,&iv3,DES_ENCRYPT); 534 des_ede3_cbc_encrypt(cbc_data,cbc_out,16L,ks,ks2,ks3,&iv3,
535 DES_ENCRYPT);
534 des_ede3_cbc_encrypt(&(cbc_data[16]),&(cbc_out[16]),i-16,ks,ks2,ks3, 536 des_ede3_cbc_encrypt(&(cbc_data[16]),&(cbc_out[16]),i-16,ks,ks2,ks3,
535 &iv3,DES_ENCRYPT); 537 &iv3,DES_ENCRYPT);
536 if (memcmp(cbc_out,cbc3_ok, 538 if (memcmp(cbc_out,cbc3_ok,
537 (unsigned int)(strlen((char *)cbc_data)+1+7)/8*8) != 0) 539 (unsigned int)(strlen((char *)cbc_data)+1+7)/8*8) != 0)
538 { 540 {
541 int n;
542
539 printf("des_ede3_cbc_encrypt encrypt error\n"); 543 printf("des_ede3_cbc_encrypt encrypt error\n");
544 for(n=0 ; n < i ; ++n)
545 printf(" %02x",cbc_out[n]);
546 printf("\n");
547 for(n=0 ; n < i ; ++n)
548 printf(" %02x",cbc3_ok[n]);
549 printf("\n");
540 err=1; 550 err=1;
541 } 551 }
542 552
@@ -544,13 +554,21 @@ int main(int argc, char *argv[])
544 des_ede3_cbc_encrypt(cbc_out,cbc_in,i,ks,ks2,ks3,&iv3,DES_DECRYPT); 554 des_ede3_cbc_encrypt(cbc_out,cbc_in,i,ks,ks2,ks3,&iv3,DES_DECRYPT);
545 if (memcmp(cbc_in,cbc_data,strlen((char *)cbc_data)+1) != 0) 555 if (memcmp(cbc_in,cbc_data,strlen((char *)cbc_data)+1) != 0)
546 { 556 {
557 int n;
558
547 printf("des_ede3_cbc_encrypt decrypt error\n"); 559 printf("des_ede3_cbc_encrypt decrypt error\n");
560 for(n=0 ; n < i ; ++n)
561 printf(" %02x",cbc_data[n]);
562 printf("\n");
563 for(n=0 ; n < i ; ++n)
564 printf(" %02x",cbc_in[n]);
565 printf("\n");
548 err=1; 566 err=1;
549 } 567 }
550 568
551#ifndef LIBDES_LIT 569#ifndef LIBDES_LIT
552 printf("Doing pcbc\n"); 570 printf("Doing pcbc\n");
553 if ((j=des_set_key_checked(&cbc_key,ks)) != 0) 571 if ((j=DES_set_key_checked(&cbc_key,&ks)) != 0)
554 { 572 {
555 printf("Key error %d\n",j); 573 printf("Key error %d\n",j);
556 err=1; 574 err=1;
@@ -613,7 +631,7 @@ int main(int argc, char *argv[])
613 printf("done\n"); 631 printf("done\n");
614 632
615 printf("Doing ofb\n"); 633 printf("Doing ofb\n");
616 des_set_key_checked(&ofb_key,ks); 634 DES_set_key_checked(&ofb_key,&ks);
617 memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); 635 memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
618 des_ofb_encrypt(plain,ofb_buf1,64,sizeof(plain)/8,ks,&ofb_tmp); 636 des_ofb_encrypt(plain,ofb_buf1,64,sizeof(plain)/8,ks,&ofb_tmp);
619 if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0) 637 if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0)
@@ -642,7 +660,7 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
642 } 660 }
643 661
644 printf("Doing ofb64\n"); 662 printf("Doing ofb64\n");
645 des_set_key_checked(&ofb_key,ks); 663 DES_set_key_checked(&ofb_key,&ks);
646 memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); 664 memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
647 memset(ofb_buf1,0,sizeof(ofb_buf1)); 665 memset(ofb_buf1,0,sizeof(ofb_buf1));
648 memset(ofb_buf2,0,sizeof(ofb_buf1)); 666 memset(ofb_buf2,0,sizeof(ofb_buf1));
@@ -659,7 +677,8 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
659 } 677 }
660 memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); 678 memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
661 num=0; 679 num=0;
662 des_ofb64_encrypt(ofb_buf1,ofb_buf2,sizeof(ofb_buf1),ks,&ofb_tmp,&num); 680 des_ofb64_encrypt(ofb_buf1,ofb_buf2,sizeof(ofb_buf1),ks,&ofb_tmp,
681 &num);
663 if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0) 682 if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0)
664 { 683 {
665 printf("ofb64_encrypt decrypt error\n"); 684 printf("ofb64_encrypt decrypt error\n");
@@ -667,15 +686,15 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
667 } 686 }
668 687
669 printf("Doing ede_ofb64\n"); 688 printf("Doing ede_ofb64\n");
670 des_set_key_checked(&ofb_key,ks); 689 DES_set_key_checked(&ofb_key,&ks);
671 memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); 690 memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
672 memset(ofb_buf1,0,sizeof(ofb_buf1)); 691 memset(ofb_buf1,0,sizeof(ofb_buf1));
673 memset(ofb_buf2,0,sizeof(ofb_buf1)); 692 memset(ofb_buf2,0,sizeof(ofb_buf1));
674 num=0; 693 num=0;
675 for (i=0; i<sizeof(plain); i++) 694 for (i=0; i<sizeof(plain); i++)
676 { 695 {
677 des_ede3_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,ks,ks,ks, 696 des_ede3_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,ks,ks,
678 &ofb_tmp,&num); 697 ks,&ofb_tmp,&num);
679 } 698 }
680 if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0) 699 if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0)
681 { 700 {
@@ -684,8 +703,8 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
684 } 703 }
685 memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); 704 memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
686 num=0; 705 num=0;
687 des_ede3_ofb64_encrypt(ofb_buf1,ofb_buf2,sizeof(ofb_buf1),ks, 706 des_ede3_ofb64_encrypt(ofb_buf1,ofb_buf2,sizeof(ofb_buf1),ks,ks,ks,
688 ks,ks,&ofb_tmp,&num); 707 &ofb_tmp,&num);
689 if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0) 708 if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0)
690 { 709 {
691 printf("ede_ofb64_encrypt decrypt error\n"); 710 printf("ede_ofb64_encrypt decrypt error\n");
@@ -693,7 +712,7 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
693 } 712 }
694 713
695 printf("Doing cbc_cksum\n"); 714 printf("Doing cbc_cksum\n");
696 des_set_key_checked(&cbc_key,ks); 715 DES_set_key_checked(&cbc_key,&ks);
697 cs=des_cbc_cksum(cbc_data,&cret,strlen((char *)cbc_data),ks,&cbc_iv); 716 cs=des_cbc_cksum(cbc_data,&cret,strlen((char *)cbc_data),ks,&cbc_iv);
698 if (cs != cbc_cksum_ret) 717 if (cs != cbc_cksum_ret)
699 { 718 {
@@ -708,7 +727,7 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
708 } 727 }
709 728
710 printf("Doing quad_cksum\n"); 729 printf("Doing quad_cksum\n");
711 cs=quad_cksum(cbc_data,(des_cblock *)lqret, 730 cs=des_quad_cksum(cbc_data,(des_cblock *)lqret,
712 (long)strlen((char *)cbc_data),2,(des_cblock *)cbc_iv); 731 (long)strlen((char *)cbc_data),2,(des_cblock *)cbc_iv);
713 if (cs != 0x70d7a63aL) 732 if (cs != 0x70d7a63aL)
714 { 733 {
@@ -829,7 +848,7 @@ static int cfb_test(int bits, unsigned char *cfb_cipher)
829 des_key_schedule ks; 848 des_key_schedule ks;
830 int i,err=0; 849 int i,err=0;
831 850
832 des_set_key_checked(&cfb_key,ks); 851 DES_set_key_checked(&cfb_key,&ks);
833 memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); 852 memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
834 des_cfb_encrypt(plain,cfb_buf1,bits,sizeof(plain),ks,&cfb_tmp, 853 des_cfb_encrypt(plain,cfb_buf1,bits,sizeof(plain),ks,&cfb_tmp,
835 DES_ENCRYPT); 854 DES_ENCRYPT);
@@ -858,7 +877,7 @@ static int cfb64_test(unsigned char *cfb_cipher)
858 des_key_schedule ks; 877 des_key_schedule ks;
859 int err=0,i,n; 878 int err=0,i,n;
860 879
861 des_set_key_checked(&cfb_key,ks); 880 DES_set_key_checked(&cfb_key,&ks);
862 memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); 881 memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
863 n=0; 882 n=0;
864 des_cfb64_encrypt(plain,cfb_buf1,12,ks,&cfb_tmp,&n,DES_ENCRYPT); 883 des_cfb64_encrypt(plain,cfb_buf1,12,ks,&cfb_tmp,&n,DES_ENCRYPT);
@@ -891,7 +910,7 @@ static int ede_cfb64_test(unsigned char *cfb_cipher)
891 des_key_schedule ks; 910 des_key_schedule ks;
892 int err=0,i,n; 911 int err=0,i,n;
893 912
894 des_set_key_checked(&cfb_key,ks); 913 DES_set_key_checked(&cfb_key,&ks);
895 memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); 914 memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
896 n=0; 915 n=0;
897 des_ede3_cfb64_encrypt(plain,cfb_buf1,12,ks,ks,ks,&cfb_tmp,&n, 916 des_ede3_cfb64_encrypt(plain,cfb_buf1,12,ks,ks,ks,&cfb_tmp,&n,