導航:首頁 > 源碼編譯 > schnorr是公鑰密碼演算法嗎

schnorr是公鑰密碼演算法嗎

發布時間:2024-09-19 12:51:16

⑴ 什麼是Schnorr簽名演算法

數字簽名(Digital Signature)技術是不對稱加密演算法的典型應用。數字簽名的應用過程是,數據源發送方使用自己的私鑰對數據校驗和或其他與數據內容有關的變數進行加密處理,完成對數據的合法「簽名」,數據接收方則利用對方的公鑰來解讀收到的「數字簽名」,並將解讀結果用於對數據完整性的檢驗,以確認簽名的合法性。數字簽名技術是在網路系統虛擬環境中確認身份的重要技術,完全可以代替現實過程中的「親筆簽字」,在技術和法律上有保證。在公鑰與私鑰管理方面,數字簽名應用與加密郵件PGP技術正好相反。在數字簽名應用中,發送者的公鑰可以很方便地得到,但他的私鑰則需要嚴格保密。數字簽名包括普通數字簽名和特殊數字簽名。普通數字簽名演算法有RSA、ElGmal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名演算法、Des/DSA,橢圓曲線數字簽名演算法和有限自動機數字簽名演算法等。特殊數字簽名有盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等,它與具體應用環境密切相關。

⑵ 列舉世界上一些著名的暗號

  1. Autokey密碼

  2. 置換密碼

  3. 二字母組代替密碼 (by Charles Wheatstone)

  4. 多字母替換密碼

  5. 希爾密碼

  6. 維吉尼亞密碼

  7. 替換密碼

  8. 凱撒密碼

  9. ROT13

  10. 仿射密碼

  11. Atbash密碼

  12. 換位密碼

  13. Scytale

  14. Grille密碼

  15. VIC密碼 (一種復雜的手工密碼,在五十年代早期被至少一名蘇聯間諜使用過,在當時是十分安全的)

⑶ 數字簽名機制 - Schnorr 機制

Schnorr機制是一種基於離散對數難題的知識證明機制,由德國數學家和密碼學家Claus-Peter Schnorr在1990年提出。這種知識證明機制具有實現簡單,驗證速度較快等優點。最開始是為Smart Card這樣的資源受限設備而設計。

經過這些年的發展,在原始的Schnorr機制上實現了多種多樣的改進與功能,實現了高性能的數字簽名,以及包括環簽名,門限簽名等復雜簽名機制。

在這里參考Schnorr的論文與其他的參考資料,分析Schnorr機制的原始機制與實現。並分析現在主流的EdDSA的實現ED25519,以及如何在Schnorr機制上建立的復雜簽名機制。

原始的Schnorr機制是一個互動式的機制。允許在任何擁有相同生成元(指在離散對數問題中)的協議參與者雙方,證明某一方擁有私鑰 而不需要直接交換它。其中雙方都擁有的生成元設為 ,證明者擁有私鑰 。驗證者從證明者處取得 ,其中 , 即公鑰。

Original Schnorr Signature的協議流程如下:

因為離散對數問題是困難的,因此驗證者不會知道 的值,驗證者僅知道由 計算得到的 。但是驗證者可以通過以下計算來驗證 是正確的:

其中 是生成元,雙方都可知, 驗證者都知道,所以驗證者可以輕松驗證化簡過的讓汪公式。

這個過程是零知識的,因為驗證者並不能得到私鑰 的值,卻可以通過計算與通訊的方式驗證證明者確實擁有私鑰 。

然而這樣互動式的過程,會導致驗證者通過"fork"的方式獲得私鑰 。驗證者只需要簡單的提供兩個不同的隨機值 ,並要求證明者計算 ,即可計算出 。這樣一來,這個過程便無法公開的驗證,因為一旦兩個驗證者相互串通,交換自己得到的值,便可以推出私鑰 。

為了解決這個問題,後大滑春續將會通過對現有的協議進行Fiat–Shamir變換,使用Random oracles改造這個演算法來使Schnorr原始的Schnorr Scheme變成可公開驗證的非互動式演算法。

上述原始Schnorr Scheme中存在的私鑰泄露問題使得演算法無法在公開的環境下使用。通過將原始的互動式協議轉變為非互動式協議可以解決這個問題。

Fiat–Shamir變換是一種利用互動式零知識證明方案創建數字簽名的方式。根據Fiat–Shamir變換,我們可以將原始方案中的證明者採用隨機數預言機(Random oracle)來代替,利用這樣的方式構造數字簽名。

隨機數預言機,即隨機數函數,是一種針對任意輸入得到的輸出之間是項目獨立切均勻分布的函數。理想的隨機數預言機並不存在,在實現中,經常採用密碼學哈希函數作為隨機數預言機。

原本的設計中,Schnorr簽滾耐名是一種互動式協議,需要一個實際存在的驗證者與參與者,而根據Fiat-Shamir轉換,可以將具體的驗證者採用隨機數預言機來代替。將驗證者替換為隨機數預言機後,外部的驗證者便無法通過交換 來推出私鑰 ,原本的 採用隨機數預言機產生的隨機數來表示。

閱讀全文

與schnorr是公鑰密碼演算法嗎相關的資料

熱點內容
debian系統命令行如何排序 瀏覽:406
車壓縮機保修幾年 瀏覽:307
linux同步腳本 瀏覽:664
福建新唐集成硬體加密 瀏覽:943
空調壓縮機被破壞 瀏覽:105
現在學php怎麼樣 瀏覽:90
linuxchttp下載 瀏覽:770
大數據虛擬機雲伺服器 瀏覽:57
java與嵌入式開發 瀏覽:20
minios如何搭建文件伺服器 瀏覽:1000
華為為啥有些壓縮包解壓不開 瀏覽:563
oracle可以編譯存儲嗎 瀏覽:475
機械男和女程序員創業 瀏覽:799
自己怎麼製作軟體app 瀏覽:214
javajson字元串轉java對象 瀏覽:230
必修一數學PDF 瀏覽:775
javascriptphpjsp 瀏覽:811
深圳一程序員退房完整版 瀏覽:295
後台管理app哪個好 瀏覽:766
加密鎖無模塊什麼意思 瀏覽:22