分享一下在学习过程中遇到的密码学组件(一)
强烈推荐新火科技的公开课!,本文只是对知识的简单罗列,细节教学点下方链接!
新火公开课
HASH函数
将任意长度的消息映射为一个固定长度(256bit)的随机数,此数被称为消息摘要
性质
[1] 单向性:已知哈希值 Y,无法在多项式时间内计算出哈希原象 X;
[2] 弱抗碰撞性:已知(X, Y),无法在多项式时间找到 X’,使得 Y=Hash(X’);
[3] 强抗碰撞性:攻击者无法寻找X ,X‘,满足X!=X’ ,hash (X ) = hash (X) ;
[4] 压缩性:通常是将 512bit 的数据压缩为 256bit;不足 512bit 则填充。
[5] 随机性:输出的 Y 是 256bit 的 0/1 字符串是随机的;
[6] 可重复性:如果输入 x1=x2,则输出的哈希值 Y1=Y2。
SHA3 - blake
由瑞士的 Aumasson 等人设计,采用了 HAIFA 算法迭代结构,其中的压缩算法基于 ChaCha流密码,内部结构采用 Davies-Meyer 模式,在压缩函数中,采用模余 322 加法运算与 XOR运算,实现计算的非线性。针对 M