目录

HMAC-SHA1

HMAC-SHA224

HMAC-SHA256

HMAC-SHA384

HMAC-SHA512


//杂凑算法的测试向量, 如数据杂凑, HMAC等 
typedef struct hash_test_vector_st 
{    
    char *    inf;    //测试向量的附加信息说明
    int        alg;    //杂凑算法
    int        mod;    //模式, 如数据杂凑, HMAC
    int        klen;    //密钥字节长度
    char *    key;    //密钥
    int        mlen;    //消息字节长度
    char *    msg;    //消息
    int        mdlen;    //MAC 字节长度
    char *    md;        //MAC
}HashTV;//杂凑算法的测试向量

HMAC-SHA1

HashTV sha1hmactv[] = 
{
    {/*测试向量0 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA1 example 1 ", SHA1, HMAC, 
        /*Key*/    64, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3D626C6F636B6C"
        /*   */            "656E",
        /*md */    20, (char*)"5FD596EE78D5553C 8FF4E72D266DFD19 2366DA29",
    },
    {/*测试向量1 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA1 example 2 ", SHA1, HMAC, 
        /*Key*/    20, (char*)"0001020304050607 08090A0B0C0D0E0F 10111213",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3C626C6F636B6C"
        /*   */            "656E",
        /*md */    20, (char*)"4C99FF0CB1B31BD3 3F8431DBAF4D17FC D356A807",
    },
    {/*测试向量2 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA1 example 3 ", SHA1, HMAC, 
        /*Key*/100, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F"
        /*   */            "4041424344454647 48494A4B4C4D4E4F 5051525354555657 58595A5B5C5D5E5F"
        /*   */            "60616263",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3D626C6F636B6C"
        /*   */            "656E",
        /*md */    20, (char*)"2D51B2F7750E4105 84662E38F133435F 4C4FD42A",
    },
    {/*测试向量3 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA1 example 4 ", SHA1, HMAC, 
        /*Key*/ 49, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 30",
        /*msg*/    54, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3C626C6F636B6C"
        /*   */            "656E2C2077697468 207472756E636174 656420746167",
        /*md */    12, (char*)"FE3529565CD8E28C 5FA79EAC",
    },
};

HMAC-SHA224

HashTV sha224hmactv[] = 
{
    {/*测试向量4 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA224 example 1 ", SHA224, HMAC, 
        /*Key*/    64, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3D626C6F636B6C"
        /*   */            "656E",
        /*md */    28, (char*)"C7405E3AE058E8CD 30B08B4140248581 ED174CB34E1224BC C1EFC81B",
    },
    {/*测试向量5 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA224 example 2 ", SHA224, HMAC, 
        /*Key*/    28, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3C626C6F636B6C"
        /*   */            "656E",
        /*md */    28, (char*)"E3D249A8CFB67EF8 B7A169E9A0A59971 4A2CECBA65999A51 BEB8FBBE",
    },
    {/*测试向量6 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA224 example 3 ", SHA224, HMAC, 
        /*Key*/100, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F"
        /*   */            "4041424344454647 48494A4B4C4D4E4F 5051525354555657 58595A5B5C5D5E5F"
        /*   */            "60616263",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3D626C6F636B6C"
        /*   */            "656E",
        /*md */    28, (char*)"91C52509E5AF8531 601AE6230099D90B EF88AAEFB961F408 0ABC014D",
    },
    {/*测试向量7 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA224 example 4 ", SHA224, HMAC, 
        /*Key*/ 49, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 30",
        /*msg*/    54, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3C626C6F636B6C"
        /*   */            "656E2C2077697468 207472756E636174 656420746167",
        /*md */    16, (char*)"D522F1DF596CA4B4 B1C23D27BDE067D6",
    },
};

HMAC-SHA256

