当前位置: 首页 > web >正文

加性同态加密的原理与函数解析

一、加性同态加密的核心定义

加性同态加密是同态加密的一种特殊类型,其核心特性为:支持对密文进行加法运算,且运算结果解密后等于原始明文相加的结果。具体来说,若 E 为加密函数,D 为解密函数,则对于任意明文 m_1m_2,满足:D(E(m_1)+E(m_2))=m_1+m_2 其中,“+” 在密文层面为特定的同态加法运算(并非简单的数值相加,需符合加密算法的数学定义)。

二、加性同态加密的数学原理与函数构造

以经典的Paillier 加密算法(典型的加性同态加密方案)为例,其原理和函数构造如下:

(一)密钥生成函数
  1. 输入:安全参数n(决定加密强度,通常取 n=1024 或 2048)。
  2. 步骤
    • 随机选择两个大素数 (p,q)),满足 p \equiv q \equiv 3 \mod 4 ;
    • 计算 n=p\times q\lambda = \text{lcm}(p-1,q-1)lcm为最小公倍数);
    • 选择 g=n+1(或满足特定条件的整数);
    • 公钥为(n,q),私钥为\lambda
(二)加密函数 E(m)
  1. 输入:明文 m(满足0<=m<n),随机数 r(0<r<n),且 gcd(r,n)=1)。
  2. 计算过程E(m)=g^m \times r^n \mod n^2其中,n^2为模运算的模数,r用于引入随机性,确保同一明文加密结果不同(即 “概率加密”)。
(三)加性同态运算函数
  1. 密文加法:对于两个密文 c_1=E(m_1)c_2=E(m_2),其同态加法定义为:c_1 \oplus c_2 = c_1 \times c_2 \mod n^2  (注意:此处为密文层面的乘法运算,对应明文层面的加法)。
  2. 同态性验证c_1 \times c_2 = (g^{m_1}r_1^n) \times (g^{m_2}r_2^n) \mod n^2 = g^{m_1 + m_2}(r_1r_2)^n \mod n^2 = E(m_1 + m_2)
  3. 即密文相乘的结果等价于明文相加后的密文。
(四)解密函数 D(c)
  1. 输入:密文 c,私钥 \lambda
  2. 计算过程
    • 定义辅助函数 L(x) = \frac{x - 1}{n} \mod n(当 x \equiv 1 \mod n 时有效);
    • 解密公式为:D(c) = L(c^\lambda \mod n^2) \times L(g^\lambda \mod n^2)^{-1} \mod n其中,(L(g^\lambda \mod n^2)^{-1}) 为模 n 下的乘法逆元,可通过私钥 \lambda计算得到。
三、加性同态加密的应用场景
  1. 隐私求和:多方数据无需解密即可求总和,如医疗数据统计、联邦学习中的梯度聚合。
  2. 安全投票:选民密文投票后,计票方直接对密文求和,解密后得到总票数,不泄露单个选票内容。
  3. 金融风控:银行间共享客户信用评分时,可对密文评分求和后解密,保护各自数据隐私。
四、与乘法同态、全同态加密的对比
类型支持的同态运算典型算法计算复杂度
加性同态加密密文加法(对应明文加法)Paillier、ElGamal(部分情况)较低
乘法同态加密密文乘法(对应明文乘法)RSA(部分情况)中等
全同态加密(FHE)任意复杂运算(加法 + 乘法)Gentry、BGV、CKKS极高
五、数学本质:保持运算结构的 “同态映射”

从代数系统角度看,同态加密构建了 明文空间 与 密文空间 的 “同态映射关系”,核心是让密文运算等价于明文运算

设:

  • 明文空间为 (P,+,\times )\dotplus 为明文加法、\times为明文乘法);
  • 密文空间为(C, \oplus, \otimes)\oplus 为密文加法、\otimes 为密文乘法);
  • 加密函数为 (E:P \to C),解密函数为(D :C \to P)

则同态加密需满足:

