1.2.2.1.4 数据安全发展技术发展历程:高级公钥加密方案——同态加密
引言
在密码学领域,有一种技术被图灵奖得主、著名密码学家Oded Goldreich誉为"密码学圣杯",那就是全同态加密(Fully Homomorphic Encryption)。今天我们就来聊聊这个神秘而强大的加密方案是如何从1978年的概念提出,历经近三十年才被攻克,以及它背后不断演进的技术路线。
同态加密的神奇之处
同态加密是一种特殊的加密技术,它最引人注目的特性是:在密文上直接进行特定运算,解密后得到的结果与对明文进行相同运算的结果一致。这就像给数据穿上一层保护罩,同时让计算可以直接在保护罩上进行而不需要先解密数据。
这种特性带来了巨大的价值:在云计算环境下,用户可以将加密数据上传到云端,云端执行计算后将密文结果返回给用户,用户解密后得到正确结果,整个过程云端从未接触过明文数据,从根本上解决了云服务的隐私安全问题。
部分同态加密:从1978到千禧年
1978年,密码学三巨头之一的Rivest(与他人共同提出RSA算法)等人在论文中首次提出了同态加密的概念。这个开创性的工作提出了一个核心问题:能否设计出一种加密方案,使得密文能够保持其对应的明文在特定运算下的特性?
随后的几十年中,密码学家们开发出了几种部分同态加密方案,它们能够有效支持单一类型的运算:
-
乘法同态:支持在密文上进行任意次乘法运算
- 代表方案:EIGamal加密方案
- 应用场景:适用于需要保护数据隐私的乘法操作场景
-
加法同态:支持在密文上进行任意次加法运算
- 代表方案:Paillier加密方案
- 应用场景:适用于统计计算、投票系统等需要加法运算的场景
这些部分同态加密方案在各自领域发挥了重要作用,但都有一个共同限制——无法同时支持加法和乘法运算。在实际应用中,我们经常需要同时进行加减乘除等混合运算,这种限制成为了同态加密技术发展的主要瓶颈。
悬而未决的难题:“密码学圣杯”
从1978年到2009年这31年间,如何构造能够同时支持任意次加法和乘法运算的固定加密方案(全同态加密),一直是困扰密码学界的核心难题。这种能完全模拟明文上所有运算的加密方案被称为"全同态加密"。
这一难题的难度在于:要在保证安全性的前提下,设计出能够动态"调整"密文结构的机制,以适应不同运算带来的"噪声"积累问题。随着运算的进行,密文中的噪声会不断累积,超过一定限度后就会导致解密失败。
全同态加密的突破:Gentry的革命性工作
2009年,斯坦福大学的博士生Craig Gentry在其博士论文中实现了突破性进展,他基于理想格(ideal lattice)构造出了第一个全同态加密方案。这个方案具有两个关键创新:
-
自举(Bootstrapping)技术:Gentry提出了一种巧妙的方法,可以在不解密的情况下对密文进行"刷新",重置噪声水平,相当于给加密方案装上了"自我清洁"机制。
-
理想格结构:利用格理论中的理想结构,构造出一种能抵抗特定攻击的数学结构,为实现同态操作提供了基础。
Gentry的方案虽然理论意义重大,但在实际应用中仍面临效率问题。后续研究者们围绕如何提高效率、降低计算复杂度展开了深入研究。
全同态加密的进一步发展
-
容错学习基方案(2014年):Brakerski等人提出的基于容错学习(LWE/Lattice-based)的全同态加密方案,相比理想格方案,具有更好的可证明安全性,并在实际实现中展现出更优的性能。
-
Hensel编码方案(2021年):Sliva等人提出的基于Hensel编码的全同态加密方案,在保持高安全性的同时,进一步优化了计算效率和密文大小。这一进展使得全同态加密距离实际应用又近了一步。
未来展望
虽然全同态加密在技术上取得了显著进展,但要实现大规模实际应用仍面临诸多挑战,包括计算效率、算法优化、硬件加速等。不过,随着量子计算威胁的增加,基于格理论的全同态加密作为后量子密码学的重要候选,正受到越来越广泛的关注。
可以预见,随着技术的进步,全同态加密有望在云计算安全、隐私保护机器学习、数据共享平台等领域发挥革命性作用,真正实现Gentry所说的"保护数据,但允许计算使用数据"的美好愿景。
结语
从1978年的概念提出,到2009年的首次实现,再到2021年不断演进的方案,全同态加密见证了密码学领域半个世纪的技术进步。每一代方案的提出都是对前人工作的继承与创新,共同推动了这一革命性技术的发展。让我们期待在不远的将来,全同态加密能够真正走进我们的日常生活,为数据安全和隐私保护带来质的飞跃。
上一篇:1.2.2.1.3 数据安全发展技术发展历程:高级公钥加密方案——代理重加密
下一篇:1.2.2.1.5 数据安全发展技术发展历程:高级公钥加密方案——安全多方计算
更多推荐阅读内容
大白话解读AI聊天机器人的三大安全隐患(2025版)
人工智能安全三把火:大型语言模型必须防范的三大隐患
三分钟看懂LLM新安全风险:AI的四大隐形炸弹
普通人必备的AI安全验货指南:3分钟避开99%的隐私陷阱
为什么软件产品要做国产化适配?深度解析背后的必要性
黑客帝国觉醒:当网络安全数据开始“说真话“
相关文章:

