同态加密简介

2023-10-30

同态加密概述

基本概念
同态加密(Homomorphic Encryption,HE)指将原始数据经过同态加密后,对密文进行特定的运算,得到的密文计算结果在进行同态解密后的得到的明文等价于原始明文数据直接进行相同计算所得到的数据结果。
在这里插入图片描述

历史与发展

  • 1978年,Rivest、Adleman(RSA中的"R"和"A")和Dertouzos提出了全同态加密的构想,当时称为“隐私同态”,并于 2009 年由 Craig Gentry 首次构建。目前,同态加密算法主要分为半同态加密,稍微同态加密,全同态加密两大类。
  • 半同态加密或部分同态加密(Somewhat Homomorphic Encryption,SWHE 或 Partially Homomorphic Encryption,PHE):支持对密文进行部分形式的计算,如仅支持加法、仅支持乘法、支持有限次加法和乘法。半同态加密主要包括以RSA算法和ElGamal算法为代表的乘法同态加密、以Paillier算法为代表的加法同态加密
  • 稍微同态加密(SHE):支持有限操作(例如加法、乘法)直到某个复杂的的方案,但是这些操作只能执行一定次数。主要包括以BGN算法为代表的有限次全同态加密。
  • 全同态加密(Fully Homomorphic Encryption,FHE):支持对密文进行任意形式的计算。全同态加密算法起源于2009年Gentry提出的方案,后续的方案大多都是基于格代数结构构造。全同态加密算法只要包括以Gentry方案为代表的第一代方案,以BGV方案和BFV方案为代表的第二代方案,以GSW方案以及支持浮点数近似计算的CKKS方案为代表的第三代方案。目前,BGV方案、BFV方案、CKKS方案均在同态加密开源库中得以实现。
  • 在这里插入图片描述

标准化进展

  • 半同态加密标准化
    2019年5月,国际标准化组织ISO发布了同态加密标准(ISO/IEC 18033-6:2019)。该标准仅涉及半同态加密,具体包含两种较为成熟的半同态加密机制:ElGamal乘法同态加密和Paillier加法同态加密,并规定了参与实体的参数和密钥生成、数据加密、密文数据解密、密文数据同态运算等步骤的具体过程。

  • 全同态加密标准化
    2017年7月,来自学术界、工业界和政界的相关领域研究人员组成了全同态加密标准化开放联盟HomomorphicEncryption.org,在微软研究院举办了首届全同态加密标准化研讨会,开始共同推进全同态加密标准草案的编写工作,并发布了全同态加密安全标准、API标准、应用标准三份白皮书。迄今为止,HomomorphicEncryption.org在三年内已举办五届全同态加密标准化会议,参与成员包括微软、三星SDS、英特尔、IBM、谷歌、万事达卡等企业,以及NIST、ITU等机构的代表和各大高校的学者。在标准化进展方面,HomomorphicEncryption.org已分别于2018年3月和11月发布和更新了全同态加密标准草案。

同态加密的具体过程

在这里插入图片描述

1、Alice对数据进行加密,并把加密后的数据发送给Cloud
2、Alice向Cloud提交数据的处理方法,用函数 f 来表示
3、Cloud在函数f下对数据进行处理,并且将处理后的结果发送给Alice
4、Alice对数据进行解密,得到结果

同态加密方案应该拥有的函数

  • KeyGen函数:密钥生成函数,这个函数由Alice运行,用于产生加密数据Data所用的密钥Key,应该还有一些公开常数PP
    (Public Parameter)
  • Encrypt函数:加密函数,这个函数由Alice运行,用key对用户数据Data进行加密,得到密文CT(Ciphertext)
  • Evaluate函数:评估函数,这个函数由Cloud运行,在用户给定的数据处理方法f下,对密文进行操作,使得结果相当于用户用密钥key对Data进行加密
  • Decrypt函数:解密函数,这个函数由Alice运行,用于得到cloud处理的结果f(Data)

对于同态加密,其密码套件具备延展性,也就是说无法保证数据的完整性,这并非是缺陷,反而时有意为之的,能够使用户易于操作加密数据
延展性时加密算法的属性之一,用户可利用延展性将密文转换为改变了原始文本含义的另一有效加密文本,而且,转换数据的用户甚至无需知道或推测原始明文数据是什么

主流同态加密算法

1、半同态加密算法

乘法同态加密算法
满足乘法同态特性的典型加密算法包括1977年提出的RSA公钥加密算法和1985年提出的ElGamal公钥加密算法

