一尤慰、公鑰加密
假設一下馏锡,我找了兩個數(shù)字,一個是1割择,一個是2眷篇。我喜歡2這個數(shù)字,就保留起來荔泳,不告訴你們(私鑰
)蕉饼,然后我告訴大家虐杯,1是我的公鑰
。
我有一個文件昧港,不能讓別人看擎椰,我就用1加密了。別人找到了這個文件创肥,但是他不知道2就是解密的私鑰
啊达舒,所以他解不開,只有我可以用
數(shù)字2叹侄,就是我的私鑰
巩搏,來解密。這樣我就可以保護數(shù)據(jù)了趾代。
我的好朋友x用我的公鑰
1加密了字符a贯底,加密后成了b,放在網(wǎng)上撒强。別人偷到了這個文件禽捆,但是別人解不開,因為別人不知道2就是我的私鑰
飘哨,
只有我才能解密胚想,解密后就得到a。這樣芽隆,我們就可以傳送加密的數(shù)據(jù)了浊服。
二、私鑰簽名
如果我用私鑰
加密一段數(shù)據(jù)(當然只有我可以用私鑰
加密摆马,因為只有我知道2是我的私鑰
)臼闻,結果所有的人都看到我的內(nèi)容了,因為他們都知
道我的公鑰
是1囤采,那么這種加密有什么用處呢述呐?
但是我的好朋友x說有人冒充我給他發(fā)信。怎么辦呢蕉毯?我把我要發(fā)的信乓搬,內(nèi)容是c,用我的私鑰
2代虾,加密进肯,加密后的內(nèi)容是d,發(fā)給x棉磨,再告訴他解密看是不是c江掩。他用我的公鑰
1解密,發(fā)現(xiàn)果然是c。
這個時候环形,他會想到策泣,能夠用我的公鑰
解密的數(shù)據(jù),必然是用我的私鑰
加的密抬吟。只有我知道我得私鑰
萨咕,因此他就可以確認確實是我發(fā)的東西。
這樣我們就能確認發(fā)送方身份了火本。這個過程叫做數(shù)字簽名危队。當然具體的過程要稍微復雜一些。用私鑰
來加密數(shù)據(jù)钙畔,用途就是數(shù)字簽名茫陆。
總結:
公鑰
和私鑰
是成對的,它們互相解密刃鳄。
公鑰
加密盅弛,私鑰
解密。
私鑰
數(shù)字簽名叔锐,公鑰
驗證。
RSA算法
RSA 公鑰加密算法是1977年由Ron Rivest见秽、Adi Shamirh和LenAdleman在(美國麻省理工學院)開發(fā)的愉烙。RSA取名來自開發(fā)他們?nèi)叩拿帧SA是目前最有影響力的公鑰加密算法解取,它能夠 抵抗到目前為止已知的所有密碼攻擊步责,已被ISO推薦為公鑰數(shù)據(jù)加密標準。RSA算法基于一個十分簡單的數(shù)論事實:將兩個大素數(shù)相乘十分容易禀苦,但那時想要對 其乘積進行因式分解卻極其困難蔓肯,因此可以將乘積公開作為加密密鑰。