好书分享丨区块链的骨骼——密码技术

news2024/7/6 19:43:58

开放隐私计算

开放隐私计算

开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神,专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播,愿成为中国 “隐私计算最后一公里的服务区”。

180篇原创内容

公众号

随着信息化时代分布式网络架构的快速兴起,区块链这一分布式账本技术凭借着可追溯、公开透明等特性备受瞩目。基于区块链技术的点对点可信交易机制受到越来越多用户的青睐,得益于它严谨周密的密码技术。密码技术是区块链的骨骼。目前应用在区块链中的密码算法主要有哈希算法、公开密钥算法。哈希算法主要用于加密账本内容和用户身份,防止恶意篡改数据;公开密钥算法主要用于加密通信过程,确保交易的真实准确。哈希算法在区块链中广泛应用:对用户公钥使用哈希算法计算出用户地址;存储数据的梅克尔树本质也是一棵哈希树;在共识机制中设置难度标准等。

哈希算法的工作原理是将任意长度的内容转换为较短的、固定长度的、全新的二进制数值,转换后的结果数值被称为哈希值,略有不同的输入可以得到差异性巨大的输出。哈希算法具有单向不可逆的特性,即通过输入可以快速得到输出,但是通过输出得到输入的难度极高。因此,哈希算法具有抗冲突防碰撞、执行效率高速度快等优秀特性。公开密钥算法是现代密码学的重要组成部分,对于一段需要保护的信息,通常使用公钥加密,用私钥解密,整个过程不暴露重要的个人信息。简要过程如下图所示:

1、数据接收方Bob先将自己的公钥发送给数据发送方Alice,这里的公钥相当于Bob的地址,可以标识Bob的身份。

2、Alice收到Bob的公钥之后,用其加密需要发送的数据,这里的加密方法主要有RSA算法、椭圆曲线密码算法等,本质是一个数学难题,需要公钥和私钥这两个参数同时得知时才能被轻易解开,否则解题难度巨大。

3、Alice将加密后的数据发送给Bob,因为密文需要Bob的私钥才能被解开,而私钥并不参与通信过程,所以即使密文被攻击者截获,也无法轻易解密密文得到明文。

4、Bob用自己的私钥解密Alice发送的密文,获取明文数据。

除此之外,区块链中也可以应用一些更加高阶的密码技术,比如基于属性基加密的区块链访问控制、同态加密、安全多方计算、零知识证明。

一、基于属性基加密的区块链访问控制

属性基加密源自对身份信息属性的识别,其安全性在于使不满足既定策略的攻击者所拥有的密钥无法解密密文。密文可在不安全的信道上进行传输,也可上传至开放的网络存储设备中。属性基加密主要分为两种:一种是密钥策略的属性基加密(KPABE,key-policy attribute en cryption),另一种是密文策略的属性基加密(CPABE,ciphertext-policy attribute-based encryption)。其中,CPABE方案能够有效处理区块链隐私,此方案中数据拥有者可以设定访问策略,只有满足访问策略的用户可以解密共享一份数据内容。因为基于 CPABE 的访问控制隐含授权集合的访问树结构,所以在区块链隐私保护上能够进行小群体范围内的信息隐私保护。任何一种加密技术都会有其劣势,基于属性基加密的访问控制也不例外,如加密过程中大量的双线性映射,使属性基加密在数据计算上非常耗时;密文长度会随着属性数量增加而增加,从而占用过多区块存储空间。因此,优化时间和空间上的研究将会进一步改善区块链访问控制的性能。此外,如果使用智能合约实现访问控制,直接将访问策略暴露给全网并不是一个很好的选择,需要对智能合约设计额外隐私方案。跨组织跨链的访问控制正备受瞩目,如何在多链并存的条件下解决基于此类新型密码学技术的访问控制策略冲突、适应合约自动化控制有十分重要的探讨价值。

二、同态加密

