加密的本质
1.加密的方式有哪些?
明文:未加密的信息
加密秘钥:给明文加密的参数
密文:加密后的信息
解密秘钥:把密文解密成明文的参数
加密和解密的本质都是转换!
加密的本质就是用某种规则A把明文内容转换成另一种格式的过程!
解密的本质就是用A对应的解密规则把密文转换成明文的过程!
加密方式有2种:
1)对称加密:单秘钥加密,加密秘钥=解密秘钥,1个秘钥
2)非对称加密:双秘钥加密,加密秘钥! =解密秘钥,2个秘钥;
一般加密秘钥是公钥,解密秘钥是私钥;
公钥和私钥是一一对应的;
所有人都可以获得公钥;但是私钥却不是
密钥:加密与解密算法的参数,直接影响对明文进行变换的结果。
2.什么叫对称加密?原理是什么?
对称加密原理:使用秘钥作为加密算法的参数,对明文内容进行各种置换与转换操作
加密过程
输入:明文,秘钥
加密程序:使用秘钥作为参数,结合加密算法,对明文内容置换和转换
输出:密文
解密过程
输入:密文,秘钥
解密程序:使用秘钥作为参数,结合解密算法,对密文内容进行解密
输入:明文
加密算法和解密算法是对称、逆向的, 你+1,我-1;所以叫对称加密!
对称加密算法中,加密程序和解密程序一般在一个jar里边。
3.对称加密的缺点
1)需要告知对方加密的算法,以及加密秘钥;
2)如果对方只获得秘钥,可以逆推出解密的算法,进行解密
这样,秘钥就撑了关键!秘钥传输过程中不能丢失!
怎么保证不丢失? 保证不了!
那我能不能不传输秘钥啊?
4.什么叫非对称加密?原理是什么?
1976年,两位美国计算机学家Whitfield Diffie 和 Martin Hellman,提出了一种崭新构思,可以在不直接传递密钥的情况下,完成解密。这被称为"Diffie-Hellman密钥交换算法"。这个算法启发了其他科学家。人们认识到,加密和解密可以使用不同的规则,只要这两种规则之间存在某种对应关系即可,这样就避免了直接传递密钥。
这种新的加密模式被称为"非对称加密算法"。
非对称加密 原理复杂以后再找机会研究。
5.非对称加密的优点
完美解决对称加密的缺点: 秘钥丢失=加密失败问题
不用传输秘钥
6.如何使用对称加密?
甲方向乙方发送消息
甲方:使用秘钥A及加密算法J对明文M进行加密得到密文MM
甲方:传输秘钥A及密文MM给乙方,并告知乙方用哪种加密算法加密!
乙方:用秘钥A及相应的解密算法将密文MM解密成明文M。
7.如何使用非对称加密?
乙方向甲方发送消息
甲方:生成2个秘钥,公钥和私钥;向外界发布公钥,自己保留私钥
乙方:要向甲方发送消息,先获取公钥,然后用公钥对明文加密,生成密文MM,然后把密文MM发送给甲方!
甲方:用私钥解密密文成明文!
双向发送消息
1.A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。
2.A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。
3.A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。
4.A将这个消息发给B(已经用B的公钥加密消息)。
5.B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。
8.常见的加密算法
对称加密算法:DES、3DES、AES、Blowfish、IDEA、RC5、RC6。
非对称加密算法:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。
9.参考
密码学笔记http://www.ruanyifeng.com/blog/2006/12/notes_on_cryptography.html
DES加密算法原理https://www.jianshu.com/p/c44a8a1b7c38
RSA加密算法原理http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html