📄 destest_3des.c
字号:
} else { hi_des_decrypt(&pplaintext_ofb_8[i][0],&mydout_ofb_8[i][0],8,&keys); } for(j=0;j<1;j++) { if(mydout_ofb_8[i][j]!=dout_ofb_8[i][j]) { printf("des_ofb_8 test failed at: %d row!",i); return -1; } } //printf("\n"); //printf("this is standard result:"); //printf("%x",dout_ofb_64[i]); // for (j=0;j<8;j++); //{ // printf("%x",mydout_ofb_64[i]); //} //printf("\n"); } printf(" all des_ofb_8 tests passed!\n"); return 0;}int ofb_64_test(){ unsigned int i,k,j; ctrl.des_endian=1; //little; ctrl.des_shift =3; //64; ctrl.des_type = 3; //ofb_64; ctrl.des_alg = 1; printf(" des_ofb_64_test begin!\n"); for(i=0;i<2;i++) { for(k=0;k<8;k++) { keys.keys1[k]=key_ofb_64[i*3][k]; keys.keys2[k]=key_ofb_64[i*3+1][k]; keys.keys3[k]=key_ofb_64[i*3+2][k]; ctrl.iv[k]=ivin_ofb_64[i][k]; } hi_des_config(&ctrl); if(i<1) { hi_des_crypt(&pplaintext_ofb_64[i][0],&mydout_ofb_64[i][0],8,&keys); } else { hi_des_decrypt(&pplaintext_ofb_64[i][0],&mydout_ofb_64[i][0],8,&keys); } for(j=0;j<8;j++) { if(mydout_ofb_64[i][j]!=dout_ofb_64[i][j]) { printf("des_ofb_64 test failed at: %d row!",i); return -1; } } } printf(" all des_ofb_64 tests passed!\n"); return 0;}int cfb_1_test(){ unsigned int i,k,j; ctrl.des_endian=1; //little; ctrl.des_shift =2; //64; ctrl.des_type = 2; //cfb_1; ctrl.des_alg = 1; printf(" des_cfb_1_test begin!\n"); for(i=0;i<2;i++) { for(k=0;k<8;k++) { keys.keys1[k]=key_cfb_1[i*3][k]; keys.keys2[k]=key_cfb_1[i*3+1][k]; keys.keys3[k]=key_cfb_1[i*3+2][k]; ctrl.iv[k]=ivin_cfb_1[i][k]; } hi_des_config(&ctrl); if(i<1) { hi_des_crypt(&pplaintext_cfb_1[i][0],&mydout_cfb_1[i][0],8,&keys); } else { hi_des_decrypt(&pplaintext_cfb_1[i][0],&mydout_cfb_1[i][0],8,&keys); } for(j=0;j<1;j++) { if((mydout_cfb_1[i][j]&0x80)!=(dout_cfb_1[i][j]&0x80)) { printf("des_cfb_1 test failed at: %d row!\n",i); return -1; } } } printf(" all des_cfb_1 tests passed!\n"); return 0;}int cfb_8_test(){ unsigned int i,k,j; ctrl.des_endian=1; //little; ctrl.des_shift =1; //64; ctrl.des_type = 2; //cfb_8; ctrl.des_alg = 1; printf(" des_cfb_8_test begin!\n"); for(i=0;i<2;i++) { for(k=0;k<8;k++) { keys.keys1[k]=key_cfb_8[i*3][k]; keys.keys2[k]=key_cfb_8[i*3+1][k]; keys.keys3[k]=key_cfb_8[i*3+2][k]; ctrl.iv[k]=ivin_cfb_8[i][k]; } hi_des_config(&ctrl); if(i<1) { hi_des_crypt(&pplaintext_cfb_8[i][0],&mydout_cfb_8[i][0],8,&keys); } else { hi_des_decrypt(&pplaintext_cfb_8[i][0],&mydout_cfb_8[i][0],8,&keys); } for(j=0;j<1;j++) { if(mydout_cfb_8[i][j]!=dout_cfb_8[i][j]) { printf("des_cfb_8 test failed at: %d row!",i); return -1; } } } printf(" all des_cfb_8 tests passed!\n"); return 0;}int cfb_64_test(){ unsigned int i,k,j; ctrl.des_endian=1; //little; ctrl.des_shift =3; //64; ctrl.des_type = 2; //cfb_64; ctrl.des_alg = 1; printf(" des_cfb_64_test begin!\n"); for(i=0;i<2;i++) { for(k=0;k<8;k++) { keys.keys1[k]=key_cfb_64[i*3][k]; keys.keys2[k]=key_cfb_64[i*3+1][k]; keys.keys3[k]=key_cfb_64[i*3+2][k]; ctrl.iv[k]=ivin_cfb_64[i][k]; } hi_des_config(&ctrl); if(i<1) { hi_des_crypt(&pplaintext_cfb_64[i][0],&mydout_cfb_64[i][0],8,&keys); } else { hi_des_decrypt(&pplaintext_cfb_64[i][0],&mydout_cfb_64[i][0],8,&keys); } for(j=0;j<8;j++) { if(mydout_cfb_64[i][j]!=dout_cfb_64[i][j]) { printf("des_cfb_64 test failed at: %d row!",i); return -1; } } } printf(" all des_cfb_64 tests passed!\n"); return 0;}int ecb_test(){ unsigned int i,k,j; ctrl.des_endian=1; //little; ctrl.des_shift =3; //64; ctrl.des_type = 0; //ecb; ctrl.des_alg = 1; printf(" des_ecb_test begin!\n"); for(i=0;i<1;i++) { for(k=0;k<8;k++) { keys.keys1[k]=key_ecb[i*3][k]; keys.keys2[k]=key_ecb[i*3+1][k]; keys.keys3[k]=key_ecb[i*3+2][k]; } hi_des_config(&ctrl); if(i<1) { hi_des_crypt(&pplaintext_ecb[i][0],&mydout_ecb[i][0],8,&keys); } else { hi_des_decrypt(&pplaintext_ecb[i][0],&mydout_ecb[i][0],8,&keys); } for(j=0;j<8;j++) { if(mydout_ecb[i][j]!=dout_ecb[i][j]) { printf("des_ecb test failed at: %d row!",i); return -1; } } } printf(" all des_ecb tests passed!\n"); return 0;}int cbc_test(){ unsigned int i,k,j; ctrl.des_endian=1; //little; ctrl.des_shift =3; //64; ctrl.des_type = 1; //cbc; ctrl.des_alg = 1; printf(" des_cbc_test begin!\n"); for(i=0;i<2;i++) { for(k=0;k<8;k++) { keys.keys1[k]=key_cbc[i*3][k]; keys.keys2[k]=key_cbc[i*3+1][k]; keys.keys3[k]=key_cbc[i*3+2][k]; ctrl.iv[k]=ivin_cbc[i][k]; } hi_des_config(&ctrl); if(i<1) { hi_des_crypt(&pplaintext_cbc[i][0],&mydout_cbc[i][0],8,&keys); } else { hi_des_decrypt(&pplaintext_cbc[i][0],&mydout_cbc[i][0],8,&keys); } for(j=0;j<8;j++) { if(mydout_cbc[i][j]!=dout_cbc[i][j]) { printf("des_cbc test failed at: %d row!",i); return -1; } } } printf(" all des_cbc tests passed!\n"); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -