加密方式有哪些
加密这事儿,加密说白了就是加密给信息上锁。锁的加密种类五花八门,但归根结底就两大类:对称加密和非对称加密。加密剩下的加密什么哈希、数字签名,加密全是加密围绕这两把锁衍生出来的工具。
对称加密最好理解,加密像古代 Caesar 密码——把字母往后挪三位,加密A 变 D,加密B 变 E。加密收信人知道挪几位,加密就能解出来。加密现代对称加密算法(AES、加密DES)原理类似,加密只是挪动规则复杂到天文数字级别。问题在于,你得先把“挪几位”这个密钥告诉对方。如果密钥在传输中被截获,整条链路就废了。所以对称加密解决的是“信息传输中的保密”,但解决不了“密钥怎么安全送达”。
非对称加密就是为了干掉这个死穴。它生成一对钥匙:公钥随便发,私钥自己藏。你用我的公钥加密消息,发过来,只有我的私钥能解开。中途谁截了公钥也没用,因为加密和解密是两把不同的钥匙。RSA 算法是祖师爷,靠的是大素数分解的数学难题——两个大质数相乘容易,但把乘积反推回质数难到爆。不过非对称加密慢得跟蜗牛爬似的,所以实际场景里,它通常只用来加密一个临时生成的对称密钥,然后双方改用对称加密快速传输数据。这就是 HTTPS 握手的底层逻辑。
哈希函数跟加密不太一样,它不追求“可逆”,而是追求“指纹”。一段文字扔进 SHA-256,出来一个固定长度的字符串,哪怕改一个标点,结果完全变样。你没法从哈希值反推原文,但你可以验证原文有没有被篡改。下载软件时官方给的 SHA-256 校验码,就是这个用途。密码存储也靠它——网站不存你的明文密码,只存哈希值,就算数据库被拖库,黑客拿到的也是一堆乱码。但注意,哈希不是加密,因为加密必须能解,哈希压根不想让你解。
再往上叠加一层,就是数字签名。它本质上是“用私钥加密一段哈希值”,别人用你的公钥解开,验证这段哈希值是否匹配原文。这能证明两件事:第一,消息确实是你发的(因为只有你有私钥);第二,消息没被改动过(因为哈希对不上)。区块链里的交易签名,就是这套逻辑。
现实中的加密方案从来不是单打独斗。TLS 协议里,握手阶段用非对称加密换密钥,传输阶段用对称加密跑数据,中间还夹杂着证书链和哈希校验。你要访问银行网站,浏览器先验证服务器证书的签名(非对称),然后生成一个随机密钥(对称),用服务器的公钥加密发过去,之后所有通信都用这个随机密钥加密。整套流程环环相扣,少了任何一环都会出漏洞。
最后提一嘴量子计算。现在的 RSA 加密,在足够强的量子计算机面前可能几秒钟就被破解——因为 Shor 算法能高效分解大素数。所以密码学界正在推后量子加密算法,比如基于格的方案。这事儿离普通人还远,但银行、军方已经在替换标准了。加密是场军备竞赛,锁匠和开锁匠永远在互相逼着对方进步。









