深度學習:caffe模型加密

最近工作中需要對caffe的prototxt和model文件進行加密操作。翻看github,瀏覽到了一份不錯的code。

進過調試,主體代碼是沒有問題。

1:自己需要的改動是使用二進制方式讀取model。

2:還需要加入一下自己的明文,防止他人使用相同代碼進行解密。

	fprototxt.open(prototxtFile);
	fmodel.open(caffemodelFile);

替換成

	fprototxt.open(prototxtFile);
	fmodel.open(caffemodelFile, std::ios::binary);

3:如何調試加解密調試

		// **********************
		std::ofstream test_proto;
		test_proto.open(R"(I:\encryption_proto.txt)");
		for (size_t i = 0; i < enc_prototxt_file_size; i++)
		{
			test_proto << prototxt_file_buffer[i];
		}
		test_proto.close();
		// **********************


	// **********************
	std::ofstream test_proto;
	test_proto.open(R"(I:\decryption_proto.txt)");
	for (size_t i = 0; i < prototxt_string.size(); i++)
	{
		test_proto << prototxt_string[i];
	}
	test_proto.close();
		// **********************

 

感興趣的可以嘗試一下。

https://github.com/xialuxi/encryptio_caffemodel

1、模型使用rc6算法加密

2、模型解密

3、在內存中加載網絡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章