- 博客(124)
- 资源 (2)
- 收藏
- 关注
原创 Java命令行运行找不到主类问题
最近项目里抽象的发现Java代码在点击IDEA的运行按钮可以运行,但是通过命令行启动就不行,报错找不到主类,md控制台可以成功,但是java函数里不行,出现类找不到的问题,很奇怪,遂寻找一下解决办法。于是尝试不用这么复杂的项目,新建了两个最简单的代码输出Hello World,一个选择Gradle,一个是IntelliJ,然后使用命令行去运行一下,果然前者不行,后者可以。另外需要注意的是,命令行运行的时候,可能还是会报错缺少某某类,这个就是缺少依赖包的问题,,排除了一些文件,然后复制运行时的依赖包到。
2024-06-06 15:12:21
482
原创 基于算术电路的全同态加密方案介绍
本文重点介绍目前最常用的第二代全同态加密方案的相关技术内容。目前主流的算术电路同态方案还是都是基于LWE和RLWE的,最常用的就是BGV、BFV和CKKS,三者各有千秋,但终归效率比较低,而且对于目前的FHE来说,Bootstrapping的开销很大,所以一般都还是用的LFHE方案。当然还有其他类型的同态加密方案,如基于布尔电路的以FHEW和TFHE为代表的方案,优点是能够运行任意的函数,能够快速的Bootstrapping,但也有相应的不足,它们对多项式打包很不友好。
2024-01-15 20:27:27
1620
2
原创 零知识证明(zk-SNARK)- groth16(二)
本部分就是将计算难题转换为多项式,然后使用zk-SNARK。(注:以下用 P,V 替代 Prover,Verifier)R1CS(Rank-1 Constraint System)是一种能够将算数电路统一成约束向量的方式,一组向量构成一组满足特定形式的式子。我们知道一般的计算可以拆解为 左操作数 操作符 右操作数 = 输出(如 a×b=ca\times b = ca×b=c)这样的格式,更复杂的计算则是由一系列简单的计算组合而成的。那么多个操作符应该如何如何表示呢?多个操作符就需要将其拆分成单个操作符组
2023-12-28 16:57:15
1820
1
原创 零知识证明(zk-SNARK)- groth16(一)
全称为 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,简洁非交互式零知识证明,简洁性使得运行该协议时,即便 statement 非常大,它的 proof 大小也仅有几百个bytes,并且验证一个 proof 的时间可以达到毫秒级别。这是一个通用的零知识证明协议,可以用作各种证明,如范围证明。
2023-12-28 16:56:38
1704
1
原创 零知识证明(Sigma和Flat-shamir)
定义:大概的定义就是prover可以向verifier证明自己给定的信息是大概率正确的,但是不泄露任何附加信息,包含信息本身。举例这里以一个比较经典的例子,即向红绿色盲(无法区分红色和绿色,看红色和绿色颜色差不多)证明两个小球(红球和绿球)的颜色是不同的。步骤如下,首先让视觉正常的prover,把两个球分别放在色盲验证者的两只手上并记住球的颜色和位置,接着让色盲把手背过去,自行决定是否要交换球的位置,然后双手握球向prover展示,最后prover给出结论是否交换过。
2023-06-27 19:44:02
2018
5
原创 BGW协议(算数共享)
BGW协议可以用于对域上包含加法、乘法、常数乘法门的算术电路求值,此协议强依赖Shamir秘密分享方案,利用其同态特性对各个秘密份额进行适当的处理,就可以在秘密值上进行安全计算。
2023-05-11 19:24:14
2215
原创 Fisco-Bcos的环境搭建及Data-Export导出组件的使用
注意:由于Data-Export组件暂时只支持Fisco-Bcos 2.x系列(这个也是目前使用最多最稳定的系列),故这里使用的是目前最新的Fisco-Bcos 2.x。
2023-03-03 16:54:04
1211
原创 CKKS同态加密方案初步学习
如论文标题所示,CKKS允许复数和实数运算,是一个近似精度计算的方案,也就是解密出来的明文和加密之前的明文不会完全一致。也就是采用丢失部分精度来换取较高的效率。CKKS的核心是把加密噪声视为近似计算误差的一部分,也就是解密出来的结果直接视为原始消息的近似值。将重要的消息放在MSB以防计算后数据被破坏,把误差放在LSB来保障安全性,如果误差噪声相比消息来说足够小,那么噪声就不会破坏消息,在加密之前,将消息乘以一个缩放因子扩大消息,这样就可以减少添加噪声带来的误差。由此,消息+噪声可以用来替代原消息。
2022-11-21 20:56:58
6433
3
原创 Bra12同态加密方案初步学习
Bra12方案,基于LWE,采用了最大比特编码,把消息编码到了高位,无需模交换,模数可以任意形式(只要满足大小,可以设置为2的幂次来简化运算),密钥分布没有限制。由于所有运算都是在整数上面,所以运算速度会比BGV慢,但是又因为更优秀的噪声控制,会使得电路深度更深。
2022-11-10 19:55:30
1363
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人