1.2.2.1.4 数据安全发展技术发展历程:高级公钥加密方案——同态加密
引言 在密码学领域,有一种技术被图灵奖得主、著名密码学家Oded Goldreich誉为"密码学圣杯",那就是全同态加密(Fully Homomorphic Encryption)。今天我们就来聊聊这个神秘而强大的加密方案是如何从1978年的概念提出&…...
Java大师成长计划之第18天:Java Memory Model与Volatile关键字
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4o-mini模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 在Java多线程编程中,线程…...

Lua再学习
因为实习的项目用到了Lua,所以再来深入学习一下 函数 函数的的多返回值 Lua中的函数可以实现多返回值,实现方法是再return后列出要返回的值的列表,返回值也可以通过变量接收到,变量不够也不会影响接收对应位置的返回值 Lua中传…...

GitLab搭建与使用(SSH和Docker)两种方式
前言 目前公共的代码仓库有很多,比如:git、gitee等等仓库但是我们在公司中,还是要搭建属于本公司自己的一个代码仓库,原因有如下几点 代码私密性,我们公司开发的代码保密性肯定一级重要,那么我们放到公网上,…...

Linux数据库篇、第零章_MySQL30周年庆典活动
MySQL考试报名网站 Oracle Training and Certification | Oracle 中国 活动时间 2025年 MySQL的30周年庆典将于2025年举行。MySQL于1995年首次发布,因此其30周年纪念日是2025年。为了庆祝这一里程碑,MySQL将提供免费的课程和认证考试,活动…...

Windows ABBYY FineReader 16 Corporate 文档转换、PDF编辑和文档比较
作为一名合格的工人,日常工作肯定离不开PDF文件,所以今天给大家找来了一款全新的PDF处理工具,保证能给你带来不一样的体验。 软件介绍 这是一个全能型的PDF处理器,集优秀的文档转换、PDF编辑和文档比较等功能于一身,…...
设计模式简述(十九)桥梁模式
桥梁模式 描述基本组件使用 描述 桥梁模式是一种相对简单的模式,通常以组合替代继承的方式实现。 从设计原则来讲,可以说是单一职责的一种体现。 将原本在一个类中的功能,按更细的粒度拆分到不同的类中,然后各自独立发展。 基本…...

【每日一题 | 2025年5.5 ~ 5.11】搜索相关题
个人主页:Guiat 归属专栏:每日一题 文章目录 1. 【5.5】P3717 [AHOI2017初中组] cover2. 【5.6】P1897 电梯里的尴尬3. 【5.7】P2689 东南西北4. 【5.8】P1145 约瑟夫5. 【5.9】P1088 [NOIP 2004 普及组] 火星人6. 【5.10】P1164 小A点菜7. 【5.11】P101…...
C语言速成之08循环语句全解析:从基础用法到高效实践
C语言循环语句全解析:从基础用法到高效实践 大家好,我是Feri,12年开发经验的程序员。循环语句是程序实现重复逻辑的核心工具,掌握while、do-while、for的特性与适用场景,能让代码更简洁高效。本文结合实战案例…...

