(笔记)区块链技术笔记——区块链中的密码学2
Posted 山南打柴人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(笔记)区块链技术笔记——区块链中的密码学2相关的知识,希望对你有一定的参考价值。
(笔记)区块链技术笔记——区块链中的密码学2(RSA加密算法笔记)
文章目录
此篇笔记介绍应用区块链技术的密码学技术 并且参照样例进行解释 这样可能更利于理解吧hahaha 非对称密码较难理解,需要有准备知识,如欧拉函数、对取模运算和模反运算较为熟悉。 继接(笔记)密码学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加法群上椭圆离散对数的计算困难性。
公钥密码体制根据其所依据的难题一般分为三类:大素数分解问题类、离散对数问题类、椭圆曲线类。有时也把椭圆曲线类归为离散对数类。
但也有缺点,加密和解密操作的实现比其他机制花费的时间长。
例题描述
预备知识:欧拉函数、模反运算、逆元运算
题目
生成密钥、加密及解密过程
篇幅所限跳转继接
以上是关于(笔记)区块链技术笔记——区块链中的密码学2的主要内容,如果未能解决你的问题,请参考以下文章