同态加密属于基于非噪声方法的安全计算,可以使数据在密文状态下进行计算,解密后可获得与明文进行同样运算后的结果。对于区块链应用同态加密的理论很多,如 Pedersen 承诺、ElGamal承诺等密码学承诺,这些承诺或具备加法同态特性或具备乘法同态特性,可以将数据进行私密保存并通过公布数据的哈希值来承诺它的真实性,如利用ElGamal乘法同态特性进行隐私计算,实现安全可信的交换承诺等。在区块链中,不管是公有链、私有链还是联盟链,直接对明文信息进行处理并发布至智能合约将会很大程度地泄露敏感数据。应用同态加密既能保证链上数据隐私,也能实现节点与节点之间数据的可计算性。区块链同态加密理论模型中,参与方首先需要进行算法协商,协定公共参数;然后由加密方对交易信息进行同态加密,并将完成签名的数据传送上链。等到数据经智能合约验签后,使用方将在链下解密数据,获取明文信息;最后由合约对验签数据进行销毁。

三、安全多方计算

信息安全,包括数据安全、通信安全以及计算安全。计算安全在多方协作交易中尤为重要,在密码学知识领域被称为安全多方计算(SMPC, secure multi-party computation)。SMPC可以解决协同计算隐私保护问题,具有输入隐私性、计算正确性以及去中心化特征,能使数据既保持隐私又能被使用,从而释放隐私数据分享、隐私数据分析以及隐私数据挖掘的巨大价值。个人信息在共享和计算中容易出现安全问题和隐私问题,安全多方计算可以结合区块链特征使用户数据隐私得以保护,使不可信多方之间进行敏感数据联合计算、敏感数据求交集、敏感数据联合建模等。例如,隐私计算平台 Enigma,通过 SMPC 以分布式形式计算数据,同时改进分布式哈希表进行数据存储,并分散到多个区块链节点上进行责任分摊。

四、零知识证明

零知识证明是一种不泄露敏感数据信息即能向他人证明信息归属权的密码学技术,善于平衡隐私和透明的需求。ZKP作用于区块链上不仅可以解决数据上链隐私泄露,也可以在性能提优、数据量大无法上链方面做出改善。零知识证明在区块链上最具规模的算法当属zk-SNARK,是一种无须交互的零知识算法。在应用zk-SNARK的交易输出中,通过验证交易内容值正确性承诺的合法性确保数据内容不会被泄露。现今研究发展中,逐渐着眼于去可信设置的零知识证明算法,如zk-STARK。zk-STARK在既需要互信又存在很多动机的应用场景中,使用同态隐藏、杂凑函数进行抗量子防御。此外,在数据隐私处理方面, STARK 组件允许在不损害计算完整性的情况下屏蔽私有输入且允许区块链进行大规模扩展,对于验证方的算法复杂度方面可以控制到多项式时间级别。

参考文献

[1]刘峰, 杨杰, 齐佳音. 区块链密码学隐私保护技术综述. 网络与信息安全学报[J], 2022, 8(4): 29-44 doi:10.11959/j.issn.2096-109x.2022054

[2]汪金苗, 谢永恒, 王国威 ,等.基于属性基加密的区块链隐私保护与访问控制方法. 信息网络安全[J], 2020,20(9): 47-51.

现在,为了让大家更好地了解学习区块链中的密码技术,OpenMPC社区给大家送书啦,就是这本由高承实博士领衔主编的《区块链中的密码技术》!

 

《区块链中的密码技术》

导读

本书重点介绍非对称密码和哈希函数的基本原理及其在区块链中的应用,深入分析了密码技术在共识机制、智能合约和隐私保护等领域的应用,展望了密码技术在共识机制、预言机和状态通道等领域的发展前景,通过案例深化了读者对区块链密码学应用模式与方法的理解。市面上密码学方面的图书比较多,区块链技术方面的图书目前也比较多,但区块链与密码相结合的图书不多。从科普的角度,阐述密码技术的基本原理,并详细介绍其在区块链中的应用,并展望密码学在区块链的未来发展的本尚未见到。

目前市面上主流的密码学教材在内容编排上注重密码算法,密码体制的设计原理,理论性较强,对读者的数学基础要求较高,并非专门针对区块链读者编写,其定位也不是区块链领域的学习者、爱好者和入门者。而本书从区块链系统中应用最广泛的密码学基础入手,适合作为广大密码学爱好者和区块链爱好者的密码学学习入门读物。 在内容上,本书不仅涵盖了密码学的基础知识,如密码学的概念、类别、各种算法,而且对区块链系统中广泛使用的密码技术进行了详细的分析,深入浅出,由表及里,让读者既能够了解到区块链系统中的密码学原理,又能够知晓密码技术在区块链系统中的应用方式和地位作用,以及下一步的可能发展方向。不同于其他同类型图书之处,本书还用了一章的篇幅专门向读者阐述了密码研究和密码使用的政策法规,这在国内同类型图书中是极少见的。 希望本书能成为区块链领域学习者和爱好者进入区块链世界的钥匙。使他们能快速进入区块链领域更高阶的学术和应用殿堂。

