最近了解了RSA算法的安全性的基本原理,簡單記錄一下方便以后回顧(不包含數(shù)學公式的推導以及產(chǎn)生大質(zhì)數(shù)和求模反元素的具體算法)。
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、成都小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了潛山免費建站歡迎大家使用!RSA加密解密的數(shù)學公式:
c=m^e%n
m=c^d%n
需要的數(shù)學條件:
滿足如下數(shù)學條件后就可以保證上面兩個公式成立(具體推導略去,純數(shù)學上的證明)
1.φ(n)是n的歐拉函數(shù)(任意給定正整數(shù)n,求在小于等于n的正整數(shù)中,有多少個與n互質(zhì)的正整數(shù))
2.e是一個小于φ(n)且與n互質(zhì)的正整數(shù)
3.d是e對于φ(n)的模反元素 (ed%φ(n)==1)
RSA的使用:
1.生成兩個大質(zhì)數(shù)p和q
2.通過將兩個大的質(zhì)數(shù)相乘得到n作為安全系數(shù):
n=p*q,順便得到φ(n)=φ(p*q)=(p-1)(q-1) 。因為因式分解的難度,只要n比較大,這個p和q以及φ(n)外界很難破解.
3.隨機選取e作為公鑰(通常是65537)
4.求一個d作為私鑰(使用擴展歐幾里得算法求e對于φ(n)的模反元素,顯然φ(n)對于求私鑰是必要的)
5.使用c=m^e%n對m進行加密以得到密文c,用m=c^d%n解密
或使用m=c^d%n對c進行數(shù)字簽名,用c=m^e%n來驗證簽名
RSA安全性的保證:
加密或驗證簽名所需要的公鑰和安全系數(shù)n都是公開的,而解密或數(shù)字簽名所必須的私鑰是非公開的,想要求得私鑰d(ed%φ(n)==1) 就必須得知φ(n)=φ(p*q)=(p-1)(q-1)。
而p和q是很難通過對n進行因式分解得到的,也就很難破解RSA。
(總結)RSA涉及的算法
1.產(chǎn)生兩個大質(zhì)數(shù)的方法(準備安全系數(shù))
2.擴展歐幾里得算法求私鑰的算法
擴展歐幾里得算法是根據(jù)兩個整數(shù)a,b求出三個整數(shù)x,y,d,其中d為a和b的大公約數(shù),ax+by=d
私鑰d是公鑰e對于n的歐拉函數(shù)φ(n)的模反元素(ed%φ(n)==1)
ed%φ(n)==1 得到ed-kφ(n)=1 (e和φ(n)互質(zhì),所以1是e和φ(n)的大公約數(shù))。
于是把e和φ(n)作為擴展歐幾里得算法的輸入,d和-k就成為一組輸出,求得了一個可能為負值的d。在d上增加φ(n)使其為正,也是可以保證ed-kφ(n)=1 (相應把k變化即可)。
擴展歐幾里得算法,一方面要求a和b的大公約數(shù),(被除數(shù)和除數(shù)的大公約數(shù),等于除數(shù)和余數(shù)的大公約數(shù),如此遞歸下去,直到得到的余數(shù)為0,則上一步的除數(shù)為大公約數(shù)),一方面要求x和y。因為每次遞歸時ax+by=bx'+(a%b)y',新舊xy存在關聯(lián)關系,是可以和最小公約數(shù)一起遞歸求解的
(每次遞歸后,x=y;y=t-a/b*y;)。直到遞歸到余數(shù)為0時,此時ax+by=d中b為0,a為d,可令x為1,y為0,遞歸終止。
3.加密解密
c=m^e%n
m=c^d%n
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞標題:RSA的安全性---學習筆記(不包含數(shù)學關系的推導)-創(chuàng)新互聯(lián)
文章分享:http://jinyejixie.com/article26/dehpcg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站導航、全網(wǎng)營銷推廣、品牌網(wǎng)站設計、移動網(wǎng)站建設、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容