以下仅做个人笔记之用
加密有古典密码学和现代密码学。古典密码学起源于古代战争,在战争中,为了防止书信被截获后重要信息泄露,开始对书信进行加密。
一. 古典密码学
加密方式分为移位式加密和替换式加密
-
移位式加密
比如密码棒,使用布条缠绕在木棒上的方式来对书信进行加密
密钥:木棒的尺寸
-
替换式加密
按照某一规则使用不同的文字来替换掉原先的文字来进行加密
加密算法:替换文字
密钥:码表
二. 现代密码学
不仅可以用于文字内容,还可以加密各种二进制数据。分为对称加密和非对称加密。
-
对称加密
-
原理
使用密钥和加密算法对数据进行转换,得到密文;使用密钥和解密算法对密文进行逆向转换,得到原数据。
-
经典算法
a. DES(56位密钥,密钥太短逐渐被弃用)
b. AES(128位,192位,256位)
-
作用
加密通信,防止信息在不安全的网络上被截获后,信息被人读取或篡改。
-
对称加密的破解
破解思路:
拿到一组或多组原文-密文对。
找到一个密钥,这个密钥可以将这些原文-密文对中的原文加密成密文,以及将密文解密为原文的组合,即成功破解。
-
反破解
让破解者找不到比穷举法更有效的破解手段,并且穷举法的破解时间足够长。
-
缺点
密钥泄露:不能在不安全网络上传输密钥,一旦密钥泄露则加密通信失败。
-
非对称加密
-
原理
使用公钥对数据进行加密得到密文;使用私钥对数据进行解密得到原数据
-
用途
使用非对称加密通信,可以在不可信网络上将双方的公钥传给对方,然后在发送消息前分别对消息使用对方的公钥来加密和使用自己的私钥来签名,做到不可信网络上的可靠密钥传播及加密通信。
由于私钥和公钥互相可解,因此⾮对称加密还可以应⽤于数字签名技术。
数字签名
加密与签名过程如下
-
经典算法
a. RSA:可用于加密和签名
b. DSA:仅用于签名,速度更快
-
非对称加密的破解
破解思路:
和对称加密不同之处在于,⾮对称加密的公钥很容易获得,因此制造原⽂-密⽂对是没有困难的 事。
所以,⾮对称加密的关键只在于,如何找到⼀个正确的私钥,可以解密所有经过公钥加密过的密 ⽂。找到这样的私钥即为成功破解。
由于⾮对称加密的⾃身特性,怎样通过公钥来推断出私钥通常是⼀种思路(例如 RSA),但往往 最佳⼿段依然是穷举法,只是和对称加密破解的区别在于,对称加密破解是不断尝试自己的新密 钥是否可以将自己拿到的原⽂-密⽂对进⾏加密和解密,⽽⾮对称加密时不断尝试自己的新私钥 是否和公钥互相可解。
-
反破解
让破解者找不到⽐穷举法更有效的破解⼿段,并且穷举法的破解时间⾜够⻓。
-
优缺点
优点:可以在不安全网络上传输密钥
缺点:计算复杂,性能相比对称加密差很多