加密算法分为:对称加密、非对称加密、单向加密
对称加密就是加解密用同一个密钥,常见的aes,des;
非对称加密有两个密钥,公钥和私钥。常见有rsa加密。
单向加密就是没有密钥的加密算法,不可逆,常用来验签,有md5,sha算法。
小明是个帅哥,课桌里经常收到一堆情书,但小明只喜欢小红,只想看到小红的情书,于是就给自己的课桌上了一把锁,配了一把钥匙,并邮寄给了小红一把,这样一来就只有小红能给他情书了,两人你侬我侬,好不甜蜜。这个场景就是对称加密,钥匙就是密钥。
但是突然有一天,小明发现情书里小红态度变了,要和他分手。伤心的小明当面找小红对质,小红说自己没有放那封情书。两人排查下来发现,小明在给小红邮寄钥匙的过程中被阿汤哥复制去了,他两那点事阿汤哥清清楚楚。这说明对称加密涉及密钥交换,网络传输中容易被劫持或者调包,一旦被破解,毫无隐私可言。
小明不服,换了一把锁,钥匙只有自己持有,告诉小红,每次放完信锁上就行。这方法果然奏效,除了自己再也没有人能开锁了。这就是非对称加密场景,用来保证信息传输过程中不被篡改,公钥加密私钥解密,私钥就是钥匙,公钥就是锁;当然,还有一种是私钥加密,公钥解密,这是为了防止中间者攻击,即发送方被冒牌顶替。
可好景不长,小明发现小红对自己态度开始冷漠,肯定又是哪里出了问题。调查下来,原来是别人冒充小红,因为虽然隐私保住了,但锁谁都可以锁,谁都可以是小红,包括阿汤哥。真是个大聪明!
小明再次反制,让小红每次信件附上身份证复印件,这就是数字签名,和信件绑一起,证明写信人就是小红,身份证是谁颁发的呢,没错,就是CA机构。