【密码学基础】半/全同态加密算法基础学习笔记

这篇具有很好参考价值的文章主要介绍了【密码学基础】半/全同态加密算法基础学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 半同态加密

定义:只支持乘法或加法中的一种的同态加密。同态加密指的是允许直接对密文进行计算,密文计算结果解密后与明文直接计算结果相同。

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

Pailliar加法同态加密

Paillier加解密过程

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

Paillier的同态性

明文加法 <=> 密文乘法
明文乘法 <=> 密文指数幂
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

Paillier的安全性

基于大整数分解困难问题

El Gamal乘法同态加密

相比Paillier,El Gamal性能更好,但是做加法同态时,解密需要求离散对数,只适用明文较小情况。
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

RSA乘法同态加密

参考我之前写的RSA算法博客:【密码学基础】RSA加密算法

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

显然,RSA的加解密都是同指数幂的指数运算,所以满足乘法同态性。

2 全同态加密

定义:能在加密的数据上进行任意数量的加法和乘法运算的加密算法,使得密文计算结果解密后与明文直接计算结果相同。
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

BFV全同态加密

BFV全同态是基于环上learning with error的算法,同态性是多项式同态,而非数值!所以在明文空间中,如何将原始数值编码到多项式,就很有挑战性了。
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

BFV的编码方式

常见的编码方式是SIMD:Single Instruction Multiple Data
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

多项式的同态性传递到原始数据的同态性。SIMD的优势是能在同一个多项式中打包多个数据。

BFV加解密过程

s是私钥,pk是公钥。随机多项式e是服从高斯分布,大概率是非常小的,所以解密是可以被四舍五入掉(比如示例中的0.15x^2和0.04两项)。
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

BFV的安全性

基于RLWE困难问题
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

BFV的同态性

加法同态:
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

注:每次同态加法导致噪声翻倍。

乘法同态:
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

注:每次同态乘法导致噪声增长约明文长度倍。
由此可以看到, δ \delta δ越大,能容忍的噪声就越大!所以决定了乘法的次数(计算深度)。

自举Bootstrapping

前面说到噪声会在同态运算中不断增大,且不能超过 δ / 2 \delta/2 δ/2,支持最大乘法次数是L。Bootstrapping则可以让密文满血复活,成为又可以操作L次的密文了。
这个过程就是同态函数D来实现的,D是密文空间中的同态解密算子,即用加密的私钥sk解密密文ct,得到加密的明文Enc(m),也就是密文ct本身。
本质上,Bootstrapping的过程就是从密文ct到ct的变化,特别之处就是中间存在一步同态解密过程,消除了(累积的)噪声。
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

3 同态加密应用场景

场景1:安全向量内积

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

安全向量内积的半同态解决方案:
A用Paillier加密数据a,发送给B与数据b执行密文-明文乘法,然后发给A解密。缺点是性能很低。
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

安全向量内积的全同态解决方案1:
将向量打包到多项式,执行多项式同态乘法。需要rotation操作!将 a i b i a_ib_i aibi都旋转到第一项,然后执行同态加法。但是rotation操作开销很大!
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

安全向量内积的全同态解决方案2:
对B编码时,调整多项式系数的位置,发现多项式相乘后 a i b i a_ib_i aibi就已经在一起了,无需rotation!
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

总结:编码方式很重要!不同的编码方式性能可能差100倍以上!

场景2:安全数据库

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

场景3:安全聚合(Secure Aggregation)

在联邦学习中通过同态加密保护梯度,但是需要参与方大于2,否则可以反推梯度。
【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

真正的全同态计算还不实际

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

技术展望

理论创新

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

应用创新

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

硬件加速

【密码学基础】半/全同态加密算法基础学习笔记,隐私计算及密码学基础,算法,密码学,同态加密

参考资料

「隐私计算基础理论」同态加密技术及其应用 - 阿里 洪澄文章来源地址https://www.toymoban.com/news/detail-535819.html

