中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RSA的安全性---學習筆記(不包含數學關系的推導)

發布時間:2020-04-10 18:25:30 來源:網絡 閱讀:720 作者:duanbowen 欄目:開發技術

最近了解了RSA算法的安全性的基本原理,簡單記錄一下方便以后回顧(不包含數學公式的推導以及產生大質數和求模反元素的具體算法)

RSA加密解密的數學公式

c=m^e%n

m=c^d%n

需要的數學條件:

滿足如下數學條件后就可以保證上面兩個公式成立(具體推導略去,純數學上的證明)

1.φ(n)n的歐拉函數(任意給定正整數n,求在小于等于n的正整數中,有多少個與n互質的正整數)

2.e是一個小于φ(n)且與n互質的正整數

3.de對于φ(n)的模反元素 (ed%φ(n)==1)

 

RSA的使用:

1.生成兩個大質數pq

2.通過將兩個大的質數相乘得到n作為安全系數:

n=p*q,順便得到φ(n)=φ(p*q)=(p-1)(q-1) 。因為因式分解的難度,只要n比較大,這個pq以及φ(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進行數字簽名,用c=m^e%n來驗證簽名

 

RSA安全性的保證:

加密或驗證簽名所需要的公鑰和安全系數n都是公開的,而解密或數字簽名所必須的私鑰是非公開的,想要求得私鑰d(ed%φ(n)==1) 就必須得知φ(n)=φ(p*q)=(p-1)(q-1)

pq是很難通過對n進行因式分解得到的,也就很難破解RSA

 

(總結)RSA涉及的算法

1.產生兩個大質數的方法(準備安全系數)

2.擴展歐幾里得算法求私鑰的算法

擴展歐幾里得算法是根據兩個整數a,b求出三個整數x,y,d,其中d為a和b的最大公約數,ax+by=d

私鑰d是公鑰e對于n的歐拉函數φ(n)的模反元素(ed%φ(n)==1)

ed%φ(n)==1 得到ed-kφ(n)=1     (e和φ(n)互質,所以1是e和φ(n)的最大公約數)。

于是把e和φ(n)作為擴展歐幾里得算法的輸入,d和-k就成為一組輸出,求得了一個可能為負值的d。在d上增加φ(n)使其為正,也是可以保證ed-kφ(n)=1   (相應把k變化即可)。

擴展歐幾里得算法,一方面要求a和b的最大公約數,(被除數和除數的最大公約數,等于除數和余數的最大公約數,如此遞歸下去,直到得到的余數為0,則上一步的除數為最大公約數),一方面要求x和y。因為每次遞歸時ax+by=bx'+(a%b)y',新舊xy存在關聯關系,是可以和最小公約數一起遞歸求解的

(每次遞歸后,x=y;y=t-a/b*y;)。直到遞歸到余數為0時,此時ax+by=d中b為0,a為d,可令x為1,y為0,遞歸終止。

3.加密解密

c=m^e%n

m=c^d%n

 

 

 

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福安市| 揭西县| 吐鲁番市| 明星| 达拉特旗| 禹州市| 万山特区| 独山县| 姚安县| 长白| 宜兰县| 陇南市| 江川县| 东安县| 郑州市| 京山县| 双峰县| 绥中县| 斗六市| 大悟县| 漾濞| 嘉鱼县| 广灵县| 扶沟县| 观塘区| 宿州市| 宁乡县| 江口县| 顺义区| 彰武县| 洛阳市| 茶陵县| 广州市| 云梦县| 莱芜市| 荆州市| 福清市| 巴彦县| 武乡县| 靖州| 阳江市|