学习文章:英特尔×同态科技 | 基于AVX-512指令集的同态加密算法中大整数运算性能优化与突破

文章

人工智能的安全隐患

ChatGPT的成功大部分来源于海量的数据支撑和丰富的数据维度,基于13亿参数量的庞大模型,随着用户的不断涌入,ChatGPT不断迭代进化新的“知识”,而在模型表达能力的增强之外,同时也带来了难以忽视的安全风险。除了模型本身可能存在的投毒风险,隐私数据泄露导致的数据重构等风险,都可能造成一定的社会及经济损失。

数据安全共享解决方案

在数字经济迅速发展的大背景下,如何能够利用安全、合规、有序的数据流通和共享手段,将本地数据共享给人工智能平台进行联合训练?

为提升模型学习与决策能力,隐私计算技术能够在保护数据本身不泄露的前提下,能够较好解决数据在收集、传输、分析、计算等处理活动中的动态安全,但实际应用中,仍存在技术应用成熟度低、应用实施改动大、权威机构认证少等痛点问题。

因此,同态科技围绕以同态加密为核心的一系列国产新型密码技术,在充分保护数据隐私安全的基础上,不改变原有业务流程,低成本、低改造地拓展数据应用场景。通过“一次加密,一次加载,全量应用”的新型数据流转模式,实现数据价值最大化,达成 “原始数据不出域,数据可用不可见”目的。

国产同态加密算法解决计算效率问题

同态加密技术,就是指数据加密之后,密文数据和未加密前的明文数据相比,具有完全一致的计算能力。目前对比市场上主流的同态加密技术,或多或少的有一些效率上的瓶颈。

Craig Gentry曾给出直观定义:“A way to delegate processing of your data, without giving away access to it”,通俗的讲,同态加密技术就是一种在不接触原始数据的情况下,实现对数据的应用。

同态科技自研的国产新型同态加密算法——“同态构型”算法有效解决了计算效率问题,大幅提升了密文计算性能。

CCA-2安全:自适应性选择密文安全,参考:https://www.cnblogs.com/pam-sh/p/15244862.html

在同一批数据相同运行环境下,与当下主流的同态加密算法库(微软SEAL)相比,实现了算法层面的速度提升1800倍以上,并在密文扩张、兼容性、细粒度、以及应用场景等方面均实现了较大提升,有效解决在当下数据融合过程中的隐私保护问题。

结合英特尔再度提升算法计算性能

SIMD技术通过对一组数据向量中的每个元素同时执行相同的操作,实现空间上的并行性。

在算法优化的基础上,大整数运算是“同态构型”算法中,性能提升的一大环节。同态科技联合英特尔,以AVX-512指令集为切入点,通过中国剩余定理压缩数据,再利用并行计算提升大整数的运算效率,形成大整体运算优化方案。

见论文:Fully homomorphic SIMD operations

英特尔 AVX-512作为SIMD技术的典型代表,利用32个512位长的向量寄存器,不但提升了并行计算的数据存量,还在算力部分进行了优化,更适配高性能计算场景下的效率需求,对于科学模拟、金融分析、人工智能、图像处理、数据压缩等,对工作负载和用例的性能较高的业务均提供了有力支撑。

最终实验结果表明,该方案和主流大整数库(GMP库)项目,加法效率提升了70倍,乘法效率提升了100倍,有望基于此进一步实现同态构型算法的性能提升。

技术

同态构型密码算法

来自:https://www.ttaicloud.com/p/technology.html

同态构型密码算法设计不依赖传统的公钥全同态加密技术,基于离线状态下常数次(最优时一次)单向陷门J置换,在线状态下仅包含加法、乘法的对称全同态映射,实现密文域上高效的隐私计算。