多模态大语言模型arxiv论文略读(六十九)
Prompt-Aware Adapter: Towards Learning Adaptive Visual Tokens for Multimodal Large Language Models ➡️ 论文标题:Prompt-Aware Adapter: Towards Learning Adaptive Visual Tokens for Multimodal Large Language Models ➡️ 论文作者:Yue Zha…...
云计算-容器云-部署CICD-jenkins连接gitlab
安装 Jenkins 将Jenkins部署到default命名空间下。要求完成离线插件的安装,设置Jenkins的登录信息和授权策略。 上传BlueOcean.tar.gz包 [root@k8s-master-node1 ~]#tar -zxvf BlueOcean.tar.gz [root@k8s-master-node1 ~]#cd BlueOcean/images/ vim /etc/docker/daemon.json…...

精讲C++四大核心特性:内联函数加速原理、auto智能推导、范围for循环与空指针进阶
前引:在C语言长达三十余年的演进历程中,每一次标准更新都在试图平衡性能与抽象、控制与安全之间的微妙关系。从C11引入的"现代C"范式开始,开发者得以在保留底层控制能力的同时,借助语言特性大幅提升代码的可维护性与安全…...

【HarmonyOS 5】鸿蒙中常见的标题栏布局方案
【HarmonyOS 5】鸿蒙中常见的标题栏布局方案 一、问题背景: 鸿蒙中常见的标题栏:矩形区域,左边是返回按钮,右边是问号帮助按钮,中间是标题文字。 那有几种布局方式,分别怎么布局呢?常见的思维…...
Docker 部署 - Crawl4AI 文档 (v0.5.x)
Docker 部署 - Crawl4AI 文档 (v0.5.x) 快速入门 🚀 拉取并运行基础版本: # 不带安全性的基本运行 docker pull unclecode/crawl4ai:basic docker run -p 11235:11235 unclecode/crawl4ai:basic# 带有 API 安全性启用的运行 docker run -p 11235:1123…...
QuecPython+Aws:快速连接亚马逊 IoT 平台
提供一个可接入亚马逊 Iot 平台的客户端,用于管理亚马逊 MQTT 连接和影子设备。 初始化客户端 Aws class Aws(client_id,server,port,keep_alive,ssl,ssl_params)参数: client_id (str) - 客户端唯一标识。server (str) - 亚马逊 Iot 平台服务器地址…...
内存安全暗战:从 CVE-2025-21298 看 C 语言防御体系的范式革命
引言 2025 年 3 月,当某工业控制软件因 CVE-2025-21298 漏洞遭攻击,导致欧洲某能源枢纽的电力调度系统瘫痪 37 分钟时,全球网络安全社区再次被拉回 C 语言内存安全的核心战场。根据 CISA 年度报告,68% 的高危漏洞源于 C/C 代码&a…...
SpringCloud Gateway知识点整理和全局过滤器实现
predicate(断言): 判断uri是否符合规则 • 最常用的的就是PathPredicate,以下列子就是只有url中有user前缀的才能被gateway识别,否则它不会进行路由转发 routes:- id: ***# uri: lb://starry-sky-upmsuri: http://localhost:9003/predicate…...
全球实物文件粉碎服务市场洞察:合规驱动下的安全经济与绿色转型
一、引言:从纸质堆叠到数据安全的“最后一公里” 在数字化转型浪潮中,全球企业每年仍产生超过1.2万亿页纸质文件,其中包含大量机密数据、客户隐私及商业敏感信息。据QYResearch预测,2031年全球实物文件粉碎服务市场规模将达290.4…...
冒泡排序的原理
冒泡排序是一种简单的排序算法,它通过重复地遍历待排序的列表,比较相邻的元素并交换它们的位置来实现排序。具体原理如下: 冒泡排序的基本思想 冒泡排序的核心思想是通过相邻元素的比较和交换,将较大的元素逐步“冒泡”到列表的…...