作者:高承实

密码学博士,曾任解放军战略支援部队信息工程大学计算机应用专业副教授,研究生导师。现任中国计算机学会区块链专业委员会委员。分别在火星财经、《环球》杂志、巴比特、链证经济、互链脉博等区块链媒体发表相关区块链文字近百篇。为解放军驻港部队、河南省保密局、金仕达等党政军、院校、企事业单位和行业协会开展区块链讲座几十场。研究领域包括区块链、密码与信息安全、金融科技、舆情传播和大数据,曾主持军队重点课题2项,参与国家重大社科基金课题1项、军队重点项目3项、国家863/973课题多项,获省部级科技进步奖4项,发表核心期刊论文20余篇。

社区福利

点击下方“在看”按钮,关注公众号并留言,点赞最多前五位将获得《区块链中的密码技术》一书!包邮到家,get新知识!

开奖时间:2022年12月12日

                                                                           END

往期推荐:

隐私计算头条周刊(11.20-11.26)

安全多方学习开源框架调研

智能汽车数据隐私管理实践与思考

隐私计算推动金融转型

开放隐私计算社区征稿啦!

热门文章:

姚期智院士:数据、算法、算力为何是数字经济核心技术?

隐私计算又遇技术突破,亿级数据密态分析可在10分钟内完成

清华大学张超:实现数据确权与保护,数据密态渐成行业共识

数据确权:第五要素的战争

未来十年,将会有95%的企业采用隐私计算技术

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/58786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

darknet框架GPU编译安装

Darknet: Open Source Neural Networks in C 1、darknet下载 git clone https://github.com/pjreddie/darknet.git cd darknet设置makefile gpu1 cudnn1 opencv1【1】GPU1;需要设置显卡驱动、cuda 使用nvidia-smi 查看显卡型号和支持的cuda版本号 nvidia官网下载cuda,以及…

计算机网络学习笔记(Ⅱ):物理层

目录 1 物理层概念 1.1 物理层基本概念 1.定义 2.主要任务 3.特性 1.2 数据通信基础 1.典型模型 2.相关术语 3.三种通信方式 4.数据传输方式 1.3 物理层内容 1.码元 2.速率 3.带宽 1.4 奈氏准则与香农定理 1.失真 2.码间串扰 3.奈氏准则 4.香农定理 1.5 …

蓝桥杯C/C++VIP试题每日一练之Huffman树

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…

基于JSP的某餐厅点餐系统

目 录 第一章 绪论 1 1.1系统研究背景和意义 1 1.2研究现状 1 1.3研究主要内容 2 第二章 相关技术说明 3 2.1 JSP(Java Server Page)简介 3 2.2 Spring框架简介 4 2.3 Spring MVC框架简介 5 2.4 MyBatis 框架简介 5 2.4 MySql数据库简介 6 2.6 Tomcat简介 7 2.7 jQuery简介 8 …

Hadoop原理与技术——Hbase的基本操作

点击链接查看文档 一、实验目的 上机实操,熟悉指令操作Hbase和java代码操作Hbase 二、实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三、实验内容 1:指令操作Hbase (1):start-all.sh,启动所有进程 (2)…

Ansys(Maxwell、Simplorer)与Simulink联合仿真(二)直线电机

Ansys(Maxwell、Simplorer)与Simulink联合仿真(二)直线电机 在仿真过程中,遇到了一个问题,卡了好久得到了解决。 关于 motion setup 提示 moving 找不到面 cannot find the sarface 所有的动态部件要隔开…

【pen200-lab】10.11.1.21(实际获得22权限)

pen200-lab 学习笔记 【pen200-lab】10.11.1.21 🔥系列专栏:pen200-lab 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年11月27日🌴 🍭作…

算法导论24章单源最短路径—Bellman-Ford算法 Dijkstra算法

