Apple在Swift中引入同态加密

news2024/9/21 0:35:35

--->更多内容,请移步“鲁班秘笈”!!<---

在计算过程中确保数据隐私和安全性很重要,尤其是在使用云服务。传统的加密方法要求在处理数据之前对数据进行解密,使其面临潜在风险。同态加密是隐私计算的分支,允许在不泄露底层信息的情况下对加密数据进行计算。

同态加密 (HE) 是一种加密技术,它支持对加密数据进行计算,而不会向操作进程泄露底层未加密数据。例如1+1=2,同态加密将原始的1进行加密后将密文相加,能够得到2加密之后的密文。因此在保证完成计算任务同时,又不会泄露原始数据。

它为客户端提供了一种将加密数据发送到服务器的方法,服务器对该加密数据进行操作并返回客户端可以解密的结果。在执行请求期间,服务器本身永远不会解密原始数据,甚至无法访问解密密钥。这种方法为云服务提供了新的机会,可以在保护用户数据的隐私和安全的同时进行操作,这显然对许多方案非常有吸引力。

Apple 引入了一个Swift的新开源包swift-homomorphic-encryption,以实现同态加密技术。swift-homomorphic-encryption 软件包利用了几个高级功能:

  • Swift on Server:利用Hummingbird HTTP框架和跨平台支持。

  • 基准测试库:用于轻松进行性能基准测试。

  • Swift Crypto:提供高性能的低级加密原语。

该算法的实现使用Brakerski-Fan-Vercauteren(BFV)HE方案。该方案基于环学习有误差(RLWE)硬度问题。确保后量子128位安全性,防止经典和未来潜在的量子攻击。

Apple在iOS 18的实时来电显示查找功能中使用了同态加密。此功能通过向服务器发送加密查询来提供来电显示和垃圾邮件阻止服务,该服务器在不知道请求中的特定电话号码的情况下检索有关电话号码的信息。

实时来电显示查找功能还依赖于个人私有信息检索 (PIR),允许客户端执行私有键值数据库查找。在 PIR 设置中,客户端拥有私有键值(例如电话号码),并从服务器检索关联的值。由于键值是私有的,因此客户端希望在服务器不知道真实的键值下执行此查找。采用同态加密,只需要将少量数据库元数据与客户端同步。这种有效的方法支持频繁更新的超大型数据库,从而增强了数据隐私和安全性。

Swift同态加密包的一个基本使用示例:

import HomomorphicEncryption
​
// We start by choosing some encryption parameters for the Bfv<UInt64> scheme.
// *These encryption parameters are insecure, suitable for testing only.*
let encryptParams =
    try EncryptionParameters<Bfv<UInt64>>(from: .insecure_n_8_logq_5x18_logt_5)
// Perform pre-computation for HE computation with these parameters.
let context = try Context(encryptionParameters: encryptParams)
​
// We encode N values using coefficient encoding.
let values: [UInt64] = [8, 5, 12, 12, 15, 0, 8, 5]
let plaintext: Bfv<UInt64>.CoeffPlaintext = try context.encode(
    values: values,
    format: .coefficient)
​
// We generate a secret key and use it to encrypt the plaintext.
let secretKey = try context.generateSecretKey()
let ciphertext = try plaintext.encrypt(using: secretKey)
​
// Decrypting the plaintext yields the original values.
let decrypted = try ciphertext.decrypt(using: secretKey)
let decoded: [UInt64] = try decrypted.decode(format: .coefficient)
precondition(decoded == values)

隐私的立法。在严格执法高额罚金下,企业积极探索隐私保护能力。在这个领域的技术布局较早,技术研究投入多,开源生态好。谷歌、Meta,Apple等大型科技企业在C端应用做了大量探索。

隐私计算在可信执行环境(TEE)上的隐私保护和数据安全相对成熟,其中Intel和ARM的生态相对比较成熟。国外在2B的商业应用尚未铺开,2B主要集中在医疗领域。

国内企业对个人隐私的重视度不够,但随着最近相关法规的持续完善和判例的不断增加,都逐步意识到保护个人隐私数据安全的重要性。国内的商业化应用探索主要集中在B端、G端数据应用层面,金融、政务、医疗等领域已有落地实践,能源、车联网等方向也在积极探索。

