安全算法
文章平均质量分 50
悦途
热爱生活,热爱工作。
展开
-
PKCS1 OAEP PADDING的理解
OAEP填充过程:需要准备:Hash 函数:输出长度为hLen字节的摘要函数; MGF :掩码产生函数; 随机数生成函数(用于生成seed,seed长度和hLen相同 RSA密钥对模长k bytes 明文最大长度mLen小于等于k – 2hLen – 2(2hLen=seedLen+lHash, 2: 00 and 01) lHash为L, L为可选标识,如果L为空时,取空值HASH;填充生成过程:L长度判断,不能超出限制(比如261 – 1 octets for SHA-1);原创 2021-07-12 22:55:27 · 488 阅读 · 0 评论 -
PKCS1 PSS PADDING的理解
PSS填充过程:需要准备:Hash 函数:输出长度为hLen字节的摘要函数; MGF :掩码产生函数; 随机数生成函数(可选,用于生成salt,salt长度用sLen表示,由密钥模长和摘要算法结果长度决定,sLen最大长度:sLen = nLen-hLen-2,(2代表最后的0xbc和padding2的0x01); emBits 至少8hLen + 8sLen + 9(9的含义0xBC 8位,另外一位是至少还应该包含一个字节)参数:emLen EM 的字节长度 = emBits原创 2021-07-09 23:57:37 · 764 阅读 · 0 评论 -
保留格式的加密方法(Methods for Format-Preserving Encryption)
1. FPE (Format-preserving encryption)简介 FPE (Format-preserving encryption)是一种保留格式的数据加密方法,区别与传统加密方法,该加密方法的加密结果保留原数据格式,例如,美国的社保号(Society Security Number,SSN)由九位数字组成,经过加密结果还是九尾数字,保留 原有格式,但数据已不是原有的顺序。另外FPE可以对敏感信息进行加密,同时保留原有数据的格式,例如,数据库应用程序可能不支持更改数据字段的长...原创 2021-03-22 23:40:31 · 1201 阅读 · 1 评论 -
CMAC计算三个关键步骤
CMAC计算包含三个关键步骤:1. 子密钥K1和K2的扩展过程:其中,即128位时Rb b=128,共16字节,前15字节为0x00,最后一个字节为0x87;64位时Rb b=64,共8字节,前7个字节为0x00,最后一个字节为0x1B;2. CMAC计算过程:3. 整体计算流:整体计算流程分整数倍分组计算和非整数倍分组计算;1. 整数倍分组计算最后需要异或K1后再加密;2. 非整数倍分组需要先填充,填充规则见步骤4,填充后再使用K2异或,之后再加密;3.原创 2021-03-16 23:23:49 · 587 阅读 · 0 评论 -
SM2密钥协商实现过程及关键过程推导
1. 根据国密规范《GM-T 0003.3-2012SM2椭圆曲线公钥密码算法第3部分:密钥交换协议》定义SM2算法密钥协商过程如下图所示:2. SM2密钥协商的关键在与发起方计算点U和响应方计算点V,实际上点U和点V是同一个点,推导过程如下:3. 由上图可推导出V和U是同一个点,按照步骤1中的密钥协商流程,计算出协商密钥和校验值。...原创 2021-03-09 00:19:14 · 1217 阅读 · 0 评论 -
SM2加密解密实现过程及关键过程推导
1. 根据国密规范《GM-T 0003.4-2012SM2椭圆曲线公钥密码算法第4部分:公钥加密算法》定义SM2算法加密过程如下图:2. 根据国密规范《GM-T 0003.4-2012SM2椭圆曲线公钥密码算法第4部分:公钥加密算法》定义SM2算法解密过程如下图:3.加密解密原理推导:...原创 2021-03-08 21:54:52 · 668 阅读 · 0 评论 -
SM2签名验签实现过程及关键过程推导
1. 根据国密规范《GB/T 32918.2-2016》定义SM2算法签名过程如下图:2. 根据国密规范《GB/T 32918.2-2016》定义SM2算法验证签名过程如下图:3.签名验签原理推导:原创 2021-02-22 23:45:42 · 758 阅读 · 0 评论 -
对称加密模式GCM
以下内容来自《NIST Special Publication 800-38D November, 2007》- Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC。AES Galois/Counter Mode1. 加密步骤:2. 解密步骤3. G...原创 2020-03-09 00:28:15 · 832 阅读 · 0 评论 -
AES CCM模式理解
AES CCM模式理解涉及概念AES CCM加密模式使用CBC_MAC和CTR加密模式实现 L长度域,涉及CBC_MAC计算和CTR计算两个计算过程理解,具体见计算过程描述。 M为输出Tag长度。 Tag为校验值内容,具体见计算过程描述。 输出内容包括CTR加密结果和Tag值。计算过程CBC_MAC计算<上图引用网络资源>构造B0、B1……、Bn,每组16个...原创 2020-02-17 23:41:57 · 5748 阅读 · 0 评论 -
CRC校验理解
转自:bangbang170博文在CRC算法中,将二进制数据流作为多项式的系数,然后进行的是多项式的乘除法。1. 加减法采用模2运算,即异或运算。2. 乘法即为实际乘法。3. 除法为模2减法。为了进行CRC运算,也就是这种特殊的除法运算,必须要指定个被除数,在CRC算法中,这个被除数有一个专有名称叫做“生成多项式”。最常用的几种生成多项式如下:CRC8=X8+X5+X...翻译 2019-03-13 22:59:45 · 2498 阅读 · 0 评论 -
IBM 3624 Customer PIN,Natural PIN,PIN Offset的相关内容
IBM 3624 Customer PIN,Natural PIN,PIN Offset的相关内容以下描述了利用IBM 3624产生k位用户pin的方法1.用PIN Verification Key (PVK)加密PAN(Primary Account Number)最右16位,产生16位十六进制字符串;2.利用Decimalisation Table = 0123456789原创 2015-06-16 00:08:05 · 3925 阅读 · 1 评论 -
base64那点事
分析base原创 2014-12-07 18:07:48 · 724 阅读 · 0 评论 -
windows下编译openssl
windows下编译openssl1.下载openssl源码,解压到一个目录:openssl\code\openssl-0.9.8i;2.下载perl 工具,我用的ActivePerl。安装完成后系统自动设置了环境变量:C:\Perl64\site\bin;C:\Perl64\bin;3.从cmd命令行进入:openssl\code\openssl-0.9.8i目录,执行:perl c原创 2014-05-11 19:17:24 · 615 阅读 · 0 评论 -
RSA公私钥结构
RSA公私钥结构语法:RSAPublicKey::=SEQUENCE{modulusINTEGER,--模值npublicExponentINTEGER--公开指数e}RSA私钥结构语法RSAPrivateKey::=SEQUENCE{versionVersion,--version是INTEGER类型的0modulus INTEGER,--模值npublic原创 2014-05-10 17:32:54 · 6221 阅读 · 0 评论