首页 > 其他分享 >关于同态加密的个人梳理

关于同态加密的个人梳理

时间:2023-04-05 19:13:13浏览次数:35  
标签:加密 同态 Encryption Homomorphic 计算 密文 梳理

传统加解密的弊端

通常是成对存在的。如果密文被存储在了一个不可信的第三方中,Party A对密文进行更新(密文下载,解密更新)过程需要添加两次通信(下载和上传)和两次计算开销(解密和加密计算)。如果可以直接在第三方上完成密文更新,就可以使得Party A 节省两次通信和两次计算开销。

同态加密

同态加密技术是一种基于数学难题的计算复杂性理论的密码学技术,支持数据以密态方式进行计 算,计算结果解密后与明文计算的结果一致

分类

半同态加密

RSA可以在密文状态下进行同态乘法计算,Paillier可以在密文状态下进行同态加法计算。这些类似的算法,我们称其为半同态加密,即只能执行部分类型的同态加密。

全同态加密

可以计算任意函数的同态加密算法。Gentry在09年,提出第一个全同态加密。之后有GSW、FHEW、TFHE、BFV、BGV、CKKS等重量级方案被提出。两个分支

  • 以计算算数电路为主(BFV, BGV, CKKS)
  • 以计算布尔电路为主(FHEW, TFHE)

FHEW、TFHE、GSW为布尔电路上的实现,其特性

  • 快速比较支持
  • 任意布尔电路
  • 快速 bootstrapping(噪声刷新过程,减少因密文计算而产生的噪音,降低失败可能性)

BGV、BFV是算数电路上的实现,其特性

  • 在整数向量上进行高效的SIMD计算(使用批处理)
  • 快速高精度整数算术
  • 快速向量的标量乘法
  • Leveled design(通常不使用bootstrapping)

CKKS则是17年才提出来的,其特性

  • 快速多项式近似计算
  • 相对快速的倒数和离散傅里叶变换
  • 深度近似计算,如逻辑回归学习
  • 在实数向量上进行高效的SIMD计算(使用批处理)
  • Leveled design(通常不使用bootstrapping)

兼容两个分支的方案

  • CHIMERA。
  • PEGASUS是2020年最新研究成果,效率优于CHIMERA。

参考文献

https://www.zhihu.com/question/442067985/answer/1706719175

GSW: Homomorphic Encryption from Learning with Errors: Conceptually-Simpler, Asymptotically-Faster, Attribute-Based .

FHEW: Bootstrapping Homomorphic Encryption in Less Than a Second.

TFHE: Fast Fully Homomorphic Encryption Over the Torus.

BFV: Somewhat Practical Fully Homomorphic Encryption.

BGV: (Leveled) Fully Homomorphic Encryption without Bootstrapping .

CKKS: Homomorphic Encryption for Arithmetic of Approximate Numbers.

CHIMERA: Combining Ring-LWE-based Fully Homomorphic Encryption Schemes.

PEGASUS: Bridging Polynomial and Non-polynomial Evaluations in Homomorphic Encryption.

标签:加密,同态,Encryption,Homomorphic,计算,密文,梳理
From: https://www.cnblogs.com/chrysanthemum/p/17290490.html

相关文章

  • 在EF Core中为数据表按列加密存储
    假设有User表publicclassUser:Entity<int>{publicintId{get;set;}publicstringUserName{get;set;}publicstringName{get;set;}publicstringIdentificationNumber{get;set;}}其中有身份证号码IdentificationNumber列,需要加密......
  • C++实现AES加密
    参考https://zhuanlan.zhihu.com/p/567141666本人开发环境:vs2022,平台工具集vs2015(v140)要做到的如下图需要下载Cryptopp库https://github.com/weidai11/cryptopp打开默认工程,生成即可,选择cryptlib项目点击生成,产生头文件和lib文件实现代码:#include<Cryptopp/aes.h>#i......
  • 加密与解密之加壳程序
    描述自己实现一个简单的加壳程序,能够对选取程序的代码段进行加密,并添加外壳部分,在运行时还原本文分为三个部分:外壳程序,加壳程序,和用户交互程序外壳程序写到Stub.dll中,方便同加壳程序共享数据,获取原程序的PE文件信息将数据段合并到代码段,方便加壳程序读取并添加到原程序中......
  • 加密与解密之二次开发
    描述二次开发的含义:通过直接编辑二进制,来修改已编译好的程序,实现目标功能本文的原程序模拟一个windows是最常见的采用事件循环机制的窗口程序,通过二次开发,给这个程序上锁,加上一个验证身份框,只有输对用户名密码,才能正常使用程序功能原程序创建一个窗口,加入事件循环,响应窗口......
  • lazarus在龙芯电脑使用域天加密锁要注意的事项
    lazarus在龙芯电脑使用域天加密锁要注意的事项:1、使用域天官方的接口单元时加密锁的so文件必须拷贝到/usr/lib/这个目录。2、普通用户如果调用加密锁so出错或失败,需要进行以下操作:建一个规则文件放/etc/udev/rules.d.文件内容如下:SUBSYSTEM=="input",GROUP="input",MODE=......
  • 实验一-密码引擎-3-加密API研究
    一、任务详情密码引擎API的主要标准和规范包括:1微软的CryptoAPI2RAS公司的PKCS#11标准3中国商用密码标准:GMT0016-2012智能密码钥匙密码应用接口规范,GMT0018-2012密码设备应用接口规范等研究以上API接口,总结他们的异同,并以龙脉GM3000Key为例,写出调用不同接口的代码,提交......
  • 实验一-密码引擎-加密API研究
    实验一-密码引擎-加密API研究API:应用程序接口(API:ApplicationProgramInterface)是一组定义、程序及协议的集合,通过API接口实现计算机软件之间的相互通信。API的一个主要功能是提供通用功能集。程序员通过使用API函数开发应用程序,从而可以避免编写无用程序,以减轻编程任务。......
  • golang CVE-2016-2183漏洞,https需要添加tls设置加密算法CipherSuites白名单,将弱加密算
    golangCVE-2016-2183漏洞,https需要添加tls设置加密算法白名单,将弱加密算法DES和3DES去掉。服务端样例代码packagemainimport("crypto/tls""fmt""net/http")funchandler(writerhttp.ResponseWriter,request*http.Request){fmt.Fprintf(wri......
  • 实验一-密码引擎-加密API研究
    实验一-密码引擎-加密API研究API:应用程序接口(API:ApplicationProgramInterface)是一组定义、程序及协议的集合,通过API接口实现计算机软件之间的相互通信。API的一个主要功能是提供通用功能集。程序员通过使用API函数开发应用程序,从而可以避免编写无用程序,以减轻编程任务。......
  • 实验一-密码引擎-3-加密API研究
    实验一-密码引擎-3-加密API研究任务详情密码引擎API的主要标准和规范包括:1微软的CryptoAPI2RAS公司的PKCS#11标准3中国商用密码标准:GMT0016-2012智能密码钥匙密码应用接口规范,GMT0018-2012密码设备应用接口规范等研究以上API接口,总结他们的异同,并以龙脉GM3000Key......