信息加密是实现数据保密性的手段。
信息加密(Encryption)是将明文信息转换为密文信息,使之在缺少特殊信息时不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。
现代的信息加密方式可以分为对称加密 和 非对称加密。
现代的密码学算法的安全性,取决于密钥的保密性和算法的安全性,而不是算法的保密性。
技术是为了解决问题而生的,信息加密技术的作用是:对数据进行加密,将明文转换成密文,以防止未经授权的用户访问数据。
对称加密在加密和解密时使用相同的密钥。
对称加密算法有:RC4、DES、3DES、AES、ChaCha20 等。前三种算法(RC4、DES、3DES)目前已经被认为是不安全的加密算法,通常它们被禁止使用,目前常用的只有 AES 和 ChaCha20。
对称加密的优劣局限:
对称加密中有一个 “分组模式” 的概念。
由于加密明文的长度与密钥的长度在安全上具有相关性,通俗地说就是多长的密钥决定了它能加密多长的明文:
为什么需要分组模式:加密明文的长度不固定,而一次加密只能处理特定长度的一块数据,这就需要进行迭代,以便将一段很长的数据全部加密,而迭代的方法就是分组模式。
最早的分组模式有:ECB(电子密码本)、CBC(密码分组链接)、CFB(密码反馈)、OFB(输出反馈)等,但这些分组模式都陆续被发现有安全漏洞,所以现在基本都不怎么用了。
最新的分组模式被称为 AEAD(Authenticated Encryption with Associated Data),在加密的同时增加了认证的功能,常见的是 GCM、CCM 和 Poly1305。
非对称加密在加密和解密时,使用不同的密钥。非对称加密需要两个密钥,一个是 公钥(public key),一个是 私钥(private key)。
公钥可以公开,可任意向外发布;私钥不可以公开,必须由用户自行严格秘密保管,绝不透过任何途径向任何人提供,也不能透露给被信任的要通信的另一方。
公钥 和 私钥有个特别的 “单向” 性:虽然它们两个都可以用来加密 和 解密,但公钥加密后只能用私钥解密;私钥加密后只能用公钥解密。
常见的非对称加密算法有:RSA、ECC(Elliptic Curve Cryptography,椭圆曲线密码学)等。
技术是为了解决问题而生的,非对称加密解决了对称加密的 “密钥交换” 问题。
对称加密需要通信双方在通信之前先通过另一个安全的渠道交换共享的密钥。对称密钥一旦被窃,其所作的加密将即时失效。非对称加密就是为了解决 “密钥交换” 这个问题而设计的。非对称加密,如果使用公钥加密、私钥解密,那么即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密。
非对称加密的优劣局限。
由于非对称加密的加解密效率低,不支持分组模式,不能直接用于大量数据的加密,因此,一般在实际情况下,往往通过非对称加密来随机创建临时的对称秘钥,然后通过对称加密来传输大量的主体数据。
这种由多种加密算法组合的应用形式,就被称为 “密码学套件”,非对称加密在这个场景中发挥的作用被称为 “密钥协商”。
技术是为了解决问题而生的,组合加密解决了非对称加密 和 对称加密存在的问题,组合加密结合了非对称加密 和 对称加密的优点。
加密 - 维基百科,自由的百科全书 (wikipedia.org)
公开密钥加密 - 维基百科,自由的百科全书 (wikipedia.org)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。