密码算法测试向量——SM4


//分组密码算法的测试向量, 如CBC, CMAC等
typedef struct block_cipher_test_vector_st 

    char *    inf;    //测试向量的附加信息说明
    int        alg;    //密码算法
    int        mod;    //工作模式
    int        klen;    //密钥字节长度
    char *    key;    //密钥
    int        ivlen;    // IV 字节长度
    char *    iv;        // IV 
    int     ptlen;    //明文字节长度     
    char *    pt;        //明文
    int        ctlen;    //密文字节长度
    char *    ct;        //密文
    int        maclen;    //MAC 字节长度
    char *    mac;    //MAC
}BCTV;//分组密码算法的测试向量


BCTV sm4enctv[] =
{     
    {/*测试向量0*/ 
        /*inf*/ (char*)"", SM4, ECB, 
        /*Key*/    16, (char*)"0123456789abcdef  fedcba9876543210",
        /*IV */     0, (char*)NULL,
        /*pt */    16, (char*)"0123456789abcdef  fedcba9876543210",
        /*ct */    16, (char*)"681edf34d206965e  86b3e94f536e4246",
        /*mac*/     0, (char*)NULL,
    },
    {/*测试向量1*/ 
        /*inf*/ (char*)"", SM4, CBC_PAD_NULL,
        /*Key*/    16, (char*)"0123456789abcdef fedcba9876543210",
        /*IV*/    16, (char*)"EBEEC56858E604D8 327B9B3C10C90CA7",
        /*pt */    32, (char*)"0123456789ABCDEF FEDCBA9876543210"
        /*   */            "29BEE1D65249F1E9 B3DB873E240D0647",
        /*ct */    32, (char*)"3F1E73C3DFD5A132 882FE69D996CDE93"
        /*   */            "5499095DDE68995B 4D70F2309F2EF1B7",
        /*mac*/     0, (char*)NULL,
    },
    {/*测试向量2*/ 
        /*inf*/ (char*)"", SM4, CFB,
        /*Key*/    16,    (char*)"0123456789abcdef fedcba9876543210",
        /*IV*/    16, (char*)"EBEEC56858E604D8 327B9B3C10C90CA7", 
        /*pt */    32,    (char*)"0123456789ABCDEF FEDCBA9876543210"
        /*   */            "29BEE1D65249F1E9 B3DB873E240D0647",
        /*ct */    32, (char*)"c895f3ab39c57046 e3dfce712ecab5d7"
        /*   */            "3658624c05bd58c4 9f8dd13f5b908f98", 
        /*mac*/     0, (char*)NULL,
    }, 
    {/*测试向量3*/ 
        /*inf*/ (char*)"", SM4, OFB,
        /*Key*/    16,    (char*)"0123456789abcdef fedcba9876543210",
        /*IV */    16, (char*)"0011223344556677 8899aabbccddeeff",
        /*pt */    32,    (char*)"0123456789ABCDEF FEDCBA9876543210"
        /*   */            "29BEE1D65249F1E9 B3DB873E240D0647",
        /*ct */    32,    (char*)"0811192fda28e024 6deb1f003933298a"
        /*   */            "71b7db4c7adb6d60 787370339f966c62", 
        /*mac*/     0, (char*)NULL,
    },  
    {/*测试向量4*/ 
        /*inf*/ (char*)"", SM4, CTR,
        /*Key*/    16,    (char*)"0123456789abcdef fedcba9876543210",
        /*IV */    16, (char*)"0011223344556677 8899aabbccddeeff",
        /*pt */    32,    (char*)"0123456789abcdef fedcba9876543210"
        /*   */            "0123456789abcdef fedcba9876543210",
        /*ct */    32,    (char*)"0811192fda28e024 6deb1f003933298a"
        /*   */            "cece93debe5621c1 2f2f34ca52cc374d",
        /*mac*/     0, (char*)NULL,
    }, 
};
 

posted @ 2022-03-25 15:52  艾米的爸爸  阅读(3)  评论(0)    收藏  举报  来源