加密和解密
通俗的講蔓搞,RSA的公鑰和私鑰都可以用來(lái)加密或解密--只要能保證用A加密,就用B解密就行何缓。至于A是公鑰還是私鑰,不同的情形下不同还栓。
舉兩個(gè)例子:
1碌廓、把某個(gè)消息發(fā)給老王,不想被其他人知道剩盒,就可以用老王的公鑰加密消息谷婆。因?yàn)橹挥兴雷约核借€,所以這個(gè)消息只有他本人才能用私鑰解密消息辽聊;
2纪挎、自己想發(fā)布一個(gè)消息,需要通過(guò)一個(gè)技術(shù)手段來(lái)保證是自己發(fā)布身隐,而不是別人偽造的廷区〈楦停可以用自己的私鑰加密發(fā)布的消息摊求。其他人收到消息后唾那,用自己的公鑰解密消息,看看解密的內(nèi)容是否一致垢揩。如果一致的話(huà),則確定是自己發(fā)布的消息敛瓷。因?yàn)?b>只有自己的公鑰才能解開(kāi)你的私鑰加密的內(nèi)容叁巨。
數(shù)字簽名
數(shù)字簽名的目的:
1、確保消息是本人發(fā)送呐籽;
2锋勺、確保消息內(nèi)容完整---沒(méi)有經(jīng)過(guò)任何形式的篡改(替換、缺少狡蝶、新增)庶橱。
其實(shí),上面關(guān)于“消息”的內(nèi)容贪惹,已經(jīng)證明了第一點(diǎn):證明這消息是本人所發(fā)苏章。
那么要保證第二點(diǎn)很簡(jiǎn)單,把消息的原文做一次哈希(md5或者sha1都行)奏瞬,然后用私鑰加密這段哈希并作為簽名枫绅,并一起公布出去。當(dāng)別人收到消息時(shí)硼端,他可以用公鑰解密簽名并淋,如果解密成功,并且解密出來(lái)的哈希值確實(shí)消息原文一致珍昨,那么就證明了兩點(diǎn):這消息確實(shí)是本人所發(fā)的县耽,且消息沒(méi)有經(jīng)過(guò)篡改句喷。