<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-159  評論-114  文章-7  trackbacks-0
    那我給你解釋下RSA吧,盡量讓你看懂:
    *RSA是非對稱加密體系,也就是說加密用一個公鑰,解密用一個私鑰,這2個密鑰不同,這點非常非常重要。

    其實RSA非常簡潔,但很美

    流程
    1,尋找2個大的素數(shù)p,q  n=p*q=33  N=(p-1)*(q-1)=20
    公鑰e一般是3 私鑰d要通過公鑰e去算出來
    e*d=1(mod N) 就是說e和d的乘積模N得1 也就是e和d關(guān)于模N互為逆元
    3*7=1(mod 20) 可知d=7

    加密的明文設(shè)為M 加密后的密文設(shè)為c
    加密過程:C=M^e(mod n)
    解密過程:M=C^d(mod n)

    舉個具體的例子 假如M=2
    加密過程:C=2^3(mod 33)=8(mod 33)
    解密過程:M=8^7(mod 33)=2097152(mod 33)=2(mod 33) 可以看出和和本來的明文是相同的。

    原理可以理解為 M=M^(ed)  (mod n)
    本例中 e*d=21  也就是是M^21次方等于M
    RSA這個特性是數(shù)論中的費馬定理推出的

    在講講細節(jié) 比如樓主加密的是26的字母 就當(dāng)明文的值是從1到26
    就拿n=33說吧 加密后的密文的值是1到33 這很正常
    但是解密后 一定和明文的值相同 也就是1到26

    實際情況中 公鑰e是公開的 私鑰d是保密的
    比如甲要給乙發(fā)個東西 乙的公鑰由于是公開的 所以甲知道 但甲不知道乙的私鑰
    甲先用乙的公鑰加密  之后 這個密文只能用乙的私鑰 由于乙的私鑰是保密的 只有他自己知道 所以保證了安全

    RSA最大的安全問題是 n的分解 只要把n分解為p*q 則N=(p-1)(q-1)
    根據(jù) e*d=1(mod N) 就可以通過e算出d 那么私鑰都被人算出來了 也就沒安全性而言了
    不過可惜的是 大數(shù)分解是一個單向的函數(shù) 你算知道p,q算n很容易,但是知道n算出p,q相當(dāng)難

    強調(diào)一句 n是加密解密用的 N是知道e算d的

    樓主也沒說你要干嘛 想看懂就這么多
    如果要實現(xiàn)這個算法:
    必須知道2點:
    1.p,q這個兩個大素數(shù)的生成,這牽扯到素性檢驗,數(shù)論中是一章的內(nèi)容,沒法和你展開
    2.取模運算,由于加密解密過程可能取一個數(shù)的幾十次方的模數(shù),所以這個必須用簡便的算法來化解復(fù)雜度,也就是模重復(fù)平方算法。

    如果要編程中使用,太容易了
    去下個dll
    在java中 直接有可用于RSA的類 相當(dāng)容易


     

    對稱加密算法,非對稱加密算法 

     
     

    常見的加密算法可以分成三類,對稱加密算法,非對稱加密算法和Hash算法。

    對稱加密

    指加密和解密使用相同密鑰的加密算法。對稱加密算法的優(yōu)點在于加解密的高速度和使用長密鑰時的難破解性。假設(shè)兩個用戶需要使用對稱加密方法加密然后交換數(shù)據(jù),則用戶最少需要2個密鑰并交換使用,如果企業(yè)內(nèi)用戶有n個,則整個企業(yè)共需要n×(n-1) 個密鑰,密鑰的生成和分發(fā)將成為企業(yè)信息部門的惡夢。對稱加密算法的安全性取決于加密密鑰的保存情況,但要求企業(yè)中每一個持有密鑰的人都保守秘密是不可能的,他們通常會有意無意的把密鑰泄漏出去——如果一個用戶使用的密鑰被入侵者所獲得,入侵者便可以讀取該用戶密鑰加密的所有文檔,如果整個企業(yè)共用一個加密密鑰,那整個企業(yè)文檔的保密性便無從談起。

    常見的對稱加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES

    非對稱加密

    指加密和解密使用不同密鑰的加密算法,也稱為公私鑰加密。假設(shè)兩個用戶要加密交換數(shù)據(jù),雙方交換公鑰,使用時一方用對方的公鑰加密,另一方即可用自己的私鑰解密。如果企業(yè)中有n個用戶,企業(yè)需要生成n對密鑰,并分發(fā)n個公鑰。由于公鑰是可以公開的,用戶只要保管好自己的私鑰即可,因此加密密鑰的分發(fā)將變得十分簡單。同時,由于每個用戶的私鑰是唯一的,其他用戶除了可以可以通過信息發(fā)送者的公鑰來驗證信息的來源是否真實,還可以確保發(fā)送者無法否認曾發(fā)送過該信息。非對稱加密的缺點是加解密速度要遠遠慢于對稱加密,在某些極端情況下,甚至能比非對稱加密慢上1000倍。

    常見的非對稱加密算法有:RSA、ECC(移動設(shè)備用)、Diffie-Hellman、El Gamal、DSA(數(shù)字簽名用)

    Hash算法

    Hash算法特別的地方在于它是一種單向算法,用戶可以通過Hash算法對目標(biāo)信息生成一段特定長度的唯一的Hash值,卻不能通過這個Hash值重新獲得目標(biāo)信息。因此Hash算法常用在不可還原的密碼存儲、信息完整性校驗等。

    常見的Hash算法有MD2、MD4、MD5、HAVAL、SHA

    加密算法的效能通常可以按照算法本身的復(fù)雜程度、密鑰長度(密鑰越長越安全)、加解密速度等來衡量。上述的算法中,除了DES密鑰長度不夠、MD2速度較慢已逐漸被淘汰外,其他算法仍在目前的加密系統(tǒng)產(chǎn)品中使用



    posted on 2012-03-15 15:37 北國狼人的BloG 閱讀(1156) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费看片A级毛片免费看| 久久精品免费全国观看国产| 亚洲国产精品无码久久青草| 亚洲精品无码专区在线| 成人午夜大片免费7777| 97se亚洲国产综合自在线 | 国产精品免费电影| 亚洲国产精品一区二区三区在线观看 | 亚洲日韩精品无码专区网站| 亚洲三级在线观看| 日韩免费a级在线观看| 亚洲国产一区二区三区在线观看| 日本一区二区三区免费高清在线| 久久免费视频99| 亚洲视频中文字幕| 丁香花免费完整高清观看| 亚洲日韩亚洲另类激情文学| 国产一区二区三区在线免费 | 久久国产亚洲高清观看| 1000部拍拍拍18勿入免费视频软件 | 亚洲欧美日韩中文字幕在线一区| 99在线免费视频| 亚洲AV无码不卡无码| 91频在线观看免费大全| 亚洲欧好州第一的日产suv| 亚洲精品第一国产综合境外资源 | 亚洲啪啪免费视频| 成人超污免费网站在线看| www亚洲精品久久久乳| 337p日本欧洲亚洲大胆裸体艺术| 春暖花开亚洲性无区一区二区| 最近中文字幕2019高清免费| 亚洲乱人伦中文字幕无码| 亚洲成a人片在线观看老师| 久久免费观看国产精品88av| 亚洲欧美日韩自偷自拍| 亚洲va久久久噜噜噜久久| 成人免费无码大片a毛片软件| 亚洲人成片在线观看| 亚洲国产婷婷香蕉久久久久久| 亚洲精品无码久久久久YW|