密码学入门科普

1、对称加密和非对称加密入门算法

1. 如何不被窃听 —— 加密安全

  • 这种加密方案在密码学里称为对称密码,加密方和解密方使用的是相同的密钥。性能

  • 知名的密码算法有 AES(2001)、Blowfish(1993)、DES(1977),再远一点,有二战时期的恩尼格码(转轮机原理,德国)、紫色密码(转轮机原理,日本),以及著名的凯撒密码(没错就是地中海北岸那个凯撒)、栅栏密码等。阿里云

2. 如何交换密钥 —— 非对称加密加密

解决信道安全问题blog

  • Bob 事先生成一对公钥和私钥,私钥 pri 由本身保管,把公钥 pub 发给 Alice。md5

  • Alice 使用 pub 对消息内容进行加密,Bob 用 pri 进行解密。it

  • 须要注意的是, 只有私钥才能够解密,因此即便 Eve 窃取到了 pub(只有 pub 被传输而容易被窃取),她也没法解密。io

  • 这种加密方式在密码学里称为非对称密码,所谓“非对称”指的是加密方和解密方用的密钥不同。入门

  • 知名的非对称算法有:DSA(数字签名算法,只能用于签名,1991)、ECC(椭圆曲线加密,1985)、RSA(公钥加密算法,1977)等。

  • 这些算法除了用于加密外,还能够用于 数字签名。非对称算法有个致命弱点: 性能很低。实际应用中通常采用混合加密体制、哈希签名体制。

3. 如何防止数据篡改 —— MAC

图中的 MAC 指的是 消息认证码(Message Authentication Code),你如今不需知道它的原理,只要记住 :(1)传入两个参数 message 和 key,进行一系列计算后获得一个值叫 MAC。(2)只有 message 和 key 相同的状况下,才能获得相同的 MAC。

  • 消息认证码有多种实现方式,其中最多见的是 HMAC(Hash MAC),即便用哈希算法来实现 MAC,还有一种是基于分组密码算法的 MAC,不常见。

  • 聪明如你,确定会想到若是 key 被窃取该怎么办?这就涉及到 数字签名了,后文会讲到。

4. 如何校验身份 —— MAC

  • MAC包含几种实现方式:基于 HASH 的 MAC 称为 HMAC,应用比较普遍。

  • 有些同窗应该接触过阿里云的 Access Key,其实就是 HMAC 的原理。

  • 有些同窗在两个系统之间API调用时,会使用同一个 key 作 md5 计算来实现 API 鉴权,这称为“加盐HASH”,能够简单理解为 HMAC 的简化版。

  • 一样的,若是 key 被窃取该怎么办?这能够用 数字签名来解决。

5.更进一步 —— 数字签名

发送方是用 私钥进行签名,而接收方用 公钥 进行验签,这跟加密状况正好相反。

6. 公钥的身份证 —— 数字证书

伪造公钥,Bob 须要事先生成公钥 pub 和私钥 pri ,而后把 pub 分发给 Alice。那么攻击过程就从这入手,Eve 生成本身的一对公钥 pub' 和 私钥 pri',截获 Bob 的 pub,并用本身的 pub' 冒充 Bob 的公钥发给 Alice。

这是个“偷天换日”的过程,Eve 经过伪造公钥(中间人攻击),不光窃听到 Alice 的消息,还能保证整个过程当中 Alice 和 Bob 都没有察觉!

Eve 不是喜欢伪造公钥吗,Bob 此次就要请 Trent 为本身的公钥注册一张 “身份证” —— 数字证书。见证如见人,哦不对,见证如见公钥!如下是注册数字证书的过程:

  • Bob 请求 Trent 为本身的公钥 pub 注册一个证书。

  • Trent 收到请求后,用本身的私钥 pri ' 对 pub(以及身份信息) 进行签名,获得一个 sign。

  • Trent 把证书 certificate = pub + sign 颁发给 Bob。

  • Bob 把本身的证书 pub + sign 发给 Alice。

  • Alice 使用 Trent 的公钥 pub ' 对 sign 进行验签,若是校验成功则说明 pub 的确是 Bob 的公钥,由于她相信 Trent 的权威性。

Eve 不可能找 Trent 为她办一个 Bob 的数字证书,由于 Trent 不会赞成的,就像警察蜀黍不会给我办一张别人的身份证同样。因此,Eve 没法伪造 Bob 的公钥。

  • 考虑到非对称算法的效率问题,实际应用中通常是先对数据进行哈希,而后才用私钥对哈希值(摘要)进行签名。

  • Trent 在密码技术领域中通常称为 认证机构(Certification Authority,即 CA)。

  • 以数字证书为基础,业界制定了一系列的规范和规格,好比由谁颁发证书、如何进行颁发、如何做废证书等,称为 公钥基础设施(Public-Key Infrastructure,即 PKI)。

2、对称加密常见密码学

AES,DES,3DES,TDEA,Blowfish,RC5,IDEA

3、非对称加密经典算法

RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)

相关文章
相关标签/搜索