简单说,密文运算的解密结果 ≡ 明文直接运算的结果。这意味着:无需解密明文,直接对密文做特定操作,就能得到 “明文运算后再加密” 的等效结果。

六、应用本质:“密文域计算” 实现隐私保护

从实际价值看,同态加密的本质是 让数据 “可用但不可见”

  • 数据所有者可将加密后的密文(而非明文)委托给第三方(如云端、协作方);
  • 第三方直接对密文执行计算(无需解密),得到的结果仍为密文;
  • 数据所有者用私钥解密,即可获得 “明文计算结果”。

整个过程中,原始明文从未暴露给第三方,但第三方能完成计算任务 —— 这是同态加密最核心的价值:在保护数据隐私的前提下,实现 “数据计算的外包/协同”。

七、本质特征的延伸理解
  1. 与传统加密的区别 传统加密(如 AES、RSA)的密文是 “静态的”:只能存储 / 传输,无法直接计算。而同态加密的密文是 “动态的”:支持计算操作,且计算结果仍有意义(解密后对应明文运算)。

  2. 全同态 vs 部分同态

  • 部分同态(如 RSA 乘法同态、Paillier 加法同态):仅支持单一类型运算(加法或乘法),或有限次数混合运算(受噪声、模数限制);
  • 全同态(如 Gentry 方案、CKKS):理论上支持任意次数加法\dotplus乘法组合运算(通过 “自举(Bootstrapping)” 技术刷新噪声,突破运算次数限制)。
八、核心总结

加性同态加密的本质是通过数论构造(如模 n^2 运算、欧拉函数性质),使密文乘法对应明文加法,从而实现 “无需解密即可对数据进行求和” 的隐私保护能力。其函数设计严格依赖于数论难题(如大整数分解困难性),确保密文计算过程中原始明文的安全性。

http://www.xdnf.cn/news/13438.html

相关文章:

  • 【凌智视觉模块】rv1106 部署 ppocrv4 检测模型 rknn 推理
  • 在 Azure 机器学习中注册 MLflow 模型
  • Postman核心功能解析
  • React Native 跨平台开发:iOS 与安卓原生模块高效交互
  • AR互动协助:开启企业协作新纪元​
  • 【开源解析】:Python打造专业级USB安全弹出工具(附完整源码)
  • 计算机体系结构中的MPU是什么?
  • spring:使用注解@获取第三方bean实例
  • MATLAB-磁偶极子的空间磁场强度仿真
  • Linux:多线程---线程控制(线程创建线程等待线程终止)
  • DSPy Prompt自动生成最佳实践
  • 包含30个APP移动端网站UI的psd适用于餐厅咖啡店面包店快餐店
  • Kotlin基础语法四
  • Spring MVC扩展与SSM框架整合
  • 不同厂商保障UEFI/BIOS安全的技术与机制详解
  • 【机器学习-线性回归-7】中心极限定理在机器学习线性回归中的重要性
  • 【leetcode】125.验证回文串
  • Electron-vite【实战】MD 编辑器 -- 大纲区(含自动生成大纲,大纲缩进,折叠大纲,滚动同步高亮大纲,点击大纲滚动等)
  • 【读论文】Closed-loop Diffusion Control of Complex Physical Systems 闭环扩散控制系统
  • 汽车制造通信革新:网关模块让EtherCAT成功对接CCLINK
  • 神经网络全景图:五大核心架构详解与本质区别
  • CUDA 与 cuDNN 免登录下载政策详解(基于官方权威信息)
  • docker和docker-compose的版本对应关系怎么看?
  • CVE-2017-12615源码分析与漏洞复现(Tomcat 任意文件上传)
  • DAY 46 超大力王爱学Python
  • 矩阵批量剪辑源码开发,OEM贴牌
  • SQL进阶之旅 Day 25:高并发环境下的SQL优化
  • 04__C++特殊的函数语法
  • 摄影入门:相机基本参数解析
  • MES生产工单管理系统,Java+Vue,含源码与文档,高效统筹生产流程,精准管控工单执行与进度