HashTV sha256hmactv[] = 
{
    {/*测试向量8 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA256 example 1 ", SHA256, HMAC, 
        /*Key*/    64, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3D626C6F636B6C"
        /*   */            "656E",
        /*md */    32, (char*)"8BB9A1DB9806F20D F7F77B82138C7914 D174D59E13DC4D01 69C9057B133E1D62",
    },
    {/*测试向量9 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA256 example 2 ", SHA256, HMAC, 
        /*Key*/    32, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3C626C6F636B6C"
        /*   */            "656E",
        /*md */    32, (char*)"A28CF43130EE696A 98F14A37678B56BC FCBDD9E5CF69717F ECF5480F0EBDF790",
    },
    {/*测试向量10 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA256 example 3 ", SHA256, HMAC, 
        /*Key*/100, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F"
        /*   */            "4041424344454647 48494A4B4C4D4E4F 5051525354555657 58595A5B5C5D5E5F"
        /*   */            "60616263",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3D626C6F636B6C"
        /*   */            "656E",
        /*md */    32, (char*)"BDCCB6C72DDEADB5 00AE768386CB38CC 41C63DBB0878DDB9 C7A38A431B78378D",
    },
    {/*测试向量11 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA256 example 4 ", SHA256, HMAC, 
        /*Key*/ 49, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 30",
        /*msg*/    54, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3C626C6F636B6C"
        /*   */            "656E2C2077697468 207472756E636174 656420746167",
        /*md */    16, (char*)"27A8B157839EFEAC 98DF070B331D5936",
    },    
};

HMAC-SHA384

HashTV sha384hmactv[] = 
{
    {/*测试向量12 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA384 example 1 ", SHA384, HMAC, 
        /*Key*/128, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F"
        /*   */            "4041424344454647 48494A4B4C4D4E4F 5051525354555657 58595A5B5C5D5E5F"
        /*   */            "6061626364656667 68696A6B6C6D6E6F 7071727374757677 78797A7B7C7D7E7F",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3D626C6F636B6C"
        /*   */            "656E",
        /*md */    48, (char*)"63C5DAA5E651847C A897C95814AB830B EDEDC7D25E83EEF9 195CD45857A37F44"
        /*   */            "8947858F5AF50CC2 B1B730DDF29671A9",
    },
    {/*测试向量13 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA384 example 2 ", SHA384, HMAC, 
        /*Key*/    48, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3C626C6F636B6C"
        /*   */            "656E",
        /*md */    48, (char*)"6EB242BDBB582CA1 7BEBFA481B1E2321 1464D2B7F8C20B9F F2201637B93646AF"
        /*   */            "5AE9AC316E98DB45 D9CAE773675EEED0",
    },            
    {/*测试向量14 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA384 example 3 ", SHA384, HMAC, 
        /*Key*/200, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F"
        /*   */            "4041424344454647 48494A4B4C4D4E4F 5051525354555657 58595A5B5C5D5E5F"
        /*   */            "6061626364656667 68696A6B6C6D6E6F 7071727374757677 78797A7B7C7D7E7F"
        /*   */            "8081828384858687 88898A8B8C8D8E8F 9091929394959697 98999A9B9C9D9E9F"
        /*   */            "A0A1A2A3A4A5A6A7 A8A9AAABACADAEAF B0B1B2B3B4B5B6B7 B8B9BABBBCBDBEBF"
        /*   */            "C0C1C2C3C4C5C6C7",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3D626C6F636B6C"
        /*   */            "656E",
        /*md */    48, (char*)"5B664436DF69B0CA 22551231A3F0A3D5 B4F97991713CFA84 BFF4D0792EFF96C2"
        /*   */            "7DCCBBB6F79B65D5 48B40E8564CEF594",
    },
    {/*测试向量15 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA384 example 4 ", SHA384, HMAC, 
        /*Key*/ 49, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 30",
        /*msg*/    54, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3C626C6F636B6C"
        /*   */            "656E2C2077697468 207472756E636174 656420746167",
        /*md */    24, (char*)"C48130D3DF703DD7 CDAA56800DFBD2BA 2458320E6E1F98FE",
    },        
};

