【隐私计算篇】中国剩余定理解释以及Paillier解密加速应用

news2024/9/20 10:52:52

1. 背景介绍 

         本篇主要关注中国剩余定理的原理以及在paillier同态加密系统中的应用。在很多工作中,都可以看到中国剩余定理的影子,特别是同态加密提升计算效率的优化工作中,将paillier与中国剩余定理进行结合,能够实现在加密状态下进行高效计算。

2. Paillier加密系统

      【1,2,3】描述了paillier加密系统的原理。这里做简单的描述。Paillier加密算法是一种同态加密算法,支持加法同态运算。该算法的安全性基于大整数的分解困难问题,具体的加密和解密过程涉及模数 N^2 上的运算,计算复杂度较高。

2.1 Paillier密钥生成

  • 选择两个大质数 p 和 q,计算 N = p \times q
  • 公钥为 N 和 g(通常选择 g = N + 1)。
  • 私钥为\lambda 和 \mu,其中:
    • \lambda = \text{lcm}(p-1, q-1)(即 p-1 和 q-1 的最小公倍数)。
    • \mu = (\mathcal{L}(g^\lambda \mod N^2))^{-1} \mod N,其中 \mathcal{L}(x) = \frac{x-1}{N}​。

2.2 加密和解密

  • 加密:给定明文 m,选择随机数 r,计算密文 c = g^m \cdot r^N \mod N^2
  • 解密:给定密文 c,解密过程为:m = \mathcal{L}(c^\lambda \mod N^2) \cdot \mu \mod N这里的模 N^2 运算会涉及非常大的数,计算较为耗时。

3. 中国剩余定理(CRT)

3.1 算法描述

        中国剩余定理(Chinese Remainder Theorem, CRT)【4,5】是数论中的一个经典定理,用来解决模数互素时同余方程组的求解问题。它最早起源于中国古代数学家孙子在《孙子算经》中的研究。

        设 m_1, m_2, \dots, m_k 是两两互素的整数,也就是说,对于i \neq j,有 \gcd(m_i, m_j) = 1。给定同余方程组:

\begin{cases} x \equiv a_1 \pmod{m_1} \\ x \equiv a_2 \pmod{m_2} \\ \vdots \\ x \equiv a_k \pmod{m_k} \end{cases}

其中 a_1, a_2, \dots, a_k 是给定的整数,则该方程组有唯一解 x (模 M = m_1 \times m_2 \times \dots \times m_k),并且解的形式为:

x \equiv c \pmod{M}

定理的意义:

  1. 解的存在性:如果模数 m_1, m_2, \dots, m_k 互素,则方程组总有解。
  2. 解的唯一性:在模 M = m_1 \times m_2 \times \dots \times m_k 意义下,解是唯一的。

解法步骤:

  1. 计算总模数:计算模数的乘积 M = m_1 \times m_2 \times \dots \times m_k
  2. 计算每个模的辅助量:对于每个 i,计算 M_i = \frac{M}{m_i},即其他模数的乘积。
  3. 计算模逆元:对于每个 i,找到 M_i 模 m_i 的逆元 N_i,即满足 M_i \times N_i \equiv 1 \pmod{m_i}的整数 N_i
  4. 求解 x:解的形式为: x = \sum_{i=1}^k a_i \times M_i \times N_i \pmod{M} 其中 a_i​ 是同余方程组中的常数项,M_i 是步骤 2 中的值,N_i 是步骤 3 中的模逆元。

此外,也关注到【6】对于中国剩余定理的解释比较清晰,这里也贴一下,以便参考学习。

3.2 模 n 同余概念

        模 n 同余是数论中的一个概念,用来表示两个整数在被同一个整数 n 除时得到相同的余数。具体来说,模 n 同余是指两个整数 a 和 b,如果 a 和 b 被 n 除后余数相同,那么我们说 a 和 b 在模 n 意义下同余,记作:

a \equiv b \ (\text{mod} \ n)

        这表示 a - b 能被 n 整除,即存在某个整数 k 使得:

a - b = k \cdot n

其中:

  • a 和 b 是两个整数。

  • n 是模数(或称模量),是一个正整数。

  • a \equiv b \ (\text{mod} \ n)表示当 a 和 b 都被 n 除后,余数相同,或者说 a - b 是 n 的倍数。

