基于NTRU重代理加密的文件下载

应用场景

 基于数据分享场景,用户B想获取用户A在云上的加密数据,A不能与B直接通信,只能通过中间商云平台;A不能将加密数据的秘钥发给云平台,由云平台再转发给B,这样云平台就知道A的保密数据;要求通过“请求+确认”方式获取A的数据,即B在每次想获取A的数据时,要向A申请,只有A同意了以后B才能获取并查看数据[1]

重代理加密介绍

 在代理重加密方案中,一个半可信(不完全信任)的代理人使用重加密密钥将授权者公钥加密的密文转换成被授权者私钥可以解密的密文,而且在该转换期间,半可信代理人不能获得私密信息。

文件上传者Alice,上传文件到云服务器,再由Bob进行接收的流程:

  1. 文件上传者Alice,把他要上传的文件M,用他的公钥加密之后得到密文CA,云服务器接收CA
  2. 云服务器会根据Alice和Bob相关的密钥和系数,构造出一个重代理加密密钥RKab,再使用RKab把CA加密成CB
  3. Bob在收到云服务给的CB之后,可以直接用自己的私钥通过CB解密出原始的文件M。

上述过程,最关键的部分是RKab的生成,RKab使得CA可以转换成CB。文件的接收者,可以对CB进行解密出原始的明文。

项目设计

理论

程序设计

参考文章:

  1. 区块链之美 https://blog.csdn.net/jingzi123456789/article/details/104851189
posted @ 2021-10-24 10:57  JieShenAI  阅读(107)  评论(0)    收藏  举报