代理重加密-入门学习笔记(四)

代理重加密-入门学习笔记(四)代理重加密(PRE)(重密码学!)原文:https://blog.csdn.net/Black_BearB/article/details/812280301、基本思想-流程结算在云计算中,云计算服务提供商作为代理人,用户A不能完全相信云计算服务提供商,因此需要将自己的数据在本地用自己的公钥加密后在云中存储,这样代理人无法得到数据的明文信息。当他要和用户B共享文件时,A根据自己的信…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

代理重加密(PRE)(重密码学!)

原文:

https://blog.csdn.net/Black_BearB/article/details/81228030

1、基本思想-流程结算

在云计算中,云计算服务提供商作为代理人,用户A不能完全相信云计算服务提供商,因此需要将自己的数据在本地用自己的公钥加密后在云中存储,这样代理人无法得到数据的明文信息。当他要和用户B共享文件时,A根据自己的信息(如私钥)及用户B的公钥计算一个转换密钥Rk(重加密密钥),由代理人使用Rk将针对A的密文转换为针对B的密文。这样,B可以从云中下载该密文,只用自己的私钥即可解密。

 

2、算法描述

1:系统初始化

2:产生公私钥对

2.1:Alice向KGC请求生成自己的公私钥对。

2.2:KGC生成Alice的公私钥对并返回给Alice。

2.3:Bob向KGC请求生成自己的公私钥对。

2.4:KGC生成Bob的公私钥对并返回给Bob。

3:Alice生成密文文件

3.1:Alice利用AES算法加密数据M生成密文C1。

3.3:Alice根据第二层加密算法并利用自己的公钥加密AES的密钥生成密文C2

3.2:Alice把加密后的数据密文C1和C2,上传到服务器Server上

4:构建重加密密钥

4.1:Alice向KGC请求Bob的公钥。

4.2:KGC把Bob的公钥返回给Alice。

4.3:Alice利用Bob的公钥和自己的私钥生成重加密密钥KAàB。

4.4:Alice把生成的重加密密钥KAàB上传到服务器Server上。

5.代理重加密(ReEncryption)

重加密算法ReEnc(params,CT,rkiàj):给定针对公钥pki和第二层密文CTi,该算法利用重加密密钥rkiàk生成一个针对公钥pkj的第一层密文CTj。

服务器Server利用重加密密钥KAàB和之前Alice上传的密文C2做代理重加密运算生成新的密文C3。

6.Bob请求数据:

6.1:Bob向服务器Server请求解密数据M对应的密文G。

6.2:服务器Server把重加密后生成的密文C3和C1发送给Bob。.

6.3:Bob解密密文C,得到对称密钥,并用该对称密钥解密C,得到原始的的明文数据M。

3、密文共享

密文共享三种方法:

1.传统方法、代理重加密、属性加密

第一种:传统方法中,需要耗费大量的通信开销和运算代价,并且需要用户增加本地存储空间,这不符合用户通过云计算节省设备开销的初衷。

第二种:代理重加密方法中,主要是通过代理服务器将一个用户的密文转换为另一个用户可以解密的密文,且不泄露用户的私钥和明文信息。这种方法主要是端到端的。

第三种:属性加密方法中,数据拥有者可以利用属性加密,在数据加密的过程中定义一个访问策略只有满足这个访问策略的用户才能够解密,由此来实现密文的共享。这种方法主要是一对多

4、实际实例

医疗和保险,用户通过代理重加密对数据进行授权。数据分析公司用AI技术对模型进行训练然后基于MPC(安全多方计算)和下游企业如医院等,进行数据共享,形成一个良性经济生态。用户分享数据,也得到一定的利益。

征信和广告也类似,用不同的密码学技术对个人数据进行筛选处理,满足不同机构的需求,最后的收益要在链上进行记录和分发。各取所得,个人用户、机构等都有不同的利益分享,形成一个可持续的生态。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195706.html原文链接:https://javaforall.net

(0)
上一篇 2025年10月11日 下午11:43
下一篇 2025年10月12日 上午7:22


相关推荐

  • 将xml转成json c语言,把XML文件内容转成JSON串

    将xml转成json c语言,把XML文件内容转成JSON串publicstaticStringConvertXMLtoJSON(“f:/test.xml”){//获取xml字符串Stringxml=getXMLString(filePath);//序列化XMLSerializerxmlSerializer=newXMLSerializer();//把xml内容转成jsonJSONjson=xmlSerializer.rea…

    2022年7月16日
    19
  • C++虚析构函数和纯虚析构函数

    C++虚析构函数和纯虚析构函数1、为什么要使用虚析构函数我们知道析构函数是在对象生命周期结束时自动被调用,用来做一些清理工作(如释放句柄,释放堆内存等),防止出现内存泄漏。那怎么还有虚析构函数呢?使用虚析构函数的类一般是要作为基类,被其他类继承。通过把基类的析构函数声明为虚函数,就可以通过父类指针来释放子类对象,从而完成子类的一些清理工作,防止出现内存泄漏。案例1:基类析构函数为非虚函数//test.hclassParent{public:Parent();~Parent

    2022年6月17日
    30
  • 802.15.4中文版

    802.15.4中文版15 4 部分 用于低速无线个域网 WPANs 的无线媒体接入控制 MAC 和物理层 PHY 规范 IEEEStd802 15 4 2006 2003 的修订版 介绍 nbsp nbsp nbsp nbsp nbsp 本标准定义在个域网 PAN 中通过无线通信进行设备互联和协议 标准采用 CSMA CA 的媒体接入机制 并且支持星型以及点到点的拓扑结构 采用基于竞争的媒体接入方式 但是采用可选的超帧结构 PAN 协调器可

    2026年2月14日
    3
  • JSP+MySQL校园新闻网站实战教程与源代码

    JSP+MySQL校园新闻网站实战教程与源代码熊猫大哥大教程 JSP MySQL 校园新闻网站 1 需求分析 熊猫大哥大教程 JSP MySQL 校园新闻网站 2 开发环境搭建 熊猫大哥大教程 JSP MySQL 校园新闻网站 3 数据库与 java 项目创建 熊猫大哥大教程 JSP MySQL 校园新闻网站 4 新闻浏览功能开发 熊猫大哥大教程 JSP MySQL 校园新闻网站 5 新闻查看功能开发 熊猫大哥大教程 JSP MySQL 校园新闻网站 6 管理员登录功能开发 熊猫大哥大教程 JSP My

    2026年3月26日
    2
  • qq客服代码实现过程

    qq客服代码实现过程

    2021年9月19日
    48
  • java tess4j 示例_java 使用tess4j实现OCR的最简单样例[通俗易懂]

    java tess4j 示例_java 使用tess4j实现OCR的最简单样例[通俗易懂]网上很多教程没有介绍清楚tessdata的位置,以及怎么配置,并且对中文库的描述也存在问题,这里介绍一个最简单的样例。1、使用maven,直接引入依赖,确保你的工程JDK是1.8以上net.sourceforge.tess4jtess4j4.3.12、实现代码publicclassOCRDemo{publicstaticvoidmain(Stringargs[])throwsExce…

    2022年5月12日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号