源码链接HEAAN 和 TestScheme
参数设置:

long logq = 1200; ///< Ciphertext Modulus
long logp = 30; ///< Real message will be quantized by multiplying 2^40
long logn = 5; ///< log2(The number of slots)
//for BOOTSTRAPPING的参数
logq = logp + 10; //< suppose the input ciphertext of bootstrapping has logq = logp + 10
logn = 3; //< larger logn will make bootstrapping tech much slower
long logT = 4; //< this means that we use Taylor approximation in [-1/T,1/T] with double angle fomula

CKKS方案是近似加密,所以会有误差
m~:是明文状态操作后的明文
d~:解密后对应的明文
e~:误差


wbq@wbq-virtual-machine:~/HEAAN/HEAAN/run$ ./TestHEAAN Encrypt
!!! START TEST ENCRYPT  !!!
(0.905108,0.77373)
------------------
Start Encrypt
Encrypt time = 6786.23 ms
------------------
------------------
Start Decrypt
(0.905108,0.77373)
Decrypt time = 4843.54 ms
------------------
---------------------
mval: 0 :(0.905108,0.77373)
dval: 0 :(0.905108,0.77373)
eval: 0 :(9.54722e-09,2.10989e-08)
---------------------
---------------------
mval: 1 :(0.884594,0.436554)
dval: 1 :(0.884594,0.436554)
eval: 1 :(2.29839e-08,-1.33663e-09)
---------------------
---------------------
mval: 2 :(0.900662,0.926169)
dval: 2 :(0.900662,0.926169)
eval: 2 :(-7.89836e-09,2.49191e-08)
---------------------
---------------------
mval: 3 :(0.429416,0.155729)
dval: 3 :(0.429416,0.155729)
eval: 3 :(6.16408e-09,-2.06931e-08)
---------------------
---------------------
mval: 4 :(0.971114,0.280396)
dval: 4 :(0.971114,0.280396)
eval: 4 :(7.12538e-09,1.83298e-09)
---------------------
---------------------
mval: 5 :(0.110709,0.283444)
dval: 5 :(0.110709,0.283444)
eval: 5 :(-4.85767e-09,-8.39832e-10)
---------------------
---------------------
mval: 6 :(0.301737,0.724401)
dval: 6 :(0.301737,0.724401)
eval: 6 :(1.10854e-08,-1.92714e-08)
---------------------
---------------------
mval: 7 :(0.0416053,0.90915)
dval: 7 :(0.0416053,0.90915)
eval: 7 :(-1.31762e-08,2.16793e-08)
---------------------
---------------------
mval: 8 :(0.296376,0.647107)
dval: 8 :(0.296376,0.647107)
eval: 8 :(-9.80958e-10,-3.26007e-09)
---------------------
---------------------
mval: 9 :(0.527041,0.49361)
dval: 9 :(0.527041,0.49361)
eval: 9 :(-7.52153e-09,-6.00595e-10)
---------------------
---------------------
mval: 10 :(0.451443,0.446055)
dval: 10 :(0.451443,0.446055)
eval: 10 :(4.59682e-09,-1.66303e-08)
---------------------
---------------------
mval: 11 :(0.246182,0.525222)
dval: 11 :(0.246182,0.525222)
eval: 11 :(6.71685e-09,4.24125e-09)
---------------------
---------------------
mval: 12 :(0.246637,0.00731704)
dval: 12 :(0.246637,0.00731704)
eval: 12 :(1.44638e-08,-5.64442e-09)
---------------------
---------------------
mval: 13 :(0.535889,0.174915)
dval: 13 :(0.535889,0.174915)
eval: 13 :(-4.03403e-09,8.15515e-09)
---------------------
---------------------
mval: 14 :(0.356687,0.961539)
dval: 14 :(0.356687,0.961539)
eval: 14 :(-2.12109e-09,-4.55996e-09)
---------------------
---------------------
mval: 15 :(0.771928,0.261795)
dval: 15 :(0.771928,0.261795)
eval: 15 :(1.484e-08,7.25332e-09)
---------------------
---------------------
mval: 16 :(0.735268,0.656522)
dval: 16 :(0.735268,0.656522)
eval: 16 :(-2.93754e-08,-1.89517e-09)
---------------------
---------------------
mval: 17 :(0.698349,0.63593)
dval: 17 :(0.698349,0.63593)
eval: 17 :(7.09196e-09,-8.09747e-09)
---------------------
---------------------
mval: 18 :(0.582691,0.127765)
dval: 18 :(0.582691,0.127765)
eval: 18 :(-6.85112e-09,-1.64243e-09)
---------------------
---------------------
mval: 19 :(0.79166,0.553805)
dval: 19 :(0.79166,0.553805)
eval: 19 :(-6.00393e-09,3.08089e-10)
---------------------
---------------------
mval: 20 :(0.40816,0.902369)
dval: 20 :(0.40816,0.902369)
eval: 20 :(5.89984e-09,1.15863e-08)
---------------------
---------------------
mval: 21 :(0.837248,0.709897)
dval: 21 :(0.837248,0.709897)
eval: 21 :(5.77075e-09,7.47392e-09)
---------------------
---------------------
mval: 22 :(0.62677,0.878854)
dval: 22 :(0.62677,0.878854)
eval: 22 :(-1.2808e-08,2.70682e-09)
---------------------
---------------------
mval: 23 :(0.619048,0.923145)
dval: 23 :(0.619048,0.923145)
eval: 23 :(-8.10594e-09,8.56099e-09)
---------------------
---------------------
mval: 24 :(0.525961,0.146088)
dval: 24 :(0.525961,0.146088)
eval: 24 :(9.15789e-09,-2.67378e-08)
---------------------
---------------------
mval: 25 :(0.416756,0.977404)
dval: 25 :(0.416756,0.977404)
eval: 25 :(-3.98517e-09,1.05761e-08)
---------------------
---------------------
mval: 26 :(0.592143,0.662937)
dval: 26 :(0.592143,0.662937)
eval: 26 :(2.23819e-09,7.97035e-09)
---------------------
---------------------
mval: 27 :(0.502625,0.83878)
dval: 27 :(0.502625,0.83878)
eval: 27 :(1.89559e-09,1.57022e-09)
---------------------
---------------------
mval: 28 :(0.670254,0.0385143)
dval: 28 :(0.670254,0.0385143)
eval: 28 :(1.32788e-10,-7.96772e-09)
---------------------
---------------------
mval: 29 :(0.0136953,0.0269412)
dval: 29 :(0.0136953,0.0269412)
eval: 29 :(7.04291e-09,-1.41965e-09)
---------------------
---------------------
mval: 30 :(5.29652e-05,0.785623)
dval: 30 :(5.29761e-05,0.785623)
eval: 30 :(-1.08478e-08,-1.26739e-09)
---------------------
---------------------
mval: 31 :(0.288736,0.735321)
dval: 31 :(0.288736,0.735321)
eval: 31 :(3.36782e-09,1.43445e-08)
---------------------
!!! END TEST ENCRYPT !!!
wbq@wbq-virtual-machine:~/HEAAN/HEAAN/run$ ./TestHEAAN EncryptSingle
!!! START TEST ENCRYPT SINGLE !!!
------------------
Start Encrypt Single
Encrypt Single time = 2426.15 ms
------------------
---------------------
mval:(0.408571,0.783406)
dval:(0.408571,0.783406)
eval:(1.90256e-10,1.29612e-09)
---------------------
!!! END TEST ENCRYPT SINGLE !!!
wbq@wbq-virtual-machine:~/HEAAN/HEAAN/run$ ./TestHEAAN Add
!!! START TEST ADD !!!
------------------
Start Addition
Addition time = 50.467 ms
------------------
---------------------
madd: 0 :(0.627182,0.335291)
dadd: 0 :(0.627182,0.335291)
eadd: 0 :(2.72341e-09,2.38829e-08)
---------------------
---------------------
madd: 1 :(1.26398,1.7842)
dadd: 1 :(1.26398,1.7842)
eadd: 1 :(-1.2642e-08,1.34724e-09)
---------------------
---------------------
madd: 2 :(1.45012,1.00555)
dadd: 2 :(1.45012,1.00555)
eadd: 2 :(-2.62894e-09,-4.70862e-09)
---------------------
---------------------
madd: 3 :(1.56914,1.11946)
dadd: 3 :(1.56914,1.11946)
eadd: 3 :(-2.79152e-09,-6.3589e-10)
---------------------
---------------------
madd: 4 :(0.916285,0.590416)
dadd: 4 :(0.916285,0.590416)
eadd: 4 :(-1.01484e-08,2.81991e-09)
---------------------
---------------------
madd: 5 :(0.698354,1.00006)
dadd: 5 :(0.698354,1.00006)
eadd: 5 :(-6.65398e-09,7.55103e-11)
---------------------
---------------------
madd: 6 :(0.295057,0.595552)
dadd: 6 :(0.295057,0.595552)
eadd: 6 :(-8.82663e-09,-1.75391e-08)
---------------------
---------------------
madd: 7 :(0.124898,1.1829)
dadd: 7 :(0.124898,1.1829)
eadd: 7 :(5.4454e-09,1.15276e-08)
---------------------
---------------------
madd: 8 :(0.50156,0.906725)
dadd: 8 :(0.50156,0.906725)
eadd: 8 :(1.7911e-09,3.2449e-08)
---------------------
---------------------
madd: 9 :(1.41845,0.851516)
dadd: 9 :(1.41845,0.851516)
eadd: 9 :(1.8863e-08,-6.10293e-09)
---------------------
---------------------
madd: 10 :(0.755831,1.07229)
dadd: 10 :(0.755831,1.07229)
eadd: 10 :(8.23164e-12,-1.27564e-08)
---------------------
---------------------
madd: 11 :(1.47203,1.277)
dadd: 11 :(1.47203,1.277)
eadd: 11 :(-7.10062e-09,-1.8019e-08)
---------------------
---------------------
madd: 12 :(1.31269,1.13417)
dadd: 12 :(1.31269,1.13417)
eadd: 12 :(-1.23918e-08,-2.23701e-08)
---------------------
---------------------
madd: 13 :(1.40232,1.10388)
dadd: 13 :(1.40232,1.10388)
eadd: 13 :(3.25262e-08,-1.96021e-08)
---------------------
---------------------
madd: 14 :(0.86007,1.26365)
dadd: 14 :(0.86007,1.26365)
eadd: 14 :(1.87368e-09,2.98026e-09)
---------------------
---------------------
madd: 15 :(0.983636,0.487251)
dadd: 15 :(0.983636,0.487251)
eadd: 15 :(8.26221e-09,-4.75473e-09)
---------------------
---------------------
madd: 16 :(1.59894,0.247611)
dadd: 16 :(1.59894,0.247611)
eadd: 16 :(1.16279e-08,-7.85082e-09)
---------------------
---------------------
madd: 17 :(1.27145,1.04906)
dadd: 17 :(1.27145,1.04906)
eadd: 17 :(-9.85592e-09,3.60852e-08)
---------------------
---------------------
madd: 18 :(1.25316,1.84059)
dadd: 18 :(1.25316,1.84059)
eadd: 18 :(1.81298e-08,-2.26975e-09)
---------------------
---------------------
madd: 19 :(1.16852,0.169446)
dadd: 19 :(1.16852,0.169446)
eadd: 19 :(2.22619e-08,-9.20415e-09)
---------------------
---------------------
madd: 20 :(1.43101,0.866875)
dadd: 20 :(1.43101,0.866875)
eadd: 20 :(1.71955e-08,-2.2261e-08)
---------------------
---------------------
madd: 21 :(0.169502,0.726064)
dadd: 21 :(0.169502,0.726064)
eadd: 21 :(2.76344e-08,2.01581e-08)
---------------------
---------------------
madd: 22 :(1.46243,0.2944)
dadd: 22 :(1.46243,0.2944)
eadd: 22 :(-1.39861e-08,1.42324e-08)
---------------------
---------------------
madd: 23 :(0.90896,0.963987)
dadd: 23 :(0.90896,0.963987)
eadd: 23 :(-2.31299e-09,2.38418e-08)
---------------------
---------------------
madd: 24 :(1.20112,0.327407)
dadd: 24 :(1.20112,0.327407)
eadd: 24 :(-1.77339e-08,3.64011e-08)
---------------------
---------------------
madd: 25 :(0.815503,0.956956)
dadd: 25 :(0.815503,0.956956)
eadd: 25 :(-3.31735e-08,-1.90599e-08)
---------------------
---------------------
madd: 26 :(0.3997,0.287531)
dadd: 26 :(0.3997,0.287531)
eadd: 26 :(2.29953e-08,-8.23864e-09)
---------------------
---------------------
madd: 27 :(1.23396,1.71239)
dadd: 27 :(1.23396,1.71239)
eadd: 27 :(4.68191e-09,-1.9466e-09)
---------------------
---------------------
madd: 28 :(0.421702,1.63628)
dadd: 28 :(0.421702,1.63628)
eadd: 28 :(-1.22909e-08,2.02707e-08)
---------------------
---------------------
madd: 29 :(1.81627,1.28177)
dadd: 29 :(1.81627,1.28177)
eadd: 29 :(1.11208e-08,-5.38223e-10)
---------------------
---------------------
madd: 30 :(0.899929,0.799904)
dadd: 30 :(0.899929,0.799904)
eadd: 30 :(-1.39429e-08,9.18211e-09)
---------------------
---------------------
madd: 31 :(0.769023,0.498873)
dadd: 31 :(0.769023,0.498873)
eadd: 31 :(-3.18769e-09,2.75262e-08)
---------------------
!!! END TEST ADD !!!
---------------------
wbq@wbq-virtual-machine:~/HEAAN/HEAAN/run$ ./TestHEAAN Mult
!!! START TEST MULT !!!
------------------
Start Multiplication
Multiplication time = 22090.7 ms
---
-------------
---------------------
mmult: 0 :(0.103301,0.116176)
dmult: 0 :(0.103301,0.116176)
emult: 0 :(1.50041e-08,1.71485e-08)
---------------------
---------------------
mmult: 1 :(-0.200213,0.42324)
dmult: 1 :(-0.200213,0.42324)
emult: 1 :(3.02689e-09,-1.28638e-08)
---------------------
---------------------
mmult: 2 :(0.444382,0.552838)
dmult: 2 :(0.444382,0.552838)
emult: 2 :(2.07382e-09,-1.63783e-10)
---------------------
---------------------
mmult: 3 :(-0.241885,0.559813)
dmult: 3 :(-0.241885,0.559813)
emult: 3 :(4.03535e-09,3.01594e-09)
---------------------
---------------------
mmult: 4 :(-0.188233,0.282714)
dmult: 4 :(-0.188233,0.282714)
emult: 4 :(1.68679e-09,2.46349e-08)
---------------------
---------------------
mmult: 5 :(-0.32101,0.873205)
dmult: 5 :(-0.32101,0.873205)
emult: 5 :(1.85614e-08,-1.20585e-08)
---------------------
---------------------
mmult: 6 :(-0.223862,0.240729)
dmult: 6 :(-0.223862,0.240729)
emult: 6 :(-4.3985e-09,-5.65352e-09)
---------------------
---------------------
mmult: 7 :(0.253304,0.18826)
dmult: 7 :(0.253304,0.18826)
emult: 7 :(-9.31225e-09,-1.48025e-08)
---------------------
---------------------
mmult: 8 :(-0.00607558,0.100316)
dmult: 8 :(-0.0060756,0.100316)
emult: 8 :(1.53232e-08,8.44831e-10)
---------------------
---------------------
mmult: 9 :(0.373292,0.888374)
dmult: 9 :(0.373292,0.888374)
emult: 9 :(1.44932e-08,-1.13631e-08)
---------------------
---------------------
mmult: 10 :(0.351934,0.441932)
dmult: 10 :(0.351934,0.441932)
emult: 10 :(-1.13301e-08,-2.25365e-08)
---------------------
---------------------
mmult: 11 :(0.249826,0.780115)
dmult: 11 :(0.249826,0.780115)
emult: 11 :(-1.96427e-09,-1.28814e-08)
---------------------
---------------------
mmult: 12 :(-0.086753,0.655544)
dmult: 12 :(-0.086753,0.655544)
emult: 12 :(1.25536e-08,2.82795e-09)
---------------------
---------------------
mmult: 13 :(0.188954,0.43874)
dmult: 13 :(0.188954,0.43874)
emult: 13 :(2.05163e-09,9.04728e-09)
---------------------
---------------------
mmult: 14 :(-0.179383,0.512348)
dmult: 14 :(-0.179383,0.512348)
emult: 14 :(-1.43323e-08,3.59677e-09)
---------------------
---------------------
mmult: 15 :(-0.118825,0.369728)
dmult: 15 :(-0.118825,0.369728)
emult: 15 :(2.85709e-09,-9.37151e-09)
---------------------
---------------------
mmult: 16 :(0.272553,0.291554)
dmult: 16 :(0.272553,0.291554)
emult: 16 :(9.26841e-09,-8.35488e-09)
---------------------
---------------------
mmult: 17 :(-0.764445,0.0997132)
dmult: 17 :(-0.764445,0.0997132)
emult: 17 :(8.03932e-10,5.78988e-09)
---------------------
---------------------
mmult: 18 :(0.126068,0.597447)
dmult: 18 :(0.126068,0.597447)
emult: 18 :(3.34753e-11,5.92429e-09)
---------------------
---------------------
mmult: 19 :(-0.00698897,0.644229)
dmult: 19 :(-0.00698899,0.644229)
emult: 19 :(1.94675e-08,3.14584e-09)
---------------------
---------------------
mmult: 20 :(-0.283268,0.752362)
dmult: 20 :(-0.283268,0.752362)
emult: 20 :(5.0307e-09,-8.87426e-09)
---------------------
---------------------
mmult: 21 :(-0.339884,0.501806)
dmult: 21 :(-0.339884,0.501806)
emult: 21 :(1.86153e-08,1.06863e-08)
---------------------
---------------------
mmult: 22 :(0.23339,0.44864)
dmult: 22 :(0.23339,0.44864)
emult: 22 :(5.66747e-09,-1.50549e-08)
---------------------
---------------------
mmult: 23 :(0.0762317,0.158112)
dmult: 23 :(0.0762317,0.158112)
emult: 23 :(-2.66153e-09,-1.73844e-08)
---------------------
---------------------
mmult: 24 :(0.0881144,0.984647)
dmult: 24 :(0.0881144,0.984647)
emult: 24 :(4.68709e-09,2.3304e-08)
---------------------
---------------------
mmult: 25 :(0.184469,0.324118)
dmult: 25 :(0.184469,0.324118)
emult: 25 :(-1.42081e-08,2.62485e-09)
---------------------
---------------------
mmult: 26 :(0.603661,1.15333)
dmult: 26 :(0.603661,1.15333)
emult: 26 :(3.13789e-09,1.8618e-08)
---------------------
---------------------
mmult: 27 :(-0.155058,0.33313)
dmult: 27 :(-0.155058,0.33313)
emult: 27 :(6.23425e-09,-6.33525e-09)
---------------------
---------------------
mmult: 28 :(0.437706,0.495538)
dmult: 28 :(0.437706,0.495538)
emult: 28 :(-5.67543e-09,-3.4542e-08)
---------------------
---------------------
mmult: 29 :(0.0588559,0.0844726)
dmult: 29 :(0.0588558,0.0844726)
emult: 29 :(1.06852e-08,1.60505e-09)
---------------------
---------------------
mmult: 30 :(-0.44606,0.752686)
dmult: 30 :(-0.44606,0.752686)
emult: 30 :(-2.57666e-09,1.51734e-08)
---------------------
---------------------
mmult: 31 :(0.0867572,0.725276)
dmult: 31 :(0.0867572,0.725276)
emult: 31 :(-8.61166e-09,7.25746e-09)
---------------------
!!! END TEST MULT !!!

