<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)航:
     
    主站蜘蛛池模板: 国产zzjjzzjj视频全免费| 免费国产黄网站在线观看视频| 大地资源免费更新在线播放| 亚洲中文字幕人成乱码| 手机看黄av免费网址| 99久久婷婷国产综合亚洲| 成年女人免费视频播放77777| 中中文字幕亚洲无线码| 成人au免费视频影院| 国产精品亚洲综合网站| 亚洲高清成人一区二区三区| 国产高潮久久免费观看| 亚洲精品乱码久久久久久中文字幕 | 亚洲男人天堂影院| 很黄很黄的网站免费的| 亚洲人成网站色7799| 最新69国产成人精品免费视频动漫| 亚洲AV成人无码久久WWW| 吃奶摸下高潮60分钟免费视频| 日韩免费在线中文字幕| 亚洲日韩精品无码一区二区三区| 大地影院MV在线观看视频免费| 中文字幕亚洲色图| 女性无套免费网站在线看| 日韩免费在线中文字幕| 91亚洲va在线天线va天堂va国产 | 一级毛片免费一级直接观看| 国产AV无码专区亚洲AV男同| 最近2019年免费中文字幕高清| 亚洲av无码不卡久久| 亚洲国产中文v高清在线观看| 91国内免费在线视频| 亚洲卡一卡2卡三卡4麻豆| 国产一级淫片视频免费看| 野花香高清视频在线观看免费 | 亚洲爆乳成av人在线视菜奈实| 久久精品夜色噜噜亚洲A∨| 16女性下面无遮挡免费| 国产一区二区三区亚洲综合| 亚洲AV综合色区无码一区| 岛国av无码免费无禁网站|