到了这里,关于【密码学基础】半/全同态加密算法基础学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 密码学概念科普(加密算法、数字签名、散列函数、HMAC)

    密码散列函数 (Cryptographic hash function),是一个单向函数,输入消息,输出摘要。主要特点是: 只能根据消息计算摘要,很难根据摘要反推消息 改变消息,摘要一定会跟着改变 对于不同的消息,计算出的摘要几乎不可能相同 根据散列函数的上述特点,可以应用在保存密码、数

    2024年02月10日
    浏览(35)
  • 密码学:一文读懂非对称加密算法 DH、RSA

    我们可能没有在瑞士苏黎世银行存入巨额资产的机会,但相信大多数人都在电影中见到这样一组镜头: 户主带着自己的钥匙来到银行,要求取出自己寄放的物品。银行工作人员验明户主身份后,拿出另一把钥匙同户主一起打开保险柜,将用户寄放物品取出。我们可以把这个保

    2024年01月21日
    浏览(35)
  • 现代密码学第二次实验:分组加密算法DES及其工作模式

    为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正! 1、掌握DES算法的工作原理。 2、熟悉分组加密算法的4种工作模式(OFB模式可不做)。 3、了解DES的雪

    2024年02月06日
    浏览(38)
  • 密码学基础(一)——哈希算法

    一、常用密码学算法分类 哈希算法:哈希算法不可逆,包括:MD4、MD5、hash1、ripeMD160、SHA256、SHA3、Keccak256、国家标准SM3(国家密码管理局) 加密/解密算法:加密解密算法可逆,但是必须要有秘钥,对称加密,非对称加密,数字签名算法DSA 编码/解码算法:编码解码算法可逆

    2023年04月16日
    浏览(28)
  • 【现代密码学】笔记 补充7-- CCA安全与认证加密《introduction to modern cryphtography》

    主要在 哈工大密码学课程 张宇老师课件 的基础上学习记录笔记。 内容补充:骆婷老师的PPT 《introduction to modern cryphtography》–Jonathan Katz, Yehuda Lindell(现代密码学——原理与协议)中相关章节 密码学复习笔记 这个博主好有意思 初步笔记,如有错误请指正 快速补充一些密码

    2024年01月17日
    浏览(34)
  • 密码学之对称加密体系(2):AES、SM4的 S 盒具体算法的实现

    🔥点击进入【硬件安全】社区,查看更多精彩内容🔥 🔥点击查看《硬件安全》系列文章🔥 📢  声明 : 🥭 作者主页:【摆渡沧桑的CSDN主页】。 ⚠️ 未经作者允许,禁止转载。 ⚠️ 本文为非盈利性质,目的为个人学习记录及知识分享。因能力受限,存在知识点分析不

    2024年02月16日
    浏览(25)
  • 《现代密码学》学习笔记——第三章 分组密码 [二] AES

    版本 密钥长度 分组长度 迭代轮数 AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 (1)字节代换(SubByte) (2)行移位(ShiftRow) (3)列混合(MixColumn) (4)密钥加(AddRoundKey) 1.字节代换   字节代换是非线性变换,独立地对状态的每个字节进行。代换表(S-Box)是可逆的。   将

    2024年02月05日
    浏览(70)
  • 【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》

    主要在 哈工大密码学课程 张宇老师课件 的基础上学习记录笔记。 内容补充:骆婷老师的PPT 《introduction to modern cryphtography》–Jonathan Katz, Yehuda Lindell(现代密码学——原理与协议)中相关章节 密码学复习笔记 这个博主好有意思 初步笔记,如有错误请指正 快速补充一些密码

    2024年01月24日
    浏览(32)
  • 【区块链学习笔记01】BTC-密码学原理-哈希函数

    区块链中最基础的密码学原理就是哈希算法,以下为哈希函数的简单介绍: 哈希函数是一种只只能加密但是不能解密的算法,哈希函数可以将任意长度的信息转化为固定长度的字符串。类似“8b46ec792e943de34605981980751a3c1e008218f77eeb27e474b594f7685019”这样。 当输入相同的值时,得到

    2024年02月03日
    浏览(31)
  • 【密码学】块加密(分组加密)的工作模式

    上一篇文章讨论了 DES 算法,现在我们有了“给定 64-bit 的明文、64-bit 的密钥,输出 64-bit 的密文”的加密手段。这离实际应用还有一点点距离,因为要传递的信息当然不止 64 位。 要用 DES 加密一条信息,一般先把信息填充到 64 的倍数,于是就可以分成许多组,每组 8 个字节

    2024年02月16日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包