
密码学
文章平均质量分 88
介绍对称加密、非对称加密、hash算法、零知识证明原理
跨链技术践行者
区块链研究员
展开
-
密码学-学习笔记
密码学笔记凯撒密码最早的密码实例之一是凯撒密码。尤里乌斯.凯撒(Julius Caesar)在其作品《高卢战记》中首先介绍。密码中从A到W的每个字母在加密时用字母表中位于其后三位的那个字母代替,字母X,Y,Z则分别被替换成A,B,C。凯撒对字母进行了3移位,但从1到25中的任意数的移位都能产生类似的效果。任一种移位现在通常都被视为使用了凯撒密码。外面的环可以自由转动。如果从外环...原创 2019-05-17 09:28:19 · 9400 阅读 · 0 评论 -
RSA算法详解
数论,数学中的皇冠,最纯粹的数学。早在古希腊时代,人们就开始痴迷地研究数字,沉浸于这个几乎没有任何实用价值的思维游戏中。直到计 算机诞生之后,几千年来的数论研究成果突然有了实际的应用,这个过程可以说是最为激动人心的数学话题之一。最近我在《程序员》杂志上连载了《跨越千年的 RSA 算法》,但受篇幅限制,只有一万字左右的内容。其实,从数论到 RSA 算法,里面的数学之美哪里是一万字能扯完的?在写作的...原创 2019-05-16 18:27:26 · 12791 阅读 · 0 评论 -
SIFT算法详解
1、SIFT综述尺度不变特征转换(Scale-invariantfeaturetransform或SIFT)是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由DavidLowe在1999年所发表,2004年完善总结。其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比...原创 2019-05-16 18:25:51 · 8746 阅读 · 0 评论 -
群签名,环签名,盲签名,数字签名
数字签名类似在纸质合同上签名确认合同内容,数字签名用于证实某数字内容的完整性(integrity)和来源(或不可抵赖,non-repudiation)。实际应用中,由于直接对原消息进行签名有安全性问题,而且原消息往往比较大,直接使用RSA算法进行签名速度会比较慢,所以我们一般对消息计算其摘要(使用SHA-256等安全的摘要算法),然后对摘要进行签名。只要使用的摘要算法是安全的(MD5、SH...原创 2019-05-16 18:20:43 · 11828 阅读 · 0 评论 -
详解数字签名的定义
所谓“数字签名”,就是通过某种密码运算,生成一系列符号和代码,这些符号和代号组成电子密码来进行签名,代替书写签名或印章。它采用了规范的程序和科学的方法,用于鉴定签名人的身份,以及对一项电子数据内容的认可。它还能验证文件的原文在传输过程中有无变动,从而确保传输电子文件的完整性、真实性和不可抵赖性。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签...原创 2019-05-16 18:19:32 · 12963 阅读 · 0 评论 -
安全协议考试重点
前言这是一篇水文,全是为了9号安全协议的考试基础概念破解算法的种类1.完全破解2.全部推导3.实例破解4.信息推导协议的特性1.各方必须了解协议2.各方必须一致遵守。3.协议必须明确4.协议必须完整安全协议的种类1.仲裁协议:涉及可信第三方2.判决协议:可信第三方,事后可做判决3.自执行协议:没有可信第三方协议攻击手段1.密码攻击:针对协议中...原创 2019-05-16 18:13:16 · 10111 阅读 · 1 评论 -
多重加密里,用M个秘钥加密的信息只需要N个秘钥就可以解密(M>N),这里面的原理是什么?
Threshold ElGamal Cryptosystem 门限EIGamal 加密详解以下第三部分Shamir's (k,n)-threshold scheme是核心1.EIGamal 加密详解ElGamal加密算法 | 夏冰加密软件技术博客2.拉格朗日插值公式详细解释和证明链接:http://www.cnblogs.com/ECJTUACM-873284962/p/6...原创 2019-05-16 18:11:00 · 12480 阅读 · 0 评论 -
BLS 签名和基于 BLS 签名的门限签名
在区块链的整个体系中大量使用了密码学算法,密码学是保证区块链安全的基石,而区块链的广泛应用也推进了密码学的发展。2003 年 Boneh 和 Franklin 提出了身份基加密,从此基于双线性映射的密码学算法走向了人们的视野,并且成为了密码学新兴的研究方向。今天我们要学习的 BLS 签名算法是基于双线性映射构造的,阅读本文将带领你步入基于双线性映射的密码学算法的大门。2003 年 Bone...原创 2019-05-16 18:09:35 · 11076 阅读 · 1 评论 -
关于钱包的基础密码学
通过区块链,人类历史上首次通过技术彻底、纯粹地保障「私有财产神圣不可侵犯」。让人沉思,让人兴奋的一段话。可在这背后的基础技术「密码学」是如何工作,以及保障数字资产的安全呢?无论你是爱好者亦或投资客,应该需要多少了解背后的原理,免得误解,轻则闹笑话,重则损失资产。因为我们总会听到一些鬼扯的故事(帮我找回密码吧!私钥发到群里了诶!),皆是由于对钱包本质的不了解。本文仅谈论钱包原型涉及的相...原创 2019-05-16 17:55:21 · 10652 阅读 · 0 评论 -
八数码问题的A*算法求解
A*算法是启发式搜素算法中较为出名和高效的算法之一,其关键是对于启发式函数的实际,启发式函数h(x)需要尽可能的接近实际的h(x)∗h(x)∗。下面是人工智能八数码问题使用A*算法求解的源码放在博客上记录一下。程序使用放错位置的棋子的个数作为启发式函数。#include <iostream> #include <vector> #include <queue&g...原创 2019-05-16 17:51:33 · 11414 阅读 · 0 评论 -
古典密码
密码学的阶段划分 密码学的发展按照其对算法和秘钥的保密程度大致可以分为如下三个阶段。古典密码阶段(1949年前) 在这个阶段算法和秘钥都是保密的,秘钥空间较小,信息的安全性主要依赖于对于加密和解密算法的保密。 对称密码阶段(1949-1975年) 在这之后就进入到了现代密码学的阶段,和古典密码阶段的主要区别在于这个阶段的加密和解密算法无需保密,信息的安全性主要依赖于对秘钥的保密。需要解...原创 2019-05-16 17:50:38 · 12250 阅读 · 0 评论 -
【转】现代密码学-原理与协议(一)
阅读《现代密码学-原理与协议》的笔记。需要的知识个人认为至少概率论是必须的,以及一定的编码能力。对称密钥加密密钥空间:密钥产生函数输出的可能的密钥称为密钥空间。加密算法可以通过明确三个算法(Gen, Enc, Dec)和明文空间来完全定义。攻击场景:唯密文攻击,已知明文攻击,选择明文攻击,选择密文攻击古典加密术凯撒加密这个非常简单,即移动四位,Enc(A...原创 2019-05-16 17:47:04 · 12516 阅读 · 0 评论 -
【转】对NuCypher的UMBRAL的一些思考
既然是随笔,就不展开写了。直接贴一个图先。这个项目实现的是去中心化密钥管理。Alice有私钥,公钥是,A有一段明文m,首先被Alice随机产生的对称密钥K加密后形成密文x, 放在某处(可以是不同的云服务商,也可以是IPFS等,这个不重要,只要要用的时候保证别人可以拿到就可以),然后剩下要解决的事情是如何把这个对称密钥K给到用公钥标识的接收方Bob...原创 2019-05-16 17:40:44 · 11042 阅读 · 0 评论 -
代理重加密与非对称加密方案对比-NuCypher
背景上个月写了一篇《代理重加密和大火的NuCypher》,引发了一些讨论。https://bihu.com/article/1754593817朱立老师对此做出了回应,经过数轮辩论,得出了一些共识。https://www.jianshu.com/p/4c96caf5a984结合NuCypher的工程师John Pacific的AMA,澄清了部分事实。https://www....原创 2019-05-16 17:38:14 · 12771 阅读 · 2 评论 -
对话 NuCypher:如何安全地存储、共享和管理链上私人数据
全球视角,独到见解前言Unitimes AMA(Ask Me Anything)是 Unitimes 重点打造的微信群线上问答系列活动,每周举办一期。我们邀请发展较成熟的区块链项目的创始人、CEO、CTO或核心开发者等嘉宾做客社群,与群成员就该项目的突出技术亮点以及用例等进行高质量互动问答,旨在学习交流区块链最新技术和应用。期数:第26期特邀项目:NuC...原创 2019-05-16 17:36:59 · 11653 阅读 · 0 评论 -
代理重加密和大火的NuCypher
近来,很多人问起我知不知道代理重加密,或知不知道NuCypher(音:妞塞福呃),在朋友圈也看到有朋友分享或评论相关内容。彭博社的一篇文章把NuCypher和PolkaDot、Cosmos以及Nervos并列,称为四大区块链技术,这可能是引起广泛关注的原因。作为密码学研究人员和从业者,我非常开心,但也发现许多人对这项技术一知半解,错误解读,故发此文解释代理重加密以及我对NuCypher的理解。...原创 2019-10-09 11:04:42 · 15056 阅读 · 1 评论 -
密钥分享Secret Sharing介绍
上一篇文章介绍了混淆电路(Garbled Circuit),参与双方通过传输加密电路实现安全计算。理论上各种计算都可以用这种方法实现。对于各种纯粹由位运算(就是AND、OR、XOR这些)组成的算法(如比较操作或AES加密),GC效率是比较高的。但有一个问题是,即便一些常见的算术操作(如乘法、乘方等),电路也非常复杂,这意味着很多常见算法GC应付起来都很吃力。比如下面是两位整数的乘法电路,我们平时用...原创 2019-05-16 16:48:17 · 17707 阅读 · 4 评论 -
混淆电路Garbled Circuit介绍
混淆电路(Garbled Circuit)这个可得好好写写,一则这玩意儿确实有点抽象,每次说半天都未必能对一个程序猿讲明白,毕竟一堆只发乱码的参与者,怎么就得到了计算结果呢?然而密码学方法已经决定了,确实可以这么做。先明确一下混淆电路解决的是什么问题。通俗的说,就是一堆人各自拥有其隐私数据,他们想把这些数据合起来算点什么,但又不想把数据交给别人,混淆电路解决的就是此类问题。我们先来考虑一个经典...转载 2019-05-16 16:47:26 · 17589 阅读 · 7 评论 -
差分隐私Differential Privacy介绍
差分隐私,英文名为differential privacy,顾名思义,保护的是数据源中一点微小的改动导致的隐私泄露问题。比如有一群人出去聚餐,那么其中某人是否是单身狗就属于差分隐私。为了更形式化地描述差分隐私,我们需要先定义相邻数据集。现给定两个数据集D和D’, 若它们有且仅有一条数据不一样,那我们就称此二者为相邻数据集。以上面数据集为例:假定有个人,他们是否是单身狗,形成一个集合(其...原创 2019-05-16 16:46:42 · 14245 阅读 · 0 评论 -
安全计算实现方法概览
安全计算这个领域虽然很小众,但其实理论界很早就开始关注它了。研究计算理论的学者们四十多年当中已经提出了很多种实现安全计算的方法。总的来说,大致可归为两类:一类是基于噪音的,另一类不是基于噪音的。当然也有人认为基于噪音的不应算在安全计算当中,但这就纯粹是抠字眼的文字游戏了,我们这里先不管这些,为方便以后的叙述,暂且把“保护数据隐私的多方计算方法”都归入到安全计算当中。基于噪音的安全计算方法,最主...原创 2019-05-16 16:45:45 · 11464 阅读 · 0 评论 -
安全计算初探
为什么要选择安全计算?安全计算的作用就是让人们在保护数据隐私完成计算任务。在数据爆炸的今天,在网络用户毫无隐私地赤裸裸地暴露在网络服务提供者面前的今天,在个人隐私在网上被当成商品买卖的今天,在国家立法保护数据隐私的今天,在用户隐私意识觉醒的今天,人们对于隐私保护的强烈需求必将带来下一波技术浪潮。好了,这一节就说这么多。什么是安全计算?安全计算对绝大多数人来说是一个陌生的领域,即使对...原创 2019-05-16 16:44:30 · 11244 阅读 · 1 评论 -
Shamir密钥分享算法简析
简述秘密共享技术是密码学和信息安全的一个重要研究内容,ShamirShamir密钥分享算法最早是由ShamirShamir和BlacklyBlackly在1970年基于LagrangeLagrange插值和矢量方法提出的,其基本思想是分发者通过秘密多项式,将秘密ss分解为nn个秘密分发个持有者,其中任意不少于kk个秘密均能恢复密文,而任意少于kk个秘密均无法得到密文的任何信息。实际应用...原创 2019-05-16 16:30:50 · 22866 阅读 · 0 评论 -
《图解密码技术》
本文来自《图解密码技术》一书:下载地址基本概念信源、信宿、信道 加密、解密、密钥 对称密码、公钥密码、混合密码 单向散列(hash)函数、信息认证 数字签名 / 篡改和否认 伪随机数信息传递时面临的风险:窃听 -> 对称、公钥密码 篡改 -> 散列函数、消息认证、数字签名 伪装 -> 消息认证、数字签名 否认 -> 数字签名有悖常识的几点:...原创 2019-05-16 15:07:46 · 9346 阅读 · 0 评论 -
数字签名是什么?
它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。====================================================数...原创 2019-05-16 14:41:55 · 7859 阅读 · 0 评论 -
ECC椭圆曲线详解(有具体实例)
前言ECC英文全称"Ellipse Curve Cryptography"与传统的基于大质数因子分解困难性的加密方法不同,ECC通过椭圆曲线方程式的性质产生密钥ECC164位的密钥产生一个安全级,相当于RSA 1024位密钥提供的保密强度,而且计算量较小,处理速度更快,存储空间和传输带宽占用较少。目前我国居民二代身份证正在使用 256 位的椭圆曲线密码,虚拟货币比特币也选择ECC作为加...原创 2019-05-16 14:35:02 · 8687 阅读 · 0 评论 -
椭圆曲线加密算法
椭圆曲线密码学(Elliptic curve cryptography),简称ECC,是一种建立公开密钥加密的算法,也就是非对称加密。类似的还有RSA,ElGamal算法等。ECC被公认为在给定密钥长度下最安全的加密算法。比特币中的公私钥生成以及签名算法ECDSA都是基于ECC的。下面简单介绍ECC以及ECDSA的原理。从公钥加密说起 公钥加密,也称非对称加密。可以说它现在是现代网络...原创 2019-05-16 14:33:16 · 12746 阅读 · 0 评论 -
椭圆曲线加解密
椭圆曲线加密算法,即:Elliptic Curve Cryptography,简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全。据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密。椭圆曲线在密码学中的使用,是1985年由Neal Koblitz和Vi...原创 2019-05-16 14:17:41 · 8532 阅读 · 0 评论 -
椭圆曲线算法:入门(1)
很多人都听说过加密算法,包括ECC、ECDH或者ECDSA。ECC是Elliptic Curve Cryptography的缩写,就是椭圆加密算法,ECDH和ECDSA是ECC的不同实现。椭圆加密算法的应用范围很广,主要的三个技术 TLS、PGP以及SSH 都在使用它,更别提比特币以及其他加密数字货币了。在椭圆加密算法流行之前,绝大多数的公钥加密算法都是基于RSA、DSA以及DH这些基于模...原创 2019-05-16 10:49:04 · 7980 阅读 · 0 评论 -
什么是非对称加密?非对称加密算法介绍
非对称加密,与对称加密的算法是有所不同的,非对称加密算法需要两个密钥,即公开密钥和私有密钥,非对称加密算法在加密和解密过程使用了不同的密钥,非对称密钥也称为公钥加密,在密钥对中,其中一个密钥是对外公开的,所有人都可以获取,称为公钥;另外一个密钥是不公开的,称为私钥。加密算法一般分为对称加密和非对称加密,非对称加密是指为满足安全性需求和所有权验证需求而集成到区块链中的加密技术。非对称加密通常在加...原创 2019-05-15 18:36:45 · 18894 阅读 · 0 评论 -
Umbral:新型分散式密钥管理系统的代理重加密方案
前言现在,我们非常高兴地宣布,我们在定义(https://github.com/nucypher/umbral-doc/blob/master/umbral-doc.pdf)和实现(https://github.com/nucypher/pyUmbral)Umbral的过程中已经到达了一个重要的里程碑。Umbral是一个门限代理(Threshold Proxy)重加密方案,可以在NuC...原创 2019-05-15 09:19:33 · 13681 阅读 · 0 评论 -
详解 MimbleWimble 协议
“Mimblewimble 能够阻止你的对手准确地施展下一个法术。”—Gilderoy Lockhart[src]在密码学研究领域中,MimbleWimble 受到的关注可谓世所罕见。它的名字来源于“哈利波特”结舌咒中的一种能够阻止被施咒者谈论某一话题的咒语。MimbleWimble 是一种能够提高用户隐私以及可扩展性的新型协议。2016 年 8 月 1 日,化名作者 Tom ...原创 2019-05-14 09:34:05 · 16035 阅读 · 0 评论 -
基于哈希函数的签名
回首近几年,我有幸经历了两个相互冲突、却又令人着迷的时代潮流变迁。第一个潮流变迁是:专家学者们耗费四十年设计的密码学,终于派上用场;从信息加密、电话安全、到加密数字货币,我们可以在生活的方方面面发现使用密码学的例子。第二个潮流变迁是:所有密码学家已经做好准备,迎接以上美好的幻灭。正文开始之前我得重申一下,本文所讲的不是所谓量子计算启示录(末日预言),也不是要讲 21 世纪密码学的成功。我们...原创 2019-05-13 18:28:28 · 10690 阅读 · 0 评论 -
零知识证明: 抛砖引玉
当今密码学世界中最酷炫的一件事,莫过于那些优美又神秘的专有名词。我们可以自由的以这些术语给朋克乐队或Tumbirs博客起名字,像是“硬核谓词(hard-core predicate)”、“陷门函数(trapdoor function)”,或“不可差分密码分析(impossible differential cryptanalysis)”等热词都受到追捧。 当然,我今天要提到的这个术语热度绝不亚...原创 2019-05-12 08:25:00 · 14772 阅读 · 0 评论 -
【转】什么是加密经济学
什么是加密经济学(cryptoeconomics)?以太坊社区开发者Vlad Zamfir解释道:“这是一门独立的学科,旨在研究去中心化数字经济学中的协议,这些协议被用于管理商品及服务的生产、分配和消费。它也是一门实用科学,重点研究对这些协议的设计和界定方法。”区块链技术是运行在加密经济学理论基础之上的。我们不妨将此概念分解一下。加密经济学(Cryptoeconomics)来源...原创 2019-05-12 07:35:28 · 11116 阅读 · 0 评论 -
怎么在区块链上保护隐私?
Vitalik作了《怎么在区块链上保护隐私》的演讲,谈到了区块链上四种主要的保护隐私的手段,包括环签名和零知识证明。来看看吧。)...原创 2019-05-11 17:24:28 · 9397 阅读 · 0 评论 -
【转】密码经济学: 区块链技术前景之路基
如果你不能乐在其中,那就没有意义了。——“约翰·纳什”,《美丽心灵》(2001)浏览现下的关于区块链的文章,你将看到关于其应用的有益的讨论,以及,关于某些人最喜爱的加密货币的未来价格走势的无穷无尽的争论。但在所有这些主题中,人们仍然很少提及居于这场运动核心的最迷人的概念——区块链作为一样新奇事物,意味着以物质激励我们所期望的人类行为。从许多方面来说,区块链技术的神奇之处在于,它使我们可...原创 2019-05-11 17:08:10 · 11617 阅读 · 0 评论 -
区块链匿名技术
2.1 DarkcoinDarkcoin使用的匿名技术是:Darksend引入了Coinjoin分布式混币服务。Coinjoin的混币,分析者有可能通过输入地址的金额和输出地址的金额对比,分析出混币的输入和输出地址对。另外Darksend不开源,有纪录混币历史的可能性;而暗网币的环签名则是块链上的混币服务,这种混币具有相同金额的输入,并且使用了多个别人的公钥,只知道是从这一群人中的一个发送...原创 2019-05-10 10:55:51 · 11586 阅读 · 0 评论 -
区块链基础:散列法 (Hashing)
灯泡,比特(bits)与字节(bytes)你可能知道计算机中所有的数据都是由0或1组成的,最小的数据单位就是一个比特(bit,或位),它也是0或者1。想象一下,一台计算机拥有着很多的灯泡,而这个灯泡的状态有两种,亮(1)或者灭(0)。而不同的数据,由灯泡显示的图案也是不同的。大数据如视频,就使用了相当多的灯泡,而一个简短的电子邮件,其所需要的灯泡就较少。一个单一的灯泡代表着一个比特。另外,你可...原创 2019-05-10 10:49:05 · 11585 阅读 · 0 评论 -
密码学朋克宣言(1993)
隐私权是一个社会在数字时代维持其开放性的必要条件。隐私权不等于守密权(secrecy)。隐私是你不想公开给全世界知道的事情,而秘密是你不想让任何别人知道的事情;换言之,隐私关乎的是选择性自我呈现的权力。(信息被拿出来讨论是无可阻止的事。)如果两方达成了某种协议,那么每一方都会有他们自己对这场互动的印象,他们还可言说这种印象;谁能不让他们说话呢?有人说可以诉诸法律,但是,言论自由比隐私权更为...原创 2019-05-10 10:36:16 · 12317 阅读 · 0 评论 -
区块链替代签名方案优劣势对比,Schnorr签名最适合比特
区块链替代签名方案优劣势对比,Schnorr签名最适合比特币加密货币本身并不支持多重签名。其中m-of-n的签名者需授权一笔交易。我们不需要审判,因为也许我们只设计了一把私钥[0]。但这不是我们想要生活的世界,因为谁都不想因为错误的智能合约或丢失的私匙,而损失数百万美元。今天,我们将研究各种适用于UTXO和帐户模型的交易签名多重签名方案。请注意,一些方案仍在被积极研究当中,并且会有多种具有...原创 2019-10-09 11:28:26 · 11634 阅读 · 3 评论