![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
密码学
文章平均质量分 88
web3.0前沿技术研究者
区块链研究员
展开
-
Paillier同态加密算法总结
一、密码学知识总结1.卡迈克尔数对于所有与n互质的正整数b,都有同余式b^(n-1)≡ 1 (mod n)成立,则称合数n为Carmichael数。卡迈克尔数有至少3个正素因数2.费马小定理设p为一素数,对于任意整数a,有a(p-1)≡ 1 (mod p)。由费马小定理可得,若n为素数,则对任意整数b,且b和n互素,都有bn-1(mod n) ≡1。因此,若存在整数b,使得bn-1(mod n)≡1不成立,则n是一个合数。3.欧拉函数对正整数n,欧拉函数是小于或等于n的正原创 2021-11-22 15:18:32 · 3744 阅读 · 2 评论 -
微软同态加密SEAL库的使用学习
https://github.com/microsoft/SEAL.git一、编译最近git有问题,最好翻墙,而且后面编译时候好像也要下点东西,如果不会改cmake的话,翻墙省不少功夫。。我是直接在Clion中以cmake项目的方式打开的。手动编译如下:cmake -S . -B buildcmake --build buildsudo cmake --install build二、SEAL库介绍Microsoft SEAL提供了两种不同的同态加密方案,...转载 2021-11-04 17:09:56 · 1761 阅读 · 1 评论 -
Sidetree - 去中心化身份管理协议
身份(Identity)管理是区块链应用的核心元素。在一个不可信、匿名的分布计算生态中, 要实现去中心化身份管理并不是一件容易的事情。Sidetree是一个基于现有 区块链平台的第二层(L2s)协议,专门用于去中心化身份管理。微软最新开源 的ION项目,就是Sidetree协议基于比特币区块链的一个实现。 本文将分6个部分介绍Sidetree去中心化身份管理协议:DID的核心要素、 Sidetree协议的起源、概述、工作原理、设计约束与实现进展。1、去中心化身份管理的核心要素去中心化身份管理的.转载 2021-07-31 14:54:36 · 295 阅读 · 0 评论 -
8种zk-SNARK构建的比较
zk-SNARK是一个快速发展的领域,仅在过去的两个月里, 就宣布了数个突破性的zk-SNARK构建。曾经必须的可信设置 现在已经是冗余的了,这意味着可以使用任何计算。然而关于这些 新的zk-SNARK构建的资料很难找到。在这片文章中,我将比较 这些新出现的zk-SNARK构建,并在以后不定期更新。像zk-SNARK这样的零知识证明有很多应用:Zcash利用零知识证明 来保护隐私,Coda和Mir利用零知识证明将整个区块链压缩到只有 几K字节,0x和Matter则利用零知识证明将许多交易封装为以太坊转载 2021-07-31 14:28:18 · 1083 阅读 · 0 评论 -
11个开源merkle树实现
Merkle树是一种可以有效验证部分数据存在于指定数据集并且未被篡改的 高效的哈希树结构,作为一种底层技术广泛应用在各种区块链的实现当中, 对于商品溯源、知识产权确认、区块链公证等区块链应用起着重要的作用。 本文介绍11个主流的merkle树开源实现,你可以在自己的项目中应用。1、ethereumjs/merkle-patricia-tree - 以太坊官方merkle树实现merkle-patricia-tree是以太坊黄皮书中的改进merkle patricia树的实现。 目前仅支持leveld转载 2021-07-31 14:26:28 · 870 阅读 · 0 评论 -
Solidity随机数发生器原理与实现
1、什么是随机数想象一下你身边的随机噪音或者任何随机发生的事情,可以说检测到这些随机模式 的概率为0。这就是随机数的意思 —— 一个可以生成指定范围内的任意不确定 数字的模式。当我这么说的时候,考虑一下1~100之间的某个数。由于不确定性,我 猜不出来你的脑子里现在想的是哪个数。随机数是从某个特定分布中选中的数,通常也会要求这些数之间彼此独立, 这样在前后两个数之间就不会存在相关性。计算机生成的随机数有时会 称为伪随机数,这一术语中保留了随机,表示其不可预测性。当没有额外 的约定时,通常随机数采转载 2021-07-31 14:23:14 · 636 阅读 · 0 评论 -
同态加密应用开发入门
在这篇文章中,我们将了解同态加密的基本概念,介绍常用的 同态加密开发库,学习同态加密应用开发的一般步骤,了解如何在 Web应用中添加同态加密支持。1、同态加密概述同态加密改变了隐私保护的游戏规则,它允许直接操作加密数据 而无需先进行解密。这一概念可以追溯到RSA加密 —— RSA也具备 有限的同态加密功能。不过同态加密很长时间都局限在学术界, 直到2009年Craig Gentry的论文发表后,才涌现了大量的同态加密库。现在已经有很多可用的同态加密库了。下面列出了一些比较流行的 同态加密开发包以转载 2021-07-31 14:19:52 · 430 阅读 · 0 评论 -
零知识证明实战渔业监控【zksnark】
零知识证明可以在不泄露具体信息的情况下向其他人证明 自己掌握该信息,这听起来非常适合去中心化应用。在这个教程中, 我们将利用zksnark来实现一个具体的NodeJS零知识证明应用:渔船 无需透露自己的具体位置,就可以向监管机构证明自己处于划定的 合法捕捞区内 —— 我们的主要武器是snarkjs和circom。1、需求分析设计零知识证明应用方案的第一步是要将具体的问题 转换为一个电路。我们要证明渔船处于合法捕捞区内,这个问题 中存在以下变量:合法捕捞区的范围,可以用该区域的经度/维转载 2021-07-31 14:18:26 · 307 阅读 · 0 评论 -
零知识证明应用开发入门
过去的一年出现了很多零知识证明应用,在这个教程中, 我们将首先学习零知识证明的基本概念、使用circom搭建算术电路、 使用snarkjs实现零知识证明的全过程,并利用这些知识实现 二层扩容方案zk rollup。1、算术电路:零知识证明核心零知识程序和其他程序的实现不太一样。首先,你要解决的问题需要 先转化成多项式,再进一步转化成电路。例如,多项式x³ + x +5 可以 表示成如下的电路: 1234 sym_1 = x * x // sym_1 = x转载 2021-07-31 14:16:35 · 686 阅读 · 0 评论 -
ZoKrates实战在线旅游业【零知识证明】
在这个教程中我们将学习如何使用零知识证明技术 解决在线旅游行业中服务提供商在不透露太多商业秘密 的情况下如何向OTA平台证明其服务能力的问题。我们 将使用以太坊区块链上的零知识证明应用开发框架 ZoKrates来完成这个应用。1、在线旅游应用背景简介我们假设如下的场景:在线旅游OTA平台作为 面向终端消费者的唯一入口提供度假旅游服务,因此它需要 与若干提供具体服务的供应商合作,例如航空、酒店、导游等, 并将这些服务整合为一个完整的产品包出售给客户:当OTA平台针对特定的目标群体提供度假产品包转载 2021-07-31 14:15:17 · 599 阅读 · 1 评论 -
零知识证明DApp开发实践【身份证明/以太坊】
在这个教程中,我们将学习如何开发一个基于以太坊的零知识身份证明DApp, 学习如何开发Circom零知识电路、如何生成并方法Solidity零知识验证智能合约, 以及如何利用Javascript在链下生成零知识证据,并在教程最后提供完整的源代码下载。1、零知识身份证明DApp概述我们将开发一个零知识应用来证明一个用户属于特定的群组 而无需透露用户的具体信息,使用流程如下图所示:我们的开发过程分为以下几个步骤:开发零知识电路 生成用于验证零知识电路的Solidity库 开发智能合约并集转载 2021-07-31 14:13:22 · 512 阅读 · 0 评论 -
零知识扑克牌游戏开发教程【ZK Poker】
零知识证明是实现去中心化的一个重要工具。当平台透明存储数据时 我们应当如何保证隐私?当为了扩容而引入链下交易时,我们如何在 链上进行验证?零知识证明在解决这些问题时可以发挥重要的作用。 这个教程的目的是帮助你探索circom/snarkjs的更多可能性,我们 将学习如何开发一个基于零知识证明的扑克牌游戏。当谈及零知识电路开发时,我们有很多可选的库。实现我发现iden3开发的circom和snarkjs 对于零知识证明的新手很友好:电路很容易编写,整个零知识证明框架 的运行也很简单,不需要复杂的环境。转载 2021-07-31 14:10:47 · 4269 阅读 · 0 评论 -
主流的零知识证明开发库
零知识证明是区块链开发者值得关注的密码学技术,本文整理了11个 主流的零知识证明开发库,希望有助于你在自己的项目中学习并 利用零知识证明技术。1、libsnarklibsnark是SCIPR Lab开发的zkSNARK方案实现,开发语言为 C++,应用于zcash等多个项目。libsnark主要包括三部分:通用证据系统、基础电路库和应用示例。libsnark下载地址:https://github.com/scipr-lab/libsnark3、ZoKratesZoKrates是一个用转载 2021-07-31 14:09:16 · 922 阅读 · 0 评论 -
椭圆曲线密码学
椭圆曲线密码学是下一代的公钥密码学,它比之前的公钥密码学 系统例如RSA和Diffe-Hellman在安全性方面有显著提高。 椭圆曲线密码学是目前被广泛使用的最强大的密码学算法之一,但是 真正理解其工作原理的开发者并不多。1、椭圆曲线方程椭圆曲线有一系列满足特定数学方程的点组成。一个椭圆曲线的方程看起来 像这样:Y² = X³ + ax + b也有其他的椭圆曲线表达式,从技术上来将,一个椭圆曲线就是由满足 上述方程的点组成,它的一些固有的特征使其非常适合用于密码学。上面的曲线有很多有转载 2021-07-31 14:05:01 · 355 阅读 · 0 评论 -
Optimism Rollup原理详解
Optimism Rollup是目前最流行的以太坊L2解决方案。本文将解释Optimism Rollup每个设计决策背后的动机, 剖析Optimism的系统实现,并提供指向每个分析组件的相应代码的链接,适用于希望了解Optimism解决方案的 工作原理并评估所提议系统的性能和安全性的开发人员。1、软件重用原则在Optimism Rollup中的重要性以太坊已经围绕其开发者生态系统发展了护城河。开发人员的技术栈包括:Solidity/ Vyper:这是两种最流行的智能合约编程语言,有很多工具链围绕转载 2021-07-31 13:52:36 · 1362 阅读 · 0 评论 -
zkSNARKs(零知识证明)简述
zkSNARKs 的成功实现让我们印象深刻,因为你可以在不执行,甚至不知道执行的具体内容是什么的情况下确定某个计算的结果是否正确 -- 而你唯一知道的信息就是它正确的完成了。但是不幸的是,大多数关于 zkSNARKs 的解释都浮于表面,而且他们往往会遗留下一些『魔法』,并暗示只有最聪明的人才能懂得 zkSNARKs 是如何工作的。实际上,zkSNARKs 可以总结为 4 个简单的技术,本篇博客将会逐一解释这些技术。任何懂得 RSA 加密系统工作原理的人都会对当前使用的 zkSNARKs 有一个更好的理解和认转载 2021-07-16 16:13:24 · 1453 阅读 · 0 评论 -
理解姚氏百万富翁问题
问题:两富人比谁钱多。如何能实现互相保密但可以比出谁钱多?乍一看感觉不是什么特别复杂的问题,比如知乎用户@辰舰长的答案:用天平,每个富商领到一个质量固定的黑箱,让富商在其中放入质量与财富相对应的筹码(例如除以1000000)。放在天平两边看哪边重一点,就酱。但更多的人饮用了文献:Yao, Andrew C. “Protocols for secure computations.” ...转载 2021-05-18 10:28:33 · 3632 阅读 · 0 评论 -
数字化契约如何守护?解析聚合签名的妙用
海量数字签名数据如何进行高效存储和验证?能否对来自多个参与方的签名实现数据聚合压缩?如果每个参与方使用不同的签名私钥对不同消息进行签名,聚合签名技术是否依旧可以支持?聚合签名技术使用过程中又有哪些值得警惕的风险?伴随着经济数字化转型深入,以区块链技术为代表的多方协作技术逐渐普及,如何验证承载着多样化价值的数据有效性早已成为全行业的普遍需求。满足这一需求的关键是引入各式各样数字化契约,而支持契约中数字签名高效验证则是关键中的关键。海量数据带来了海量数字契约,海量数字契约也进一步带来了海量数..转载 2020-11-27 15:41:32 · 606 阅读 · 0 评论 -
数字化契约如何守护?解析盲签名的妙用
数字签名在数字契约中包含不便公开的敏感信息时,如何进行有效的签名?签名时看不到信息明文,日后出现纠纷该如何追究维权?连签名者都看不到数据信息,如何支持有效的监管介入?其背后的盲签名技术和其他签名技术相比,有何过人之处?在越来越重视隐私保护的数字化经济大背景下,对用户数据的隐私保护要求也日益提高。甚至在一些涉及敏感数据的场景中,用户向认证者提供待认证的数据,认证者都不能观其明文。例如,关键事务决议相关的电子投票系统可能要求投票认证者在不知道每张选票意向的条件下,对每张选票进行认证,排除未授..转载 2020-11-27 15:40:19 · 915 阅读 · 0 评论 -
数字化契约如何守护?解析多方门限签名的妙用
数字签名是否只能由单一主体签署?在涉及多方授权的场景中,如何实现多方联合签名?多方联合签名是否支持决策权重分配?其背后的门限签名技术除了支持多方授权功能之外,还有哪些神奇之处?在倡导价值流通、价值融合的数字化经济中,多方合作无处不在。此过程中签订的数字契约,难免遇到需要在多个参与方之间分配独立决策权重的场景,然后对于一个拟定的决策目标,只有满足一定数量协作方同时授权才能生效。一个典型的示例是基金会区块链资金账户管理。该账户的资金由多个参与方共有,因此其账户私钥一般不应由单一主体...转载 2020-11-27 15:39:20 · 380 阅读 · 0 评论 -
数字化契约如何守护?解析群/环签名的妙用
有效的数字签名机制是否一定会透露签名方的身份?在不知道签名方身份的前提下,如何验证数字签名的有效性?匿名的签名方案如何支持监管仲裁有效介入?其背后的群签名和环签名技术之间有何区别?在现代商业活动中,签名机制的字面解释是:为表示同意、认可、承担责任或义务而写下名字,同时验证方可以查验字迹的真实性,以核实签名的有效性。这个过程中,验证方往往可以从“名字”获知签名方的身份。在传统签名机制中,能够获知签名方的身份,是验证签名有效性的必要条件。这同时也带来了一个问题:如果参与商业活动的协作方,不愿..转载 2020-11-27 15:38:26 · 417 阅读 · 0 评论 -
密码学原语如何应用?走近门限密码算法
隐私数据密文控制权只能由单一主体掌控?代表控制权的密钥如何才能安全地交由多个互不信任的主体协同使用?如何在技术层面保障多方授权的公平公正性?任一参与协作的主体密钥丢失,如何实现安全可靠的容灾恢复?在业务方案设计中,安全可控地让多个隐私主体参与数据协作,是隐私保护技术创造新兴商业价值的关键之一。在这一过程中,代表控制权的密钥由哪一方来掌握,是影响参与者合作意愿的重要因素。因为哪一方拥有了密钥,相当于哪一方就获得了控制权,未能掌控密钥的另一方,则可能在合作关系中处于弱势。这将成为实现公平对等..转载 2020-11-27 15:35:09 · 952 阅读 · 0 评论 -
密码学原语如何应用?解析密文同态性的妙用
隐私数据在密文形式下是否依旧可以加减乘除?其背后的同态性原理具体指什么?半同态性和全同态性有什么区别?单密钥和多密钥同态加密有哪些奇妙的应用场景?隐私保护方案设计,往往需要在密文状态下,对隐私数据进行特定的业务操作,以此保障数据的机密性。沿用上一论的电子支付例子,客户目前拥有一张面额1000元的电子支票,电子支票以密文凭证形式存储,流转过程中不会轻易泄露金额。客户使用这张支票时,消费额可能低于1000元,需要将支票进行拆分找零。假定消费额为200元,这一支票需要被拆分成两份密文凭证,面额..转载 2020-11-27 15:33:59 · 467 阅读 · 1 评论 -
密码学原语如何应用?解析密码学承诺的妙用
在不泄露明文的前提下,如何对隐私数据的内容进行承诺?密码学承诺的密文形式和普通的数据密文有何区别?隐私数据如何在密码学承诺的形式下依旧保持可用性?在量子计算的安全模型下,是否依旧可以构造安全可用的密码学承诺?隐私保护方案设计中,除了保护隐私数据的机密性,确保密文形式隐私数据解读的唯一性也是重要的业务需求。业务流程中,很大程度会依赖隐私数据的具体数值,如果允许攻击者在自身利益驱动下,对处于密文形式的隐私数据进行任意解读,势必会对业务的整体公正性和有效性带来巨大影响。以电子支付为例,一家银行..转载 2020-11-27 15:32:46 · 742 阅读 · 0 评论 -
密码学原语如何应用?解析密码学特有的数据编解码
隐私保护方案的工程实现,如何关联到学术论文中天书一般的公式符号?密码学工程中,有哪些特有的数据编解码方式、存在哪些认知误区和注意事项、需要克服哪些限制和挑战?作为支撑隐私保护方案的核心技术,如何运用数据编解码,将密码学论文中抽象的数学符号和公式具象成业务中具体的隐私数据,是学术成果向产业转化需要跨过的第一道门槛。学术论文中所使用的数学语言与工程中所使用的代码编程语言,差异非常大。不少在数学上容易定义的属性和过程,若要在工程上提供有效实现,颇具挑战。实现不当的话,甚至可能破坏学术方案中的安..转载 2020-11-27 15:31:32 · 467 阅读 · 1 评论 -
密钥繁多难记难管理?认识高效密钥管理体系
密钥设置是否只要够安全就能够重复使用?定期修改密钥到底有没有必要?密钥不幸遗失该如何恢复?素未谋面的双方,如何才能安全地进行密钥协商?上一论我们了解到,基于密码学的隐私保护方案,其有效性很大程度上取决于能否有效管理好密钥。这里,我们将进一步分析密钥管理的具体范畴、每个操作环节的典型风险,以及应对手段。密钥管理的对象是密钥本身或者用于生成密钥的密钥材料(常称之为根密钥),三类主要操作环节包括密钥的使用、保存和协商。鉴于人类用户(以下简称用户)和计算机系统在自身能力上的差异,需要使...转载 2020-11-27 15:29:17 · 513 阅读 · 0 评论 -
密码密钥傻傻分不清?认识密码学中的最高机密
密码学为何称之为密码学?密码和密钥究竟有何区别?隐私保护方案中,密钥的角色是否可以被替代?密钥在使用过程中存在哪些风险?这里,我们将以密码学中的密码为起点,展开一系列对密码学算法核心组件的技术剖析。密码和密钥在密码学算法中有着至关重要的地位,了解密码和密钥的作用,有助于理解基于密码学的隐私保护方案是否具备有效性。密码和密钥对于用户而言,则是最终达成隐私数据『始于人、利于人、忠于人』隐私保护效果的无上法器。密码学的英文为Cryptography,源自希腊语“κρυπτός秘密”和“γράφ..转载 2020-11-27 15:28:12 · 1288 阅读 · 1 评论 -
密码学技术如何选型?终探量子计算通信的安全模型
经典密码学技术的应用寿命将至?量子计算何以破解现有隐私保护方案?量子通信对隐私保护方案设计有何启示?如何有效应对量子计算通信技术给隐私保护带来的挑战?这里,我们将进入安全模型分析三部曲的最终章,跳出现有计算和通信能力的局限,着眼未来技术发展对隐私保护技术选型的启示,剖析量子计算和量子通信技术对经典密码学技术的影响,以及业务技术选型上的应对之道。量子计算和量子通信都是基于量子力学的新兴技术。不同于经典物理理论,量子力学研究的是物质世界微观粒子运动规律的物理理论,可用来解释经典物理理论无法解..转载 2020-11-27 15:27:12 · 317 阅读 · 0 评论 -
密码学技术如何选型?再探工程能力边界的安全模型
牢不可破的密码学算法也怕物理攻击?物理信号泄露为何会威胁到隐私保护的效果?隐私保护方案对部署环境有何讲究?不可信执行环境下如何设计隐私保护方案?这里,我们将继续安全模型的分析,由隐私保护技术方案中理论层面的能力边界,扩展到实际开发部署时工程层面的能力边界,梳理工程实现中相关安全假设,以及适用的业务场景。在上一论中,我们介绍了多种不同的安全模型,来衡量基于密码学隐私保护技术方案的理论强度。然而,一个隐私保护技术方案如果只考虑理论层面的安全,而忽视工程层面的安全,其有效性是值得质疑的。...转载 2020-11-27 15:26:04 · 263 阅读 · 0 评论 -
密码学技术如何选型?初探理论能力边界的安全模型
系统变更后,为何隐私数据频频泄露?密码学算法自由组合后构成的新协议是否依旧安全?当下部署的隐私保护系统,10年后是否依旧有效?密码学协议是否越安全越符合实际业务需求?这里,我们将继续密码学技术选型的分享,从单个密码学算法扩展到由多个密码学算法构成的密码学协议的安全性,梳理相关的能力边界,以及选用不同协议对实际业务中隐私保护效果的影响。正如上一论(←点击查看)所提到的,学术界在构造密码学算法时,引入了一系列安全假设,只有当这些安全假设都成真时,对应的密码学算法才安全。类似地,由多个密码学算..转载 2020-11-27 15:24:52 · 243 阅读 · 0 评论 -
密码学技术何以为信?深究背后的计算困难性理论
隐私保护为何选用密码学算法?密码学算法背后有哪些神奇的数学理论?3何时比9大?计算可逆性错觉究竟是如何在数学领域被打破?这里,我们将从密码学信任的理论基础出发,分享在隐私保护技术方案中应用密码学技术的一些思考:如何理解密码学算法的能力边界,如何客观地比较不同密码学算法对于隐私保护方案有效性的影响。这一切,要从密码学神奇的“不对称性”说起。神奇的“不对称性”早在公元前,古埃及、古罗马、古希腊等古文明均已开始使用密码技术来保护信息的机密性,历史上最早的不对称性表现为选...转载 2020-11-27 15:23:40 · 404 阅读 · 0 评论 -
隐私合规风险知几何?数据合规商用需过九重关
在现代商业发展进程中,数据驱动的业务创新正起着至关重要的推动作用,隐私数据的引入,让企业能够更精准地发现潜在客户,更好地服务目标人群,甚至开辟全新的市场空间。然,福兮祸之所伏。每一次创新,都有可能打破隐私数据使用的常规范式,带来诸如对个人隐私空间侵犯、企业敏感信息泄露等额外的隐私风险和不良社会影响。政府相关部门作为市场秩序和社会秩序的守护者,就会为此设定对应的法律法规,来规范企业在进行依赖隐私数据的业务创新时,应遵循的必要标准。近年来,以欧盟《通用数据保护方案》(简称GDPR)为代表,世..转载 2020-11-27 15:22:26 · 1665 阅读 · 0 评论 -
隐私和效用不可兼得?隐私保护开辟商业新境地
话说天下数据,分久必合,合久必分。伴随着计算机软硬件技术的飞速发展,社会整体信息化程度提高,数据的价值逐渐凸显,由此开创了数据汇集、数据提炼、数据变现的信息时代。信息技术商业化日渐深入的同时,数据汇集潜藏的隐私风险也日渐放大。以《中华人民共和国网络安全法》、《信息安全技术 个人信息安全规范》、《个人金融信息保护技术规范》、《金融分布式账本技术安全规范》等一系列法律法规和技术规范为标志,隐私保护立法的精细化、数据属主权益意识的觉醒,进一步推动了大平台统一的数据控制权向分散的数据属主回归。..转载 2020-11-27 15:21:15 · 307 阅读 · 0 评论 -
环签名原理与隐私保护
隐私是用户最关心的问题之一,也是 PPIO 研究的重点。区块链世界涉及隐私保护的技术很多,前不久 PPIO Code Talks 的李星老师 给我们分享的“零知识证明 zk-SNARKs”技术 就是 隐私保护的典型代表,今天我们再来分析一下另一个用于隐私保护的技术——环签名 Ring Signature。零知识证明解决的问题是,我有一个秘密,我需要向你证明我知道这个秘密,但是我又不能让你知道这个秘密。而环签名解决的问题是,我对你说了一句话,但是你只知道是某一群人中有人对你说了这句话,而不知道这群人里具体哪转载 2020-08-28 10:52:10 · 2417 阅读 · 0 评论 -
隐私保护之zk-SNARK
zk-SNARK概述zk-SNARK,就是一个为了将实际的零知识证明类问题转为计算机程序问题的理论。全称“zero knowledge Succinct Non-interactive ARgument of Knowledge” 可以拆分为下面几点去理解:zero knowledge,零知识,即不透露任何有用的信息。 succinct,简洁的,主要是指计算机程序在验证的过程不涉及大量...原创 2019-10-24 09:29:55 · 1759 阅读 · 1 评论 -
随机数对签名的重要性与伪签名的构造
关于签名算法的一些基本变量定义:G为椭圆曲线 随机值k,R=kG m,待签名消息哈希值 私钥x,公钥P=xG H(),哈希函数 r = R.x,表示r为R的x坐标值Schnorr签名:(R, s) 生成签名:s = k + H(R||P||m)*x 验证签名:sG = R + H(R||P||m)PECDSA签名:(r, s) 生成签名:s = m/k + r/k*...原创 2019-10-12 14:08:09 · 1608 阅读 · 2 评论 -
随机数对签名的重要性与伪签名的构造
关于签名算法的一些基本变量定义:G为椭圆曲线 随机值k,R=kG m,待签名消息哈希值 私钥x,公钥P=xG H(),哈希函数 r = R.x,表示r为R的x坐标值Schnorr签名:(R, s) 生成签名:s = k + H(R||P||m)*x 验证签名:sG = R + H(R||P||m)PECDSA签名:(r, s) 生成签名:s = m/k + r/k*...原创 2021-05-18 10:29:09 · 822 阅读 · 0 评论 -
Schnorr签名介绍
Schnorr签名算法是由德国数学家、密码学家Claus Schnorr提出。并于1990年申请了专利,U.S. Patent 4,995,082,该专利与2008年2月失效。目前该算法可以自由使用。Schnorr签名算法几乎在各个层面均优于比特币现有的签名算法ECDSA:性能,安全,体积,扩展性等方面。Schnorr Sig可以与ECDSA使用同一个椭圆曲线:secp256k1 curv...原创 2019-10-12 10:28:54 · 4921 阅读 · 2 评论 -
保护隐私同时实施有效审计监管的区块链系统
1.区块链与匿名隐私保护区块链本质并不具有匿名隐私保护特性区块链的本质是通过分布式共识形成不可篡改的链式账本,分布式、共识、链式账本均是区块链的本质属性,而很多学者直接宣称区块链具有匿名隐私保护特性,这是不严谨的,而在论证区块链在应用中的必要性时,也需要把区块链的必要性和匿名隐私保护性进行分开论证。区块链的应用必须进行一定程度的匿名隐私保护区块链的分布式共识在提高系统的可靠性和可信性...翻译 2019-09-27 11:26:39 · 1268 阅读 · 1 评论 -
区块链隐私资源
主要参考:Bitcoin Core 中的隐私 Privacy Technologies目录| Contents区块链隐私资源| Blockchain privacy resources 目录| Contents 概观| Overview 背景| Background 机密交易| Confidential Transactions 零知识证明| Zero Knowle...原创 2019-09-27 16:45:26 · 446 阅读 · 1 评论