Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleX
提交
e3f5bd80
P
PaddleX
项目概览
PaddlePaddle
/
PaddleX
通知
136
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
43
列表
看板
标记
里程碑
合并请求
5
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleX
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
43
Issue
43
列表
看板
标记
里程碑
合并请求
5
合并请求
5
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
e3f5bd80
编写于
5月 19, 2020
作者:
J
Jason
提交者:
GitHub
5月 19, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update encryption.md
上级
f7d9b7fb
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
9 addition
and
26 deletion
+9
-26
docs/tutorials/deploy/encryption.md
docs/tutorials/deploy/encryption.md
+9
-26
未找到文件。
docs/tutorials/deploy/encryption.md
浏览文件 @
e3f5bd80
# Paddle模型加密方案
飞桨团队推出模型加密方案,使用业内主流的AES加密技术对最终模型进行加密。飞桨用户可以通过PaddleX导出模型后,使用该方案对模型进行加密,预测时使用解密SDK进行模型解密并完成推理,大大提升AI应用安全性和开发效率。
** 注意:目前加密方案仅支持Linux系统**
## 1. 方案介绍
...
...
@@ -10,40 +11,22 @@
下载并解压后,目录包含内容为:
```
paddle
_model_encrypt
paddle
x-encryption
├── include # 头文件:paddle_model_decrypt.h(解密)和paddle_model_encrypt.h(加密)
|
├── lib # libpmodel-encrypt.so和libpmodel-decrypt.so动态库
|
└── tool # paddle_encrypt_tool
└── tool # paddle
x
_encrypt_tool
```
### 1.2 二进制工具
#### 1.2.1 生成密钥
产生随机密钥信息(用于AES加解密使用)(32字节key + 16字节iv, 注意这里产生的key是经过base64编码后的,这样可以扩充选取key的范围)
```
paddle_encrypt_tool -g
```
#### 1.2.1 文件加密
```
paddle_encrypt_tool -e -key keydata -infile infile -outfile outfile
```
#### 1.3 SDK
### 1.2 加密PaddleX模型
模型加密后,会产生随机密钥信息(用于AES加解密使用),该key值需要在模型加载时传入作为解密使用。
> 32字节key + 16字节iv, 注意这里产生的key是经过base64编码后的,这样可以扩充选取key的范围
```
// 加密API
int paddle_encrypt_model(const char* keydata, const char* infile, const char* outfile);
// 加载加密模型API:
int paddle_security_load_model(
paddle::AnalysisConfig *config,
const char *key,
const char *model_file,
const char *param_file);
./paddlex-encryption -model_dir paddlex_inference_model -save_dir paddlex_encrypted_model
```
模型在加密后,会保存至指定的
`-save_dir`
下,同时生成密钥信息,命令输出如下图所示,密钥为
`33NRtxvpDN+rkoiECm/e1Qc7sDlODdac7wp1m+3hFSU=`
![](
images/encryt.png
)
## 2. PaddleX C++加密部署
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录