第十個知識點:RSA和強RSA問題有什么區別?


第十個知識點:RSA和強RSA問題有什么區別

這個密碼學52件事數學知識的第一篇,也是整個系列的第10篇.這篇介紹了RSA問題和Strong-RSA問題,指出了這兩種問題的不同之處.

密碼學嚴重依賴於這樣的假設,某些數學問題難以在有限的時間內解決.讓我們看公鑰(非對稱)密碼學,這也是這篇文章中我們使用的一個假設----單向函數(One-Way function)存在.例如,一個函數在一種情況下很容易計算,而在另一種情況下不容易計算.我們使用數論算法來產生這樣的函數.

分解

數論中最先討論的問題就是分解.給一個合數\(N\),分解問題就是找出正整數\(p\),\(q\)使得\(N=pq\).盡管這面臨的似乎是一個簡單的問題,但事實上它是很難的,值得深入研究的問題.我們可以在指數時間檢查所有的\(p=2,...,\sqrt N\).然而解決問題在指數時間不是足夠快的.盡管有多年的研究,還沒有多項式算法可以解決分解大數的問題.很顯然對\(N\)的某個特定的值很容易解決.例如\(N\)是偶數.但是,我們討論的密碼學構造中,\(N\)是一個非常大的數,同時被連個大素數構造\(p,q\).

RSA問題

在RSA公鑰加密中,Alice使用Bob的公鑰\((n,e)\)加密明文\(M\)生成\(C\),計算方法為\(C=M^e(mod\space n)\),其中\(n\)是由兩個大素數產生的,\(e\ge 3\)並且是一個奇數且和\(Z^*_n\)互質,\(Z_n\).Bob知道私鑰\((n,e)\),其中\(de=1(mode(p-1)(q-1))\)意味着\(M=C^d(mod\space n)\).攻擊者能夠竊聽\(C\)同時知道公鑰\((n,e)\).然而為了計算\(M\),攻擊者必須找到\(n\)的分解.因此,這意味着RSA問題並不比整數因子分解困難,但是如果選擇合適的\(n\),這仍然是一個很難解決的問題.

強RSA假設

強RSA假設不同於RSA假設主要在對手可以選擇奇數的公共指數\(e\ge3\).對手的任務就是計算出\(M\)從一個給定的\(C=M^e(mod \space n)\).這個問題至少和RSA一樣簡單,這意味着這個假設更強.他的問題至少和RSA問題一樣簡單這意味着強RSA假設是一個更強的假設。RSA問題已經有25年的歷史了。公鑰加密方案的優點完全來自於RSA問題.

[1] - http://people.csail.mit.edu/rivest/RivestKaliski-RSAProblem.pdf

(注:覺得它這篇寫的有些混亂,可以直接參考這個鏈接的pdf).


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM