RSA 操作實際上是在 R 模組上執行的結構(組/環)嗎?
Paolo,在代數:第 0 章中,定義了一個左- $ R $ -模組作為一個環, $ R $ ,一個阿貝爾群, $ M $ , 和一張地圖 $ (R \times M \rightarrow M) $ 這樣:
$ r(m+n) = rm+rn $
$ (r+s)m = rm+sm $
$ (rs)m = r(sm) $
$ 1m = m $
在哪裡 $ m,n\in M $ 和 $ r,s\in R $
在 Katz/Lindell 的現代加密簡介中對 RSA 的定義中,密鑰生成導致: $ N,e,d,p,q $ .
讓 $ \ell=(p-1)(q-1) $
所以,現在我們有兩個交換環, $ \mathbb{Z}_\ell $ 和 $ \mathbb{Z}_N $ 並有一張取冪的地圖:
$ \mathit{Exp}(m,k) = m^k \mathit{~mod~} N $
我們可以看到:
$ (mn)^r = m^r * n^r $
$ m^{(r+s)} = m^r * m^s $
$ (m^r)^s = m^{(r*s)} $
$ m^1 = m $
在哪裡 $ m,n\in \mathbb{Z}N $ 和 $ r,s\in \mathbb{Z}\ell $
這完全符合 $ R $ -module 當你使用乘法( $ * $ ) 作為阿貝爾群的運算, $ \mathbb{Z}_N^* $ ,取冪為 $ R $ -模組圖(雖然我可能在這裡混淆了右/左)。我發現這個定義使 RSA 更容易理解。儘管如此,我從未見過將 RSA 的結構描述為一個模組。為什麼是這樣?我錯了,RSA的結構不是模組嗎?或者,進入密碼學的學生通常不知道模組的概念?
或者,進入密碼學的學生通常不知道模組的概念?
我相信這更有可能;模組是一門相當神秘的學科,即使是受過良好數學教育的人也可能沒有遇到過(我沒有,或者如果我有,我已經忘記了太久了)。
當然,當有更常見的概念可用時,有時使用晦澀難懂的概念是有意義的。然而,那時那些神秘的概念提供了普通概念所沒有的見解。“模組”的概念對 RSA 的工作原理有何見解?例如,這是否表明兩者之間的具體關係如何? $ d $ 和 $ e $ 導致它們彼此相反?
大多數開始學習密碼學的學生要麼具有電腦科學背景,要麼具有數學背景。無論哪種情況,學生都處於相當基礎的水平。
電腦科學專業的學生通常不知道抽象代數,但知道基本的數論。這足以教授 RSA。
數學學生通常知道基本的抽象代數。這足以教授 RSA。我希望模組出現在第二門代數課程中,而不是第一門課程中。
換句話說:根據模組結構來解釋 RSA,其中環是自同態環,需要一定程度的數學複雜性,而學生在第一次遇到 RSA 時通常不具備這種水平。
但是,如果這種複雜程度的數學能讓我們從密碼學的角度有所了解,那麼介紹它可能是值得的,即使這對學生來說是額外的工作。
我發現引入抽象代數結構在許多情況下都有很大幫助,例如理解指數微積分或更實際的東西,如數論變換。
然而,我的主張是,在這種情況下,從密碼學的角度來看,抽像不會給我們帶來任何額外的理解。(這很可能會讓你更好地理解你的第二門抽象代數課程。事實上,我認為這接近於教授模組時的一個相當標準的例子:一個通過自同態進行標量乘法的阿貝爾群。)
- 它不能幫助我解釋兩個逆自同態之間的關係。
- 它不能幫助我解釋因式分解和 RSA 問題之間的關係,安全方面。
- 它不能幫助我解釋代數結構和常見的計算加速技巧之間的關係。
- 理解基於教科書 RSA 的安全方案的建構當然無濟於事。
相反,我發現從循環群的自同構開始更為自然(我們知道它對應於冪運算和 Pohlig-Hellman 密碼,它可能已經作為弱分組密碼的一個例子出現) ,解釋我們想要什麼,觀察求冪在有限域中不起作用,然後觀察整數模兩個不同素數的乘積具有似乎使它起作用的屬性。
您還可以立即將取冪的具體屬性作為數論事物與您還想研究的各種因式分解算法聯繫起來。
這是一種冗長的說法,即其他兩個答案是正確的。