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