加法同态加密算法
Paillier加密算法是1999年由paillier提出的一种基于复合剩余类问题的公钥加密算法,同时也是目前最为常用且最具实用性的加法同态加密算法,在具体的应用场景中实现了应用。

2、稍微(特定)同态加密

有限次全同态加密算法
2005年提出的Boneh-Goh-Nissim方案是一种基于双线性映射的公钥密码方案,支持任意加法同态和一次乘法同态运算。方案中的加法同态基于类似paillier算法的思想,而一次乘法同态基于双线性对映射的运算性质。由于双线性对映射算法会使得密文所在的群发生变化,因此只能支持一次乘法同态运算,但是对乘法后的密文支持作加法运算

3、全同态加密

第一代全同态加密方案 – Gentry方案
Gentry方案是一种基于电路模型的全同态加密算法,支持对每个比特进行加法和乘法同态运算。Gentry方案的基本思想是构造支持有限次同态运算的同态加密算法并引入“Bootstrapping”方法控制运算过程中的噪音增长。
“Bootstrapping”方法通过将解密过程本身转化为同态运算电路,并生成新的公私钥对对原私钥和含有噪音的原密文进行加密,然后用原私钥的密文对原密文的密文进行解密过程的同态运算,即可得到不含噪音的新密文。但是,由于解密过程本身的运算十分复杂,运算过程中也会产生大量噪音,为了给必要的同态运算需求至少预留足够进行一次乘法运算的噪音增长空间,需要对预先解密电路进行压缩简化,即将解密过程的一些操作尽量提前到加密时完成

第二代全同态加密方案 – BGV/BFV方案
第二代全同态加密方案通常基于LWR/RLWR假设,其安全性基于代数格上的困难问题,典型方案包括BGV方案和BFV方案。

  • BGV方案(Brakerski-Gentry-Vaikuntanathan)是目前主流的全同态加密算法中效率最高的方案。在BGV方案中,密文和密钥均以向量表示,而密文的乘积和对应的密钥乘积则为张量,因此密文乘法运算会造成密文维数的爆炸式增长,导致方案只能进行常数次的乘法运算。BGV方案采用密钥交换技术控制密文向量的维数膨胀,在进行密文计算后通过密钥交换将膨胀的密文维数恢复为原密文的维数。同时,BGV方案可采用模交换技术替代Gentry方案中的“Bootstrapping”过程,用于控制密文同态运算产生的噪声增长,而不需要通过复杂的解密电路实现。因此,在每次进行密文乘法运算后,首先需要通过密钥交换技术降低密文的维数,然后通过模交换技术降低密文的噪声,从而能够继续进行下一次计算。
  • BFV(Brakerski/Fan-Vercauteren)方案是与BGV方案类似的另一种第二代全同态加密方案,同样可基于LWE和RLWE构造。BFV方案不需要通过模交换进行密文噪声控制,但同样需要通过密钥交换解决密文乘法带来的密文维数膨胀问题。

第三代全同态加密方案 – GSW方案
GSW(Gentry-Sahai-Waters)方案是一种基于近似特征向量的全同态加密方案。该方案基于LWE并可推广至RLWE,但其的性能不如BGV方案等其他基于RLWE的方案。GSW方案的密文为矩阵的形式,而矩阵相乘并不会导致矩阵维数的改变,因此GSW方案解决了以往方案中密文向量相乘导致的密文维数膨胀问题,无需进行用于降低密文维数的密钥交换过程。

浮点数全同态加密方案 – CKKS方案
CKKS(Cheon-Kim-Kim-Song)方案是2017年提出的一种新方案,支持针对实数或复数的浮点数加法和乘法同态运算,得到的计算结果为近似值,适用于机器学习模型训练等不需要精确结果的场景。由于浮点数同态运算在特定场景的必要性,HElib和SEAL两个全同态加密开源库均支持了CKKS方案。

全同态加密算法开源库

  • HElib
  • SEAL

同态加密应用场景

