Posted on 2009-06-01 22:38
Gavin.lee 閱讀(436)
評論(0) 編輯 收藏 所屬分類:
java SE & EE
“這種算法1978年就出現了,它是第一個既能用于數據加密也能用于數字簽名的算法。它易于理解和操作,也很流行。算法的名字以發明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。
這種加密算法的特點主要是密鑰的變化,上文我們看到DES只有一個密鑰。相當于只有一把鑰匙,如果這把鑰匙丟了,數據也就不安全了。RSA同時有兩把鑰匙,公鑰與私鑰。同時支持數字簽名。數字簽名的意義在于,對傳輸過來的數據進行校驗。確保數據在傳輸工程中不被修改。”
流程分析:
- 甲方構建密鑰對兒,將公鑰公布給乙方,將私鑰保留。
- 甲方使用私鑰加密數據,然后用私鑰對加密后的數據簽名,發送給乙方簽名以及加密后的數據;乙方使用公鑰、簽名來驗證待解密數據是否有效,如果有效使用公鑰對數據解密。
- 乙方使用公鑰加密數據,向甲方發送經過加密后的數據;甲方獲得加密數據,通過私鑰解密。
原文出處:
http://snowolf.javaeye.com/blog/381767 ,看了作者的流程分析,就能知道RSA加密有多么強大,具有多大優勢了。
參考:
http://icylife.net/yunshu/show.php?id=471 http://www.iwms.net/n935c43.aspx http://www.iwms.net/n923c43.aspx