带你读《云原生机密计算最佳实践白皮书》——Intel_HE_Toolkit开发指南(3)

简介: 带你读《云原生机密计算最佳实践白皮书》——Intel_HE_Toolkit开发指南(3)

《云原生机密计算最佳实践白皮书》——05编程框架——Intel Homomorphic Encryption: Intel平台同态加密加速框架——Intel_HE_Toolkit开发指南(2) https://developer.aliyun.com/article/1231495?groupCode=aliyun_linux



运行示例应用

1、逻辑回归

这是一个用SEAL CKKS实现的逻辑回归推理,可以根据实际需要选择数据和模型都是密文或者其中一方是密文而另一方是明文的配置。通过传递命令行参数 --linear_regression ,也可以实现线性回归推理。

• 编译

cd he-toolkit/he-samples/examples/logistic-regression
cmake -S . -B build -DSEAL_DIR=$HOME/.hekit/components/seal/v3.7.2/install/lib64/cmake/
SEAL-3.7 \
 -DMicrosoft.GSL_DIR=$HOME/.hekit/components/gsl/v3.1.0/install/share/cmake/
 Microsoft.GSL \
 -Dzstd_DIR=$HOME/.hekit/components/zstd/v1.4.5/install/lib64/cmake/zstd \
 -DHEXL_DIR=$HOME/.hekit/components/hexl/1.2.3/install/lib/cmake/hexl-1.2.3
cmake --build build

• 运行

cd build
./lr_test

• 预期输出结果

INFO: Wed Nov 2 03:21:03 2022: Loading EVAL dataset
INFO: Wed Nov 2 03:21:03 2022: dataLoader: datasets/lrtest_mid_eval.csv
INFO: Wed Nov 2 03:21:04 2022: Loading EVAL dataset complete Elapsed(s): 0.102
INFO: Wed Nov 2 03:21:04 2022: Input data size: (samples) 2000 (features) 80
INFO: Wed Nov 2 03:21:04 2022: Loading Model
INFO: Wed Nov 2 03:21:04 2022: weightsLoader: datasets/lrtest_mid_lrmodel.csv
INFO: Wed Nov 2 03:21:04 2022: Loading Model complete Elapsed(s): 0
INFO: Wed Nov 2 03:21:04 2022: Encode/encrypt weights and bias
INFO: Wed Nov 2 03:21:04 2022: Encode/encrypt weights and bias complete Elapsed(s): 0.041
INFO: Wed Nov 2 03:21:04 2022: HE LR
INFO: Wed Nov 2 03:21:04 2022: # of batches: 1 Batch size: 4096
INFO: Wed Nov 2 03:21:04 2022: Transpose data
INFO: Wed Nov 2 03:21:04 2022: - Transpose data complete Elapsed(s): 0.005
INFO: Wed Nov 2 03:21:04 2022: Encode/encrypt data
INFO: Wed Nov 2 03:21:04 2022: - Encode/encrypt data complete! Elapsed(s): 0.026
INFO: Wed Nov 2 03:21:04 2022: Logistic Regression HE: 1 batch(es)
INFO: Wed Nov 2 03:21:04 2022: - LR HE complete! Elapsed(s): 0.085
INFO: Wed Nov 2 03:21:04 2022: Decrypt/decoding LRHE result
INFO: Wed Nov 2 03:21:04 2022: - Decrypt/decode complete! Elapsed(s): 0.003
INFO: Wed Nov 2 03:21:04 2022: HE inference result - accuracy: 0.855

2、安全查询

这个例子演示了如何用同态加密技术(SEAL BFV scheme)实现安全数据库查询。在这个例子中,数据查询条件和数据库本身都是加密的状态。查询客户端负责初始化加密上下文、产生同态加密密钥对、加密查询条件和解密查询结果。查询服务端负责存储加密数据库,并实现加密数据库查询算法。

• 编译

cd he-toolkit/he-samples/examples/logistic-regression
cmake -S . -B build -DSEAL_DIR=$HOME/.hekit/components/seal/v3.7.2/install/lib64/cmake
/SEAL-3.7 \
 -DMicrosoft.GSL_DIR=$HOME/.hekit/components/gsl/v3.1.0/install/share/cmake/
 Microsoft.GSL \
-Dzstd_DIR=$HOME/.hekit/components/zstd/v1.4.5/install/lib64/cmake/zstd \
-DHEXL_DIR=$HOME/.hekit/components/hexl/1.2.3/install/lib/cmake/hexl-1.2.3
cmake --build build

• 运行

cd build
./secure-query

• 预期输出结果

Initialize SEAL BFV scheme with default parameters[Y(default)|N]:
SEAL BFV context initialized with following parameters
Polymodulus degree: 8192
Plain modulus: 17
Key length: 8
Input fifile to use for database or press enter to use default[us_state_capitals.csv]:
Number of database entries: 50
Encrypting database entries into Ciphertexts
Input key value to use for database query:Oregon
Querying database for key: Oregon
Decoded database entry: Salem
Total query elapsed time(seconds): (Time in seconds for database query)
Records searched per second: (number of records searched per second)

二进制包安装