HMAC-SHA512

HashTV sha512hmactv[] = 
{
    {/*测试向量16 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA512 example 1 ", SHA512, HMAC, 
        /*Key*/128, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F"
        /*   */            "4041424344454647 48494A4B4C4D4E4F 5051525354555657 58595A5B5C5D5E5F"
        /*   */            "6061626364656667 68696A6B6C6D6E6F 7071727374757677 78797A7B7C7D7E7F",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3D626C6F636B6C"
        /*   */            "656E",
        /*md */    64, (char*)"FC25E240658CA785 B7A811A8D3F7B4CA 48CFA26A8A366BF2 CD1F836B05FCB024"
        /*   */            "BD36853081811D6C EA4216EBAD79DA1C FCB95EA4586B8A0C E356596A55FB1347",
    },
    {/*测试向量17 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA512 example 2 ", SHA512, HMAC, 
        /*Key*/    64, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3C626C6F636B6C"
        /*   */            "656E",
        /*md */    64, (char*)"FD44C18BDA0BB0A6 CE0E82B031BF2818 F6539BD56EC00BDC 10A8A2D730B3634D"
        /*   */            "E2545D639B0F2CF7 10D0692C72A1896F 1F211C2B922D1A96 C392E07E7EA9FEDC",
    },            
    {/*测试向量18 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA512 example 3 ", SHA512, HMAC, 
        /*Key*/200, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 3031323334353637 38393A3B3C3D3E3F"
        /*   */            "4041424344454647 48494A4B4C4D4E4F 5051525354555657 58595A5B5C5D5E5F"
        /*   */            "6061626364656667 68696A6B6C6D6E6F 7071727374757677 78797A7B7C7D7E7F"
        /*   */            "8081828384858687 88898A8B8C8D8E8F 9091929394959697 98999A9B9C9D9E9F"
        /*   */            "A0A1A2A3A4A5A6A7 A8A9AAABACADAEAF B0B1B2B3B4B5B6B7 B8B9BABBBCBDBEBF"
        /*   */            "C0C1C2C3C4C5C6C7",
        /*msg*/    34, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3D626C6F636B6C"
        /*   */            "656E",
        /*md */    64, (char*)"D93EC8D2DE1AD2A9 957CB9B83F14E76A D6B5E0CCE285079A 127D3B14BCCB7AA7"
        /*   */            "286D4AC0D4CE6421 5F2BC9E6870B33D9 7438BE4AAA20CDA5 C5A912B48B8E27F3",
    },
    {/*测试向量19 */ 
        /*inf*/ (char*)"NIST提供HMAC-SHA512 example 4 ", SHA512, HMAC, 
        /*Key*/ 49, (char*)"0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F"
        /*   */            "2021222324252627 28292A2B2C2D2E2F 30",
        /*msg*/    54, (char*)"53616D706C65206D 6573736167652066 6F72206B65796C65 6E3C626C6F636B6C"
        /*   */            "656E2C2077697468 207472756E636174 656420746167",
        /*md */    32, (char*)"00F3E9A77BB0F06D E15F160603E42B50 28758808596664C0 3E1AB8FB2B076778",
    },    
};

