网站建设预算明细,30天网站建设实录视频云盘,网站空间和流量,wordpress 果酱小程序介绍信息加密
信息加密是实现数据保密性的手段。
信息加密#xff08;Encryption#xff09;是将明文信息转换为密文信息#xff0c;使之在缺少特殊信息时不可读的过程。只有拥有解密方法的对象#xff0c;经由解密过程#xff0c;才能将密文还原为正常可读的内容。
现…介绍信息加密
信息加密是实现数据保密性的手段。
信息加密Encryption是将明文信息转换为密文信息使之在缺少特殊信息时不可读的过程。只有拥有解密方法的对象经由解密过程才能将密文还原为正常可读的内容。
现代的信息加密方式可以分为对称加密 和 非对称加密。
对称加密在加密和解密时使用相同的密钥。非对称加密在加密和解密时使用不同的密钥。
现代的密码学算法的安全性取决于密钥的保密性和算法的安全性而不是算法的保密性。 技术是为了解决问题而生的信息加密技术的作用是对数据进行加密将明文转换成密文以防止未经授权的用户访问数据。
介绍对称加密
对称加密
对称加密在加密和解密时使用相同的密钥。 对称加密算法有RC4、DES、3DES、AES、ChaCha20 等。前三种算法RC4、DES、3DES目前已经被认为是不安全的加密算法通常它们被禁止使用目前常用的只有 AES 和 ChaCha20。
AESAdvanced Encryption Standard高级加密标准AES 的密钥长度可以是 128、192 或 256 位。它是 DES 算法的替代者。它的安全强度很高性能也很好而且有的硬件还会对它做特殊优化所以 AES 非常流行是应用最广泛的对称加密算法。ChaCha20ChaCha20 是 Google 设计的一种对称加密算法。ChaCha20 的密钥长度固定为 256 位。纯软件运行性能要超过 AES曾经在移动客户端上比较流行但 ARMv8 之后也加入了 AES 硬件优化所以现在不再具有明显的优势但仍然算得上是一种不错的对称加密算法。 对称加密的优劣局限
对称加密的加密效率较高但是安全性较低。对称加密支持分组模式加密明文的长度不受限可直接用于大量数据的加密。对称加密涉及 “密钥交换” 问题对称加密需要通信双方在通信之前先通过另一个安全的渠道交换共享的密钥。对称密钥一旦被窃其所作的加密将即时失效。
分组模式
对称加密中有一个 “分组模式” 的概念。
由于加密明文的长度与密钥的长度在安全上具有相关性通俗地说就是多长的密钥决定了它能加密多长的明文
如果明文太短就需要进行填充然后再进行加密如果明文太长就需要进行分组每个分组分别进行加密。
为什么需要分组模式加密明文的长度不固定而一次加密只能处理特定长度的一块数据这就需要进行迭代以便将一段很长的数据全部加密而迭代的方法就是分组模式。 最早的分组模式有ECB电子密码本、CBC密码分组链接、CFB密码反馈、OFB输出反馈等但这些分组模式都陆续被发现有安全漏洞所以现在基本都不怎么用了。
最新的分组模式被称为 AEADAuthenticated Encryption with Associated Data在加密的同时增加了认证的功能常见的是 GCM、CCM 和 Poly1305。
介绍非对称加密
非对称加密
非对称加密在加密和解密时使用不同的密钥。非对称加密需要两个密钥一个是 公钥public key一个是 私钥private key。
公钥可以公开可任意向外发布私钥不可以公开必须由用户自行严格秘密保管绝不透过任何途径向任何人提供也不能透露给被信任的要通信的另一方。
公钥 和 私钥有个特别的 “单向” 性虽然它们两个都可以用来加密 和 解密但公钥加密后只能用私钥解密私钥加密后只能用公钥解密。
如果是想防止别人访问数据也就是数据加密那么使用公钥加密、私钥解密。这样即使公钥在网上被截获如果没有与其匹配的私钥也无法解密。如果是想防止其他人冒充信息发送者、伪造消息那么使用私钥加密、公钥解密。这样只有私钥持有者才能加密数据。数字签名技术、WebAuthn 就是使用私钥加密、公钥解密。 常见的非对称加密算法有RSA、ECCElliptic Curve Cryptography椭圆曲线密码学等。
RSA RSA 的安全性基于 “整数分解” 的数学难题它使用两个超大素数的乘积作为生成密钥的材料想要从公钥推算出私钥是非常困难的。RSA 密钥的长度推荐使用 2048 位以上256 字节ECCECC 的安全性基于 “椭圆曲线离散对数” 的数学难题使用特定的曲线方程和基点生成公钥和私钥ECC 的子算法 ECDHE 用于密钥交换ECDSA 用于数字签名。
作用 优劣局限
技术是为了解决问题而生的非对称加密解决了对称加密的 “密钥交换” 问题。
对称加密需要通信双方在通信之前先通过另一个安全的渠道交换共享的密钥。对称密钥一旦被窃其所作的加密将即时失效。非对称加密就是为了解决 “密钥交换” 这个问题而设计的。非对称加密如果使用公钥加密、私钥解密那么即使公钥在网上被截获如果没有与其匹配的私钥也无法解密。 非对称加密的优劣局限。
非对称加密的安全性较高但是加密效率较低非对称加密在在计算上相当复杂非对称加密基于大数运算比如大素数 或者 椭圆曲线是复杂的数学难题非对称加解密的性能远远不比对称加密。非对称加密的明文长度受限非对称加密的效率较低导致了现在的非对称加密算法都没有支持分组模式。所以主流的非对称加密算法都只能加密不超过密钥长度的数据这就决定了非对称加密不能直接用于大量数据的加密。
组合加密
由于非对称加密的加解密效率低不支持分组模式不能直接用于大量数据的加密因此一般在实际情况下往往通过非对称加密来随机创建临时的对称秘钥然后通过对称加密来传输大量的主体数据。
这种由多种加密算法组合的应用形式就被称为 “密码学套件”非对称加密在这个场景中发挥的作用被称为 “密钥协商”。 技术是为了解决问题而生的组合加密解决了非对称加密 和 对称加密存在的问题组合加密结合了非对称加密 和 对称加密的优点。 非对称加密存在的问题加解密的效率低、明文长度受限不能直接用于大量数据的加密 对称加密存在的问题涉及 “密钥交换” 问题 非对称加密的优点安全性较高 对称加密的优点加密效率较高、支持分组模式明文长度不受限可直接用于大量数据的加密
参考资料
加密 - 维基百科自由的百科全书 (wikipedia.org)
公开密钥加密 - 维基百科自由的百科全书 (wikipedia.org)
24 | 固若金汤的根本上对称加密与非对称加密 (geekbang.org)
极客时间 (geekbang.org)