Advertisement

同态加密库HElib基础入门

阅读量:

IBM开发了一个名为HElib的开源C++语言实现的同态加密库。对于什么是同态加密的问题,请参考网上的大量教学资源已经足够了。

对于同态加密库HElib而言,在处理数据时,默认将其统一表示为vector<long>类型。该向量的大小由库初始化参数决定。必须将原始数据全部转换为vector<long>格式。具体转换策略则与业务逻辑紧密相关。值得注意的是,该库并不关心具体的转换方式,在其看来只需对这些向量执行加密解密操作以及基本算术运算即可完成功能。

首先先介绍一下HElib的几个重要的类:

FHEcontext类:必要类程序根据初始化参数生成FHEcontext对象从而创建同态加密系统中的公私钥

ZZX类:生成EncryptedArray所必须的。

FHESecKey类:同态加密私钥类

FHEPubKey类:同态加密公钥类

EncryptedArray类:在整个同态加密过程中处理代码,在接收端负责对vector进行编码以生成明文对象,并执行数据的同态加密与解密操作;在发送端则负责将明文对象解码回vector形式以恢复原始数据内容。

NewPlaintextArray类:该类型明确规定用于存储明文表示的对象,并接受一个vector类型的参数进行转换后生成明文表示对象;随后该对象可被HElib进行处理;若通过cout输出该对象则

全部评论 (0)

还没有任何评论哟~