非對稱密碼,分組密碼
數學基礎
φ(n) = p*q-(q-1)-(p-1) -1 = (p-1) * (q-1)rsa加密與解密最後-1是減去n本身
已知p、q如何求d?素數q和其本原根α是兩個公開的整數,①算出n = p * q,φ(n) = (p-1) * (q-1)
②隨機選擇乙個小於φ(n)且互質的整數e
③使用擴充套件的歐幾里得演算法求d
使用者a先選擇一數字xa
< q作為私鑰,再計算ya = αxa作為公鑰,將ya傳送給b。
使用者b先選擇一數字xb
< q作為私鑰,再計算yb = αxb作為公鑰,將yb傳送給a。
兩人都可以計算出公共金鑰k = yb
xa mod q和k = ya
xb mod q,
這兩個k是相同的。
攻擊者在知道q、α、ya、yb的情況下想要知道k的值就必須要算出私鑰xa或xb,xa = dlogα、q(yb),這是非常困難的。
破解方法:中間人攻擊
假設此時攻擊者c截獲了傳送過程中的ya和yb,由於q和α是公開的,所以c可以選擇兩個私鑰xc,偽造兩份yc發給a和b,這樣a、b會錯以為他們之間已經共享金鑰k,然而實際上a、b只是分別和c共享了金鑰k1和k2,這樣a、b之間傳送的加密訊息都會被c竊聽和篡改。
這是基於離散對數問題上的公開金鑰密碼體系。
數學基礎
71 mod 19 = 7eigamal的加密和解密72 mod 19 = 11
73 mod 19 = 1
階為3
密碼學演算法 RSA
rsa演算法安全瓶頸 rsa演算法的乘法同態特性 rsa第一次在r.l.rivest,a.shamir和l.adleman的1978年的 a method for obtaining digital signatures and public key cryptosystems 中,作為一種新的數字...
密碼學之RSA加密
最近在學習網易公開課上可汗學院現代密碼學的課程,整理了一下自己的筆記3 rsa加密 非對稱金鑰,公開金鑰演算法 rsa加密利用了單向函式正向求解很簡單,反向求解很複雜的特性。具體是利用了 1.對兩個質數相乘容易,而將其合數分解很難的這個特點進行的加密演算法。n p1 p2,已知p1 p2求n簡單,已...
密碼學之RSA加密
最近在學習網易公開課上可汗學院現代密碼學的課程,整理了一下自己的筆記3 rsa加密 非對稱金鑰,公開金鑰演算法 rsa加密利用了單向函式正向求解很簡單,反向求解很複雜的特性。具體是利用了 1.對兩個質數相乘容易,而將其合數分解很難的這個特點進行的加密演算法。n p1 p2,已知p1 p2求n簡單,已...