密码学:研究密码的编译和破解的一种科学.它以数据为基础,在加密和破解,攻击和防守的对抗过程中交替发展起来.
对称加密和非对称加密都属于密码学范畴,属于密码学算法的一种.
对称加密:加密和解密都使用同一个密钥的算法
解释:密钥的英文翻译是key,可以理解为一种映射规则
明文 <-> 密钥(规则) <-> 密文
例子:小明学习成绩好,小红学习成绩差.期末考试小红想作弊,想小明在考试的时候给小红传选择题答案.但由于监考老师的存在,小红和小明约定了一套规则,当小明咳嗽的时候说明要开始传答案,而摸右耳朵代表选择A,摸左耳朵代表选择B,托下巴代表选择C,摸脸颊代表选择D.除非监考老师能发现/破解,否则小红和小明就能在考场上完成答案(信息)的传输.
优点:资源开销小,效率高
缺点:不够安全,若较多人共同使用一个密钥,当密钥泄露时,会导致其他人的信息也遭泄漏
例子:A国与B国发生战争,若A国使用一套单一的对称加密方法作为传输战争机密信息的方式,当B国的专家破解任何一条A国的机密信息都相当破解了A国整套信息传输系统.
非对称加密:加密和解密采用不同的密钥,加密采用公钥,而解密则采用私钥的算法.其中私钥需要保密,公钥即使公开也不会让信息遭到泄露.
例子:小明有自己的公钥和私钥(小明公钥-小明私钥),小红有自己的公钥和私钥(小红公钥-小红私钥).有一天小明想给小红发秘密信息,但又怕被网络监控员给监控到,那么小明就可以找小红:
小明:小红啊,把你的公钥发给我,我有些秘密要告诉你~
小红:行,这是我的公钥asdfggh123(作者乱打的)
小明把他要说的秘密信息通过小红的公钥进行加密,得到的结果是一串加密的信息&……*#%……#!@(作者乱打的)
然后小明:红啊,这是我要说的秘密&……*#%……#!@
这时候小红拿到这串经过加密后的信息,用她的私钥进行解密,最后就会看到小明想和她说的秘密.
优点:安全,每人都有一对独立的密钥即“私钥-公钥”,只要私钥保密,公钥公开也不会导致信息的泄露.
缺点:当信息接收方的身份被冒充,信息仍然会泄露
例子:还是上面小明想给小红说秘密的例子,若网络监控员想方设法知道小明的秘密,他可以通过假装自己是小红,并把他的公钥给到小明,只要小明信以为真用网络监控员的公钥进行加密,最后网络监控员就可以用他自己的私钥进行解密,最后知道小明想说的秘密.