密码算法测试向量——HMAC-SHA系列相关推荐

  1. 密码算法测试向量——AES

    目录 AES128测试向量 AES192测试向量 AES256测试向量 //分组密码算法的测试向量, 如CBC, CMAC等 typedef struct block_cipher_test_vect ...

  2. 密码算法测试向量——SM3

    //杂凑算法的测试向量, 如数据杂凑, HMAC等  typedef struct hash_test_vector_st  {         char *    inf;    //测试向量的附加 ...

  3. 密码算法测试向量——HMAC-SM3

    //杂凑算法的测试向量, 如数据杂凑, HMAC等  typedef struct hash_test_vector_st  {         char *    inf;    //测试向量的附加 ...

  4. 【密码算法 之四】 HMAC 浅析

    1. 什么是HMAC   HMAC是一种使用单向散列函数来构造消息认证码(MAC)的方法,其中H就代表了hash的意思.   HMAC中所使用的单向散列函数并不是仅仅局限于一种,任何获得认证的高强度的 ...

  5. 【密码算法 之零】对称算法(DES,、3DES、 AES、DM5、HMAC、CMAC、SHAxx、SM3、SM4),非对称算法(RSA、ECC、ECDSA、ECDH、SM2、SM9...)

      由于工作的需要,在过去的两年中学习.适配了很多算法,包括对称算法.非对称算法.国密算法.国际算法等.为了逼迫自己能够牢记并掌握这些算法的基本知识点,故本人写了一个关于算法的专栏(持续更新中...) ...

  6. 什么是SHA系列算法,SHA-1和MD5算法有什么区别

    有些朋友在研究微信支付接口的时候,发现它们不仅支持MD5摘要的验签,还支持SHA-256摘要.那么这个SHA是什么呢?别着急,本文将和大家说一说什么是SHA系列算法,SHA这么多版本之间有什么不同,以 ...

  7. 深入了解MD4,MD5,SHA哈希密码算法与破解技术

    简介 密码(password)是最广泛使用的认证系统之一,防止未经授权的用户访问系统,无论是离线还是在线.在大多数系统中,密码是通过加密存储的,以便为每个用户提供安全性.然而,在这些密码的加密之内,仍 ...

  8. 密码算法分类 (学习笔记)

    如图基本上分为三大类,如果想彻底理解,可以看加粗字"简单的理解"部分 对称密码算法 对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法.有时又叫传统密码算法,就是加密密钥能 ...

  9. java 哈希算法_选择Java密码算法第1部分-哈希

    java 哈希算法 抽象 这是涵盖Java加密算法的三部分博客系列文章的第1部分. 该系列涵盖如何实现以下功能: 使用SHA–512散列 使用AES–256的单密钥对称加密 使用RSA–4096的公钥 ...

最新文章

  1. 北京 10 年,难说再见!
  2. atoi实现(考虑足够多种的情况)c++
  3. django-allauth定制模板(转载)
  4. 【渝粤教育】电大中专金融与税收作业 题库
  5. 水面反光如何拍摄_拍照反光太难看?这八个办法值得一试!
  6. springmvc返回html页面_深入浅出SpringMVC系列~
  7. 怎样看oracle有没有监听,Oracle数据库学习_Windows系统查看Oracle数据库监听状态的方法...
  8. 锐起无盘服务器优化,锐起无盘系统制作系统优化教程.docx
  9. Padavan路由器无法启用FRP的解决方法(固件版本3.4.3.9-099_11-23)
  10. matlab高斯窗函数,Matlab中窗函数的简单使用
  11. 向前差分格式 matlab,热传导方程向前差分格式的matlab程序
  12. 幼儿园故事导入语案例_幼儿园讲故事的教案10篇
  13. 为什么投资旅游景区赚钱难?怎样让景区快速盈利?
  14. 数据库原理第三章测验(标黑的为答案)
  15. 2020数学建模国赛(B)穿越沙漠
  16. 拒不协助执行会有什么后果?
  17. Vue 前后端交互基础
  18. (NLP)文本预处理
  19. E18-D80NK光电传感器
  20. L. Spicy Restaurant(bfs)

热门文章

  1. php trimarray,PHP trim()函数和array_unique()函数去重 【原创】
  2. 计蒜客第七章:互粉攻略
  3. Bad Ugly Numbers
  4. 在 github 建立blg
  5. html中鱼眼效果,鱼眼镜头使用入门指南:鱼眼镜头应该怎么用(附后期鱼眼效果)...
  6. 模拟电子技术(一)半导体二极管和三极管
  7. 爬虫之机器图像识别(ORC库)
  8. 音乐给人们带来了什么
  9. GeneXus学习(一)安装与介绍
  10. The s:form tag declares that it accepts dynamic attributes but does not implemen