密码技术与应用
文章平均质量分 59
信息安全密码技术应用,包括国产密码算法和国际密码算法以及相关技术的应用。
艾米的爸爸
密码算法技术及应用行业10+年从业经验。
展开
-
图解Intel SM4-AES-NI实现方案
本文档对Intel提出的基于AES-NI实现SM4算法的专利进行分析研究,记录其原理,并列出实现代码的具体实现流程。原创 2022-11-14 18:30:00 · 27497 阅读 · 0 评论 -
CPU的睿频、超线程、SIMD指令集等特性对密码算法性能的影响
本文档以XX密码算法为例,研究对CPU的睿频、超线程、SIMD指令集等特性对密码算法性能的影响。初步结结论为:1)睿频很重要,默认是开启的,尽量不要关闭,注意全核睿频通常小于最大睿频(单核睿频);2)超线程的1核2线程性能要打折扣,资源竞争使得2个线程的性能并不是1个线程的2倍,要乘个系数;3)SIMD指令集的确可以改善算法,但与超线程相遇时会显著降低性能;越是高级的SIMD指令就越是降得多。线程个数开到物理核心数而不是逻辑核心数可能是更好的选择。原创 2022-11-08 18:30:00 · 20368 阅读 · 0 评论 -
GMT0005-2021《随机性检测规范》(2021版)测试数据
GM/T 0005《随机性检测规范》已经升级到2021版,研发人员可能会关心问题:Q3:新版不给实操测试数据,升级后正确性怎么解决?A3:本文解决。原创 2022-09-30 08:57:00 · 26588 阅读 · 0 评论 -
随机性检测模块支持GM/T 0005-2021标准的升级建议
如前所述,GM/T 0005《随机数检测规范》的2021版和2012版在检测项、检测参数、判定准则等方面都存在或多或少的差异。关于如何升级,本节给出一些建议供参考。概况起来,随机性检测程序的升级首先应考虑兼容国家标准GB/T 32915—2016《信息安全技术 二元序列随机性检测方法》,其次考虑兼容前述检测项差异、检测参数差异、判断准则差异。.........原创 2022-08-11 15:15:37 · 55969 阅读 · 0 评论 -
GM/T 0005《随机性检测规范》2012版和2021版对比
本文档对GM/T 0005—2012《随机数检测规范》、GM/T 0005—2021《随机数检测规范》进行差异性对比,并分析评估这些差异对相关检测程序修订升级的影响。原创 2022-08-11 00:24:43 · 60615 阅读 · 1 评论 -
确定性随机数发生器测试向量——DRBG-HMAC-SHA256
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st{ char * inf; //测试向量的附加信息说明 int alg; //DRBG算法 int ...原创 2022-03-28 08:15:00 · 3388 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-HMAC-SHA224
目录结构体定义测试用基本量DRBG-HMAC-SHA224测试数据结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st{ char * inf; //测试向量的附加信息说明 in...原创 2022-03-28 13:00:00 · 20361 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-HMAC-SHA512
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st{ char * inf; //测试向量的附加信息说明 int alg; //DRBG算法 int ...原创 2022-03-28 09:00:00 · 43802 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-HMAC-SHA384
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st{ char * inf; //测试向量的附加信息说明 int alg; //DRBG算法 int ...原创 2022-03-28 08:45:00 · 53729 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-HMAC-SHA1
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st { char * inf; //测试向量的附加信息说明 int alg...原创 2022-03-28 12:15:00 · 45630 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-HASH-SHA512
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st { char * inf; //测试向量的附加信息说明 int alg...原创 2022-03-26 12:00:00 · 3412 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-HASH-SHA384
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st { char * inf; //测试向量的附加信息说明 int alg...原创 2022-03-26 12:00:00 · 43745 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-HASH-SHA256
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st { char * inf; //测试向量的附加信息说明 int alg...原创 2022-03-27 12:00:00 · 21491 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-HASH-SHA224
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st { char * inf; //测试向量的附加信息说明 int alg...原创 2022-03-27 12:30:00 · 3095 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-HASH-SHA1
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st { char * inf; //测试向量的附加信息说明 int alg...原创 2022-03-27 12:45:00 · 30035 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-CTR-AES256
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st { char * inf; //测试向量的附加信息说明 int alg...原创 2022-03-26 12:00:00 · 22068 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-CTR-AES192
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st { char * inf; //测试向量的附加信息说明 int alg...原创 2022-03-26 12:00:00 · 45908 阅读 · 0 评论 -
确定性随机数发生器测试向量——DRBG-CTR-AES128
结构体定义//DRBG测试中用, 因测试使用数据有很多相同之处typedef struct dat_st{ int len; char * dat;}tvstr;//DRBG的测试向量typedef struct drbg_test_vector_st { char * inf; //测试向量的附加信息说明 int a...原创 2022-03-26 12:00:00 · 44126 阅读 · 0 评论 -
密码算法测试向量——目录
密码算法测试向量——Cipher MAC AES系列密码算法测试向量——Cipher MAC SM4密码算法测试向量——HMAC-SHA系列算法密码算法测试向量——HMAC-SM3算法密码算法测试向量——SHA系列算法密码算法测试向量——SM3算法密码算法测试向量——AES算法密码算法测试向量——SM4算法待续未完...原创 2022-03-25 16:12:53 · 28183 阅读 · 0 评论 -
密码算法测试向量——Cipher MAC AES系列
//分组密码算法的测试向量, 如CBC, CMAC等typedef struct block_cipher_test_vector_st{ char * inf; //测试向量的附加信息说明 int alg; //密码算法 int mod; //工作模式 int klen; //密钥字节长度 char * key; //密钥 int ivlen; ...原创 2022-03-25 16:07:40 · 45658 阅读 · 0 评论 -
密码算法测试向量——Cipher MAC SM4
//分组密码算法的测试向量, 如CBC, CMAC等typedef struct block_cipher_test_vector_st{ char * inf; //测试向量的附加信息说明 int alg; //密码算法 int mod; //工作模式 int klen; //密钥字节长度 char * key; //密钥 int ivlen; ...原创 2022-03-25 16:06:34 · 12723 阅读 · 0 评论 -
密码算法测试向量——HMAC-SHA系列
//杂凑算法的测试向量, 如数据杂凑, HMAC等typedef struct hash_test_vector_st{ char * inf; //测试向量的附加信息说明 int alg; //杂凑算法 int mod; //模式, 如数据杂凑, HMAC int klen; //密钥字节长度 char * key; //密钥 int mlen...原创 2022-03-25 16:02:38 · 19894 阅读 · 0 评论 -
密码算法测试向量——HMAC-SM3
HMAC-SM3密码算法测试向量。数据来源:ISO/IEC 9797-2 :2021的B.3.16节;GB/T 15852.2-XXXX的附录B.3(测试向量同ISO/IEC 9797-2的B.3.16节)原创 2022-03-25 16:01:20 · 22457 阅读 · 0 评论 -
密码算法测试向量——SHA系列
//杂凑算法的测试向量, 如数据杂凑, HMAC等typedef struct hash_test_vector_st{ char * inf; //测试向量的附加信息说明 int alg; //杂凑算法 int mod; //模式, 如数据杂凑, HMAC int klen; //密钥字节长度 char * key; //密钥 int mlen;...原创 2022-03-25 15:58:25 · 19785 阅读 · 0 评论 -
密码算法测试向量——SM3
//杂凑算法的测试向量, 如数据杂凑, HMAC等typedef struct hash_test_vector_st{ char * inf; //测试向量的附加信息说明 int alg; //杂凑算法 int mod; //模式, 如数据杂凑, HMAC int klen; //密钥字节长度 char * key; //密钥 int mlen;...原创 2022-03-25 15:56:41 · 34639 阅读 · 0 评论 -
密码算法测试向量——AES
//分组密码算法的测试向量, 如CBC, CMAC等typedef struct block_cipher_test_vector_st{ char * inf; //测试向量的附加信息说明 int alg; //密码算法 int mod; //工作模式 int klen; //密钥字节长度 char * key; //密钥 int ivlen; ...原创 2022-03-25 15:54:27 · 53540 阅读 · 0 评论 -
密码算法测试向量——SM4
//分组密码算法的测试向量, 如CBC, CMAC等typedef struct block_cipher_test_vector_st{ char * inf; //测试向量的附加信息说明 int alg; //密码算法 int mod; //工作模式 int klen; //密钥字节长度 char * key; //密钥 int ivlen; ...原创 2022-03-25 15:52:46 · 20111 阅读 · 0 评论 -
图表——基于口令的密钥派生标准对比分析
1. 概况基于口令的密钥派生函数及其应用方面的标准,目前搜索到如下几个标准。PKCS #5 v2.1: Password-Based Cryptography Standard. RSA Laboratories, 2006.见《PKCS#5 (基于口令的密钥标准)笔记》。 NIST SP800-132: Recommendation for Password-Based Key Derivation. Part 1: Storage Applications. NIST, 2010. 见《NI.原创 2021-08-19 17:51:26 · 32107 阅读 · 0 评论 -
GMT0091基于口令的密钥派生的研究笔记
1. 综述概况从内容上分析,GM/T 0091-2020《基于口令的密钥派生规范》应该是源自PKCS#5 V2.1(Password-Based Cryptography Standard)。GM/T 0091-2020主要讲述了如下几个方面的内容:基于口令的密钥导出函数PBKDF。 采用的是PKCS#5 V2.1的PBKDF2 基于口令的加密方案 用PBKDF导出密钥进行加密。 采用的是PKCS#5 V2.1 PBES2:PBKDF2 + CBC-Pad加密 基于口.原创 2021-08-19 17:46:41 · 22662 阅读 · 1 评论 -
基于密钥的密钥导出函数 + 基于口令的密钥导出函数 (目录)
密钥导出函数NIST SP 800-108密钥导出函数KDF研究 SM9使用的密钥导出函数 SM2使用的密钥导出函数基于口令的密钥导出函数及其应用NIST SP 800-132基于口令的密钥生成函数PBKDF和主密钥保护数据的方法研究 PKCS#5研究——基于口令的密码技术(合) PKCS#5研究——第一部分 基于口令的密钥导出函数 PKCS#5研究——第二部分 基于口令的加密方案 PKCS#5研究——第三部分 基于口令的消息认证方案 ...原创 2021-08-18 10:30:36 · 32271 阅读 · 0 评论 -
密码服务功能实现方式 笔记
1. 概况密码服务功能:(1)机密性;(2)完整性;(3)真实性;(4)不可否认性 密码服务 目的 实现方法 机密性 避免信息泄露给未授权实体 访问控制 信息隐藏 加密 完整性 避免信息被未授权实体篡改 访问控制 MAC 签名 真实性 实体身份鉴别.原创 2021-08-18 10:19:03 · 25604 阅读 · 0 评论 -
密钥管理技术摘要
密钥管理更多信息参见:霍炜, 郭启全, 马原. 商用密码应用与安全性评估[M]. 北京: 电子工业出版社. 2020.1. 密钥生命周期管理使用频率越高的密钥,生命周期越短生命周期:生成、存储、导入导出、分发、使用、备份恢复、归档、销毁。1.1 生成直接或间接地由随机数生成。直接生成:随机数直接生成 间接生成: 从口令派生:熵小,不推荐。 密钥派生函数(Key Derivation Function,KDF):利用对称密码算法或者杂凑算法派生密钥。 密钥协商过程原创 2021-08-18 10:10:48 · 28993 阅读 · 1 评论 -
国家密码管理局公告——密码行业标准更新26项
原文地址https://www.oscca.gov.cn/sca/xwdt/2020-12/30/content_1060794.shtml国家密码管理局公告(第41号)发布日期:2020-12-30来源:国家密码管理局现发布GM/T0012-2020《可信计算可信密码模块接口规范》等26项密码行业标准,自2021年7月1日起实施,具体标准编号及名称如下:GM/T0012-2020可信计算可信密码模块接口规范 GM/T0078-2020密码随机数...转载 2021-01-18 18:03:53 · 76051 阅读 · 0 评论 -
随机性检测的五项基本检测方法
五项基本检测方法五项基本检测包括频数检验(F-检验) 序偶检验(S-检验) 扑克检验(P-检验) 游程检验(R-检验) 自相关检验(A-检验)1. 频数检验(F-检验)目的:F-检验用来保证"0"和"1"的个数大致相同输入:n比特序列样本Z,显著性水平α输出:检验通过或检验失败步骤:(参见文[1]的5.4.4节)1. 在此序列截断中统计比特“0”和“1”的个数,分别记为和。2. 计算检验统计量(该检验统计量服从自由度为1的开方分布)3. 计算..原创 2020-08-31 10:57:47 · 38904 阅读 · 0 评论 -
【转】下一代密码模块安全标准探讨
下一代密码模块安全标准探讨原文地址:https://mp.weixin.qq.com/s?__biz=MzA3MTMzMDExMQ==&mid=2847415309&idx=1&sn=39031a23d2355ae2e7a4548f0d2faaeb&chksm=b3638c5d8414054b96fbc88a14389f7c952655a89243d25968ae5f075f6e4fc9e85250c4642d&mpshare=1&scene=1&a...转载 2020-06-19 20:27:03 · 18880 阅读 · 0 评论 -
新商用密码产品认证梳理——政策法规篇
相关政策2019年12月,国家密码管理局 国家市场监督管理总局公告(第39号)概要如下:自2020年1月1日起,国家密码管理局不再受理商用密码产品品种和型号申请,停止发放《商用密码产品型号证书》。 市场监管总局会同国家密码管理局另行制定发布国推商用密码认证的产品目录、认证规则和有关实施要求。自认证规则实施之日起,商用密码从业单位可自愿向具备资质的商用密码认证机构提交认证申请。 对于有效期内的《商用密码产品型号证书》,持证单位可于2020年6月30日前,自愿申请转换国推商用密码产品认证证书..原创 2020-06-18 12:49:24 · 19414 阅读 · 0 评论 -
新商用密码产品认证梳理——工厂检查篇
Q1. 哪些企业需要审查?申报商密认证的企业都需要审查,需提交审核材料,有的还需接受现场审查。GM/T 0066-2019的6.3.3.1节明确规定,以下情况应进行现场审查“对生产单位不同类别首款产品应进行现场审核” “申请材料真实性缺少佐证、申请条件符合性差、生产单位曾受过相关行政处罚等,应进行现场审查”因此,网安需要“提交审核材料,接受现场审查”。Q2. 检测项目与达标要求检测项目分如下三个部分。表1 检测项目 检测项目 要求数量原创 2020-06-18 12:55:42 · 18935 阅读 · 0 评论 -
随机性检测标准对比——国密GM/T 0005 vs NIST SP800-22r1a
概述检测标准我国随机检测规范GM/T 0005-2012《随机性检测规范》,现已经升级为国家标准GB/T 32915-2016 信息安全技术 二元序列随机性检测方法。 NIST随机性检测文档NIST SP800-22r1a,A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications。1 检测项对比NIST和国密随机性检测项目的对比如下:NIST.原创 2020-05-11 09:47:49 · 33634 阅读 · 38 评论 -
JR/T 0068-2020 《网上银行系统信息安全通用规范》对USBKEY提出更高要求
2012版的要求(见下图1)USBKEY有抗侧信道攻击能力,就是USBKEY作为密码模块达到二级,但安全芯片可以是一级。2020版的要求(见下图2)USBKEY的加密芯片有抗侧信道攻击能力,那就是安全芯片要达到二级。图1 JR/T 0068-2012版的要求图2 JR/T 0068-2020版的要求...原创 2020-02-24 17:30:41 · 60747 阅读 · 0 评论 -
图解漏洞CVE-2020-0601中涉及的ECC签名算法ECDSA
这是第一个由美国国安局(NSA)所发现并主动提交给微软的安全漏洞。CVE-2020-0601漏洞位于Window的加密组件CryptoAPI。 CryptoAPI是微软提供给开发人员的Windows安全服务应用程序接口,可用于加密的应用程序,实现数据加密、解密、签名及验证等功能。由Crypt32.dll提供的Microsoft Windows CryptoAPI无法以正确验证ECC证书的信...原创 2020-01-20 13:03:49 · 20859 阅读 · 1 评论