上图为隐私计算各个技术方向的对比,其中同态加密的瓶颈在于加密之后的数据传输量以及加密的效率和性能。零知识证明则成为后区块链时代的重要武器,后续将会针对零知识证明展开讨论。

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

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

相关文章

C Primer Plus 第5章——第二篇

你该逆袭了 第5 章:重点摘录 三、表达式和语句1、表达式2、语句&#xff08;1&#xff09;副作用 和 序列点&#xff08;a&#xff09;副作用&#xff08;b&#xff09;序列点1、完整表达式 3、复合语句&#xff08;块&#xff09; 四、类型转换1、强制类型转换运算符2、总结&a…

修改 WSL 安装的子系统的位置,节约C盘空间

问题描述 由于 WSL 玩了一阵子&#xff0c;发现C盘的磁盘空间快没了&#xff0c;如下图所示 感觉以后还是不要磁盘分区了&#xff0c;全部在C盘也没什么不好的。 挪动子系统方法 如下图所示&#xff0c;为了方便演示&#xff0c;我们安装了 ubuntu 子系统&#xff0c;并且打…

快讯 | AI牙医震撼登场:15分钟完成牙冠准备,速度超人类8倍!

在数字化浪潮的推动下&#xff0c;人工智能&#xff08;AI&#xff09;正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展&#xff0c;捕捉行业动态&#xff1b;提供深入的新闻解读&#xff0c;助您洞悉技术背后的逻辑&#xff1b;汇聚行业专家的见解&#xff0c;…

计算几何 点乘 两点间距离 两向量夹角

点乘 点乘&#xff08;也称为内积、标量积或数量积&#xff09;是线性代数中两个向量之间的一种运算&#xff0c;其结果是一个标量&#xff08;即一个单一的数&#xff0c;而不是向量&#xff09;。对于两个n维向量a(a 1 ,a 2 ,…,a n )和b(b 1 ,b 2 ,…,b n )&#xff0c;它们…

翻译: 梯度下降 深度学习神经网络如何学习一

在上一节影片里我讲解了神经网络的结构 首先我们来快速回顾一下 在本节影片里&#xff0c;我们有两个目标 首介绍梯度下降的概念 它不仅是神经网络工作的基础 也是很多其他机器学习方法的基础 然后我们会研究一下这个特别的网络是如何工作的 以及这些隐藏的神经元层究竟在寻找什…

【RDMA项目】如何使用rdma-core进行调用开发一个实战项目

RDMA (Remote Direct Memory Access) 是一种网络协议&#xff0c;可以在计算节点之间实现高效的内存数据传输&#xff0c;而无需CPU的干预。rdma-core 是 RDMA 的一个用户空间库&#xff0c;提供了一些简单易用的接口来使用 RDMA 功能。 开发了一套高级 RDMA&#xff08;远程直…

浅谈Trie树算法(c++)

文章目录 于是他错误的点名开始了题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示思路AC代码 01Trie求n个数两两异或的最大值AC代码 Nikitosh 和异或思路AC代码 The XOR-longest Path思路AC代码 又称字典树&#xff0c;用边来代表字母&#xff0c;而从根结…

《最终幻想14》手游版已获准在中国发行

上个月&#xff0c;有传言称史克威尔和腾讯正在合作开发前者大获成功的MMORPG《最终幻想14》的手机版。Niko Partners分析师丹尼尔艾哈迈德在推特上提到&#xff0c;中国国家新闻出版署已批准发行新一批进口游戏&#xff0c;其中包括《最终幻想14》的手机版&#xff0c;名为《最…

AI智能名片小程序:匹配法则下的粉丝经济新探索

摘要&#xff1a;在数字化时代&#xff0c;企业与消费者之间的互动方式正经历着前所未有的变革。AI智能名片小程序作为这一变革中的新兴产物&#xff0c;不仅重塑了传统商务交流的场景&#xff0c;更在匹配法则的指导下&#xff0c;深刻影响着品牌与粉丝关系的构建与维护。本文…

网络安全数字化转型

1. 背景介绍 在当今数字化浪潮席卷全球的背景下&#xff0c;推行数字化网络安全建设显得尤为迫切与重要&#xff0c;这主要根植于两大核心驱动力&#xff1a;实战挑战的严峻性与行业发展的迫切需求。 1.1. 实战难题的迫切应对 随着信息技术的飞速发展&#xff0c;网络…

