密码学总体介绍与分析 1

密码学大致加密算法可以分为两种,

  • 一种是对称加密(Symmetric cryptograthy),
  • 另一种是非对称加密(Asymmetric cryptography) 第二种也叫公钥加密(Public-Key Cryptography)

两者的区别是是否使用了相同的秘钥。对称加密使用相同秘钥,非对称加密使用两种秘钥。

对称加密代表有 “三重DES”和“AES”,非对称加密代表有 RSA、ElGamal算法加密、椭圆曲线加密等 .

相对于对称密码加密解密采用相同的密码,非对称密码加密采用的是不同的秘钥,公钥和私钥是成对出现的,公钥加密的信息只有相应的私钥才能解密。

  • 非对称加密,就是向大家派发锁(公钥),大家可以通过锁对信息加密,锁是公开的,丢了也无所谓,但钥匙(私钥)只有一把,归信息的接收者所有
  • 对称加密好比大家用相同的锁对信息加密,加密双方都拥有相同的钥匙,钥匙(秘钥)丢了,锁(明文信息)就被别人打开了

非对称加密流程

  1. 接收方生成公钥私钥对,私钥由接收方保管
  2. 接收方将公钥发送给发送方
  3. 发送方通过公钥对明文加密,产生密文
  4. 发送方向接收方发送密文
  5. 接收方通过私钥解密密文,得到明文

缺点是无法解决公钥认证问题,可能被中间人伪造公钥

RSA

RSA加密存在的问题:

扫描二维码关注公众号,回复: 4360772 查看本文章
  • 效率慢,因此在工业场景下,往往是通过非对称加密配送秘钥、对称加密加密明文的混合加密方式,如著名的SSL
  • 公钥认证问题难,消息发送方无法确认公钥的身份问题
  • 无法避免中间人攻击,可能被人在中间劫持后发送一个伪造的公钥,此公钥加密后的密文可以被劫持者解密,之后所有的密文对劫持者都是透明的
  • 选择密文攻击,即通过不断的发送请求,分析请求的反馈,猜测秘钥和明文
  • 密码劣化,随着算力的提升,密码的安全性下降

其他非对称加密算法:

  • ECC (Elloptic Curve Cryptography) 椭圆曲线密码
  • ElGamal 
  • Rabin

混合密码系统

对称加密和非对称加密的结合,由于对称加密算法速度快、强度高,而非对称加密算法效率低,但能解决秘钥配送问题,

因此可以通过非对称加密配送对称秘钥,再采用对称秘钥用来加密的方式,实现网络的秘钥配送和通信加密。

单向散列

单向散列是为了保证消息的完整性,防止信息被篡改的一项技术。

特点:

  • 无论消息长度,计算出的长度永远不变
  • 快速计算
  • 消息不同,散列值不同,需要具有抗碰撞性 Collision Resistance

            -弱抗碰撞性:给定散列值,找到和该消息具有相同散列值的另一条消息是困难的

            -强抗碰撞性:任意散列值,找到散列值相同的两条不同的消息是困难的

  • 具有单向性 one-way,不可由散列值推出原消息

单向散列算法

  • MD(Message Digest)

MD 散列算法分为 MD4, MD5 两套算法,都可计算出 128 bits 的散列。MD 系列算法已经被中国科学家王小云破解(可于有限时间内找出碰撞)。

  • SHA(Secure Hash Algorithm)

      SHA 是单向散列算法的一个标准的统称,其下又分为 SHA-1, SHA-2, SHA-3 三套算法。

  1. 其中 SHA-1 可生成 160 bit 散列值,已被攻破(由王小云、姚期智联手破解),不推荐使用。
  2. SHA-2 可生成不同长度的散列,如 256 bits (SHA-256), 384 bits (SHA-384), 512 bits (SHA-512),同时对输入的消息长度存在一定限制,SHA-256 上限接近于 $2^{64}-1$ 比特,SHA-384、SHA512 则接近于 $2^{128}-1$ 比特。
  3. SHA-3,是 2012 年被采用的最新标准,采用了 Keccak 算法。

            Keccak 算法的优点:

  1.  采用与 SHA2 完全不同的结构
  2.  结构清晰,易于分析
  3.  适用于各种硬件,性能优越
  4.  可生成任意长度
  5.  对消息长度无限制
  6.  可采用双工结构,输入同时输出,提升效率

MD4,5, RIPEMD, RIPEMD-160, SHA-1, SHA-2 均采用 MD 结构(Merkle-Damgard construction)

对散列的攻击

  • 暴力破解,冗余碰撞
  • 生日攻击,针对强抗碰撞性

Reference: https://www.jianshu.com/p/a8070920810d

猜你喜欢

转载自blog.csdn.net/weixin_38134491/article/details/84260651