(筆記)區塊鏈技術筆記——區塊鏈中的密碼學2(RSA加密演算法筆記)
文章目錄
- (筆記)區塊鏈技術筆記——區塊鏈中的密碼學2(RSA加密演算法筆記)
- 三、非對稱密碼
- 1、RSA加密演算法
- 創立
- 原理
- 例題描述
- 題目
- 獲得密鑰
- 加密程序
- 加密例題
- 解密程序
- 2、ECC 橢圓加密演算法
- 創立
- 原理
- 例題描述
- 題目
- 生成密鑰、加密及解密程序
此篇筆記介紹應用區塊鏈技術的密碼學技術 并且參照樣例進行解釋 這樣可能更利于理解吧hahaha 非對稱密碼較難理解,需要有準備知識,如歐拉函式、對取模運算和模反運算較為熟悉, 繼接(筆記)密碼學1
(筆記)區塊鏈技術筆記——區塊鏈中的密碼學1
三、非對稱密碼
在對稱加密演算法中,加密和解密程序中使用的是同一個秘鑰,而非對稱加密演算法需要兩個密鑰來進行加密和解密,這兩個密鑰分別是公開的密鑰(public key,簡稱 公鑰 )和私有密鑰(private key,簡稱 私鑰 ),
1、RSA加密演算法
創立
于1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的,
* RSA由三人姓氏首字母組成
原理
RSA公開密鑰密碼體制的原理是:根據數論,尋求兩個大素數比較簡單,而將它們的乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰
例題描述
- 預備知識:歐拉函式、模反運算
題目
step1:隨機選擇兩個不相等的質數 p 和 q
例如選擇 p = 3 ,q = 11
step2:計算p和q的乘機n, n = pq , n = 3 * 11 = 33
step3:計算 n 的歐拉函式 ? ( n ) = ? ( 33 ) = 20 \phi(n) = \phi (33) = 20 ?(n)=?(33)=20
step4:隨機選擇一個整數e,滿足 1 < e < ? ( n ) , 且 e 與 ? ( n ) 互 質 1 < e < \phi(n),且e與 \phi(n) 互質 1<e<?(n),且e與?(n)互質
隨機取得 e = 3 , n = 33 , ? ( n ) = 20 \phi(n) = 20 ?(n)=20
獲得密鑰
step1:計算 e 對 ? ( n ) e 對 \phi(n) e對?(n) 的模反元素 d
模反元素 d ,求解二元一次方程 e x + ? ( n ) y = 1 ex + \phi(n)y = 1 ex+?(n)y=1 , 選擇其中一個解,得 d = 7
step2:將(n,e)封裝成 ‘公鑰’ ,(n,d)封裝成 ‘私鑰’
通過將 e = 3 , n = 33 , ? ( n ) = 20 \phi(n) = 20 ?(n)=20 代入上公式
所以公鑰就是(33,3),私鑰就是(33,7)
加密程序
例如:發送加密資訊:m 給接收方
使用公鑰(n,e) 加密資訊:m (m 必為整數,且 m < n)
" 加密 " 由加密函式: m e m o d n = C m^e mod n = C memodn=C ,得到 C
加密例題
使用公鑰(33,3)對資訊:m 進行加密 ,資訊 m = 2
所以, m e m o d n = 2 3 m o d 33 = 8 = C m^e mod n = 2^3 mod 33 = 8 =C memodn=23mod33=8=C
將C = 8 發送給接受方
解密程序
接收方收到資訊 C = 8 ,使用私鑰(n,d)進行解密
使用私鑰(33,7)對加密資訊:C = 8 進行解密
解密函式: C d m o d n = m C^d mod n = m Cdmodn=m
所以, C d m o d n = 8 7 m o d 33 = 2097152 m o d 33 = 2 C^d mod n = 8^7 mod 33 = 2097152 mod 33 = 2 Cdmodn=87mod33=2097152mod33=2
得到加密前原文為 2
2、ECC 橢圓加密演算法
創立
橢圓加密演算法(Elliptic curve cryptography)是一種公鑰加密體制,最初由 Koblitz 和 Miller 兩人于1985年提出
原理
數學基礎是利用橢圓曲線上的有理點構成Abel加法群上橢圓離散對數的計算困難性,
公鑰密碼體制根據其所依據的難題一般分為三類:大素數分解問題類、離散對數問題類、橢圓曲線類,有時也把橢圓曲線類歸為離散對數類,
但也有缺點,加密和解密操作的實作比其他機制花費的時間長,
例題描述
預備知識:歐拉函式、模反運算、逆元運算
題目
生成密鑰、加密及解密程序
篇幅所限跳轉繼接
(筆記)區塊鏈技術筆記——區塊鏈中的密碼學3
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/342279.html
標籤:區塊鏈
下一篇:智能合約是什么?
