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

山南打柴人 山南打柴人     2023-01-23     726

关键词:

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


此篇笔记介绍应用区块链技术的密码学技术 并且参照样例进行解释 这样可能更利于理解吧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


北京大学肖臻老师《区块链技术与应用》公开课笔记2——比特币中的密码学原理

...f0c;包括账户的地址,转账的金额。比特币主要用到了密码学中的两个功能:1.哈希2.签名1.哈希密码学中用到的哈希函数被称为cryptographichashfunction,它有两个重要的性质:①collision(这里指哈希碰撞)resistance例如x≠yH(x)=H(y)... 查看详情

1.3.1区块链中的加密算法——hash算法(更新)(代码片段)

...密码哈希函数和椭圆曲线公钥密码技术在内的大量的现代密码学技术,同时,这些密码学技术也被用于设计基于工作量证明的共识算法并识别用户。  在前边的文章中已经系统的讲述了密码学中的哈希算法,在本节,将会给大... 查看详情

区块链基本概念学习笔记

...属性区块链定义区块链是一种点对点传输协议,现代密码学,共识算法,分布式数据存储的新型的应用模型区块链的特点1.可追溯2.不可篡改3.去中心化4.完整备份:区块链具有完整的分 查看详情

区块链中的密码学

...sp;        区块链是一串使用密码学方法相关联产生的数据块,每一个区块中包含上一个区块的ha 查看详情

区块链与比特币基础知识——北京大学肖臻老师《区块链技术与应用》公开课笔记

...师《区块链技术与应用》公开课的一些笔记1比特币中的密码学原理crypto-currency加密货币1密码学中用到的哈希函数的几个特性:​1collisionresistance抗碰撞性​哈希碰撞的就是不同的输入有相同的输出而导致的冲突​意思是没有... 查看详情

区块链笔记

...数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。狭义来讲,区块链是一种按... 查看详情

区块链与密码学第5-6讲:哈希哈数在区块链中的应用

【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及... 查看详情

1.3.2区块链中的密码学——merkle树

  在计算机领域,Merkle树大多用来进行完整性验证处理。在处理完整性验证的应用场景中,特别是在分布式环境下进行这样的验证时,Merkle树会大大减少数据的传输量以及计算的复杂度。  Merkle哈希树是一类基于哈希值的二... 查看详情

java实现区块链中的区块,block的实现

1、区块是区块链的基础单元区块链由若干个区块组成,区块是区块链的基础单元2、区块链中区块的基本属性区块6个属性的说明-Index区块的索引值,区块链中的唯一键区块6个属性的说明-Timestamp区块的时间戳,用于区分区块的产... 查看详情

信息摘要算法之七:sha在区块链中的应用

最近几年比特币的火爆带动了人们对区块链技术的研究。当然我们在这里并不讨论区块链技术本身,而是讨论一下区块链中的SHA算法的应用。对于SHA系列算法我们已经在前面作了说明,在这里也不再重复。1、区块链中的SHA区块... 查看详情

wdk学习笔记第四周_区块链总体简述(代码片段)

文章目录摘要一、区块链简述二、比特币简述2.1比特币的安全性2.2带工作量证明的区块链实践三、以太坊简述四、超级账本简述总结参考摘要区块链是一个单向链式存储结构,区块中存储了前一个区块的hash值,交易数据... 查看详情

区块链中的隐私保护技术

...联网中,隐私保护一直是一个十分重要的课题,区块链作为互联网的一个新兴技术,更是以有着更高的隐私保护性能受到许多人的喜爱,那么,就让我们来了解一下区块链中核心的隐私保护技术吧!零知识... 查看详情

区块链中的隐私保护技术

...联网中,隐私保护一直是一个十分重要的课题,区块链作为互联网的一个新兴技术,更是以有着更高的隐私保护性能受到许多人的喜爱,那么,就让我们来了解一下区块链中核心的隐私保护技术吧!零知识... 查看详情

区块链中节点和区块的关系&区块链的基本概念

...条条“链”把区块按时间顺序连接起来,中间融合了密码学、公开数据记录和分布式计算等,设计出了一种新型的数据库管理系统。        区块链数据库,依靠密 查看详情

币图细说—区块链中的密码学

密码学是一门很深奥的学问,密码学促进了现代计算机的发展,在区块链领域所涉及到的密码学知识主要是哈希算法和数字签名,现在我们来看看哈希算法。 1.什么是哈希算法? 加密算法是指对数据进行一定的... 查看详情

区块链中的restful链码调用api原理详解

本文适合于熟悉开源区块链技术HyperledgerFabric,以及希望更高效地使用华为云区块链服务的读者。当然,也欢迎任何对区块链技术有兴趣的读者阅读本文,相信读者们都能从中受益。2018年2月1日华为云发布企业级区块链开放平台... 查看详情

智能合约在技术上保存在 ETH 区块链中的哪个位置?

】智能合约在技术上保存在ETH区块链中的哪个位置?【英文标题】:WheresmartcontractsaretechnicallysavedintheETHblockchain?【发布时间】:2021-04-0501:46:33【问题描述】:我对智能合约的“位置”有一些疑问。我阅读了有关区块链和智能合约... 查看详情

《区块链应用指南方法与实践》读书笔记

文章目录区块链概述区块链的概念与发展区块链技术基础核心关键技术共识机制数据存储加密算法智能合约跨链技术区块链系统架构区块链与人工智能区块链应用实施路线区块链应用实施路径技术选择原则应用实施关键过程区块... 查看详情