Merge in DES changed from 0.9.7-stable.
This commit is contained in:
parent
125cc35b59
commit
2e63f3b733
@ -72,6 +72,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#define OPENSSL_DES_LIBDES_COMPATIBILITY
|
||||
#include <openssl/des_old.h>
|
||||
#include <openssl/des.h>
|
||||
#include <openssl/rand.h>
|
||||
|
@ -3,13 +3,29 @@
|
||||
/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
|
||||
*
|
||||
* The function names in here are deprecated and are only present to
|
||||
* provide an interface compatible with libdes. OpenSSL now provides
|
||||
* functions where "des_" has been replaced with "DES_" in the names,
|
||||
* to make it possible to make incompatible changes that are needed
|
||||
* for C type security and other stuff.
|
||||
* provide an interface compatible with openssl 0.9.6 and older as
|
||||
* well as libdes. OpenSSL now provides functions where "des_" has
|
||||
* been replaced with "DES_" in the names, to make it possible to
|
||||
* make incompatible changes that are needed for C type security and
|
||||
* other stuff.
|
||||
*
|
||||
* This include files has two compatibility modes:
|
||||
*
|
||||
* - If OPENSSL_DES_LIBDES_COMPATIBILITY is defined, you get an API
|
||||
* that is compatible with libdes and SSLeay.
|
||||
* - If OPENSSL_DES_LIBDES_COMPATIBILITY isn't defined, you get an
|
||||
* API that is compatible with OpenSSL 0.9.5x to 0.9.6x.
|
||||
*
|
||||
* Note that these modes break earlier snapshots of OpenSSL, where
|
||||
* libdes compatibility was the only available mode or (later on) the
|
||||
* prefered compatibility mode. However, after much consideration
|
||||
* (and more or less violent discussions with external parties), it
|
||||
* was concluded that OpenSSL should be compatible with earlier versions
|
||||
* of itself before anything else. Also, in all honesty, libdes is
|
||||
* an old beast that shouldn't really be used any more.
|
||||
*
|
||||
* Please consider starting to use the DES_ functions rather than the
|
||||
* des_ ones. The des_ functions will dissapear completely before
|
||||
* des_ ones. The des_ functions will disappear completely before
|
||||
* OpenSSL 1.0!
|
||||
*
|
||||
* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
|
||||
@ -19,7 +35,7 @@
|
||||
* project 2001.
|
||||
*/
|
||||
/* ====================================================================
|
||||
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
|
||||
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -107,15 +123,16 @@ typedef struct _ossl_old_des_ks_struct
|
||||
} ks;
|
||||
} _ossl_old_des_key_schedule[16];
|
||||
|
||||
#ifdef OPENSSL_DES_PRE_0_9_7_COMPATIBILITY
|
||||
#ifndef OPENSSL_DES_LIBDES_COMPATIBILITY
|
||||
#define des_cblock DES_cblock
|
||||
#define const_des_cblock const_DES_cblock
|
||||
#define des_key_schedule DES_key_schedule
|
||||
#define des_ecb3_encrypt(i,o,k1,k2,k3,e)\
|
||||
DES_ecb3_encrypt((i),(o),(k1),(k2),(k3),(e))
|
||||
#define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\
|
||||
DES_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(e))
|
||||
#define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\
|
||||
DES_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(e))
|
||||
DES_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n),(e))
|
||||
#define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\
|
||||
DES_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n))
|
||||
#define des_options()\
|
||||
@ -128,8 +145,8 @@ typedef struct _ossl_old_des_ks_struct
|
||||
DES_ncbc_encrypt((i),(o),(l),(k),(iv),(e))
|
||||
#define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\
|
||||
DES_xcbc_encrypt((i),(o),(l),(k),(iv),(inw),(outw),(e))
|
||||
#define des_cfb_encrypt(i,o,l,k,iv,e)\
|
||||
DES_cfb_encrypt((i),(o),(l),(k),(iv),(e))
|
||||
#define des_cfb_encrypt(i,o,n,l,k,iv,e)\
|
||||
DES_cfb_encrypt((i),(o),(n),(l),(k),(iv),(e))
|
||||
#define des_ecb_encrypt(i,o,k,e)\
|
||||
DES_ecb_encrypt((i),(o),(k),(e))
|
||||
#define des_encrypt(d,k,e)\
|
||||
@ -206,7 +223,7 @@ typedef struct _ossl_old_des_ks_struct
|
||||
#define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\
|
||||
_ossl_old_des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(e))
|
||||
#define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\
|
||||
_ossl_old_des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(e))
|
||||
_ossl_old_des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n),(e))
|
||||
#define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\
|
||||
_ossl_old_des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n))
|
||||
#define des_options()\
|
||||
@ -219,8 +236,8 @@ typedef struct _ossl_old_des_ks_struct
|
||||
_ossl_old_des_ncbc_encrypt((i),(o),(l),(k),(iv),(e))
|
||||
#define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\
|
||||
_ossl_old_des_xcbc_encrypt((i),(o),(l),(k),(iv),(inw),(outw),(e))
|
||||
#define des_cfb_encrypt(i,o,l,k,iv,e)\
|
||||
_ossl_old_des_cfb_encrypt((i),(o),(l),(k),(iv),(e))
|
||||
#define des_cfb_encrypt(i,o,n,l,k,iv,e)\
|
||||
_ossl_old_des_cfb_encrypt((i),(o),(n),(l),(k),(iv),(e))
|
||||
#define des_ecb_encrypt(i,o,k,e)\
|
||||
_ossl_old_des_ecb_encrypt((i),(o),(k),(e))
|
||||
#define des_encrypt(d,k,e)\
|
||||
|
@ -83,11 +83,8 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
#else
|
||||
#include <openssl/des.h>
|
||||
#include <openssl/des_old.h>
|
||||
|
||||
#if defined(PERL5) || defined(__FreeBSD__)
|
||||
#define crypt(c,s) (DES_crypt((c),(s)))
|
||||
#endif
|
||||
#define crypt(c,s) (des_crypt((c),(s)))
|
||||
|
||||
/* tisk tisk - the test keys don't all have odd parity :-( */
|
||||
/* test data */
|
||||
@ -333,8 +330,8 @@ static int ede_cfb64_test(unsigned char *cfb_cipher);
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int i,j,err=0;
|
||||
DES_cblock in,out,outin,iv3,iv2;
|
||||
DES_key_schedule ks,ks2,ks3;
|
||||
des_cblock in,out,outin,iv3,iv2;
|
||||
des_key_schedule ks,ks2,ks3;
|
||||
unsigned char cbc_in[40];
|
||||
unsigned char cbc_out[40];
|
||||
DES_LONG cs;
|
||||
@ -381,7 +378,7 @@ int main(int argc, char *argv[])
|
||||
/* if (memcmp(cbc_out,cbc3_ok,
|
||||
(unsigned int)(strlen((char *)cbc_data)+1+7)/8*8) != 0)
|
||||
{
|
||||
printf("DES_ede3_cbc_encrypt encrypt error\n");
|
||||
printf("des_ede3_cbc_encrypt encrypt error\n");
|
||||
err=1;
|
||||
}
|
||||
*/
|
||||
@ -392,7 +389,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
int n;
|
||||
|
||||
printf("DES_ede3_cbcm_encrypt decrypt error\n");
|
||||
printf("des_ede3_cbcm_encrypt decrypt error\n");
|
||||
for(n=0 ; n < i ; ++n)
|
||||
printf(" %02x",cbc_data[n]);
|
||||
printf("\n");
|
||||
@ -410,8 +407,8 @@ int main(int argc, char *argv[])
|
||||
memcpy(in,plain_data[i],8);
|
||||
memset(out,0,8);
|
||||
memset(outin,0,8);
|
||||
DES_ecb_encrypt(&in,&out,&ks,DES_ENCRYPT);
|
||||
DES_ecb_encrypt(&out,&outin,&ks,DES_DECRYPT);
|
||||
des_ecb_encrypt(&in,&out,&ks,DES_ENCRYPT);
|
||||
des_ecb_encrypt(&out,&outin,&ks,DES_DECRYPT);
|
||||
|
||||
if (memcmp(out,cipher_data[i],8) != 0)
|
||||
{
|
||||
@ -438,8 +435,8 @@ int main(int argc, char *argv[])
|
||||
memcpy(in,plain_data[i],8);
|
||||
memset(out,0,8);
|
||||
memset(outin,0,8);
|
||||
DES_ecb2_encrypt(&in,&out,&ks,&ks2,DES_ENCRYPT);
|
||||
DES_ecb2_encrypt(&out,&outin,&ks,&ks2,DES_DECRYPT);
|
||||
des_ecb2_encrypt(&in,&out,&ks,&ks2,DES_ENCRYPT);
|
||||
des_ecb2_encrypt(&out,&outin,&ks,&ks2,DES_DECRYPT);
|
||||
|
||||
if (memcmp(out,cipher_ecb2[i],8) != 0)
|
||||
{
|
||||
@ -466,7 +463,7 @@ int main(int argc, char *argv[])
|
||||
memset(cbc_out,0,40);
|
||||
memset(cbc_in,0,40);
|
||||
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
|
||||
DES_ncbc_encrypt(cbc_data,cbc_out,strlen((char *)cbc_data)+1,&ks,
|
||||
des_ncbc_encrypt(cbc_data,cbc_out,strlen((char *)cbc_data)+1,&ks,
|
||||
&iv3,DES_ENCRYPT);
|
||||
if (memcmp(cbc_out,cbc_ok,32) != 0)
|
||||
{
|
||||
@ -475,7 +472,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
|
||||
DES_ncbc_encrypt(cbc_out,cbc_in,strlen((char *)cbc_data)+1,&ks,
|
||||
des_ncbc_encrypt(cbc_out,cbc_in,strlen((char *)cbc_data)+1,&ks,
|
||||
&iv3,DES_DECRYPT);
|
||||
if (memcmp(cbc_in,cbc_data,strlen((char *)cbc_data)) != 0)
|
||||
{
|
||||
@ -493,19 +490,19 @@ int main(int argc, char *argv[])
|
||||
memset(cbc_out,0,40);
|
||||
memset(cbc_in,0,40);
|
||||
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
|
||||
DES_xcbc_encrypt(cbc_data,cbc_out,strlen((char *)cbc_data)+1,&ks,
|
||||
des_xcbc_encrypt(cbc_data,cbc_out,strlen((char *)cbc_data)+1,&ks,
|
||||
&iv3,&cbc2_key,&cbc3_key, DES_ENCRYPT);
|
||||
if (memcmp(cbc_out,xcbc_ok,32) != 0)
|
||||
{
|
||||
printf("DES_xcbc_encrypt encrypt error\n");
|
||||
printf("des_xcbc_encrypt encrypt error\n");
|
||||
err=1;
|
||||
}
|
||||
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
|
||||
DES_xcbc_encrypt(cbc_out,cbc_in,strlen((char *)cbc_data)+1,&ks,
|
||||
des_xcbc_encrypt(cbc_out,cbc_in,strlen((char *)cbc_data)+1,&ks,
|
||||
&iv3,&cbc2_key,&cbc3_key, DES_DECRYPT);
|
||||
if (memcmp(cbc_in,cbc_data,strlen((char *)cbc_data)+1) != 0)
|
||||
{
|
||||
printf("DES_xcbc_encrypt decrypt error\n");
|
||||
printf("des_xcbc_encrypt decrypt error\n");
|
||||
err=1;
|
||||
}
|
||||
#endif
|
||||
@ -532,16 +529,16 @@ int main(int argc, char *argv[])
|
||||
/* i=((i+7)/8)*8; */
|
||||
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
|
||||
|
||||
DES_ede3_cbc_encrypt(cbc_data,cbc_out,16L,&ks,&ks2,&ks3,&iv3,
|
||||
des_ede3_cbc_encrypt(cbc_data,cbc_out,16L,&ks,&ks2,&ks3,&iv3,
|
||||
DES_ENCRYPT);
|
||||
DES_ede3_cbc_encrypt(&(cbc_data[16]),&(cbc_out[16]),i-16,&ks,&ks2,&ks3,
|
||||
des_ede3_cbc_encrypt(&(cbc_data[16]),&(cbc_out[16]),i-16,&ks,&ks2,&ks3,
|
||||
&iv3,DES_ENCRYPT);
|
||||
if (memcmp(cbc_out,cbc3_ok,
|
||||
(unsigned int)(strlen((char *)cbc_data)+1+7)/8*8) != 0)
|
||||
{
|
||||
int n;
|
||||
|
||||
printf("DES_ede3_cbc_encrypt encrypt error\n");
|
||||
printf("des_ede3_cbc_encrypt encrypt error\n");
|
||||
for(n=0 ; n < i ; ++n)
|
||||
printf(" %02x",cbc_out[n]);
|
||||
printf("\n");
|
||||
@ -552,12 +549,12 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
|
||||
DES_ede3_cbc_encrypt(cbc_out,cbc_in,i,&ks,&ks2,&ks3,&iv3,DES_DECRYPT);
|
||||
des_ede3_cbc_encrypt(cbc_out,cbc_in,i,&ks,&ks2,&ks3,&iv3,DES_DECRYPT);
|
||||
if (memcmp(cbc_in,cbc_data,strlen((char *)cbc_data)+1) != 0)
|
||||
{
|
||||
int n;
|
||||
|
||||
printf("DES_ede3_cbc_encrypt decrypt error\n");
|
||||
printf("des_ede3_cbc_encrypt decrypt error\n");
|
||||
for(n=0 ; n < i ; ++n)
|
||||
printf(" %02x",cbc_data[n]);
|
||||
printf("\n");
|
||||
@ -576,14 +573,14 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
memset(cbc_out,0,40);
|
||||
memset(cbc_in,0,40);
|
||||
DES_pcbc_encrypt(cbc_data,cbc_out,strlen((char *)cbc_data)+1,&ks,
|
||||
des_pcbc_encrypt(cbc_data,cbc_out,strlen((char *)cbc_data)+1,&ks,
|
||||
&cbc_iv,DES_ENCRYPT);
|
||||
if (memcmp(cbc_out,pcbc_ok,32) != 0)
|
||||
{
|
||||
printf("pcbc_encrypt encrypt error\n");
|
||||
err=1;
|
||||
}
|
||||
DES_pcbc_encrypt(cbc_out,cbc_in,strlen((char *)cbc_data)+1,&ks,&cbc_iv,
|
||||
des_pcbc_encrypt(cbc_out,cbc_in,strlen((char *)cbc_data)+1,&ks,&cbc_iv,
|
||||
DES_DECRYPT);
|
||||
if (memcmp(cbc_in,cbc_data,strlen((char *)cbc_data)+1) != 0)
|
||||
{
|
||||
@ -608,7 +605,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
|
||||
for (i=0; i<sizeof(plain); i++)
|
||||
DES_cfb_encrypt(&(plain[i]),&(cfb_buf1[i]),
|
||||
des_cfb_encrypt(&(plain[i]),&(cfb_buf1[i]),
|
||||
8,1,&ks,&cfb_tmp,DES_ENCRYPT);
|
||||
if (memcmp(cfb_cipher8,cfb_buf1,sizeof(plain)) != 0)
|
||||
{
|
||||
@ -618,7 +615,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
|
||||
for (i=0; i<sizeof(plain); i++)
|
||||
DES_cfb_encrypt(&(cfb_buf1[i]),&(cfb_buf2[i]),
|
||||
des_cfb_encrypt(&(cfb_buf1[i]),&(cfb_buf2[i]),
|
||||
8,1,&ks,&cfb_tmp,DES_DECRYPT);
|
||||
if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0)
|
||||
{
|
||||
@ -634,7 +631,7 @@ int main(int argc, char *argv[])
|
||||
printf("Doing ofb\n");
|
||||
DES_set_key_checked(&ofb_key,&ks);
|
||||
memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
|
||||
DES_ofb_encrypt(plain,ofb_buf1,64,sizeof(plain)/8,&ks,&ofb_tmp);
|
||||
des_ofb_encrypt(plain,ofb_buf1,64,sizeof(plain)/8,&ks,&ofb_tmp);
|
||||
if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0)
|
||||
{
|
||||
printf("ofb_encrypt encrypt error\n");
|
||||
@ -647,7 +644,7 @@ ofb_buf1[8+4], ofb_cipher[8+5], ofb_cipher[8+6], ofb_cipher[8+7]);
|
||||
err=1;
|
||||
}
|
||||
memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
|
||||
DES_ofb_encrypt(ofb_buf1,ofb_buf2,64,sizeof(ofb_buf1)/8,&ks,&ofb_tmp);
|
||||
des_ofb_encrypt(ofb_buf1,ofb_buf2,64,sizeof(ofb_buf1)/8,&ks,&ofb_tmp);
|
||||
if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0)
|
||||
{
|
||||
printf("ofb_encrypt decrypt error\n");
|
||||
@ -668,7 +665,7 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
|
||||
num=0;
|
||||
for (i=0; i<sizeof(plain); i++)
|
||||
{
|
||||
DES_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,&ks,&ofb_tmp,
|
||||
des_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,&ks,&ofb_tmp,
|
||||
&num);
|
||||
}
|
||||
if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0)
|
||||
@ -678,7 +675,7 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
|
||||
}
|
||||
memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
|
||||
num=0;
|
||||
DES_ofb64_encrypt(ofb_buf1,ofb_buf2,sizeof(ofb_buf1),&ks,&ofb_tmp,
|
||||
des_ofb64_encrypt(ofb_buf1,ofb_buf2,sizeof(ofb_buf1),&ks,&ofb_tmp,
|
||||
&num);
|
||||
if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0)
|
||||
{
|
||||
@ -694,7 +691,7 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
|
||||
num=0;
|
||||
for (i=0; i<sizeof(plain); i++)
|
||||
{
|
||||
DES_ede3_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,&ks,&ks,
|
||||
des_ede3_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,&ks,&ks,
|
||||
&ks,&ofb_tmp,&num);
|
||||
}
|
||||
if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0)
|
||||
@ -704,7 +701,7 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
|
||||
}
|
||||
memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
|
||||
num=0;
|
||||
DES_ede3_ofb64_encrypt(ofb_buf1,ofb_buf2,sizeof(ofb_buf1),&ks,&ks,&ks,
|
||||
des_ede3_ofb64_encrypt(ofb_buf1,ofb_buf2,sizeof(ofb_buf1),&ks,&ks,&ks,
|
||||
&ofb_tmp,&num);
|
||||
if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0)
|
||||
{
|
||||
@ -714,7 +711,7 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
|
||||
|
||||
printf("Doing cbc_cksum\n");
|
||||
DES_set_key_checked(&cbc_key,&ks);
|
||||
cs=DES_cbc_cksum(cbc_data,&cret,strlen((char *)cbc_data),&ks,&cbc_iv);
|
||||
cs=des_cbc_cksum(cbc_data,&cret,strlen((char *)cbc_data),&ks,&cbc_iv);
|
||||
if (cs != cbc_cksum_ret)
|
||||
{
|
||||
printf("bad return value (%08lX), should be %08lX\n",
|
||||
@ -728,8 +725,8 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
|
||||
}
|
||||
|
||||
printf("Doing quad_cksum\n");
|
||||
cs=DES_quad_cksum(cbc_data,(DES_cblock *)lqret,
|
||||
(long)strlen((char *)cbc_data),2,(DES_cblock *)cbc_iv);
|
||||
cs=des_quad_cksum(cbc_data,(des_cblock *)lqret,
|
||||
(long)strlen((char *)cbc_data),2,(des_cblock *)cbc_iv);
|
||||
if (cs != 0x70d7a63aL)
|
||||
{
|
||||
printf("quad_cksum error, ret %08lx should be 70d7a63a\n",
|
||||
@ -793,7 +790,7 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
|
||||
for (i=0; i<4; i++)
|
||||
{
|
||||
printf(" %d",i);
|
||||
DES_ncbc_encrypt(&(cbc_out[i]),cbc_in,
|
||||
des_ncbc_encrypt(&(cbc_out[i]),cbc_in,
|
||||
strlen((char *)cbc_data)+1,&ks,
|
||||
&cbc_iv,DES_ENCRYPT);
|
||||
}
|
||||
@ -801,7 +798,7 @@ plain[8+4], plain[8+5], plain[8+6], plain[8+7]);
|
||||
for (i=0; i<4; i++)
|
||||
{
|
||||
printf(" %d",i);
|
||||
DES_ncbc_encrypt(cbc_out,&(cbc_in[i]),
|
||||
des_ncbc_encrypt(cbc_out,&(cbc_in[i]),
|
||||
strlen((char *)cbc_data)+1,&ks,
|
||||
&cbc_iv,DES_ENCRYPT);
|
||||
}
|
||||
@ -846,12 +843,12 @@ static char *pt(unsigned char *p)
|
||||
|
||||
static int cfb_test(int bits, unsigned char *cfb_cipher)
|
||||
{
|
||||
DES_key_schedule ks;
|
||||
des_key_schedule ks;
|
||||
int i,err=0;
|
||||
|
||||
DES_set_key_checked(&cfb_key,&ks);
|
||||
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
|
||||
DES_cfb_encrypt(plain,cfb_buf1,bits,sizeof(plain),&ks,&cfb_tmp,
|
||||
des_cfb_encrypt(plain,cfb_buf1,bits,sizeof(plain),&ks,&cfb_tmp,
|
||||
DES_ENCRYPT);
|
||||
if (memcmp(cfb_cipher,cfb_buf1,sizeof(plain)) != 0)
|
||||
{
|
||||
@ -861,7 +858,7 @@ static int cfb_test(int bits, unsigned char *cfb_cipher)
|
||||
printf("%s\n",pt(&(cfb_buf1[i])));
|
||||
}
|
||||
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
|
||||
DES_cfb_encrypt(cfb_buf1,cfb_buf2,bits,sizeof(plain),&ks,&cfb_tmp,
|
||||
des_cfb_encrypt(cfb_buf1,cfb_buf2,bits,sizeof(plain),&ks,&cfb_tmp,
|
||||
DES_DECRYPT);
|
||||
if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0)
|
||||
{
|
||||
@ -875,14 +872,14 @@ static int cfb_test(int bits, unsigned char *cfb_cipher)
|
||||
|
||||
static int cfb64_test(unsigned char *cfb_cipher)
|
||||
{
|
||||
DES_key_schedule ks;
|
||||
des_key_schedule ks;
|
||||
int err=0,i,n;
|
||||
|
||||
DES_set_key_checked(&cfb_key,&ks);
|
||||
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
|
||||
n=0;
|
||||
DES_cfb64_encrypt(plain,cfb_buf1,12,&ks,&cfb_tmp,&n,DES_ENCRYPT);
|
||||
DES_cfb64_encrypt(&(plain[12]),&(cfb_buf1[12]),sizeof(plain)-12,&ks,
|
||||
des_cfb64_encrypt(plain,cfb_buf1,12,&ks,&cfb_tmp,&n,DES_ENCRYPT);
|
||||
des_cfb64_encrypt(&(plain[12]),&(cfb_buf1[12]),sizeof(plain)-12,&ks,
|
||||
&cfb_tmp,&n,DES_ENCRYPT);
|
||||
if (memcmp(cfb_cipher,cfb_buf1,sizeof(plain)) != 0)
|
||||
{
|
||||
@ -893,8 +890,8 @@ static int cfb64_test(unsigned char *cfb_cipher)
|
||||
}
|
||||
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
|
||||
n=0;
|
||||
DES_cfb64_encrypt(cfb_buf1,cfb_buf2,17,&ks,&cfb_tmp,&n,DES_DECRYPT);
|
||||
DES_cfb64_encrypt(&(cfb_buf1[17]),&(cfb_buf2[17]),
|
||||
des_cfb64_encrypt(cfb_buf1,cfb_buf2,17,&ks,&cfb_tmp,&n,DES_DECRYPT);
|
||||
des_cfb64_encrypt(&(cfb_buf1[17]),&(cfb_buf2[17]),
|
||||
sizeof(plain)-17,&ks,&cfb_tmp,&n,DES_DECRYPT);
|
||||
if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0)
|
||||
{
|
||||
@ -908,15 +905,15 @@ static int cfb64_test(unsigned char *cfb_cipher)
|
||||
|
||||
static int ede_cfb64_test(unsigned char *cfb_cipher)
|
||||
{
|
||||
DES_key_schedule ks;
|
||||
des_key_schedule ks;
|
||||
int err=0,i,n;
|
||||
|
||||
DES_set_key_checked(&cfb_key,&ks);
|
||||
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
|
||||
n=0;
|
||||
DES_ede3_cfb64_encrypt(plain,cfb_buf1,12,&ks,&ks,&ks,&cfb_tmp,&n,
|
||||
des_ede3_cfb64_encrypt(plain,cfb_buf1,12,&ks,&ks,&ks,&cfb_tmp,&n,
|
||||
DES_ENCRYPT);
|
||||
DES_ede3_cfb64_encrypt(&(plain[12]),&(cfb_buf1[12]),
|
||||
des_ede3_cfb64_encrypt(&(plain[12]),&(cfb_buf1[12]),
|
||||
sizeof(plain)-12,&ks,&ks,&ks,
|
||||
&cfb_tmp,&n,DES_ENCRYPT);
|
||||
if (memcmp(cfb_cipher,cfb_buf1,sizeof(plain)) != 0)
|
||||
@ -928,9 +925,9 @@ static int ede_cfb64_test(unsigned char *cfb_cipher)
|
||||
}
|
||||
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
|
||||
n=0;
|
||||
DES_ede3_cfb64_encrypt(cfb_buf1,cfb_buf2,(long)17,&ks,&ks,&ks,
|
||||
des_ede3_cfb64_encrypt(cfb_buf1,cfb_buf2,(long)17,&ks,&ks,&ks,
|
||||
&cfb_tmp,&n,DES_DECRYPT);
|
||||
DES_ede3_cfb64_encrypt(&(cfb_buf1[17]),&(cfb_buf2[17]),
|
||||
des_ede3_cfb64_encrypt(&(cfb_buf1[17]),&(cfb_buf2[17]),
|
||||
sizeof(plain)-17,&ks,&ks,&ks,
|
||||
&cfb_tmp,&n,DES_DECRYPT);
|
||||
if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user