switch to the DES_ api, dont provide any compat glue

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@12748 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2003-09-03 09:26:03 +00:00
parent 992f32ca35
commit 49e0243cc5
29 changed files with 590 additions and 577 deletions

View File

@@ -311,8 +311,8 @@ int argc;
char *argv[];
{
int i,j,err=0;
des_cblock in,out,outin,iv3;
des_key_schedule ks,ks2,ks3;
DES_cblock in,out,outin,iv3;
DES_key_schedule ks,ks2,ks3;
unsigned char cbc_in[40];
unsigned char cbc_out[40];
DES_LONG cs;
@@ -331,7 +331,7 @@ char *argv[];
printf("Doing ecb\n");
for (i=0; i<NUM_TESTS; i++)
{
if ((j=des_key_sched((C_Block *)(key_data[i]),ks)) != 0)
if ((j=DES_key_sched((C_Block *)(key_data[i]),&ks)) != 0)
{
printf("Key error %2d:%d\n",i+1,j);
err=1;
@@ -339,8 +339,8 @@ char *argv[];
memcpy(in,plain_data[i],8);
memset(out,0,8);
memset(outin,0,8);
des_ecb_encrypt((C_Block *)in,(C_Block *)out,ks,DES_ENCRYPT);
des_ecb_encrypt((C_Block *)out,(C_Block *)outin,ks,DES_DECRYPT);
DES_ecb_encrypt((C_Block *)in,(C_Block *)out,&ks,DES_ENCRYPT);
DES_ecb_encrypt((C_Block *)out,(C_Block *)outin,&ks,DES_DECRYPT);
if (memcmp(out,cipher_data[i],8) != 0)
{
@@ -361,17 +361,17 @@ char *argv[];
printf("Doing ede ecb\n");
for (i=0; i<(NUM_TESTS-1); i++)
{
if ((j=des_key_sched((C_Block *)(key_data[i]),ks)) != 0)
if ((j=DES_key_sched((C_Block *)(key_data[i]),&ks)) != 0)
{
err=1;
printf("Key error %2d:%d\n",i+1,j);
}
if ((j=des_key_sched((C_Block *)(key_data[i+1]),ks2)) != 0)
if ((j=DES_key_sched((C_Block *)(key_data[i+1]),&ks2)) != 0)
{
printf("Key error %2d:%d\n",i+2,j);
err=1;
}
if ((j=des_key_sched((C_Block *)(key_data[i+2]),ks3)) != 0)
if ((j=DES_key_sched((C_Block *)(key_data[i+2]),&ks3)) != 0)
{
printf("Key error %2d:%d\n",i+3,j);
err=1;
@@ -379,9 +379,9 @@ char *argv[];
memcpy(in,plain_data[i],8);
memset(out,0,8);
memset(outin,0,8);
des_ecb2_encrypt((C_Block *)in,(C_Block *)out,ks,ks2,
DES_ecb2_encrypt((C_Block *)in,(C_Block *)out,&ks,&ks2,
DES_ENCRYPT);
des_ecb2_encrypt((C_Block *)out,(C_Block *)outin,ks,ks2,
DES_ecb2_encrypt((C_Block *)out,(C_Block *)outin,&ks,&ks2,
DES_DECRYPT);
if (memcmp(out,cipher_ecb2[i],8) != 0)
@@ -401,20 +401,20 @@ char *argv[];
#endif
printf("Doing cbc\n");
if ((j=des_key_sched((C_Block *)cbc_key,ks)) != 0)
if ((j=DES_key_sched((C_Block *)cbc_key,&ks)) != 0)
{
printf("Key error %d\n",j);
err=1;
}
memset(cbc_out,0,40);
memset(cbc_in,0,40);
des_cbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out,
(long)strlen((char *)cbc_data)+1,ks,
DES_cbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out,
(long)strlen((char *)cbc_data)+1,&ks,
(C_Block *)cbc_iv,DES_ENCRYPT);
if (memcmp(cbc_out,cbc_ok,32) != 0)
printf("cbc_encrypt encrypt error\n");
des_cbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in,
(long)strlen((char *)cbc_data)+1,ks,
DES_cbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in,
(long)strlen((char *)cbc_data)+1,&ks,
(C_Block *)cbc_iv,DES_DECRYPT);
if (memcmp(cbc_in,cbc_data,strlen((char *)cbc_data)) != 0)
{
@@ -424,7 +424,7 @@ char *argv[];
#ifndef LIBDES_LIT
printf("Doing desx cbc\n");
if ((j=des_key_sched((C_Block *)cbc_key,ks)) != 0)
if ((j=DES_key_sched((C_Block *)cbc_key,&ks)) != 0)
{
printf("Key error %d\n",j);
err=1;
@@ -432,38 +432,38 @@ char *argv[];
memset(cbc_out,0,40);
memset(cbc_in,0,40);
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
des_xcbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out,
(long)strlen((char *)cbc_data)+1,ks,
DES_xcbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out,
(long)strlen((char *)cbc_data)+1,&ks,
(C_Block *)iv3,
(C_Block *)cbc2_key, (C_Block *)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");
}
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
des_xcbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in,
(long)strlen((char *)cbc_data)+1,ks,
DES_xcbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in,
(long)strlen((char *)cbc_data)+1,&ks,
(C_Block *)iv3,
(C_Block *)cbc2_key, (C_Block *)cbc3_key, DES_DECRYPT);
if (memcmp(cbc_in,cbc_data,32) != 0)
{
printf("des_xcbc_encrypt decrypt error\n");
printf("DES_xcbc_encrypt decrypt error\n");
err=1;
}
#endif
printf("Doing ede cbc\n");
if ((j=des_key_sched((C_Block *)cbc_key,ks)) != 0)
if ((j=DES_key_sched((C_Block *)cbc_key,&ks)) != 0)
{
printf("Key error %d\n",j);
err=1;
}
if ((j=des_key_sched((C_Block *)cbc2_key,ks2)) != 0)
if ((j=DES_key_sched((C_Block *)cbc2_key,&ks2)) != 0)
{
printf("Key error %d\n",j);
err=1;
}
if ((j=des_key_sched((C_Block *)cbc3_key,ks3)) != 0)
if ((j=DES_key_sched((C_Block *)cbc3_key,&ks3)) != 0)
{
printf("Key error %d\n",j);
err=1;
@@ -474,11 +474,11 @@ char *argv[];
i=((i+7)/8)*8;
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
des_ede3_cbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out,
16L,ks,ks2,ks3,(C_Block *)iv3,DES_ENCRYPT);
des_ede3_cbc_encrypt((C_Block *)&(cbc_data[16]),
DES_ede3_cbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out,
16L,&ks,&ks2,&ks3,(C_Block *)iv3,DES_ENCRYPT);
DES_ede3_cbc_encrypt((C_Block *)&(cbc_data[16]),
(C_Block *)&(cbc_out[16]),
(long)i-16,ks,ks2,ks3,(C_Block *)iv3,DES_ENCRYPT);
(long)i-16,&ks,&ks2,&ks3,(C_Block *)iv3,DES_ENCRYPT);
if (memcmp(cbc_out,cbc3_ok,
(unsigned int)(strlen((char *)cbc_data)+1+7)/8*8) != 0)
{
@@ -487,8 +487,8 @@ char *argv[];
}
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
des_ede3_cbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in,
(long)i,ks,ks2,ks3,(C_Block *)iv3,DES_DECRYPT);
DES_ede3_cbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in,
(long)i,&ks,&ks2,&ks3,(C_Block *)iv3,DES_DECRYPT);
if (memcmp(cbc_in,cbc_data,strlen(cbc_data)+1) != 0)
{
printf("des_ede3_cbc_encrypt decrypt error\n");
@@ -497,22 +497,22 @@ char *argv[];
#ifndef LIBDES_LIT
printf("Doing pcbc\n");
if ((j=des_key_sched((C_Block *)cbc_key,ks)) != 0)
if ((j=DES_key_sched((C_Block *)cbc_key,&ks)) != 0)
{
printf("Key error %d\n",j);
err=1;
}
memset(cbc_out,0,40);
memset(cbc_in,0,40);
des_pcbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out,
(long)strlen(cbc_data)+1,ks,(C_Block *)cbc_iv,DES_ENCRYPT);
DES_pcbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out,
(long)strlen(cbc_data)+1,&ks,(C_Block *)cbc_iv,DES_ENCRYPT);
if (memcmp(cbc_out,pcbc_ok,32) != 0)
{
printf("pcbc_encrypt encrypt error\n");
err=1;
}
des_pcbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in,
(long)strlen(cbc_data)+1,ks,(C_Block *)cbc_iv,DES_DECRYPT);
DES_pcbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in,
(long)strlen(cbc_data)+1,&ks,(C_Block *)cbc_iv,DES_DECRYPT);
if (memcmp(cbc_in,cbc_data,32) != 0)
{
printf("pcbc_encrypt decrypt error\n");
@@ -536,8 +536,8 @@ 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]),
8,(long)1,ks,(C_Block *)cfb_tmp,DES_ENCRYPT);
DES_cfb_encrypt(&(plain[i]),&(cfb_buf1[i]),
8,(long)1,&ks,(C_Block *)cfb_tmp,DES_ENCRYPT);
if (memcmp(cfb_cipher8,cfb_buf1,sizeof(plain)) != 0)
{
printf("cfb_encrypt small encrypt error\n");
@@ -546,8 +546,8 @@ 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]),
8,(long)1,ks,(C_Block *)cfb_tmp,DES_DECRYPT);
DES_cfb_encrypt(&(cfb_buf1[i]),&(cfb_buf2[i]),
8,(long)1,&ks,(C_Block *)cfb_tmp,DES_DECRYPT);
if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0)
{
printf("cfb_encrypt small decrypt error\n");
@@ -560,9 +560,9 @@ char *argv[];
printf("done\n");
printf("Doing ofb\n");
des_key_sched((C_Block *)ofb_key,ks);
DES_key_sched((C_Block *)ofb_key,&ks);
memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
des_ofb_encrypt(plain,ofb_buf1,64,(long)sizeof(plain)/8,ks,
DES_ofb_encrypt(plain,ofb_buf1,64,(long)sizeof(plain)/8,&ks,
(C_Block *)ofb_tmp);
if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0)
{
@@ -570,7 +570,7 @@ char *argv[];
err=1;
}
memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
des_ofb_encrypt(ofb_buf1,ofb_buf2,64,(long)sizeof(ofb_buf1)/8,ks,
DES_ofb_encrypt(ofb_buf1,ofb_buf2,64,(long)sizeof(ofb_buf1)/8,&ks,
(C_Block *)ofb_tmp);
if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0)
{
@@ -579,14 +579,14 @@ char *argv[];
}
printf("Doing ofb64\n");
des_key_sched((C_Block *)ofb_key,ks);
DES_key_sched((C_Block *)ofb_key,&ks);
memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
memset(ofb_buf1,0,sizeof(ofb_buf1));
memset(ofb_buf2,0,sizeof(ofb_buf1));
num=0;
for (i=0; i<sizeof(plain); i++)
{
des_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,ks,
DES_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,&ks,
(C_Block *)ofb_tmp,&num);
}
if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0)
@@ -596,7 +596,7 @@ char *argv[];
}
memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
num=0;
des_ofb64_encrypt(ofb_buf1,ofb_buf2,(long)sizeof(ofb_buf1),ks,
DES_ofb64_encrypt(ofb_buf1,ofb_buf2,(long)sizeof(ofb_buf1),&ks,
(C_Block *)ofb_tmp,&num);
if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0)
{
@@ -605,15 +605,16 @@ char *argv[];
}
printf("Doing ede_ofb64\n");
des_key_sched((C_Block *)ofb_key,ks);
DES_key_sched((C_Block *)ofb_key,&ks);
memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
memset(ofb_buf1,0,sizeof(ofb_buf1));
memset(ofb_buf2,0,sizeof(ofb_buf1));
num=0;
for (i=0; i<sizeof(plain); i++)
{
des_ede3_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,ks,ks,ks,
(C_Block *)ofb_tmp,&num);
DES_ede3_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,
&ks,&ks,&ks,
(C_Block *)ofb_tmp,&num);
}
if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0)
{
@@ -622,8 +623,8 @@ char *argv[];
}
memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv));
num=0;
des_ede3_ofb64_encrypt(ofb_buf1,ofb_buf2,(long)sizeof(ofb_buf1),ks,
ks,ks,(C_Block *)ofb_tmp,&num);
DES_ede3_ofb64_encrypt(ofb_buf1,ofb_buf2,(long)sizeof(ofb_buf1),&ks,
&ks,&ks,(C_Block *)ofb_tmp,&num);
if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0)
{
printf("ede_ofb64_encrypt decrypt error\n");
@@ -631,9 +632,9 @@ char *argv[];
}
printf("Doing cbc_cksum\n");
des_key_sched((C_Block *)cbc_key,ks);
cs=des_cbc_cksum((C_Block *)cbc_data,(C_Block *)cret,
(long)strlen(cbc_data),ks,(C_Block *)cbc_iv);
DES_key_sched((C_Block *)cbc_key,&ks);
cs=DES_cbc_cksum((C_Block *)cbc_data,(C_Block *)cret,
(long)strlen(cbc_data),&ks,(C_Block *)cbc_iv);
if (cs != cbc_cksum_ret)
{
printf("bad return value (%08lX), should be %08lX\n",
@@ -712,16 +713,16 @@ char *argv[];
for (i=0; i<4; i++)
{
printf(" %d",i);
des_cbc_encrypt((C_Block *)&(cbc_out[i]),(C_Block *)cbc_in,
(long)strlen(cbc_data)+1,ks,(C_Block *)cbc_iv,
DES_cbc_encrypt((C_Block *)&(cbc_out[i]),(C_Block *)cbc_in,
(long)strlen(cbc_data)+1,&ks,(C_Block *)cbc_iv,
DES_ENCRYPT);
}
printf("\noutput word alignment test");
for (i=0; i<4; i++)
{
printf(" %d",i);
des_cbc_encrypt((C_Block *)cbc_out,(C_Block *)&(cbc_in[i]),
(long)strlen(cbc_data)+1,ks,(C_Block *)cbc_iv,
DES_cbc_encrypt((C_Block *)cbc_out,(C_Block *)&(cbc_in[i]),
(long)strlen(cbc_data)+1,&ks,(C_Block *)cbc_iv,
DES_ENCRYPT);
}
printf("\n");
@@ -769,12 +770,12 @@ static int cfb_test(bits, cfb_cipher)
int bits;
unsigned char *cfb_cipher;
{
des_key_schedule ks;
DES_key_schedule ks;
int i,err=0;
des_key_sched((C_Block *)cfb_key,ks);
DES_key_sched((C_Block *)cfb_key,&ks);
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
des_cfb_encrypt(plain,cfb_buf1,bits,(long)sizeof(plain),ks,
DES_cfb_encrypt(plain,cfb_buf1,bits,(long)sizeof(plain),&ks,
(C_Block *)cfb_tmp,DES_ENCRYPT);
if (memcmp(cfb_cipher,cfb_buf1,sizeof(plain)) != 0)
{
@@ -784,7 +785,7 @@ 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,(long)sizeof(plain),ks,
DES_cfb_encrypt(cfb_buf1,cfb_buf2,bits,(long)sizeof(plain),&ks,
(C_Block *)cfb_tmp,DES_DECRYPT);
if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0)
{
@@ -799,16 +800,16 @@ unsigned char *cfb_cipher;
static int cfb64_test(cfb_cipher)
unsigned char *cfb_cipher;
{
des_key_schedule ks;
DES_key_schedule ks;
int err=0,i,n;
des_key_sched((C_Block *)cfb_key,ks);
DES_key_sched((C_Block *)cfb_key,&ks);
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
n=0;
des_cfb64_encrypt(plain,cfb_buf1,(long)12,ks,
DES_cfb64_encrypt(plain,cfb_buf1,(long)12,&ks,
(C_Block *)cfb_tmp,&n,DES_ENCRYPT);
des_cfb64_encrypt(&(plain[12]),&(cfb_buf1[12]),
(long)sizeof(plain)-12,ks,
DES_cfb64_encrypt(&(plain[12]),&(cfb_buf1[12]),
(long)sizeof(plain)-12,&ks,
(C_Block *)cfb_tmp,&n,DES_ENCRYPT);
if (memcmp(cfb_cipher,cfb_buf1,sizeof(plain)) != 0)
{
@@ -819,10 +820,10 @@ unsigned char *cfb_cipher;
}
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
n=0;
des_cfb64_encrypt(cfb_buf1,cfb_buf2,(long)17,ks,
DES_cfb64_encrypt(cfb_buf1,cfb_buf2,(long)17,&ks,
(C_Block *)cfb_tmp,&n,DES_DECRYPT);
des_cfb64_encrypt(&(cfb_buf1[17]),&(cfb_buf2[17]),
(long)sizeof(plain)-17,ks,
DES_cfb64_encrypt(&(cfb_buf1[17]),&(cfb_buf2[17]),
(long)sizeof(plain)-17,&ks,
(C_Block *)cfb_tmp,&n,DES_DECRYPT);
if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0)
{
@@ -837,16 +838,16 @@ unsigned char *cfb_cipher;
static int ede_cfb64_test(cfb_cipher)
unsigned char *cfb_cipher;
{
des_key_schedule ks;
DES_key_schedule ks;
int err=0,i,n;
des_key_sched((C_Block *)cfb_key,ks);
DES_key_sched((C_Block *)cfb_key,&ks);
memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv));
n=0;
des_ede3_cfb64_encrypt(plain,cfb_buf1,(long)12,ks,ks,ks,
DES_ede3_cfb64_encrypt(plain,cfb_buf1,(long)12,&ks,&ks,&ks,
(C_Block *)cfb_tmp,&n,DES_ENCRYPT);
des_ede3_cfb64_encrypt(&(plain[12]),&(cfb_buf1[12]),
(long)sizeof(plain)-12,ks,ks,ks,
DES_ede3_cfb64_encrypt(&(plain[12]),&(cfb_buf1[12]),
(long)sizeof(plain)-12,&ks,&ks,&ks,
(C_Block *)cfb_tmp,&n,DES_ENCRYPT);
if (memcmp(cfb_cipher,cfb_buf1,sizeof(plain)) != 0)
{
@@ -857,10 +858,10 @@ 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,
(C_Block *)cfb_tmp,&n,DES_DECRYPT);
des_ede3_cfb64_encrypt(&(cfb_buf1[17]),&(cfb_buf2[17]),
(long)sizeof(plain)-17,ks,ks,ks,
DES_ede3_cfb64_encrypt(&(cfb_buf1[17]),&(cfb_buf2[17]),
(long)sizeof(plain)-17,&ks,&ks,&ks,
(C_Block *)cfb_tmp,&n,DES_DECRYPT);
if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0)
{