關於rsa的總結1

2021-08-18 18:14:35 字數 1397 閱讀 9092

ctf中的crypto項,關於rsa的考察是一類,來記錄一下吧

首先介紹一下什麼是公開金鑰加密:公開金鑰加密(英語:public-key cryptography),也稱為非對稱加密(英語:asymmetric cryptography),是密碼學的一種演算法,它需要兩個金鑰,乙個是公開金鑰,另乙個是私有金鑰;乙個用作加密的時候,另乙個則用作解密。使用其中乙個金鑰把明文加密後所得的密文,只能用相對應的另乙個金鑰才能解密得到原本的明文;甚至連最初用來加密的金鑰也不能用作解密。由於加密和解密需要兩個不同的金鑰,故被稱為非對稱加密;不同於加密和解密都使用同乙個金鑰的對稱加密。雖然兩個金鑰在數學上相關,但如果知道了其中乙個,並不能憑此計算出另外乙個;因此其中乙個可以公開,稱為公鑰,任意向外發布;不公開的金鑰為私鑰,必須由使用者自行嚴格秘密保管,絕不通過任何途徑向任何人提供,也不會透露給要通訊的另一方,即使他被信任。

記一下相關的名詞,知識點(cipher就是密文,c就是密文,n是兩個大質數p、q的積,modulus即為n,n的二進位制表示時所占用的位數,就是所謂的金鑰長度,公鑰 (n,e),私鑰 (d,e),尤拉函式,

n=pq。只有將n因數分解,才能算出p和q。加密要用公鑰 (n,e)。解密要用私鑰(n,d)。【pubkey.pem】是公鑰檔案,通過公鑰檔案可以得到e和n。【flag.enc】從檔名含有flag可以判斷是加密後的密文。kali  》通過openssl對公鑰檔案【pubkey.pem】進行分解,使用命令【openssl rsa -pubin -text -modulus -in warmup -in pubkey.pem】,得到e= (0x),modulus即為n=。m為明文message。python的gmpy2模組。gmpy2.invert(e, (p-1)*(q-1))可求d。pow(c ,d ,n)  求m 明文。openssl。)

關於python的gmpy2模組,確實不好安裝,不能像安裝其他模組一樣,pip install 模組名,的方式安裝,linux和windows的gmpy2的安裝還不一樣,windows比linux好裝些~,我的本機是win10的,反正我從kali虛擬機器裡第一遍沒裝成功,就放棄了,有空在搞吧,最後在本機win10的成功裝上了。

數學知識,不會,想學,但是,,,還是太懶惰了,寒假買的數學書,還沒看多少,,哎~~

~~~rsa攻擊之共模攻擊

以上三位大佬講的非常詳細了

共模即n相同,使用兩個不同的e加密同乙個明文m,

RSA演算法總結

1 選擇一對不同的 足夠大的素數p,q。2 計算n pq。3 計算f n p 1 q 1 4 找乙個與f n 互質的數e,且1安全性方面需注意引數的選取 建議參考 應用密碼學 2017版 p156 p157 1 不同的使用者不能用相同的模數 n,即乙個模數只能乙個人用 2 p 和 q 的差值要大,一...

RSA過程總結

一共有6個數字 p,q,n,o n e,d p 質數 q 質數 n 模 特性 p q n,n的長度為金鑰的長度 第一步 計算n的尤拉函式o n p 1 q 1 第二步 隨機選取乙個數e,要求 1加密的原理 傳送加密資訊m必須小於n 加密過程e m m e n,即m的e次方,然後對n取模,得到的餘數就...

RSA攻擊總結

相關概念 什麼是dp dp d mod p 1 推導過程 dp equiv d mod p 1 dp times e equiv d times e mod p 1 d times e k times p 1 dp times e d times e equiv 1 mod p 1 times q ...