同态加密库 HEAAN效率测试(1)相关推荐

  1. 同态加密库 HEAAN效率测试(4)

    测试sigmoid函数(不同的degree),看看误差 wbq@wbq-virtual-machine:~/HEAAN/HEAAN/run$ ./sigmoid !!! START TEST SIGM ...

  2. bfv同态加密_lattigo: 基于Lattice代数结构的Go同态加密库

    Lattigo 基于Lattice代数结构的Go同态加密库 Lattigo是一个Go软件包,实现了基于格的加密原语.该库功能: 纯Go实施,带来代码简单性和易于构建. 一个有效的多精度多项式算术层的公 ...

  3. bfv同态加密_微软同态加密库SEAL使用

    近期刚接触SEAL库,本文记录该库的使用方法,具体的同态加密的原理不过多介绍,若有错误,请各位大佬批评指正. SEAL(Simple Encrypted Arithmetic Library)是微软开 ...

  4. 同态加密库Seal库的安装(win11+VS2022)

    先说一下,seal库是微软开发的同态加密库,目前支持三种算法bfv,bgv和ckks.提供的语言版本是C艹和C#. 工具准备 这是github上提供的要求. 要准备的东西有 vs2022(社区版就行了 ...

  5. Mac M1芯片同态加密库的安装(TFHE问题)

    Mac M1芯片同态加密库的安装(TFHE问题) 前些日子买了Mac电脑,尝试在mac上安装之前在Ubuntu上的同态加密库,经试验HElib.SEAL.Palisade等可以完美安装. 但是TFHE ...

  6. 开源同态加密库 HEhub 发布|首个由国内隐私计算团队研发的(全)同态加密算法库...

    扫码关注 保护消费者权益 我们在行动 时至今日,数据要素已经成为数字经济时代最重要的生产要素之一,成为众多企业和机构的核心资产,而数据价值的体现依赖于数据的安全流通和利用.隐私计算作为新兴技术为数据的 ...

  7. SEAL全同态加密开源库(十二) CKKS-源码浅析

    2021SC@SDUSC 2021-12-19 前言 前两篇我们讨论了SEAL对于BFV的实现.本篇开始我将开始讨论SEAL对于CKKS的实现. 照例我会先补充理论知识,然后分析源码native/ex ...

  8. bfv同态加密_五分钟了解同态加密及三种常见方案

    同态加密是一种允许直接对加密数据执行计算而无需解密密钥加密方案.从理论上讲其功能强大且在学术上很具有吸引力,但是实际使用门槛较高. 原文标题:<隐私保护计算技术指南 4> 撰文:陈智罡 概 ...

  9. 全同态加密知识体系整理

    文章由AdijeShen整理,供个人学习使用. 整理了到2022年为止,同态加密比较重要的知识和方法. 文章目录 引 基础知识 基于RLWE的同态加密方案(BGV,BFV,CKKS) 通用的格式 效率 ...

最新文章

  1. 微信小程序 bindtap 绑定事件
  2. 部分和问题 (dfs搜索 尺取)
  3. 白话Elasticsearch10-深度探秘搜索技术之基于dis_max实现best fields策略进行多字段搜索
  4. 简单的数据结构题(多项式、拉格朗日插值、线段树)
  5. php如何转类型,PHP数据类型转换
  6. java在创建对象时必须_Java中5种创建对象的方式
  7. 移动端类似IOS的滚动年月控件(需要jQuery和iScroll)
  8. python工厂模式 取代__init___浅析Python 简单工厂模式和工厂方法模式的优缺点
  9. mysql 主主_MySQL双主(主主)架构
  10. Mac系统如何修复MAC硬盘权限
  11. 计算机网络投标书质量保证措施,计算机网络标书模板.doc
  12. python下载网页上的pdf文件_利用Python把网页内容转换为pdf格式文件,批量下载到本地!...
  13. 惠普服务器驱动自动安装步骤,惠普系统安装步骤的【详细介绍】
  14. Java学习笔记(五):Java多线程(细致入微,持续更新)
  15. Windows系统邮件中如何绑定QQ邮箱
  16. 非线性方程的数值解法:正割法 python
  17. 个人总结:京东技术体系员工级别划分及薪资区间
  18. 计算机指纹识别的原理步骤,指纹识别技术的基本原理及过程
  19. 详细分析软件测试的14种类型
  20. 全文检索(一) -- Lucene

热门文章

  1. 收集到的若干测速网站
  2. 工作六年的主管对网投的建议
  3. sudo -i 不需要输入密码
  4. 韩国是电竞圣地还是星际天堂?
  5. pwn——basic rop1
  6. 至少值一个淘宝的自由服务市场
  7. C# | 上位机开发新手指南(七)加密算法
  8. 法大大荣获京交会人力资源“双创10强”
  9. C语言编写随机抽取单选题系统
  10. python:实现TTS语音合成技术(附完整源码)