3.3 中国剩余定理应用问题说明

        中国剩余定理的原问题如下:

                有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?

        问题的意思是找一个数 x,满足以下三个同余条件:

\begin{aligned} x &\equiv 2 \ (\text{mod} \ 3), \\ x &\equiv 3 \ (\text{mod} \ 5), \\ x &\equiv 2 \ (\text{mod} \ 7). \end{aligned}

        我们要解这个系统,找到 x 满足所有条件。

        解法步骤:

  1. 从第一个和第二个条件开始:

    x \equiv 2 \ (\text{mod} \ 3), \quad x \equiv 3 \ (\text{mod} \ 5)

    x = 3k + 2,代入 x \equiv 3 \ (\text{mod} \ 5)

    3k + 2 \equiv 3 \ (\text{mod} \ 5)

    即:

    3k \equiv 1 \ (\text{mod} \ 5)

    我们需要解这个同余方程。找到 3^{-1} \ (\text{mod} \ 5) 即 3 在模 5 下的逆元。通过尝试:

    3 \times 2 = 6 \equiv 1 \ (\text{mod} \ 5)

    所以 k \equiv 2 \ (\text{mod} \ 5)。即 k = 5m + 2,代入 x = 3k + 2

    x = 3(5m + 2) + 2 = 15m + 8
  2. 考虑第三个条件 x \equiv 2 \ (\text{mod} \ 7) 现在有 x = 15m + 8,代入 x \equiv 2 \ (\text{mod} \ 7)

    15m + 8 \equiv 2 \ (\text{mod} \ 7)

    即:

    15m \equiv -6 \ (\text{mod} \ 7)

    由于 -6 \equiv 1 \ (\text{mod} \ 7),所以:

    15m \equiv 1 \ (\text{mod} \ 7)

    考虑 15 \equiv 1 \ (\text{mod} \ 7),所以这个方程化简为:

    m \equiv 1 \ (\text{mod} \ 7)

    m = 7n + 1。代入x = 15m + 8

    x = 15(7n + 1) + 8 = 105n + 23
  3. 得出最终结果: 所以,满足条件的数 x 可以表示为:

    x = 105n + 23

    其中 n 是任意整数。因此,最小的正整数解是 x = 23。

        所以这个物的数是 23。

4. Paillier引入中国剩余定理

4.1 思路介绍

        中国剩余定理与Paillier加密算法结合可以有效提升计算效率,尤其是在大数模运算的场景中。通过利用中国剩余定理的性质,将涉及大整数的计算拆分为两个较小模数空间中的并行计算,从而加快整体的运算速度。这种结合方式在Paillier加密算法中的典型应用是加速解密过程。

        具体地,中国剩余定理用于将大整数的计算分解为在较小整数模数下的并行计算。对于给定的两个模数 p 和 q,可以将模 N = p \times q下的计算转化为模 p 和模 q 下的两个独立计算。

        设 N = p \times q,对于任何整数 x,有:

x \mod N = (x \mod p, x \mod q)

        通过在较小模数空间中分别计算 x \mod px \mod q,可以加快运算速度。

        Paillier算法中的解密操作主要依赖于模 N^2 的运算,而 N^2 是一个非常大的数。通过中国剩余定理,可以将这些大模数运算分解为在较小模数 p^2 和q^2 下的并行计算,从而加速解密过程。

4.2 处理步骤

  1. 分解模数空间

    利用中国剩余定理,将模 N^2 下的运算分解为模 p^2 和模 q^2 的运算。
  2. 并行计算

    在解密过程中,密文 c 的解密需要计算 c^\lambda \mod N^2。通过中国剩余定理,可以将这一操作分解为: m_p = c^{\lambda_p} \mod p^2m_q = c^{\lambda_q} \mod q^2 其中 \lambda_p = \lambda \mod (p-1)\lambda_q = \lambda \mod (q-1)
  3. 重构结果

    利用中国剩余定理的逆过程,将模 p^2 和模 q^2 下的结果 m_pm_q 通过CRT重构为最终的明文 m \mod Nm = \text{CRT}(m_p, m_q) 这一步通过快速计算结合模 p 和 q 的结果,得到最终的解密结果。
  4. 在原始论文【2】中,其实也列出了相应的说明:        

        通过将模 N^2 下的计算分解为较小的模 p^2 和模 q^2 下的计算,可以显著减少大整数运算的复杂度。由于 p^2 和 q^2 远小于 N^2,解密速度可以得到明显提升。

