Elgamal數字簽名原理
Elgamal數字簽名
Elgamal數字簽名主要也是利用離散對數的特性來實現簽名,具體方式如下:
1. 選擇一個大素數P、一個本原元G、一個隨機整數d,d屬於[2,p-2];
2. 生成β,β=G^d mod P;
3. 此時P、G、β就是公鑰,記作Kpub;
4. Elgamal數字簽名記作sig(x,k)=(r,s); x是明文的摘要,k是臨時私鑰的隨機值,記作Kpr,r,s是構成簽名的兩個整數;
5. 簽名生成: r=G^k mod P; s=(x-dr)k^-1 mod (p-1);
6. 生成簽名後,簽名隨明文一起傳送給接收方;
7. 接收者收到訊息後計算 t=β^r · r^s mod P
8. 驗證:當t≡G^x modP 則該簽名有效,資料未被篡改,反之則簽名無效;
舉例:B發訊息給A,對訊息使用Elgamal數字簽名
1. B選擇素數P=29、本原元G=2、隨機整數d=12,臨時私鑰k=5, 明文的摘要x=26;
2.公鑰β=G^d mod P → β=4096 mod 29 → β=7
3.B將公鑰(P=29,G=2,β=7)發給A
4.計算簽名,
r=G^k mod P → r=2^5 mod 29 → r=3
s=(x-dr)k^-1 mod (p-1) → s=(26-36)·17 mod 28 → s=26
5.計算簽名後將r=3、s=26、x=26傳送給A
6.A收到訊息後,驗證簽名:
t=β^r · r^smod P → t=343 X 2541865828329 mod 29 → t=22
t≡G^x mod P t mod P =22, G^x mod P =67108864mod 29 =22
7.驗證成功。
相關文章
- 數字簽名的原理和應用
- 大話數字簽名
- 給軟體數字簽名
- 文件數字簽名工作原理是什麼?文件簽名有什麼好處?哪些行業使用文件簽名證書?行業
- win10 如何禁用數字簽名 win10 關閉數字簽名方法Win10
- ActiveX控制元件數字簽名實踐(免費簽名)控制元件
- win10 禁止驗證數字簽名方法 win10 如何禁用數字簽名Win10
- 支付寶介面的數字簽名
- 安全基礎:數字信封、數字簽名、數字證書(加簽驗籤,加密解密)加密解密
- 如何關閉win10的數字簽名_win10禁用數字簽名的方法Win10
- iOSApp簽名原理iOSAPP
- Java 新增數字簽名到Excel以及檢測、刪除簽名JavaExcel
- Java 操作PPT數字簽名(一):新增、檢測、刪除簽名Java
- win10如何永久禁用數字簽名_win10怎麼關閉禁用數字簽名Win10
- Java 新增、驗證PDF 數字簽名Java
- windows10怎麼關閉數字簽名 win10永久關閉數字簽名的方法WindowsWin10
- IOS App簽名原理iOSAPP
- iOS逆向——應用簽名及重簽名原理iOS
- exe軟體如何進行數字簽名
- 公鑰加密、數字簽名、訊息認證加密
- 詳解數字簽名的含義及作用
- Window 7 驅動數字簽名解決方案
- 使用者下載已簽名的軟體後 如何知道數字簽名是否可信
- ipa重簽名原理介紹
- 蘋果企業簽名原理蘋果
- iOS應⽤簽名原理淺析iOS
- 超詳細https握手與數字簽名講解HTTP
- Java 獲取PDF數字簽名證照資訊Java
- 驅動沒有數字簽名的解決方案
- win10系統需要驅動數字簽名如何操作_win10需要數字簽名的驅動程式解決方法Win10
- React 簽字手寫簽名元件 react-signatureReact元件
- kali更新源數字簽名錯誤解決辦法
- C# 獲取PDF中的數字簽名證書C#
- WHQL認證如何給驅動程式做數字簽名
- 蘋果軟體打包簽名原理蘋果
- C#/VB.NET 給Excel新增、刪除數字簽名C#Excel
- 超級簽名的原理是什麼?
- 使用Java在PowerPoint中新增、驗證或刪除數字簽名Java
- iOS逆向 - 應用簽名原理及重簽名 (重籤微信應用實戰)iOS