![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
密码学与安全技术
文章平均质量分 67
总结密码学相关理论和应用
区块链之美
这个作者很懒,什么都没留下…
展开
-
彩虹表(rainbow table)
公众号VenusBlockChain,致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。1 彩虹表引入在看微众银行开源的WeIdentity规范中的可验证凭证Credential数据结构时,看到有关于防止彩虹表方式反向破解哈希的问题,如下图所示。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5e3MlOSu-1604985323645)(https://upload-images.jianshu.io/upload_images/208原创 2020-11-10 13:16:38 · 5618 阅读 · 1 评论 -
国密支持
密码算法是保障信息安全的核心技术,尤其是最关键的银行业核心领域长期以来都是沿用 3DES、SHA-1、RSA 等国际通用的密码算法体系及相关标准。为保障重要经济系统密码应用安全,国家密码管理局于 2011 年发布了《关于做好公钥密码算法升级工作的通知》,要求在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用国密算法。为了完善底层的密码学相关的安全体系,除了支持国际上通用的加密签名算法之外,还支持国密算法。国密即我国自主研发,国家密码局认定的国产密码算法,在金融领域,目前主要使用公开的 SM2、SM3转载 2020-07-07 10:58:04 · 959 阅读 · 0 评论 -
可验证密钥分享技术实现原理
密钥分析介绍密钥分享实现典型的密钥可验证密钥分享实现方案Feldman和Pedersen VSS方案实现原理参考资料[1]https://mp.weixin.qq.com/s/VFKJ6ny68pLWTHcBEwy_Xw[2]http://www.sara-adams.de/files/german/secretsharing.pdf[3]石润华, 黄刘生. 一种简单的可验证秘密共享方案[J]. 计算机应用, 2006(08):77-79.[4]张福泰, 赵福祥, 王育民.原创 2020-06-18 09:16:27 · 2241 阅读 · 0 评论 -
智能合约隐私计算之同态加密应用举例
本文首发公众号 VenusBlockChain,关注公众号后可免费阅读!VenusBlockChain 致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。1 同态加密应用匿名投票可以应用于电子政务决议、团体活动投票、公司股东大会决议、明星海选投票等诸多场景,对数字化公平决议场景具备广大而深远的影响。针对投票者的身份(这一点还未涉及)和投票数据的隐私性,以及计...原创 2020-05-07 19:25:18 · 2255 阅读 · 1 评论 -
图解ECDSA签名与验签基本原理
本文首发公众号VenusBlockChain,关注公众号后可免费阅读!VenusBlockChain致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。1 ECDSA算法首先,需要设置参数(a,b,p,N,G)(a,b,p,N,G)(a,b,p,N,G)来初始化一椭圆曲线,椭圆曲线方程y2=(x3+ax+b)modpy^2=(x^3+ax+b)modpy2=(x...原创 2020-04-27 22:46:19 · 2349 阅读 · 0 评论 -
图解BLS签名与验签基本原理
1 曲线配对此内容不再此处赘述,可阅读我的另一篇文章:双线性映射e函数2 BLS签名为了描述BLS如何实现签名,先定义一些符号。用 pkpkpk 代表私钥,P=pk∗GP = pk\ast GP=pk∗G 代表公钥,mmm 代表要签名的消息。为了计算签名,先对消息求曲线哈希 H(m)H(m)H(m) ,如何将消息mmm的哈希值映射到曲线上,可阅读我的文章BLS签名理论原理和工程实现。再将获取...原创 2020-04-26 21:48:28 · 1553 阅读 · 0 评论 -
BLS签名理论原理和工程实现
双线性映射e函数BLS签名算法就是基于双线性映射构造的,在给出具体的签名算法之前,我们需要了解一下什么是双线性映射。对于一个质数双线性群可以由五元组(p,G1,G2,GT,e)(p,G1,G2,GT,e)(p,G1,G2,GT,e)来描述。五元组中ppp是一个与给定安全常数λλλ相关的大质数,G1,G2,GTG1,G2,GTG1,G2,GT均是阶为ppp的乘法循环群,eee为双线性映射e:G1...原创 2020-04-24 17:51:20 · 1820 阅读 · 0 评论 -
门限签名介绍
近几年门限密码学在区块链系统里开始逐渐被应用,分为门限加密和门限签名,一般见于随机预言机、防审查、减少通信复杂度(HotStuff)、共识网络中防拜占庭(HoneyBadgerBFT 中用于 BA 环节的 common coin)以及作为分布式伪随机数生成器(coin tossing)的重要原语,其优越的资产协同防盗特性也慢慢被新兴数字资产托管机制所重视,今天我们主要讨论公钥密码学(PKC)里的门...转载 2020-04-23 16:51:30 · 9613 阅读 · 3 评论 -
基于RSA的实用门限签名
1 门限签名2 基于RSA的门限签名2.1 系统初始化系统中有lll个参与者,编号分别为1,...,l1,...,l1,...,l,有一个可信的dealer和一个敌手adversary。dealer选择两个长度(512bit)相等的素数ppp和qqq,设p=2p′+1,q=2q′+1p=2p'+1,q=2q'+1p=2p′+1,q=2q′+1,其中p′,q′p',q'p′,q′也都是素数。R...原创 2020-04-23 13:39:20 · 2439 阅读 · 0 评论 -
隐私计算:数据三权分立和隐私计算的几大技术范式
数据三权分立数据的所有权不能买卖。数据权利中存在三权分立。数据的所有权、使用权和处理权。数据资产只可以转让使用权,所有权是用户的。隐私计算是在不暴露原始数据的情况下计算数据,且计算结果可被验证。不能简单被理解成为保护用户隐私服务的技术,它的重点是更是实现数据使用权交易的基础,也就是实现数据价值的基础。不交易数据本身,只交易数据的计算结果。因此,隐私计算提供了让数据使用权转让合理有序的同时,让...转载 2020-04-02 16:44:15 · 2086 阅读 · 0 评论 -
一种高效的数字签名算法Ed25519
概要Ed25519是一个数字签名算法,签名和验证的性能都极高:一个4核2.4GHz 的 Westmere CPU,每秒可以验证 71000 个签名,每秒可以生成109000个签名;安全性极高,等价于RSA约3000-bit;签名过程不依赖随机数生成器,不依赖hash函数的防碰撞性,没有时间通道攻击的问题;签名很小,只有64字节;公私钥也很小,只有32字节。This paper ...原创 2020-04-02 16:24:38 · 4131 阅读 · 0 评论 -
“环签名、Pedersen承诺、范围证明”三者可擦出不一样的火花
1.输入输出平衡证明,承诺什么是aG+bH在Monero中,基于Pedersen承诺是构造范围证明的重要密码学工具。对于输入输出平衡证明,即∑Ci,in=∑Cj,out∑C_{i,in}=∑C_{j,out}∑Ci,in=∑Cj,out。在构造Pedersen承诺时,随机选择盲因子rrr,最终承诺为comm=r∗G+a∗Hcomm=r*G+a*Hcomm=r∗G+a∗H。既然加了盲因子rr...原创 2020-03-26 22:27:57 · 1689 阅读 · 0 评论 -
密码学技术背后的计算困难性理论
本文原创 李昊轩 微众银行区块链 ————密码学技术易守难攻,困难性理论当居首功!1.开篇隐私保护为何选用密码学算法?密码学算法背后有哪些神奇的数学理论?3何时比9大?计算可逆性错觉究竟是如何在数学领域被打破?2.神奇的“不对称性”在现代密码学中,关于不对称性,大家最熟悉的概念莫过于公钥和私钥。以加密通信为例,主人公小华要向他的朋友美丽通过加密的方式发送一份电子邮件,可以先找...转载 2020-03-18 23:32:24 · 3460 阅读 · 2 评论 -
有趣的椭圆曲线加密
一、概述椭圆曲线加密算法依赖于椭圆曲线理论,后者理论涵盖的知识比较深广,而且涉及数论中比较深奥的问题。经过数学家几百年的研究积累,已经有很多重要的成果,一些很棘手的数学难题依赖椭圆曲线理论得以解决(比如费马大定理)。本文涉及的椭圆曲线知识只是抽取与密码学相关的很小的一个角落,涉及到很浅的理论的知识,同时也是一点比较肤浅的总结和认识,重点是利用椭圆曲线结合数学技巧阐述加密算法的过程和原理。本文...转载 2020-03-18 23:02:44 · 739 阅读 · 0 评论 -
双线性群简介与基本运算
现在密码学实现基本只使用Type A和Type A1的。前者为对称质数阶双线性群,后者为合数阶对称双线性群。本博客也只在这两类曲线上实验。其他类曲线的实现类似转载 2020-03-18 21:51:18 · 10236 阅读 · 4 评论 -
合数阶对称双线性群对应的椭圆曲线Type a1初始化方法
在jPBC中,双线性群的使用都是通过叫做Pairing的对象来实现的。双线性群的初始化在jPBC中就是对Pairing对象的初始化。双线性群有两种初始化的方法。第一种是通过代码动态产生一个双线性群,第二种是从文件中读取参数而产生群。通过代码动态产生Type A1曲线需要二个参数:numPrime是阶数N中有几个质数因子;qBit是每个质数因子的比特长度。注意,Type A1涉及到的阶数很大,其...原创 2020-03-18 15:07:26 · 1998 阅读 · 25 评论 -
Schnorr协议:非交互零知识身份证明和数字签名
本文首发公众号VenusBlockChain,VenusBlockChain致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。欢迎关注公众号VenusBlockChain。摘要:本篇文章介绍Schnorr的两大应用场景:从交互式零知识身份证明到非交互零知识身份证明、数字签名实现基本原理、菲亚特-沙米尔(Fiat-Shamir)变换。1.Schnorr简介Sch...原创 2020-03-14 22:16:00 · 5370 阅读 · 2 评论 -
代理重加密(Proxy Re-Encryption)技术原理和Java代码实现
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2020-03-13 22:24:05 · 13797 阅读 · 15 评论 -
拉格朗日插值法
1. 拉格朗日插值法简介在数值分析中,拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日命名的一种多项式插值方法。许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解。如对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。这样的多项式称为拉格朗日(插值)多项式。数学上来说,拉格朗...原创 2020-03-12 22:38:27 · 11548 阅读 · 2 评论 -
门限密钥共享技术原理
门限密钥共享技术(Threshold Key SharingScheme)解决的是密钥安全管理问题。现代密码学体制的设计是使得密码体制的安全性取决于密钥安全,密钥的泄露就意味着体制失去了安全性,因此密钥管理在密码体制的安全性研究和设计中占有重要的地位。特别是多方利益体共同管理一个账户时,账户的密钥如何可信安全的分配给多方参与者就变得非常棘手。针对这一问题,以色列密码学家Shamir提出了Sha...原创 2020-03-12 21:21:30 · 2376 阅读 · 0 评论 -
基于属性加密方案(CP-ABE,KP-ABE)
1.背景区块链典型的一个应用场景是资源共享,而在实际应用中,很多参与者的数据很涉及机密,数据所有者并不乐意把自己的数据公开出来。数据明文在链上存证后,虽然共享给其他人,但是数据被所有的人都能查看,不存在一点私密性。如果数据所有者将数据使用自己的秘钥加密后在链上存证后,能实现数据的隐私保护,但是不能安全的共享给他人。比如在金融领域,数据上链可以提高数据本身的安全性,也有利于监管机构从区块链中...原创 2020-03-11 12:01:48 · 26889 阅读 · 17 评论 -
智能合约隐私保护技术之同态加密
1.同态加密简介1.1.定义同态加密(Homomorphic Encryption)是一种特殊的加密方法,允许对密文进行处理得到仍然是加密的结果。即对密文直接进行处理,跟对明文进行处理后再对处理结果加密,得到的结果相同。从抽象代数的角度讲,保持了同态性。同态加密是基于数学难题的计算复杂性理论的密码学技术,它的概念可以简单的解释为:对经过同态加密的数据进行密文运算处理得到一个输出,这一输出解密...原创 2020-03-09 22:35:53 · 5682 阅读 · 4 评论 -
SHA与PBKDF2加密的实现与应用
哈希算法并不是一种加密算法。不能对用户信息的保护。因为哈希算法是单向的,可以将任何大小的数据转化为定长的“指纹”,而且无法被反向计算。但Hash算法常用于对口令的保存上。另外,即使数据源只改动了一丁点,哈希的结果也会完全不同。这样的特性使得它非常适合用于保存密码,因为我们需要加密后的密码无法被解密,同时也能保证正确校验每个用户的密码。例如,用户登录网站需要通过用户名和密码来进行验证。如果网...原创 2018-12-10 18:16:32 · 2324 阅读 · 0 评论 -
数字证书格式转换:.key和.crt转换成.pem格式
.key 转换成 .pem:openssl rsa -in temp.key -out temp.pem.crt 转换成 .pem:openssl x509 -in tmp.crt -out tmp.pem原创 2018-12-06 18:13:59 · 32677 阅读 · 2 评论 -
JAVA安全:3DES
1、安全加密算法3DES,三重数据加密,且可以逆推的一种算法方案。2、3DES加密算法的原理介绍对称加密算法DES、3DES原理和实现方式:https://my.oschina.net/zchuanzhao/blog/5258983、3DES加密过程https://baike.baidu.com/item/3DES/6368161?fr=aladdin4、3DES生成秘钥这里特别要注意:K1、K2...原创 2018-04-17 18:30:45 · 358 阅读 · 0 评论