密码学
文章平均质量分 54
一个不像程序员的程序猿
代码虐我千百遍,我待代码也不如初恋
展开
-
SM3算法原理解析
SM3算法原理解析(1)消息填充首先将比特“1’ 添加到消息的末尾,再添加k个零,这里k是方程l+1+k = 448 mod 512的最小的非负解。然后再添加一个64比特长的块,其值等于消息M的长度l的二进制表示,使得填充后的消息的长度为512比特的倍数。(2)迭代消息分组和初始值进入MD结构进行迭代压缩,初始变量如下:填充后的消息M’ = B(0)B(1)… B(n-1),n=(k+l+65)/512,消息B(i)为512比特。伪代码:FOR i=O TO n-1H(i+1) = CF原创 2021-08-13 18:04:25 · 3524 阅读 · 0 评论 -
SHA-1算法
SHA-1算法1、SHA1概述SHA1在设计方面很大程度上是模仿MD5的,但它对“任意长度”的消息生成160比特的消息摘要。它有5个32比特的寄存器A,B,C,D,E参与运算,主循环4轮,每轮20步,输入的消息长度最大不超过2的64次方,每次处理的消息分组长度是512比特。2、SHA1的步函数非线性函数的定义:(4轮非线性函数不一样)3、SHA1实现(Python)参考代码import math# 异或算法def xor_func(a, b): a = bin(a)[2转载 2021-08-02 12:51:44 · 1850 阅读 · 0 评论