-
Notifications
You must be signed in to change notification settings - Fork 3.8k
微软的全同态加密算法的源码编译流程 By backtrack
小傅哥 edited this page Apr 21, 2020
·
3 revisions
MS SEAL - MACOX 10.15.4 编译
https://github.com/microsoft/SEAL
-
下载源码
1. git clone https://github.com/microsoft/SEAL 2. git checkout 3.4.5
-
Mac 编译准备
1. 安装 Xcode 最新版 2. 安装 cmake -> brew install cmake 3. 验证 cmake(>=3.12) 和 g++(>=6.0) 或者 clang++(>=5/0) 版本,Mac Xcode toolchain(>=9.3) - cmake -version => cmake version 3.17.0 - clang++ --version => Apple clang version 11.0.3 (clang-1103.0.32.29)
-
编译主程序
cd native/src mkdir build cd build cmake .. make cd ../../..
编译完成
[ 97%] Building CXX object CMakeFiles/seal.dir/seal/util/ztools.cpp.o [100%] Linking CXX static library /Users/Tao/tao/getui/lab/SEAL/native/lib/libseal-3.4.a [100%] Built target seal
-
编译测试用例
cd native/examples mkdir build cd build cmake .. make cd ../../..
-
编译单元测试
git submodule update --init cd native/tests mkdir build cd build cmake .. make cd ../../..
-
运行单元测试
native/bin/sealtest
测试结果
[----------] Global test environment tear-down [==========] 239 tests from 39 test suites ran. (2248 ms total) [ PASSED ] 239 tests.
-
运行测试代码
native/bin/sealexamples
运行结果
Microsoft SEAL version: 3.4.5 +---------------------------------------------------------+ | The following examples should be executed while reading | | comments in associated files in native/examples/. | +---------------------------------------------------------+ | Examples | Source Files | +----------------------------+----------------------------+ | 1. BFV Basics | 1_bfv_basics.cpp | | 2. Encoders | 2_encoders.cpp | | 3. Levels | 3_levels.cpp | | 4. CKKS Basics | 4_ckks_basics.cpp | | 5. Rotation | 5_rotation.cpp | | 6. Performance Test | 6_performance.cpp | +----------------------------+----------------------------+ [ 0 MB] Total allocation from the memory pool > Run example (1 ~ 6) or exit (0): 1
-
error: unknown type name 'uint8_t'
ref => https://stackoverflow.com/questions/46872922/broken-c-std-libraries-on-macos-high-sierra-10-13
resolved =>
-
environment
# C++ export CPLUS_INCLUDE_PATH="/usr/local/include:${CPLUS_INCLUDE_PATH}" export CPLUS_INCLUDE_PATH="${HOME}/workplace/third-party/utfcpp/source:${CPLUS_INCLUDE_PATH}" export CPLUS_INCLUDE_PATH="${HOME}/workplace/third-party/GSL/include:${CPLUS_INCLUDE_PATH}" export CPLUS_INCLUDE_PATH="${HOME}/workplace/third-party/variant/include:${CPLUS_INCLUDE_PATH}" # library directory export LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}"
-
remove old c/c++ header
sudo mv /usr/local/include /usr/local/include_old
-
小傅哥(微信:fustack),公众号:bugstack虫洞栈
| bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获!
🌏 知识星球:码农会锁
实战项目:「DDD+RPC分布式抽奖系统
」、专属小册、问题解答、简历指导、架构图稿、视频课程
🐲 头条
-
💥
🎁 Lottery 抽奖系统
- 基于领域驱动设计的四层架构的互联网分布式开发实践 -
小傅哥的《重学 Java 设计模式》
- 全书彩印、重绘类图、添加内容 -
⭐小傅哥的《Java 面经手册》
- 全书5章29节,417页11.5万字,完稿&发版 -
小傅哥的《手撸 Spring》
- 通过带着读者手写简化版 Spring 框架,了解 Spring 核心原理 -
🌈小傅哥的《SpringBoot 中间件设计和开发》
- 小册16个中间件开发30个代码库
⛳ 目录
💋 精选
🐾 友链
建立本开源项目的初衷是基于个人学习与工作中对 Java 相关技术栈的总结记录,在这里也希望能帮助一些在学习 Java 过程中遇到问题的小伙伴,如果您需要转载本仓库的一些文章到自己的博客,请按照以下格式注明出处,谢谢合作。
作者:小傅哥
链接:https://bugstack.cn
来源:bugstack虫洞栈
2021年10月24日,小傅哥
的文章全部开源到代码库 CodeGuide
中,与同好同行,一起进步,共同维护。
这里我提供 3 种方式:
-
提出
Issue
:在 Issue 中指出你觉得需要改进/完善的地方(能够独立解决的话,可以在提出 Issue 后再提交PR
)。 -
处理
Issue
: 帮忙处理一些待处理的Issue
。 -
提交
PR
: 对于错别字/笔误这类问题可以直接提交PR
,无需提交Issue
确认。
详细参考:CodeGuide 贡献指南 - 非常感谢你的支持,这里会留下你的足迹
- 加群交流 本群的宗旨是给大家提供一个良好的技术学习交流平台,所以杜绝一切广告!由于微信群人满 100 之后无法加入,请扫描下方二维码先添加作者 “小傅哥” 微信(fustack),备注:加群。
微信:fustack
- 公众号(bugstack虫洞栈) - 沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。
公众号:bugstack虫洞栈
感谢以下人员对本仓库做出的贡献或者对小傅哥的赞赏,当然不仅仅只有这些贡献者,这里就不一一列举了。如果你希望被添加到这个名单中,并且提交过 Issue 或者 PR,请与我联系。