文章学习:基于AVX-512指令集的同态加密算法中大整数运算性能优化与突破的更多相关文章

  1. Oracle学习总结(8)—— 面向程序员的数据库访问性能优化法则

    特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也 ...

  2. 学习 CLR 源码:连续内存块数据操作的性能优化

    目录 C# 原语类型 1,利用 Buffer 优化数组性能 2,BinaryPrimitives 细粒度操作字节数组 提高代码安全性 3,BitConverter.MemoryMarshal 4,Ma ...

  3. Android性能优化学习

    工作以来,越来越觉得性能优化的重要性,从技术角度,它甚至成了决定一个app成败的最关键因素.因此,特地花时间去学习专研性能优化的方法. 学习性能优化最便捷的方式便是研读别人有关性能优化的博客,然而网上 ...

  4. R语言网络爬虫学习 基于rvest包

    R语言网络爬虫学习 基于rvest包 龙君蛋君:2015年3月26日 1.背景介绍: 前几天看到有人写了一篇用R爬虫的文章,感兴趣,于是自己学习了.好吧,其实我和那篇文章R语言爬虫初尝试-基于RVES ...

  5. Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK

    原文:Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...

  6. 基于栈的指令集与基于寄存器的指令集详细比对及JVM执行栈指令集实例剖析

    基于栈的指令集与基于寄存器的指令集详细比对: 这次来学习一些新的概念:关于Java字节码的解释执行的一种方式,当然啦是一些纯理论的东东,但很重要,在之后会有详细的实验来对理论进行巩固滴,下面来了解一下 ...

  7. JVM笔记 -- JVM的发展以及基于栈的指令集架构

    2011年,JDK7发布,1.7u4中,开始启用新的垃圾回收器G1(但是不是默认). 2017年,发布JDK9,G1成为默认GC,代替CMS.(一般公司使用jdk8的时候,会通过参数,指定GC为G1) ...

  8. 从零学习基于Python的RobotFramework自动化

    从零学习基于Python的RobotFramework自动化 一.        Python基础 1)      版本差异 版本 编码 语法 其他 2.X ASCII try: raise Type ...

  9. 《如何学习基于ARM嵌入式系统》笔记整理

    author:Peong time:20190603 如何学习基于ARM嵌入式系统 一.嵌入式系统的概念 从硬件上讲,将外围器件,与CPU集成在一起. 从操作系统上讲,定制符合要求的系统内核 从应用上 ...

  10. Netty学习——基于netty实现简单的客户端聊天小程序

    Netty学习——基于netty实现简单的客户端聊天小程序 效果图,聊天程序展示 (TCP编程实现) 后端代码: package com.dawa.netty.chatexample; import ...

随机推荐

  1. 一文讲透 FPGA CDC 多bit跨时钟域同步-hand-shanking机制

    一.背景 数据的跨时钟域处理是FPGA开发过程中的常见问题,存在两种情况 慢时钟向快时钟同步:只需在快时钟域打两拍即可.其RTL如下: 打拍同步的原理:大家在初学FPGA时,经常听过FPGA中对信号打 ...

  2. 高性能计算-gemm-mpi并行计算优化(8)

    1. 目标: 矩阵A(MK) 矩阵B(KN)相乘,计算结果 C(M*N);本测试将使用不同的数据分块方式.MPI通信接口.数据循环模型,测试通信及计算效率,计算耗时为程序用户态和核心态的占用cpu时间 ...

  3. openEuler欧拉修改SSH端口

    修改SSH端口的主要原因是提高服务器的安全性.默认情况下,SSH服务运行在端口22上,因此攻击者和自动化脚本通常会针对此端口发起暴力破解攻击.密码猜测和其他恶意活动. vim /etc/ssh/ssh ...

  4. 清理docker logs

    1,docker ps找到id [root@mysql3 /]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1d8 ...

  5. MySQL 迁移到 PG 怎么做

    千万不要用 pgloader,就是个垃圾 etlalchemy 是值得信赖的选择. https://github.com/seanharr11/etlalchemy 还有其它基于 sqlalchemy ...

  6. 反微服务架构(A Macro Services Framework)

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 反微服务架构(A Macro Services Frame ...

  7. jenkins集群 - HTMLreport测试报告

    一.安装 HTML Publisher plugin 插件 插件下载地址 二.配置构建后步骤 三.编辑报告执行脚本 四.安装 Startup Trigger 和 Groovy 插件 1.安装原因: J ...

  8. shell 将文件内容读取到 数组中

    #!/bin/bash prod_file=/home/vmuser/linbo/kettleDemo/job/test/CA-20201224.csv test_file=/home/vmuser/ ...

  9. resttemplate 调用https 出错 unable to find valid certification path to requested target

    resttemplate 调用https使用下面代码: @Bean @Primary public RestTemplate restTemplate(ClientHttpRequestFactory ...

  10. 如何控制bean的加载顺序?

    写在前面 springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题.在此基础上,又提供了spi机制,用spring.factories可以完成一个小组件的自动装配功能. 在一般业务场 ...