全球汽车用粉末涂料市场规划预测:2030年市场规模将接近199亿元,未来六年CAGR为4.3%

一、引言 随着全球汽车行业的持续发展&#xff0c;汽车用粉末涂料作为车辆涂装的重要材料&#xff0c;其市场重要性日益凸显。本文旨在探索汽车用粉末涂料行业的发展趋势、潜在商机及其未来展望。 二、市场趋势 全球汽车用粉末涂料市场的增长主要受全球汽车产量增加、消费者对…

OpenCV||超详细的几何变换

2D图像几何变换的33矩阵&#xff1a; 图像常见的几何变换&#xff1a; 图像来源&#xff1a;《OpenCV 4.5计算机视觉开发实战&#xff1a;基于Python》作者&#xff1a;朱文伟 李建英&#xff1b; 1. 平移&#xff08;Translation&#xff09; 在OpenCV中&#xff0c;平移不是…

如果你感到焦虑、精神内耗,那就跑步去吧!

点击上方△腾阳 关注 转载请联系授权 你好&#xff0c;我是腾阳。 深夜里&#xff0c;你是否辗转反侧、思绪万千却难以入眠&#xff1f; 面对工作截止日期压力山大、心力交瘁&#xff0c;但总提不起神&#xff0c;工作效率低下&#xff1f; 人际交往中&#xff0c;被误解和…

windows 下使用MSYS2编译ffmpeg

1. 下载ffmpeg ,最新源码下载FFmpeghttps://ffmpeg.org/ 2.下载MSYS2,并安装(正常操作步骤) MSYS2Software Distribution and Building Platform for Windowshttps://www.msys2.org/3. 安装好MSYS2后,配置编译环境 打开mingw64.e

Python 进度条:告别枯燥等待,让你的程序动感十足!

在日常编程中&#xff0c;我们经常会遇到需要处理耗时任务的情况&#xff0c;例如文件下载、数据处理等等。看着程序运行&#xff0c;却只能干巴巴地等待&#xff0c;实在令人心焦。 别担心&#xff01;今天就来教你如何使用 Python 创建炫酷的进度条&#xff0c;告别枯燥等待…

董明珠:格力正在开发“不要电”的空调!

8月2日&#xff0c;格力电器在河北召开“格力冰洗生活电器战略发布会”。格力电器董事长兼总裁董明珠在现场发表讲话&#xff0c;透露格力正在开发一个“不要电”的空调。据悉&#xff0c;2012年格力就开始开发这个技术。 董明珠表示&#xff0c;现在的光伏发电需要通过逆变器…

横屏无水印风景视频素材去哪里找啊?横屏无水印素材库分享

在进行视频创作和编辑时&#xff0c;拥有高质量的横屏无水印风景视频素材非常关键&#xff0c;尤其是当你打造旅行记录、自然纪录片或是背景视频等内容时。这类素材不仅能显著提升你的作品的视觉效果&#xff0c;还能加强其感染力。然而&#xff0c;许多创作者在寻找合适的风景…

每日学术速递8.4

1.Sparse vs Contiguous Adversarial Pixel Perturbations in Multimodal 标题&#xff1a; Models: An Empirical Analysis 多模态模型中的稀疏与连续对抗性像素扰动&#xff1a;实证分析 作者&#xff1a; Cristian-Alexandru Botocan, Raphael Meier, Ljiljana Dolamic 文…

eslint配置忽略目录和文件

本部分选自《基于vite构建vue3开发环境——eslint整合》。 默认配置下&#xff0c;咱们引入第三方的svg库js文件也会被eslint检查&#xff1a; 在eslint.config.js中增加配置&#xff1a; 注意 这里不能写成./src/assets&#xff0c;除了忽略整个目录&#xff0c;也可以通过通配…

golang命名异常 error var Xxx should have name of the form ErrFoo (ST1012) 解决方法

异常原因分析 这个提示通常发生在我们使用var 定义一个变量来接收 error异常信息时的变量名称不规范所致。 其实这里的异常信息“ error var Xxx should have name of the form ErrFoo (ST1012)” 这个提示里面也已经提醒了" 变量 Xxx 的名称格式应该为 ErrFoo ", …