Encryption
這個公鑰加密密碼系統的名稱是什麼?
我一直試圖找到幾年前我作為密碼學入門學習的公鑰加密密碼系統的名稱,但我能找到的唯一方案是類似但不一樣的東西,稱為“學習錯誤”。我試圖找到作品名稱的方案如下:
讓 $ q $ 成為私鑰 $ q $ 是一個大素數。
列一個大名單 $ n $ 每個項目的項目 $ q * z_n $ 在哪裡 $ z_n $ 是列表中每個位置的不同的大隨機素數。所以 $ z_1 $ 或許 $ qa $ 和 $ z_2 $ 或許 $ qb $ 在哪裡 $ a,b $ 是不同的素數。
將此列表設為公鑰。
發件人將收到收件人的公鑰,發件人將加密他的消息 $ m $ 通過首先採取 $ ^nC_r $ 從公鑰列表中設置 $ r $ 是一個隨機數並且 $ 1 < r < n $ .
然後他們將這個中的所有值相加 $ ^nC_r $ 設置並添加 $ m $ 到這個總和得到加密的消息 $ t $ .
筆記: $ m $ 一定是 $ < q $ (我們假設已知 $ q $ 有一些最小值)。
加密的值被發送給接收者並對其進行解密 $ \frac{t}{q} $ 要得到 $ m $ .
也許我錯過了一些東西,但是在對該算法進行了一些快速思考之後,我認為它並不安全。因此它可能不會被使用,更像是一個教學的例子(沒有名字)。
該算法的問題是您可以
q
從公鑰中導出密鑰。當您有兩個整數a
和b
時,兩者都是 的倍數q
(就像q*z_i
您的情況一樣),那麼a - b
也是 的倍數q
,那要小得多。q
因此,對於幾千位的素數,私鑰可以在幾分之一秒內重建。您所要做的就是q*z_i
從公鑰中取兩個併計算最大(唯一)公約數。