#include "des-compat.h"
#include "testutils.h"
-#define C_Block des_cblock
-#define Key_schedule des_key_schedule
-
/* tisk tisk - the test keys don't all have odd parity :-( */
/* test data */
#define NUM_TESTS 34
-static unsigned char key_data[NUM_TESTS][8]={
+static des_cblock key_data[NUM_TESTS] = {
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x43,0x34,0xCF,0xDA,0x22,0xC4,0x86,0xC8},
{0x08,0xD7,0xB4,0xFB,0x62,0x9D,0x08,0x85}};
-static unsigned char cbc_key [8]={0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef};
-static unsigned char cbc2_key[8]={0xf0,0xe1,0xd2,0xc3,0xb4,0xa5,0x96,0x87};
-static unsigned char cbc3_key[8]={0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10};
-static unsigned char cbc_iv [8]={0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10};
+static des_cblock cbc_key = {0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef};
+static des_cblock cbc2_key = {0xf0,0xe1,0xd2,0xc3,0xb4,0xa5,0x96,0x87};
+static des_cblock cbc3_key = {0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10};
+static des_cblock cbc_iv = {0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10};
static char cbc_data[32]="7654321 Now is the time for ";
static unsigned char cbc_ok[32]={
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(&key_data[i], ks)) != 0)
{
printf("Key error %2d:%d\n",i+1,j);
err=1;
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( (des_cblock *) in, (des_cblock *) out, ks, DES_ENCRYPT);
+ des_ecb_encrypt( (des_cblock *) out, (des_cblock *) outin, ks, DES_DECRYPT);
if (memcmp(out,cipher_data[i],8) != 0)
{
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(&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(&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(&key_data[i+2],ks3)) != 0)
{
printf("Key error %2d:%d\n",i+3,j);
err=1;
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( (des_cblock *) in, (des_cblock *) out, ks, ks2,
DES_ENCRYPT);
- des_ecb2_encrypt((C_Block *)out,(C_Block *)outin,ks,ks2,
+ des_ecb2_encrypt( (des_cblock *) out, (des_cblock *) outin, ks, ks2,
DES_DECRYPT);
if (memcmp(out,cipher_ecb2[i],8) != 0)
#endif
printf("Doing cbc\n");
- if ((j=des_key_sched((C_Block *)cbc_key,ks)) != 0)
+ if ((j=des_key_sched(&cbc_key, ks)) != 0)
{
printf("Key error %d\n",j);
err=1;
memset(cbc_out,0,sizeof(cbc_data));
memset(cbc_in,0,sizeof(cbc_data));
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
- des_ncbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out,
- sizeof(cbc_data),ks,
- (C_Block *)iv3,DES_ENCRYPT);
+ des_ncbc_encrypt( (des_cblock *) cbc_data, (des_cblock *) cbc_out,
+ sizeof(cbc_data), ks,
+ &iv3, DES_ENCRYPT);
if (memcmp(cbc_out,cbc_ok,32) != 0)
printf("cbc_encrypt encrypt error\n");
memcpy(iv3,cbc_iv,sizeof(cbc_iv));
- des_ncbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in,
+ des_ncbc_encrypt( (des_cblock *) cbc_out, (des_cblock *) cbc_in,
sizeof(cbc_data),ks,
- (C_Block *)iv3,DES_DECRYPT);
+ &iv3,DES_DECRYPT);
if (memcmp(cbc_in,cbc_data,sizeof(cbc_data)) != 0)
{
printf("cbc_encrypt decrypt error\n");
#endif /* LIBDES_LIT */
printf("Doing ede cbc\n");
- if ((j=des_key_sched((C_Block *)cbc_key,ks)) != 0)
+ if ((j=des_key_sched(&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(&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(&cbc3_key,ks3)) != 0)
{
printf("Key error %d\n",j);
err=1;
/* 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]),
- (C_Block *)&(cbc_out[16]),
- (long)i-16,ks,ks2,ks3,(C_Block *)iv3,DES_ENCRYPT);
+ des_ede3_cbc_encrypt( (des_cblock *)cbc_data, (des_cblock *) cbc_out,
+ 16L, ks, ks2, ks3, &iv3, DES_ENCRYPT);
+ des_ede3_cbc_encrypt( (des_cblock *)&(cbc_data[16]),
+ (des_cblock *)&(cbc_out[16]),
+ (long)i-16, ks, ks2, ks3, &iv3, DES_ENCRYPT);
if (memcmp(cbc_out,cbc3_ok, sizeof(cbc_data)) != 0)
{
printf("des_ede3_cbc_encrypt encrypt error\n");
}
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( (des_cblock *) cbc_out, (des_cblock *) cbc_in,
+ (long)i,ks, ks2, ks3, &iv3, DES_DECRYPT);
if (memcmp(cbc_in,cbc_data,sizeof(cbc_data)) != 0)
{
printf("des_ede3_cbc_encrypt decrypt error\n");
#endif
printf("Doing cbc_cksum\n");
- des_key_sched((C_Block *)cbc_key,ks);
- cs=des_cbc_cksum((C_Block *)cbc_data,(C_Block *)cret,
- sizeof(cbc_data),ks,(C_Block *)cbc_iv);
+ des_key_sched( (des_cblock *) cbc_key,ks);
+ cs=des_cbc_cksum( (des_cblock *) cbc_data, (des_cblock *) cret,
+ sizeof(cbc_data), ks, &cbc_iv);
if (cs != cbc_cksum_ret)
{
printf("bad return value (%08lX), should be %08lX\n",
for (i=0; i<4; i++)
{
printf(" %d",i);
- des_ncbc_encrypt((C_Block *)&(cbc_out[i]),(C_Block *)cbc_in,
- sizeof(cbc_data),ks,(C_Block *)cbc_iv,
+ des_ncbc_encrypt( (des_cblock *) &(cbc_out[i]), (des_cblock *) cbc_in,
+ sizeof(cbc_data), ks, &cbc_iv,
DES_ENCRYPT);
}
printf("\noutput word alignment test");
for (i=0; i<4; i++)
{
printf(" %d",i);
- des_ncbc_encrypt((C_Block *)cbc_out,(C_Block *)&(cbc_in[i]),
- sizeof(cbc_data),ks,(C_Block *)cbc_iv,
+ des_ncbc_encrypt( (des_cblock *) cbc_out, (des_cblock *) &(cbc_in[i]),
+ sizeof(cbc_data), ks, &cbc_iv,
DES_ENCRYPT);
}
printf("\n");