基本内容
安全密鑰是一種參數,它是在明文轉換為密文或将密文轉換為明文的算法中輸入的參數。密鑰分為對稱密鑰與非對稱密鑰。用公鑰加密的數據隻有私鑰才能解密,用私鑰加密的數據隻有公鑰才能解密。
認證
認證是一個驗證身份的過程,目的是使一個實體能夠确信對方是他所聲稱的實體。
假設A要認證B,B有一個密鑰對,即一個公鑰和一個私鑰,B透露給A他的公鑰。然後A産生一段随機的消息,然後把它發給B。
A-->B random--message
B用自己的私鑰來加密這段消息,然後把加密後的消息返回給A。
B-->A B's--private--key
A接到了這段消息,然後用B以前發過來的公鑰來解密。她把解密後的消息和原始的消息做比較,如果匹配的話,她就知道自己正在和B通信。一個入侵者應該不知道B的私鑰,因此就不能正确的加密那段A要檢查的随機消息。
除非你确切的知道你在加密什麼,否則用你的私鑰加密一些東西,然後發給别人永遠不是一件好事。這是因為加密後的數據可能會背叛你(記住,隻有你能加密,因為隻有你才有密鑰)。
所以,不加密A發送的原始消息,取而代之的是,由B構造一個消息摘要,然後加密它。消息摘要是從随機消息中以某種方式提取出來的,并且具有以下特點:
-摘要很難逆轉,任何假冒B的人不能從摘要得到原始消息
-假冒者無法找到具有相同摘要的不同消息
通過使用摘要,B能夠保護自己。他首先計算出A發給他的随機消息的摘要并加密,然後把加密後的摘要返回給A,A可以計算出相同的摘要,通過解密B的消息然後對比一下就可以認證B的身份。
這個過程就是傳說中的數字簽名。