4.3 推理依赖的定理

        这里根据哥大的材料【7】,列出paillier系统相关的定理,有兴趣可以看下定理的证明过程。        

5. 参考材料

【1】A Restrained Paillier Cryptosystemand Its Applications for Access Control of Common Secret

【2】Public-Key Cryptosystems Based on Composite Degree Residuosity Classes

【3】Paillier同态加密算法

【4】中国剩余定理

【5】The Chinese Remainder Theorem

【6】密码学-05-中国剩余定理

【7】Facts Related to Paillier Encryption

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2145697.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[产品管理-25]:NPDP新产品开发 - 23 - 产品创新中的市场调研 - 定量市场调研的常见工具

目录 前言: 一、问卷调查 二、消费者测评组 三、概念测试与概念分类 概念测试 概念分类 四、感官检验 1、定义与特点 2、基本方法 3、应用领域 4、优势与局限性 五、眼动追踪 1、技术原理 2、应用领域 3、技术优势 4、市场现状与发展趋势 5、结论 …

彩蛋岛 销冠大模型案例

彩蛋岛 销冠大模型案例 任务: https://kkgithub.com/InternLM/Tutorial/tree/camp3/docs/EasterEgg/StreamerSales 视频 https://www.bilibili.com/video/BV1f1421b7Du/?vd_source4ffecd6d839338c9390829e56a43ca8d 项目git地址: https://kkgithu…

设计模式-结构型-11-代理模式

文章目录 1. 基本介绍2. 静态代理2.1 基本介绍UML 类图 2.2 应用实例定义接口目标对象代理对象调用代理 2.3 静态代理优缺点 3. 动态代理3.1 基本介绍3.2 JDK 中生成代理对象的 API参数说明UML类图 3.3 应用实例定义接口目标对象代理工厂调用代理 4. Cglib 代理4.1 基本介绍4.2…

2011-2022年数字金融与企业ESG表现:效应、机制与“漂绿”检验(内含原始数据+处理代码)

2011-2022年数字金融与企业ESG表现:效应、机制与“漂绿”检验(内含原始数据处理代码) 1、时间:2011-2022年 2、来源:上市公司年报、华证ESG、北大数字普惠金融 3、指标:年份、股票代码、股票简称、行业名…

使用Maven创建一个Java项目并在repository中使用

JDK环境:1.8.0_371 Maven环境 :Apache Maven 3.6.3 配置完成jdk和mvn后,进入到指定文件夹下执行如下语句: mvn archetype:generate -DgroupIdtop.chengrongyu -DartifactIdCyberSpace -DarchetypeArtifactIdmaven-archetype-quic…

Matlab Delany-Bazley和Miki模型预测多孔材料吸声性能

Delany-Bazley模型和Miki模型是常用于预测多孔材料吸声性能的两种模型。Delany-Bazley模型是一种经验模型,用于描述多孔材料的声学特性,特别是复杂多孔材料如泡沫材料。该模型基于材料的几何参数(如孔隙率、孔隙形状等)来预测材料…

Meta-Learning数学原理

文章目录 什么是元学习元学习的目标元学习的类型数学推导1. 传统机器学习的数学表述2. 元学习的基本思想3. MAML 算法推导3.1 元任务设置3.2 内层优化:任务级别学习3.3 外层优化:元级别学习3.4 元梯度计算3.5 最终更新规则 4. 算法合并5. 理解 MAML 的优…

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读

本文作者:祝锦烨,蚂蚁集团开发工程师,主要研究方向是图谱存储与计算。过去一年在团队的主要工作是蚂蚁知识图谱平台和 KGFabric 相关研发,研究成果收录于 VLDB24。 2024 年 8 月 26 日,数据管理与数据库领域顶级国际会…

[数据集][目标检测]红外微小目标无人机直升机飞机飞鸟检测数据集VOC+YOLO格式7559张4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):7559 标注数量(xml文件个数):7559 标注数量(txt文件个数):7559 标注…

Hikvision综合安防管理平台isecure center文件读取深度利用

