⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 des_test.c

📁 嵌入式linux系统下hi3510平台的osd开发源码
💻 C
📖 第 1 页 / 共 2 页
字号:
#include <stdio.h>#include "hi_des_api.h"  static  unsigned char key_cbc[4][8]={                                                            {0x94,0xd3,0xf5,0x61,0x9c,0x63,0x65,0xf2},                               {0x6a,0xee,0x97,0x2c,0x18,0x5f,0xcc,0xb3},                               {0x4f,0x86,0x91,0xd0,0xd6,0x06,0x27,0xe9},                               {0x53,0x38,0xf2,0x26,0xf8,0xfc,0x9d,0xc0}                              };  static  unsigned char pplaintext_cbc[4][8]={                               {0xb4,0x99,0xe2,0x34,0xef,0x2a,0xe0,0x57},                               {0x48,0x5a,0xa8,0x96,0x84,0xbe,0x49,0x0e},                               {0xd7,0x25,0x53,0x3c,0x14,0xe1,0x8c,0xde},                               {0x74,0xf7,0x87,0xab,0xd0,0x00,0xe2,0x82}                               };  static  unsigned char ivin_cbc[4][8]={                               {0x17,0xe9,0xbb,0x79,0x53,0x99,0xdc,0x4a},                               {0xee,0x61,0x1f,0x1b,0x0e,0x7d,0x86,0x4d},                               {0x6b,0xbf,0x47,0x83,0x04,0x70,0x58,0xdf},                               {0xe1,0xde,0xaf,0x63,0x3e,0x10,0x83,0x93}                                    };   static  unsigned char dout_cbc[4][8]={                              {0xd0,0xba,0xcf,0x7f,0xfa,0x3c,0x42,0x64},                              {0x5b,0x2a,0x16,0x8e,0x32,0x60,0xc5,0xe3},                              {0xd4,0xa5,0xc8,0xcb,0x52,0x53,0x1d,0x8a},                              {0x7b,0x28,0x06,0x4a,0x71,0xec,0x24,0xc0}                              };  static  unsigned char mydout_cbc[4][8];/***********************************ecb******************************************/static  unsigned char key_ecb[2][8]={                              {0x16,0xac,0x15,0x1a,0xae,0xfe,0xb5,0x6d},                              {0xaa,0xc0,0x15,0x48,0xed,0x9f,0x5f,0x9c}                               };  static  unsigned char pplaintext_ecb[2][8]={                              {0xcd,0x16,0x68,0xba,0xac,0x7a,0xa6,0xf2},                              {0x4f,0x24,0xbc,0x86,0x4e,0x5c,0x11,0xb3}                               };  static  unsigned char ivin_ecb[2][8]={                             {0xd8,0x7e,0x88,0x45,0xe1,0xa5,0x9b,0x25},                             {0xe0,0xb0,0xdf,0x81,0x19,0xf7,0xa0,0x85}                               };   static  unsigned char dout_ecb[2][8]={                            {0xda,0xe6,0xcd,0x06,0xe1,0x98,0xa7,0xa9},                            {0x03,0xc3,0x9d,0x31,0xeb,0x05,0xcd,0xc5}                              };  static  unsigned char mydout_ecb[2][8];/******************************************cfb-64***********************************/                           static  unsigned char key_cfb_64[2][8]={                             {0x16,0xac,0x15,0x1a,0xae,0xfe,0xb5,0x6d},                             {0xaa,0xc0,0x15,0x48,0xed,0x9f,0x5f,0x9c}                               };  static  unsigned char pplaintext_cfb_64[2][8]={                             {0xcd,0x16,0x68,0xba,0xac,0x7a,0xa6,0xf2},                             {0x4f,0x24,0xbc,0x86,0x4e,0x5c,0x11,0xb3}                               };  static  unsigned char ivin_cfb_64[2][8]={                             {0xd8,0x7e,0x88,0x45,0xe1,0xa5,0x9b,0x25},                             {0xe0,0xb0,0xdf,0x81,0x19,0xf7,0xa0,0x85}                               };   static  unsigned char dout_cfb_64[2][8]={                             {0x2f,0xe6,0xab,0x8e,0x0c,0x2e,0xd8,0x52},                             {0x2e,0xa5,0x23,0xd4,0x71,0x90,0xb8,0xc8}                              };  static  unsigned char mydout_cfb_64[2][8];/******************************************cfb-8***********************************/                           static  unsigned char key_cfb_8[2][8]={                            {0x94,0xd3,0xf5,0x61,0x9c,0x63,0x65,0xf2},                            {0x4f,0x86,0x91,0xd0,0xd6,0x06,0x27,0xe9}                              };  static  unsigned char pplaintext_cfb_8[2][8]={                            {0x57,0x00,0x00,0x00,0x00,0x00,0x00,0x00},                            {0xde,0x00,0x00,0x00,0x00,0x00,0x00,0x00}                               };  static  unsigned char ivin_cfb_8[2][8]={                            {0x17,0xe9,0xbb,0x79,0x53,0x99,0xdc,0x4a},                            {0x6b,0xbf,0x47,0x83,0x04,0x70,0x58,0xdf}                               };   static  unsigned char dout_cfb_8[2][8]={                           {0xd5,0x00,0x00,0x00,0x00,0x00,0x00,0x00},                           {0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00}                              };  static  unsigned char mydout_cfb_8[2][8];/******************************************cfb-1***********************************/                           static  unsigned char key_cfb_1[2][8]={                          {0x64,0x6b,0xfe,0x2f,0x87,0x3e,0x21,0x62},                          {0x42,0xef,0x35,0xf4,0xe2,0xc1,0x54,0x37}                              };  static  unsigned char pplaintext_cfb_1[2][8]={                         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},                         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}                               };  static  unsigned char ivin_cfb_1[2][8]={                         {0x7c,0x0c,0xb7,0xa6,0x0c,0xed,0x87,0x51},                         {0x81,0x9b,0x6a,0x6a,0x6c,0x3e,0x59,0x32}                               };   static  unsigned char dout_cfb_1[2][8]={                         {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00},                         {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00}                              };  static  unsigned char mydout_cfb_1[2][8];/***********************************************ofb-64****************************/static  unsigned char key_ofb_64[2][8]={                              {0x01,0x11,0xd2,0x4a,0x71,0x3b,0x31,0x79},                              {0xd8,0xa5,0xfd,0x6e,0x41,0xad,0x01,0x0f}                             };  static  unsigned char pplaintext_ofb_64[2][8]={                              {0xa1,0x3b,0x24,0x51,0x1f,0x1d,0x6b,0xf5},                              {0x2a,0x2e,0xde,0x6e,0x3b,0xd0,0x82,0x3f}                               };  static  unsigned char ivin_ofb_64[2][8]={                             {0x56,0x0b,0xab,0x36,0x33,0xb3,0x86,0xca},                             {0x65,0x77,0x87,0x8d,0xb7,0x70,0x5d,0xef}                               };   static  unsigned char dout_ofb_64[2][8]={                             {0xe1,0xdd,0x08,0xaa,0xbc,0x89,0x6c,0x41},                             {0xa5,0xaf,0xfc,0x4b,0xd7,0x1d,0x89,0x7b}                              };  static  unsigned char mydout_ofb_64[2][8];/********************************************ofb-8****************************/static  unsigned char key_ofb_8[2][8]={                            {0x30,0xa6,0x60,0xc0,0x53,0xac,0x75,0x37},                            {0xfd,0x44,0xdb,0x92,0xea,0xc4,0x5e,0xd5}                              };  static  unsigned char pplaintext_ofb_8[2][8]={                            {0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00},                            {0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00}                               };  static  unsigned char ivin_ofb_8[2][8]={                            {0x65,0x77,0x87,0x8d,0xb7,0x70,0x5d,0xef},                            {0x7c,0x57,0xf0,0x9c,0xe1,0x58,0x43,0x83}                               };   static  unsigned char dout_ofb_8[2][8]={                            {0x13,0x00,0x00,0x00,0x00,0x00,0x00,0x00},                            {0x2a,0x00,0x00,0x00,0x00,0x00,0x00,0x00}                              };  static  unsigned char mydout_ofb_8[2][8];/************************************ofb-1**************************************/static  unsigned char key_ofb_1[2][8]={                           {0xd3,0x97,0xf7,0xf8,0x36,0x33,0xa1,0xc7},                           {0x22,0xb3,0xbe,0xa7,0x7a,0xfc,0xfc,0x3f}                              };  static  unsigned char pplaintext_ofb_1[2][8]={                           {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00},                           {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00}                           };  static  unsigned char ivin_ofb_1[2][8]={                           {0xfd,0x3b,0x07,0xd2,0xac,0x78,0x3b,0xb5},                           {0x69,0x56,0x42,0xea,0xd4,0xcb,0xe4,0x46}                           };   static  unsigned char dout_ofb_1[2][8]={                           {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00},                           {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00}                           };  static  unsigned char mydout_ofb_1[2][8];/****************************************over*********************************/int ofb_1_test();int ofb_8_test();int ofb_64_test();int cfb_1_test();int cfb_8_test();int cfb_64_test();int ecb_test();int cbc_test();     struct des_encrypt_ctrl ctrl;     struct keys  keys;    int main(void){     hi_des_init();    ofb_1_test();    ofb_8_test();    ofb_64_test();    cfb_1_test();    cfb_8_test();    cfb_64_test();    ecb_test();    cbc_test();    hi_des_exit();    return 0;}int ofb_1_test(){     unsigned int i,k,j;     ctrl.des_endian=0; //little;     ctrl.des_shift =2; //64;     ctrl.des_type = 3; //ofb_1;     ctrl.des_alg = 0;     printf(" des_ofb_1_test begin!\n");      for(i=0;i<2;i++)     {           for(k=0;k<8;k++)           {               keys.keys1[k]=key_ofb_1[i][k];               ctrl.iv[k]=ivin_ofb_1[i][k];           }           hi_des_config(&ctrl);           if(i<1)           {                 hi_des_crypt(&pplaintext_ofb_1[i][0],&mydout_ofb_1[i][0],8,&keys);           }           else           {               hi_des_decrypt(&pplaintext_ofb_1[i][0],&mydout_ofb_1[i][0],8,&keys);           }                      for(j=0;j<1;j++)           {            //printf("%d___:%x\n",i,mydout_ofb_1[i][j]);               if((mydout_ofb_1[i][j]&0x80)!=(dout_ofb_1[i][j]&0x80))               {                   printf("des_ofb_1 test failed at: %d row!",i);                   return -1;               }           }      }         printf(" all des_ofb_1 tests passed!\n");     return 0;}int ofb_8_test(){     unsigned int i,k,j;     ctrl.des_endian=1; //little;     ctrl.des_shift =1; //64;     ctrl.des_type = 3; //ofb_8;     ctrl.des_alg = 0;     printf(" des_ofb_8_test begin!\n");      for(i=0;i<2;i++)     {           for(k=0;k<8;k++)           {               keys.keys1[k]=key_ofb_8[i][k];               ctrl.iv[k]=ivin_ofb_8[i][k];           }           hi_des_config(&ctrl);           if(i<1)           {                 hi_des_crypt(&pplaintext_ofb_8[i][0],&mydout_ofb_8[i][0],8,&keys);           }           else           {               hi_des_decrypt(&pplaintext_ofb_8[i][0],&mydout_ofb_8[i][0],8,&keys);           }                      for(j=0;j<1;j++)           {    //          printf("%d___:%x\n",i,mydout_ofb_8[i][j]);               if(mydout_ofb_8[i][j]!=dout_ofb_8[i][j])               {                   printf("des_ofb_8 test failed at: %d row!",i);                   return -1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -