什么是加密或加密算法?
加密涉及对信息进行加密和解密的做法,以确保信息的私密性和安全性,不受意外方的影响。加密最早于公元前1900年左右在古埃及使用,当时用替代的象形文字来确保通信安全。加密算法是用于扰乱明文并使其无法被读取的数学方程。它们被用于数据加密、身份验证和数字签名。
加密有三种类型:
- 对称密钥加密——发送方和接收方共享一个密钥并且发送方使用此密钥加密明文。密文被发送给接收方,接收方能使用同一个密钥来解密消息并恢复来自发送方的明文。
- 公钥或非对称加密——在公钥加密(PKI)、也称为非对称加密情况下,有两个相关的密钥,被称为公钥和私钥。虽然可以无限制地分发公钥,但与其配对的私钥必须保密。公钥用于加密,私钥用于解密。
最常用的非对称加密算法是RSA和ECC。TLS/SSL证书经常使用RSA密钥,并且这些密钥的推荐长度在不断增加(例如从1024位到2048位),以保持足够的加密强度。RSA的一种替代方案是ECC,它可以用更小的密钥长度提供相同级别的加密强度,从而在降低计算和存储要求的同时提高安全性。
- 哈希函数——这种算法不使用密钥,但根据明文计算固定长度的值,从而无法恢复明文的内容。哈希函数通常被计算机系统用来加密密码。一种常用的哈希算法是256-SHA。