Day22 Kaggle泰坦尼克号训练实战
作业 自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码 kaggle泰坦里克号人员生还预测 一、流程 思路概述 数据加载 :读取泰坦尼克号的训练集和测试集。数据预处理 :处理缺失值、对分类变量进行编码、…...

深入浅出之STL源码分析7_模版实例化与全特化
1.引言 显示实例话和全特化的区别,之前我们在讨论类模版的时候,讨论过,他俩不是同一个概念,类模版中你如果全特化了,还是需要实例化才能生成代码,但是对于函数模版,这个是不同的,函…...
CAPL -实现SPRMIB功能验证
系列文章目录 抑制肯定响应消息指示位(SPRMIB) 二十一、CANdelaStudio深入-SPRMIB的配置 文章目录 系列文章目录一、SPRMIB是什么?二、SetSuppressResp(long flag)三、GetSuppressResp 一、SPRMIB是什么? 正响应:表示…...

2025 Mac常用软件安装配置
1、homebrew 2、jdk 1、使用brew安装jdk: brew install adoptopenjdk/openjdk/adoptopenjdk8 jdk默认安装位置在 /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home 目录。 2、配置环境变量: vim ~/.zshrc# Jdk export JAVA_HOM…...

容器技术 20 年:颠覆、重构与重塑软件世界的力量
目录 容器技术发展史 虚拟化技术向容器技术转变 Docker的横空出世 容器编排技术与Kubernetes 微服务的出现与Istio 工业标准的容器运行时 容器技术与 DevOps 的深度融合 无服务架构推波助澜 展望未来发展方向 从 20 世纪硬件虚拟化的笨重,到操作系统虚拟…...

cmake:test project
本文主要探讨cmake在测试和项目中的应用。 add_test add_test(NAME <name> COMMAND <command> [<arg>...] [CONFIGURATIONS <config>...] [WORKING_DIRECTORY <dir>] [COMMAND_EXPAND_LISTS]) add_test(NAME test_uni COMMAND $<TARGET_F…...

C++开发过程中的注意事项详解
目录 C++开发过程中的注意事项详解 一、内存管理:避免泄漏与资源浪费 1.1 使用智能指针管理动态内存 1.2 避免手动内存管理的陷阱 1.3 利用RAII机制管理资源 1.4 容器与内存分配 二、安全性:防御攻击与未定义行为 2.1 输入验证与安全编码 2.2 使用安全的通信协议 2…...
OpenWrt开发第8篇:树莓派开发板做无线接入点
文/指尖动听知识库-谷谷 文章为付费内容,商业行为,禁止私自转载及抄袭,违者必究!!! 文章专栏:Openwrt开发-基于Raspberry Pi 4B开发板 树莓派开发板作为无线接入点的时候,可以通过电脑和手机打开WiFi功能搜索到相应打开的WiFi; 1 通过Web操作界面开启wifi 1...
Leetcode (力扣)做题记录 hot100(42,104,226,101)
力扣第42题:接雨水 42. 接雨水 - 力扣(LeetCode) 左边遍历一次记录左侧最大值 右边同理,最后遍历一次 左侧右侧最小值减去当前值即可。 class Solution {public int trap(int[] height) {int n height.length;int[] leftMax …...

第六天:Java数组
数组 数组概述 数组是相同类型数据的有序集合。数组中的元素可以是任意数据类型,包括基本类型和引用类型数组描述是相同类型的若干个数据,按照一定的先后顺序排列组合而成。数组下标从0开始。 数组声明与创建 数组的声明 int[] nums;//声明一个数组…...

李沐动手深度学习(pycharm中运行笔记)——09.softmax回归+图像分类数据集+从零实现+简洁实现
09.softmax回归图像分类数据集从零实现简洁实现(与课程对应) 目录 一、softmax回归 1、回归 vs 分类 2、经典分类数据集: 3、从回归到分类——均方损失 4、从回归到多类分类——无校验比例 5、从回归到多类分类——校验比例 6、softmax和…...