(笔记)区块链技术笔记——区块链中的密码学1

(笔记)区块链技术笔记——区块链中的密码学1


此篇笔记介绍应用区块链技术的密码学技术 并且参照样例进行解释 这样可能更利于理解吧hahaha 本篇为前导知识笔记

密码学中将
(1)信息代码称为 编码
(2)尚未转换成密码的文字信息称为 明文
(3)由密码表示的信息称为 密文
(4)从明文到密文的过程称为 加密 ,反之为 解密

一、随机数据序列

通常使用 线性同余 的方法生产随机数

举例题
已知 m = 11,a = 7,c = 5,s = X0 = 3 试利用线性同余方法求出此伪随机数

由公式Xn = (aXn-1 + c) mod m

X1 = (aX0 + c) mod m = (7 * 3 + 5) mod 11 = 4
X2 = (aX1 + c) mod m = (7 * 4 + 5) mod 11 = 0
X3 = (aX2 + c) mod m = (7 * 0 + 5) mod 11 = 5
X4 = (aX3 + c) mod m = (7 * 5 + 5) mod 11 = 7

以此类推 得:X5 = 10,X6 = 9,X7 = 2,X8 = 8,X9 = 6,X10 = 3 ……

因为 X10 = 3 --> 恰好等于种子数 s = X0 = 3
所以在X10之后的数开始循环 得伪随机数:
3,4,0,5,7,10,9,2,8,6,3,4,0,5,……


二、对称(单钥)密码

希尔密码(Hill Cipher)

是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。

举例题 现发送信息字段 action
将英文字母对应A、B、C、D……X、Y、Z 对应数字 1 ~ 26

  1. 单词 action 对应编码为:1、3、2、0、9、15、14(明文)
  2. 每3个数一列,形成3 x 2 的矩阵 B
  3. 任选一个三阶可逆矩阵 A 作为 密钥
加密过程

得 到 的 矩 阵 B = { 1 9 3 15 20 14 } , 和 任 意 三 阶 ‘ 密 钥 矩 阵 ’ A = { 1 2 3 1 1 2 0 1 2 } 得到的矩阵 B = \begin{Bmatrix} 1 & 9 \\ 3 & 15\\ 20 & 14 \end{Bmatrix} , 和任意三阶 ‘密钥矩阵’ A = \begin{Bmatrix} 1 & 2 & 3\\ 1 & 1 & 2\\ 0 & 1 & 2 \end{Bmatrix} B=132091514A=110211322
矩阵A x B 得到加密后的密文矩阵 C
C = A   B = { 1 2 3 1 1 2 0 1 2 } { 1 9 3 15 20 14 } = { 67 81 44 52 43 43 } C = A\ B = \begin{Bmatrix} 1 & 2 & 3\\ 1 & 1 & 2\\ 0 & 1 & 2 \end{Bmatrix}\begin{Bmatrix} 1 & 9 \\ 3 & 15\\ 20 & 14 \end{Bmatrix} = \begin{Bmatrix} 67 & 81\\ 44 & 52\\ 43 & 43 \end{Bmatrix} C=A B=110211322132091514=674443815243
如此得到 密文:67、44、43、81、52、43
将获得的 密文矩阵A 一同发出

解密过程

收到 密文:67、44、43、81、52、43后也构建一个3 x 2的矩阵C
利用收到的 矩阵A 求出 逆矩阵 A − A^- A
A − = { 0 1 − 1 2 − 2 − 1 − 1 1 1 } 作 为 密 钥 , 矩 阵 C = { 67 81 44 52 43 43 } A^- = \begin{Bmatrix} 0 & 1 & -1\\ 2 & -2 & -1\\ -1 & 1 & 1 \end{Bmatrix}作为 密钥 ,矩阵 C = \begin{Bmatrix} 67 & 81 \\ 44 & 52\\ 43 & 43 \end{Bmatrix} A=021121111C=674443815243
将构成的 逆矩阵 A − A^- A 与 矩阵C 相乘
A −   C = { 0 1 − 1 2 − 2 − 1 − 1 1 1 } { 67 81 44 52 43 43 } = { 1 9 3 15 20 14 } A^-\ C = \begin{Bmatrix} 0 & 1 & -1\\ 2 & -2 & -1\\ -1 & 1 & 1 \end{Bmatrix}\begin{Bmatrix} 67 & 81 \\ 44 & 52\\ 43 & 43 \end{Bmatrix} = \begin{Bmatrix} 1 & 9\\ 3 & 15\\ 20 & 14 \end{Bmatrix} A C=021121111674443815243=132091514
得到从密码中恢复的明码,查照密码表得出信息:action

至此解密完成


三、非对称密码

在对称加密算法中,加密和解密过程中使用的是同一个秘钥。而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥分别是公开的密钥(public key,简称 公钥 )和私有密钥(private key,简称 私钥 )。

1、RSA算法

创立

于1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的,
* RSA由三人姓氏首字母组成

原理

RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥

例题描述

预备知识:欧拉函数、模反运算

T1、题目

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

生成密钥、加密及解密过程

因为篇幅比较长 所以继接

(笔记)区块链技术笔记——区块链中的密码学2


2、ECC 椭圆加密算法

篇幅所限跳转继接

(笔记)区块链技术笔记——区块链中的密码学3


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值