0x01 簡(jiǎn)介
●RSA是1977年由羅納德·李維斯特(Ron Rivest)芋酌、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman),RSA是他們?nèi)诵帐祥_(kāi)頭字母拼在一起組成的雁佳。
0x02 數(shù)學(xué)儲(chǔ)備
●同余運(yùn)算
●歐拉函數(shù)
●歐拉定理
●費(fèi)馬小定理
●歐拉函數(shù):
在數(shù)論中脐帝,對(duì)于正整數(shù)n同云,歐拉函數(shù)是小于或等于n的正整數(shù)中與n互質(zhì)的數(shù)的數(shù)目(因此φ(1)=1)
●費(fèi)馬小定理:
如果p是一個(gè)質(zhì)數(shù),而整數(shù)a不是p的倍數(shù)堵腹,則有a^{p-1}≡1(mod p)
0x03 算法概況
●數(shù)據(jù)處理:
1炸站、任意選擇兩個(gè)不同的較大質(zhì)數(shù)p與q,并計(jì)算n = p x q疚顷。
2旱易、我們引入歐拉函數(shù)
表示對(duì)正整數(shù)n來(lái)說(shuō),小于或等于n的正整數(shù)中與n互質(zhì)的數(shù)的數(shù)目荡含。那么顯然
(歐拉定理)
3咒唆、再次任意選擇一個(gè)實(shí)數(shù)e,滿足
(gcd(x,y)指x和y的最大公因數(shù))
4释液、計(jì)算d全释,滿足
在以上過(guò)程中,(e,n)被稱為公鑰误债,(d,n)被稱為私鑰浸船,公鑰被用來(lái)加密,而私鑰被用來(lái)解密寝蹈。公鑰(e,n)會(huì)被公開(kāi)李命,而私鑰(d,n)會(huì)被自己保存。也就是說(shuō)箫老,每個(gè)人都可以利用公鑰對(duì)文件進(jìn)行加密封字,而只有擁有私鑰的人才可以將加密的文件進(jìn)行還原解密。
●加解密過(guò)程:
→加密:
→解密:
→原理解釋:
讓我們分析解密過(guò)程:
接著根據(jù)歐拉-費(fèi)馬定理
這樣一來(lái)就得到原來(lái)的明文m啦
本次的RSA講解只是為大家介紹RSA運(yùn)作的原理及過(guò)程耍鬓,之后的文章就會(huì)為大家分析CTF比賽中RSA的相關(guān)攻擊方式阔籽,請(qǐng)您持續(xù)關(guān)注。