前言 远离一线很久了,很难有实战的机会。碰到Hikvision的漏洞,市面上的很多文章又很模糊,自己摸全点做个详细记录。 参考文章,向佬学习。本次测试为内部授权测试,已脱敏。https://mp.weixin.qq.com/s/zvo195UQvWwTppm…

WPF 的TreeView的TreeViewItem下动态生成TreeViewItem

树形结构仅部分需要动态生成TreeViewItem的可以参考本文。 xaml页面 <TreeView MinWidth"220" ><TreeViewItem Header"功能列表" ItemsSource"{Binding Functions}"><TreeViewItem.ItemTemplate><HierarchicalDataTempla…

TikTok直播专线服务商推荐

在追求TikTok直播的极致体验时&#xff0c;搭建稳定高效的专线网络无疑是最重要的第一步。国内市场涌现出众多TikTok直播专线服务商&#xff0c;面对如此多的选择&#xff0c;用户究竟该如何权衡利弊&#xff0c;作出明智的决策呢&#xff1f;以下是一些关键因素和TIKTOK直播专…

基于 K8S kubernetes 的常见日志收集方案

目录 1、日志对我们来说到底重不重要&#xff1f; 2、常见的日志收集方案 2.1 EFK 2.2 ELK Stack 2.3 ELKfilebeat 2.4 其他方案 2、elasticsearch组件介绍 3、filebeat组件介绍 3.1 filebeat和beat关系 3.2 filebeat是什么&#xff1f; 3.3 Filebeat工作原理 3.4 …

FEAD:fNIRS-EEG情感数据库(视频刺激)

摘要 本文提出了一种可用于训练情绪识别模型的fNIRS-EEG情感数据库——FEAD。研究共记录了37名被试的脑电活动和脑血流动力学反应&#xff0c;以及被试对24种情绪视听刺激的分类和维度评分。探讨了神经生理信号与主观评分之间的关系&#xff0c;并在前额叶皮层区域发现了显著的…

56.【C语言】字符函数和字符串函数(strtok函数)(未完)

目录 12.strtok函数(较复杂) *简单使用 总结: *优化 12.strtok函数(较复杂) *简单使用 strtok:string into tokens cplusplus的介绍 点我跳转 翻译: 函数 strtok char * strtok ( char * str, const char * delimiters ); 总结: delimiters参数指向一个字符串&#xff0…

RK3568平台(基础篇)示波器的使用

一.示波器面板介绍 示波器的横轴表示的是时间,在横轴上有10个小格,每个小格的时间是200us。 示波器的纵轴表示的是电压,在纵轴上有8个小格,每个小格的电压表示1V。 以上是个方波,方波在纵轴上占5个小格,每个小格的电压是500mv,所以这个方波的电压为2500mv。 方波在横…

每日OJ题_牛客_dd爱框框(滑动窗口)

目录 dd爱框框&#xff08;滑动窗口&#xff09; 解析代码 dd爱框框&#xff08;滑动窗口&#xff09; dd爱框框_牛客题霸_牛客网 解析代码 基础同向双指针算法。关于滑动窗口的介绍可看这篇&#xff1a;Offer必备算法02_滑动窗口_八道力扣OJ题详解&#xff08;由易到难&am…

【我的 PWN 学习手札】Largebin Attack(<= glibc-2.38可利用)

目录 前言 一、Largebin Attack的通用利用方法 二、再次 Largebin Attack 三、测试与模板 前言 早期的 Largebin Attack&#xff0c;通过修改 largebin 中 free chunk 的 bk 和 bk_nextsize 指针域&#xff0c;能够实现任意地址写堆地址。然而在 glibc > version2.30 后…

Mycat搭建读写分离

启动Mycat 进入 /mycat/conf/datasources目录下&#xff0c;修改prototypeDs.datasource.json文件 去mycat/bin目录用启动mycat ./mycat start (关闭mycat ./mycat stop)连接mycat 默认端口8066 用户名root 密码123456 注意&#xff1a;这里ip设为null表示任何ip都可以访问…

【学习笔记】SSL/TLS安全机制之CAA

1、概念界定 CAA全称Certificate Authority Authorization&#xff0c;即证书颁发机构授权&#xff0c;每个CA都能给任何网站签发证书。 2、CAA要解决的问题 例如&#xff0c;蓝色网站有一张橙色CA颁发的证书&#xff0c;我们也知道还有许多其他的CA&#xff1b;中间人可以说服…