Hash函数

用于构建数据的指纹,标识数据,将任意长度的数据输出为固定长度的消息,通过摘要算法。

  1. 计算函数又叫摘要算法,散列算法,哈希算法。
  2. 特性:
  3. 1,单向性,不可逆向运算,知道摘要计算结果,不能计算出原数据
  4. 2,弱抗碰撞性
  5. 3,强抗碰撞性
  6. 攻击方法:
  7. 1,穷举工具:典型的有“生日攻击”,产生若干明文消息,计算出消息摘要,然后进行对比,找到碰撞。
  8. 2,利用散列函数的代数结构:攻击函数的弱性质,有中间相遇攻击,修正分组攻击,差分分析攻击

SHA-1算法

输入长度小于2的64次方比特任意消息,输出160比特摘要。

SM3算法

是国家密码管理局发布的安全密码杂凑算法,采用Merkle-Damgard结构,把1-2的64次方比特消息,经过填充和迭代压缩,生成256长度的摘要。 可用于数字签名,验证,消息认证码,伪随机数生成等。

Hmac

一种基于密钥和散列函数进行消息认证的方法,要求通信双方共享密钥,约定算法。

公钥密码

公钥密码,加密和解密才有不同密钥,分别叫做公钥和私钥。

RSA密码

基于大素数分解,核心是模幂运算。

RSA算法可以实现数字签名和数据加密。

注:

加密:公钥加密,私钥解密

签名:私钥签名,公钥验签

RSA密钥长度大于1024位被认为是安全的。

这个地方符号比较难写,可以搜集一些例子。