除了直接通过源代码编译安装,Intel HE Toolkit即将在下一个Anolis版本中支持通过二进制包的形式安装。


参考

Intel HE Toolkit: https://github.com/intel/he-toolkit

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
3月前
|
监控 Cloud Native 持续交付
构建未来:云原生技术驱动的云计算平台
【5月更文挑战第52天】 随着数字化转型的不断深化,企业对于敏捷性、可扩展性和成本效益的需求日益增长。本文探讨了如何通过采纳云原生技术来构建和优化云计算平台,以支持不断变化的业务需求。文章首先概述了云原生技术的核心概念及其优势,随后详细分析了在设计云平台时应考虑的关键要素,并通过案例研究展示了云原生实践在实际中的应用效果。最后,文章提出了面向未来的云平台发展趋势和挑战。
|
4月前
|
存储 弹性计算 监控
【阿里云云原生专栏】成本优化策略:在阿里云云原生平台上实现资源高效利用
【5月更文挑战第29天】本文探讨了在阿里云云原生平台上实现资源高效利用和成本优化的策略。通过资源监控与评估,利用CloudMonitor和Prometheus等工具分析CPU、内存等使用情况,识别浪费。实施弹性伸缩策略,利用自动伸缩规则根据业务负载动态调整资源。借助容器化管理和Kubernetes编排提高资源利用率,优化存储选择如OSS、NAS,以及网络配置如VPC和CDN。示例展示了如何使用Kubernetes的HorizontalPodAutoscaler进行弹性伸缩,降低成本。
208 4
|
4月前
|
边缘计算 Cloud Native 数据管理
【阿里云云原生专栏】云原生背景下的AIoT布局:阿里云Link平台解析
【5月更文挑战第29天】阿里云Link平台,作为阿里云在AIoT领域的核心战略,借助云原生技术,为开发者打造一站式物联网服务平台。平台支持多协议设备接入与标准化管理,提供高效数据存储、分析及可视化,集成边缘计算实现低延时智能分析。通过实例代码展示,平台简化设备接入,助力智能家居等领域的创新应用,赋能开发者构建智能生态系统。
157 3
|
7天前
|
Kubernetes 监控 Cloud Native
Cluster Optimizer:一款云原生集群优化平台
**Cluster Optimizer** 是一款云原生集群优化平台,旨在通过自动化和智能化工具帮助企业降低云成本,解决云原生架构中的成本管理难题。面对资源闲置、配置不当和缺乏自动化优化机制等挑战,Cluster Optimizer能够深入分析云资源、应用和用户行为,精准识别优化机会,并给出具体建议,涵盖节点组、节点、GPU 节点、磁盘、持久卷和应用等多个维度。通过优化实例类型、自动扩缩容和资源分配,帮助企业降低成本、提升性能和效率。[点击此处](https://www.wiseinf.com.cn/docs/setup/) 免费安装和试用 **Cluster Optimizer 社区版**。
67 9
|
21天前
|
存储 边缘计算 Kubernetes
边缘计算问题之边缘计算平台建设中业务应用践行云原生体系如何解决
边缘计算问题之边缘计算平台建设中业务应用践行云原生体系如何解决
36 1
|
1月前
|
运维 Cloud Native 云计算
云原生架构的演进:从微服务到无服务器计算
在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性和成本效益性,成为推动现代软件开发和运维的关键力量。本文将探讨云原生概念的演变,特别是从微服务架构到无服务器计算的转变,揭示这一进化如何影响应用程序的开发、部署和管理。通过分析实际案例,我们旨在提供对云原生技术未来趋势的洞察,同时指出企业在这一转变过程中可能面临的挑战和机遇。
34 2
|
2月前
|
运维 Cloud Native 持续交付
云原生架构的演进:从微服务到无服务器计算
【7月更文挑战第28天】在数字化浪潮的推动下,云原生技术不断演进,引领着软件开发和运维模式的革新。本文将深入探讨云原生架构的发展历程,着重分析微服务架构与无服务器计算模型如何相互补充,共同推动现代应用的开发与部署。我们将从微服务的基本原则出发,探索其如何赋能团队快速迭代和扩展应用,进而阐述无服务器计算如何简化资源管理,降低运营成本。通过对比分析,揭示两者结合的优势,为读者提供构建未来云原生应用的洞见。
|
2月前
|
人工智能 运维 Cloud Native
|
2月前
|
存储 运维 监控
云原生时代的数据存储与计算优化策略
【7月更文挑战第15天】在数字化转型的浪潮中,云原生技术成为企业创新和效率提升的关键。本文将探索如何通过云原生架构实现数据存储和计算的优化,旨在为开发者和企业决策者提供实用的指导和建议,以应对日益增长的数据挑战。
|
2月前
|
运维 Cloud Native 开发者
云原生架构的演进之路:从微服务到无服务器计算
在数字化转型的浪潮中,企业不断追求更高效、灵活的IT解决方案。云原生技术作为推动现代软件部署的关键力量,其发展经历了从微服务到无服务器计算的转变。本文将深入探讨这一演进过程,揭示它如何重塑应用开发与运维模式,并展望云原生技术的未来趋势。

热门文章

最新文章