
密码学
文章平均质量分 72
密码猿
密码学专业phd candidate
展开
-
Fujisaki-Okamoto转换(FO转换)
1、非对称加密是一个概率性算法,加密时输入公钥,消息和随机数生成密文。2、对称加密是一个确定性加密。加密时输入消息和公钥,生成对应的密文。原创 2024-12-08 09:51:12 · 1211 阅读 · 0 评论 -
NIZK零知识证明-Groth10-Short Pairing-based Non-interactive Zero-Knowledge Arguments(五)
读者可以尝试一下进行推导,论文还有常数长度的方案改进,感兴趣的读者可以去阅读原文,我就不再继续更新了。分别计算下面两个pairing,出现了我们期望的部分。但是他们还包含很多杂项。有需要论文知道、审稿,申博资料准备,答辩等的可以私信。因此prover产生argument。原创 2024-11-13 19:13:45 · 203 阅读 · 0 评论 -
NIZK零知识证明-Groth10-Short Pairing-based Non-interactive Zero-Knowledge Arguments(四)
是秘密值的承诺,思路和前面文章的argument一样。有需要论文知道、审稿,申博资料准备,答辩等的可以私信。六、Product Argument 乘积证明。,我们需要给出证据argument (,那么多项式可以变成下图所示。不就是上一章里面公共字符串的划分嘛!),这些证据是关于承诺值并且要证明。有相同的系数,因此便能完成证明。给定三个承诺,三个承诺之间满足。最后,prover不仅需要证明。,来消除所有其他项,只留下。成立,他还需要证明他知道。,那么上述等式就只剩。来证明他知道秘密值。原创 2024-11-13 18:57:58 · 713 阅读 · 0 评论 -
NIZK零知识证明-Groth10-Short Pairing-based Non-interactive Zero-Knowledge Arguments(三)
有需要论文知道、审稿,申博资料准备,答辩等的可以私信;。原创 2024-11-13 17:44:27 · 1032 阅读 · 0 评论 -
NIZK零知识证明-Groth10-Short Pairing-based Non-interactive Zero-Knowledge Arguments(二)
有需要论文知道、审稿,申博资料准备,答辩等的可以私信零知识证明一见。输入pGGTeggx..gxqgβgβx...gβxj−1gβxj...gβxq,求解出gβxj的概率为0.原创 2024-11-12 20:42:05 · 869 阅读 · 0 评论 -
NIZK零知识证明-Groth10-Short Pairing-based Non-interactive Zero-Knowledge Arguments (一)
一句话来说,零知识证明就是想实现:证明者能向验证者证明它拥有某些知识,但是不想让验证者获得该知识。:只要证明者正确地知道某一statement,那么就能让验证者相信自己知道该statement。任何恶意证明者都不能以虚假statement欺骗验证者接受该statement。证明者在向验证者提供证明的过程中不泄漏任何除statement正确性之外的信息。:任何承诺方都不能将已有的承诺值 Open 成不同的内容,即接收方可以确信。为知识承诺,因为证明者在不“知道”所承诺的值的情况下,不能做出有效的承诺。原创 2024-11-12 19:42:32 · 1047 阅读 · 0 评论 -
Torus结构代码实现
所以dtot32(0.4)初始化Torus变量。原创 2024-07-23 07:42:02 · 425 阅读 · 0 评论 -
TFHE中的数据结构Torus
T满足加法交换群(阿贝尔群),乘法定义了外积(T中元素和整数群中元素做乘法)但未定义内积(T中元素做乘法)。反例:$a=2/5,b=4/5,c=1/3. $的集合(数模1运算)。具体见一下篇文章代码介绍。当我们值保留3位小数位数时。本文用T表示Torus。如果T是一个环,那么满足。,比特精度取64或32。\phi$是比特精度。原创 2024-07-23 07:40:34 · 774 阅读 · 0 评论 -
TFHE库示例代码
默认已经成功安装TFHE库,如果没安装可以看。原创 2024-07-22 11:56:10 · 1372 阅读 · 0 评论 -
TFHE示例代码注释
【代码】TFHE示例代码注释。原创 2024-07-22 11:55:34 · 194 阅读 · 0 评论 -
TFHE库,fftw和googletest库安装
3.主要会出现两个错误:没有fftw和googletest。本文主要关注于TFHE的安装与常见的问题。TFHE可能存在以下的报错,关注。原创 2024-07-20 09:33:23 · 504 阅读 · 0 评论 -
C++ versions less than C++14/11 are not supported.报错
TFHE报错C++ versions less than C++14 are not supported.3.打开CMAKELists.txt。4.在文件中添加以下两条命令。2.找到并进入src文件夹。安装TFHE遇见以下报错。1.进入TFHE文件夹。原创 2024-07-20 09:31:47 · 1242 阅读 · 0 评论 -
CKKS加密-编码解码
CKKS的创新点与难点在于数据编码。CKKS支持实数和负数的计算,能直接应用于机器学习中。三、文中采用坐标随机取整的方法,进行映射。同时为了保证数据精度,取整前会先对数据乘上。我们想做的就是将消息编码到明文空间中,将明文解码到消息空间。感觉我们已经完成了数据编码:收到。,因此CKKS的消息空间只在。那我们定义一个新的空间。,想求解出一个多项式。原创 2024-05-16 17:20:04 · 695 阅读 · 0 评论 -
RSA算法过程与正确性推导
介绍了基础算法RSA得完整运算过程并举实例运算原创 2022-07-09 12:21:08 · 750 阅读 · 1 评论 -
安全多方,同态加密科普
秘密共享:凑齐K个人,可以构造方程组,一共K个未知数,K个方程可以解得秘密D。不经意传输:所以协议交互后,发送者并不知道接收者是否接受了该信息。接收者确切知道自己是否接受数据,从而保护接受者的隐私。这个基础上上产生了变种模型:1-out-2等发送者发送m0,m1两个信息,bob发送thita=0或1.发送者得不到有效的信息,bob只能获得对应的信息。这是半诚实的,如果双方有人作假这个结果就不是可信的。混淆电路同态加密...原创 2021-03-21 21:09:27 · 61 阅读 · 1 评论 -
密码学二次剩余困难性问题The Quadratic Residuosity Problem
注:需要有密码学基础才能看懂,全文以N=21举例基础推导:假设模数N=p⋅qN=p\cdot qN=p⋅q 。p和q是两个不同的奇素数,N是一个Blum Integer(参考链接)。举例N=21(p=3,q=7).ZN∗Z_N^{*}ZN∗是他的简化剩余系。则ZN∗Z_N^{*}ZN∗含有(p−1)⋅(q−1)(p-1)\cdot (q-1)(p−1)⋅(q−1)个元素(原理:欧拉函数).N=21,ϕ(N)=2∗6=12,ZN∗={1,2,4,5,8,10,11,13,16,17,19,20}.N原创 2021-02-08 17:46:10 · 2605 阅读 · 0 评论 -
Blum Integer的定义及举例
定义:Blum Integer是一个半素数(半素数是指两个素数的乘积),设N是Blum Integer,N=P⋅QN=P\cdot QN=P⋅Q。且P和Q都是满足3=x(mod4)3=x(mod4)3=x(mod4)的,即P和Q均可表示为4t+3(t为整数)的形式4t+3(t为整数)的形式4t+3(t为整数)的形式注意:由于这两个因子都是半素数的条件,偶数不能是Blum整数,20以下的数也不能是Blum整数,当需要找Blum Integer时,我们只需要检查大于20的奇数整数是否是Blum整数。下面举原创 2021-02-06 11:12:31 · 1326 阅读 · 1 评论 -
CP-ABE公式推导笔记
推导公式M=C0⋅e(C2,D2)∖e(C1,D1)M=C0 \cdot e(C2,D2) \setminus e(C1,D1) M=C0⋅e(C2,D2)∖e(C1,D1)C0=M⋅ZsC0=M \cdot Z^{s} C0=M⋅ZsC1=gsC1=g^{s}C1=gsC2=(h0∏j∈S⋃Ωhj)sC2=(h0 \prod_{j \in S \bigcup \Omega}^{}h_j)^{s}C2=(h0j∈S⋃Ω∏hj)sD1=∏i∈A′⋃Ω(ai∏i∈S⋃Ω,j≠i(ci,j))Δi,原创 2021-01-27 18:33:13 · 1615 阅读 · 0 评论