同态加密的概念最初提出用于解决云计算等外包计算中的数据机密性保护问题,防止云计算服务提供商获取敏感明文数据。随着区块链、隐私计算等新型领域的发展及其对隐私保护的更高要求,同态加密的应用拓展到了更为丰富的领域。

  • 1、云计算
    在云计算或外包计算中,用户为了节约自身的软硬件成本,可将计算和存储需求外包给云服务提供商,利用云服务提供商强大的算力资源实现数据的托管存储和处理。但是,将明文数据直接交给云服务器具有一定的安全风险,而传统的加密存储方式则无法实现对密文数据的直接计算,因此如何同时实现数据的机密性和可计算性成为了一个难题,同态加密的出现为这一场景的实现提供了可能性。
    在传统的云存储与计算解决方案中,用户需要信任云服务器提供商不会窃取甚至用户数据,而基于同态加密的云计算模型可在根本上解决这一矛盾。首先,用户使用同态加密算法和加密密钥对数据进行加密,并将密文发送给云服务器;云服务器在无法获知明文数据的情况下按照用户给定的程序对密文进行计算,并将密文计算结果返回给用户;用户使用同态加密算法和解密密钥对密文计算结果进行解密,所得结果与直接对明文进行相同计算的结果等价。

  • 2、在区块链中应用

  • 3、在联邦学习中的应用

发展现状

