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

代理重加密-入门学习笔记(四)代理重加密(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(安全多方计算)和下游企业如医院等,进行数据共享,形成一个良性经济生态。用户分享数据,也得到一定的利益。

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java中Bigdecimal加减乘除运算

    java中Bigdecimal加减乘除运算在java中的Bigdecimal类型的数据进行加减乘除运算的时候要调用以下方法:加法:add减法:subtract乘法:multiply除法:divide例如: BigDecimali=newBigDecimal(2);BigDecimalj=newBigDecimal(1);//加法System.out.println(i.add(j));//减法System.out.println(i.subtract(j));

  • MATLAB 8.1 R2013a license.lic 问题

    MATLAB 8.1 R2013a license.lic 问题MATLAB8.1R2013alicense.lic问题…\MATLAB8.1R2013a\Matlab801\serial\license.lic1.修改系统时间修改系统时间至之前license.lic时间。2.修改license.liclicense.lic内容修改为:INCREMENTAerospace_BlocksetMLM99permanentuncounted\A05070F00D1EB1F923

  • datatable删除行

    先列出正确的写法,如果你只想马上改错就先复制吧,如果你有时间想学习一下就继续看下面列出可能出错的可能性吧。1.如果只是想删除datatable中的一行,可以用DataRow的delete,但是必须

    2021年12月24日
  • mac navicat premium15激活码【永久激活】[通俗易懂]

    (mac navicat premium15激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • TLSF算法1:二级索引的计算

    TLSF算法1:二级索引的计算TLSF算法(一)分配中的位图计算一、什么是TLSF算法二,f的确定三、s的确定四、实验结果一、什么是TLSF算法在嵌入式系统中,内存需要在分配和释放时有一个确定的相应时间,才能进一步分析其实时任务的可调度性。因此TLSF算法是一个十分适用嵌入式领域的动态内存分配算法。在关于TLSf算法的经典文章中《TLSF:aNewDynamicMemoryAllocatorforReal-TimeSystems》详细介绍了TLSF算法相关知识。TLSF算法使用隔离匹配机制来实现良好匹配策略。基本的

  • 用示波器调出李萨如图形步骤_示波器李萨如图形不稳定怎么调节

    用示波器调出李萨如图形步骤_示波器李萨如图形不稳定怎么调节1.首先我们需要校准接通电源打开仪器准备校准2.接好两根线3调节得到方波和三角波4调节频率得到李萨如图形示波器的使用

发表回复

您的电子邮箱地址不会被公开。

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