caffe模型加密算法实现

因为要对公司的caffe模型进行加密,但是之前没有做过加密算法,不知道从何入手。找到两篇比较有价值文章作参考。

一、最简单的异或逻辑加密
https://github.com/HaoLiuHust/caffe_model_encrypt
因为之前改过一些caffe的代码,所以还算比较容易。唯一的坑是之前训练的模型保存为HDF5格式,但是这里要求的是二进制。所以需要修改solver.protxt 继续训练后重新保存。

base_lr: 0
momentum: 0
weight_decay: 0
#snapshot_format: HDF5
snapshot_format: BINARYPROTO

知识点:
hdf5是美国超算中心开发的用于存储科学数据的自描述文件格式,与简单的二进制格式文件存储的最大区别是hdf5带有meta数据,这些元数据给出了数据的特征信息。hdf5有广泛的应用,matlab的.mat文件就是以hdf5作为保存文件的默认格式。hdf5文件以分组形式来管理所有的数据集,就像文件系统里的目录一样。hdf5允许在组和数据集上附加描述性的元数据,帮助数据的使用者更好地理解数据的含义。

二、rc6算法加密配合crc32校验
https://github.com/xialuxi/encryptio_caffemodel
没有看留言板,悔不当初!!原来文件以什么格式读取影响这么大,下次会注意了。

std::ifstream fprototxt;
std::ifstream fmodel;
	
fprototxt.open(prototxtFile);
fmodel.open(caffemodelFile);
替换成
fprototxt.open(prototxtFile);
fmodel.open(caffemodelFile, std::ios::binary);

在这里插入图片描述
另外,还参考了这篇博文:
https://blog.csdn.net/lilai619/article/details/86287807
大功告成!

其他的一些学习资料:
https://wenku.baidu.com/view/24922c1750e79b89680203d8ce2f0066f4336423.html
https://blog.csdn.net/haroroda/article/details/51849262

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值