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

Apple在Swift中引入同态加密

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

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

同态加密 (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端数据应用层面,金融、政务、医疗等领域已有落地实践,能源、车联网等方向也在积极探索。

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Stable Diffusion 官方模型V1.5版本下载
  • LLM - 理解 主流大模型 LLM 使用 Decoder Only 架构 (8点)
  • 回顾前面刷过的算法(4)
  • HanLP和Jieba区别
  • 单元测试JUnit
  • eslint配置忽略目录和文件
  • 国内开源软件镜像站点参考
  • 【STL】String的底层构造
  • Executable Code Actions Elicit Better LLM Agents
  • 国球荣耀背后的笑与泪——陈梦夺冠现象有感
  • 银河麒麟V10 审计工具 auditd 内存泄漏问题
  • Stable Diffusion绘画 | 图生图-基础使用介绍—提示词反推
  • 监控员工电脑的软件有哪些?四款监控员工电脑的软件分享!
  • fatal error: concurrent map iteration and map write - 关于Go中并发访问Map的操作
  • android compose设置圆角不起作用
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 4个实用的微服务测试策略
  • C++类的相互关联
  • interface和setter,getter
  • Intervention/image 图片处理扩展包的安装和使用
  • iOS 系统授权开发
  • JavaWeb(学习笔记二)
  • Less 日常用法
  • PHP的类修饰符与访问修饰符
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • vue数据传递--我有特殊的实现技巧
  • windows下如何用phpstorm同步测试服务器
  • 给github项目添加CI badge
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 使用putty远程连接linux
  • - 转 Ext2.0 form使用实例
  • nb
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (SpringBoot)第二章:Spring创建和使用
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (一)80c52学习之旅-起始篇
  • ./和../以及/和~之间的区别
  • .bat批处理出现中文乱码的情况
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net core开源商城系统源码,支持可视化布局小程序
  • .net FrameWork简介,数组,枚举
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET 设计模式—适配器模式(Adapter Pattern)