帅逼码农
密码学专业phd
展开
-
密码学系列7-变幻多端的安全性证明
验证者验证签名合法性的时候,只能确定签名者属于这个用户集合,但是不能确定具体是谁一个人签的。前几篇文章给出的安全性证明基本沿用了系列2中的安全性模型。IBE中用户的公钥是身份ID(比如身份证号,学号,工号等),而私钥需要利用ID进行问询获得。显然不能,用户的公钥是和身份ID捆绑起来的。本章给出两个安全性证明的例子,让读者感受如何定义安全需求并设计安全性证明。的私钥(得到就能解密了),那么他能问询其他ID的私钥吗?2.考虑环签名的匿名性,需要实现签名者的匿名。1.作为签名方案,需要实现签名的不可伪造性。原创 2024-04-24 09:46:38 · 252 阅读 · 0 评论 -
密码学系列6-随机预言机模型和标准模型
因为哈希函数的输出应该是随机的,而我们却控制了他的输出。并且存在在随机预言机下模型下证明了安全性的方案,现实中却被证明不安全。但是标准模型下的方案更具现实意义,所以读者阅读论文时,会发现有的工作便是将随机预言机模型下安全的方案改为标准模型下安全的方案。随机预言机模型通常是现实中哈希函数的理想化的替身。对相同的输入,有相同的输出。而在现实构造中,我们只能做到伪随机,而无法构造真正的均匀随机的输出。在安全性证明中,挑战者通常会对哈希函数的输出进行设定,从而达到一些目的。次输出,按我们的需求进行了设定。原创 2024-04-24 09:45:15 · 784 阅读 · 0 评论 -
密码学系列5-BLS短签名和存在不可伪造性(EUF-CMA)
这个方案是很多签名方案的基础方案,学会这一个方案,也就学会了这一系列方案的安全性证明。从这个方案,大家应该能感受到为什么会强调敌手进行多项式有界次数问询了。敌手伪造签名的时候,他也会对要伪造签名的那个消息进行哈希问询。最后,看完系列4和系列5后,大家注意区分两个方案对哈希函数是如何处理的,是不是感觉很神奇。如果存在敌手伪造BLS签名,那么我们可以构造算法求解CDH问题。2.如果敌手对消息m发起签名问询,那他一定先对m进行过哈希问询。BLS签名是一个确定性签名,签名过程没有使用随机数。原创 2024-04-23 11:03:38 · 816 阅读 · 2 评论 -
密码学系列4-选择密文安全,同态加密安全性
本章将介绍Cramer-Shoup加密方案,并证明其安全性。如果存在敌手能攻破Cramer-Shoup加密方案,那么就能构造算法求解DDH问题。同理还有加法同态(如RSA),同时实现乘法和加法的全同态。解密问询,挑战者有对应私钥,它可以按照正常算法进行解密。最后,讨论以下同态加密是否能够实现IND-CCA2安全?思考,具有这种性质的方案能否实现IND-CCA2?提醒IND-CCA1,思考为什么CCA1就可以呢?同阶段一,只是不能对挑战密文进行问询。,挑战者输出1,否则输出0。后,它可以自己生成一个消息。原创 2024-04-23 11:02:40 · 1176 阅读 · 3 评论 -
密码学系列0-总述
2.密码学常用困难性问题:CDH,DDH,DLP,BDH等。然后讨论问非对称,对称双线性配对上困难性问题。3.介绍了密码学中常用的安全性模型:IND-CPA,IND-CCA1,(selective,adaptive) IND-CCA2,EUF-CMA。并且在每一篇文章中,给读者一些思考,从浅入深一步步学会可证明安全。4.介绍了Elgamal加密,并证明了其IND-CPA安全。5.介绍了BLS短签名,并分析了方案的EUF-CMA安全。通过这一系列文章,帮助读者能快速入门密码学安全性证明。原创 2024-04-22 19:45:24 · 332 阅读 · 1 评论 -
密码学系列3-Elgamal加密及其IND-CPA安全性证明
但这没有任何影响,敌手本身就只能知道公钥,他并没有能力知道挑战者是否知道对应的私钥。所以上述整个游戏就是一个模拟实验,敌手无法区分挑战者运行的是这个模拟实验,还是真正的按照第一节的算法构造的实验(挑战者知道私钥…为什么合起来的时候有1/2:因为T既可能是随机的也可能是g^{ab},这两种情况概率为1/2。能够攻破Elgamal加密方案,那么挑战者利用敌手的能力构建下面游戏,来求解困难性问题DDH。就是挑战者选的随机数,虽然挑战者自己也不知道。),否则挑战者输出0,作为DDH的回答。原创 2024-04-22 19:38:59 · 498 阅读 · 1 评论 -
密码学系列2-安全模型(CPA,CCA,selective,adaptive)
本章介绍了安全模型中的CPA,selective/adaptive CCA, EUF-CMA。原创 2024-04-22 19:36:44 · 730 阅读 · 0 评论 -
密码学系列1-安全规约
本篇介绍了安全性规约的概念,双线性映射,常见困难性问题(离散对数,CDH,DDH,BDH)。一、大家初看密码方案的时候,一定迷惑于为什么论文用大篇幅进行安全性证明。为什么需要证明安全性呢?比如一个加密方案,若定义安全性为敌手得不到完整密文,那么敌手就很有可能有能力得到部分密文。而安全的加密方案应该使得敌手得不到任何有用的消息。利用安全性规约,我们能够很优雅、规范、严谨地证明我们方案能够达到的安全性。二、通常是将我们的方案归约到某一个公认的困难性问题上(如离散对数等).证明思路是如果存在算法攻破我们原创 2024-04-22 19:35:36 · 394 阅读 · 0 评论