目前,全同态加密算法仍处于以学术界研究为主的发展阶段,现有方案均存在计算和存储开销大等无法规避的性能为题,距离高效的工程应用还有着不小的差距,同时面临国际与国内相关标准的缺失。因此,在尝试同态加密落地应用时,可以考虑利用Paillier加法同态加密算法等较为成熟且性能较好的半同态加密算法,解决只存在加法或者数乘同态运算需求的应用场景,或通过将复杂计算需求转化为只存在加法或数乘运算的形式实现全同态的近似替代
加密算法等较为成熟且性能较好的半同态加密算法,解决只存在加法或者数乘同态运算需求的应用场景,或通过将复杂计算需求转化为只存在加法或数乘运算的形式实现全同态的近似替代

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同态加密简介 的相关文章

  • 【BingGPT对话记录】基于格的密码学简介

    格密码学是一种基于格 lattice 的数学结构的密码学分支 它具有抵抗量子计算攻击的特性 格是一个由线性无关向量生成的离散点集 可以用来描述许多复杂的几何和代数问题 格密码学的安全性通常建立在最坏情况下的难度假设上 即即使给定最优化算法
  • 密码学原语如何应用?解析密码学特有的数据编解码|第10论

    隐私保护方案的工程实现 如何关联到学术论文中天书一般的公式符号 密码学工程中 有哪些特有的数据编解码方式 存在哪些认知误区和注意事项 需要克服哪些限制和挑战 作为支撑隐私保护方案的核心技术 如何运用数据编解码 将密码学论文中抽象的数学符号和
  • 密码学哈希函数

    哈希函数H使用变长数据分组M作为输入 生成定长结果h H M 这一结果也称哈希值 哈希码或散列值 好的哈希函数的特点如下 对大输入集合使用该函数时 输出是均匀分布的且是明显随机的 概括的说 哈希函数的主要目标是保证数据的完整性 在安全应用中
  • 信息安全密码学:DES算法的核心 E盒、S盒、P盒

    加密密钥等于脱密密钥 或者由一个可以轻易的计算出另一个的密码体制 称为单密钥密码体制 亦或称为对称密码体制或传统密码体制 其最具代表意义的当然属于DES密码体制了 1 DES的设计背景 1973年5月 NBS 美国国家标准局 发布通告 征集
  • 动手学区块链学习笔记(一):加密算法介绍

    引言 本文根据实验楼以及自己查询到的一些资料 文末给出 模拟了一下区块链从诞生到交易的整个过程 也算是弥补了一下之前区块链的一些缺失知识 哈希加密原理介绍 什么是比特币 比特币是一种加密货币 也是一种分布式数字货币 它的创建者使用匿名身份被
  • DES 数据加密标准 结构详解

    DES Data Encryption Standard 又称数据加密标准 是一种对称加密算法 也是密码学摆脱古典流加密后最简单的一种块加密算法 由于香农与1949年提出 完善保密性 该标准要求密钥长度不短于明文长度 实际操作难以达到 因此
  • js逆向--百度滑块验证码

    声明 本文章中所有内容仅供学习交流 不可用于任何商业用途和非法用途 否则后果自负 如有侵权 请联系作者立即删除 由于本人水平有限 如有理解或者描述不准确的地方 还望各位大佬指教 在工作中遇到了百度的滑块 翻了下csdn以及公众号发现没人写
  • 常见加密算法实现——DES、AES、RSA、MD5

    一 对称加密 1 介绍 对称加密 加密和解密使用同一个密钥 对称加密算法 DES 3DES AES等 DES 数据加密标准 是一种使用密钥加密的块算法 3DES DES向AES过渡的加密算法 AES 高级加密标准 替代DES 对称加密的特点
  • Hash 函数及其重要性

    不时会爆出网站的服务器和数据库被盗取 考虑到这点 就要确保用户一些敏感数据 例如密码 的安全性 今天 我们要学的是 hash 背后的基础知识 以及如何用它来保护你的 web 应用的密码 申明 密码学是非常复杂的一门学科 我不是这方面的专家
  • BUUCTF Crypto(密码学)刷题

    MD5 拿到一串字符串e00cf25ad42683b3df678c61f42c6bda 根据题目可到在线MD5在线解密 拿到flag Url编码 根据提示可知是url编码 url编码在线解密 一眼就解密 的确 一眼就解密了 非常明显的bes
  • 人民日报:密码,让百姓生活更安全

    密码技术是保障网络与信息安全的核心技术和基础支撑 通过加密保护和安全认证两大核心功能 可以完整实现防假冒 防泄密 防篡改 抗抵赖等安全需求 在网络空间中扮演着 信使 卫士 和 基因 的重要角色 信息化 网络化 数字化高度发达的今天 密码技术
  • 群G及群运算

    定义 一个 非空集合G中 如果定义了 一个 乘法 运算 元素的二元运算 满足以下四个性质 那么该非空集合G称为群 封闭性 a b G a b c G 结合律 a b c G a b c a b c 单位元 e G a G e a a e a
  • 6、RC4算法

    参考 https blog csdn net huangyimo article details 82970903 RC4算法 RC4算法变量 RC4算法流程 RC4算法相关 RC4算法 RC4加密算法是Ron Rivest在1987年设计
  • 现代密码学案例研究之索尼PS3破解

    ECDSA案例研究之索尼PS3被破解 背景介绍 ECDSA算法介绍 破解算法介绍 Reference 索尼因为PlayStation 3糟糕的加密实现而受到了黑客的破解 那么事情是怎么样的呢 设计了哪些密码学的算法呢 背景介绍 在2010年
  • C# System.UnauthorizedAccessException:“对路径“C:\xxx”的访问被拒绝。

    C 程序运行时提示 对路径 C xxx 的访问被拒绝 System UnauthorizedAccessException 对路径 C Excel2007 xlsx 的访问被拒绝 解决办法是 启动visual studio时选择右键 gt
  • 现代密码学-密码学概论与基本知识

    目录 简介 密码学发展简史 创建 发展阶段 古典密码时期 近代密码时期 现代密码时期 密码主要功能 机密性 完整性 认证性 不可否认性 密码系统的组成 密码分析学 定义 密码攻击类型 针对对称密码体制 针对对称密码体制 常用方法 密码体制的
  • CTF入门学习笔记——Crypto密码(古典密码)

    文章目录 CTF入门学习笔记 Crypto密码 古典密码 凯撒密码 看我回旋踢 摩斯密码 摩斯 维吉尼亚密码 Vigen re 栅栏密码 篱笆墙的影子 栅栏密码 篱笆墙的影子 猪圈密码 待补充 CTF入门学习笔记 Crypto密码 古典密码
  • 【密码学】破解维吉尼亚密码(C++代码实现)

    问题简述 维吉尼亚密码是使用一系列凯撒密码组成密码字母表的加密算法 属于多表密码的一种简单形式 在一个凯撒密码中 字母表中的每一字母都会作一定的偏移 例如偏移量为3时 A就转换为了D B转换为了E 而维吉尼亚密码则是由一些偏移量不同的凯撒密
  • 密码学原语如何应用?解析密文同态性的妙用

    隐私数据在密文形式下是否依旧可以加减乘除 其背后的同态性原理具体指什么 半同态性和全同态性有什么区别 单密钥和多密钥同态加密有哪些奇妙的应用场景 隐私保护方案设计 往往需要在密文状态下 对隐私数据进行特定的业务操作 以此保障数据的机密性 沿
  • PyCrypto,PyCryptodome, Python 调用密码学算法AES

    Crypto PyCrypto PyCryptodomeCrypto PyCrypto 参考网址附上 今天我真的也是很无奈了 想要做一个密码学的作业 需要用到pycrypto的包 但是安装完之后不能正常调用 就找到了PyCryptodome

随机推荐