松弛操作 松弛操作就是判断从现在s到v的路径更近,还是我从s到u再到v更近,选一个更近的走。 松弛操作的例子 松弛是唯一导致最短路径估计和前驱结点变化的操作 Bellman-Ford算法 第一个循环,循环V-1次,每次循环对所有的边都松弛一…

Python数据分析-matplotlib

目录 一、折线图:plt.plot() 1.1 plt.plot()基本用法 1.2 设置坐标轴范围:plt.axis([xmin,xmax,ymin,ymax]) 1.3 plt.plot()绘制多个图形 1.4 linewidth设置线条宽度 1.5 使用plt.plot()的返回值设置线条属性 1.6 plt.setp()修改线条性质 1.7 对…

软件测试的几种方法

1、从是否关心内部结构来看 (1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。 (2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒…

讲透金融风控建模全流程(附 Python 代码)

信贷风控是数据挖掘算法最成功的应用之一,这在于金融信贷行业的数据量很充足,需求场景清晰及丰富。 信贷风控简单来说就是判断一个人借了钱后面(如下个月的还款日)会不会按期还钱。更专业来说,信贷风控是还款能力及还…

SQL 汇总统计及GROUP BY

SQL 汇总统计1、汇总统计2、GROUT BY3、如何对分组统计的结果进行过滤? GROUP BY HAVING4、如何对分组统计的结果进行排序?GROUP BY ORDER BY5、介绍SELECT语句中各个子句的书写顺序6、备注: 上方用到的表1、汇总统计 介绍几个聚集函数 有…

电脑误删Path环境变量后前端如何重新配置所需变量

需求背景 : 当时公司需要我们安装一款软件 , 按照操作文档需要配置一下 Path 环境变量 , 但当时的云桌面操作系统是 window7系统 , 当时配置时并不知道新的变量配置时需要在前面一个的后面加 “ ; ” 来间隔开来…

【目的:windows下VS2017/2022使用MSVC编译GLFW库】

目的:windows下VS2017/2022使用MSVC编译GLFW库 环境: 系统:Win10 环境:VS2017 64bit步骤: 1.下载GLFW源码 官网链接https://www.glfw.org/download.html, 下载glfw的源码,解压到本地&#x…

考研数据结构大题整合_组二(TJP组)

考研数据结构大题整合 目录考研数据结构大题整合二、TJP组TJP组一TJP组二TJP组三二、TJP组 TJP组一 四、画图/计算/证明/算法分析(30分) (1)证明题(8分) 如果一棵树有n1个度为1的结点,n2个度为…

(四)Vue之数据绑定

文章目录数据绑定单向数据绑定双向数据绑定Vue学习目录上一篇:(三)Vue之模板语法 数据绑定 Vue中有2种数据绑定的方式: 1.单向绑定:数据只能从data流向页面。2.双向绑定:数据不仅能从data流向页面&#…

著名书画家、中国书画院院士李适中

著名书画家、中国书画院院士李适中 李适中 著名书画家、中国书画院院士 版画艺术家 文物复制专家 中国文物学会会员单位创始人 文化部科技进步奖获得者 艺术简历 李适中,1943年生,安徽颍上人,著名书画家、中国书画院院士。李适中先生师从著名…

Vue3+nodejs全栈项目(资金管理系统)——前端篇

文章目录创建项目项目初始化使用element-plus设置Register和404组件搭建element注册表单验证表单和按钮加载动画和消息提醒路由守卫和token过期处理配置请求拦截和响应拦截解析token并存储到vuex中设计顶部导航设置首页和个人信息设置左侧导航栏展示资金管理页面添加按钮编辑和…

返回当前系统串口名称

主要针对当前的usb转串口进行了穷举。 方便判断串口对应哪个设备。 返回串口名称 类对象,(包含了参考网址,以及对其进行了修改,防止出现蓝牙端口) using System; using System.Collections.Generic; using System.L…

VMware-KVM安装

目录 VMware-KVM安装 一、kvm虚拟化平台 KVM 网络管理(以NAT网卡为例[ens33]) VMware-KVM安装 一台Centos7、一个winSCP上传文件工具; 搭建KVM平台 一、kvm虚拟化平台 1 cat /etc/hosts ##查看主机…