代理重加密:NuCypher Umbral介绍

注册下载,立即领取价值高达60,000元数字货币盲盒

NuCypher 是一个满久的项目了,最主要的目标是为隐私保护的应用提供基础设施,包含了Secret Management、Dynamic Access Control 与Secure Computation。其中会用到的代理重加密这个功能,这篇文章将介绍NuCypher使用的代理重加密方法,他们命名为Umbral,在西班牙文中这是Threshold 的意思。

简介代理重加密与Umbral

Umbral 是一个门槛式代理重加密方法,首先我们需要先了解重加密是什么。在现代生活中,云端硬盘大概是绝大多数人都会使用到的服务,也经常会拿来做文件分享等等。而若今天我们需要提供一个文件给朋友,我们通常会上传并建立一个连结,但更机密的资料我们可能就需要先加密再上传,以保证服务商无法窃取或流出这个资料。然而加密之后,如果想要提供给另外一个人但不同密码,我们就需要建立许多份副本。代理重加密则将这个过程交给云端服务商,我们将一份加密的档案上传后,这些服务商透过重加密来产生对不同人的加密副本,就可以使我们避免重复加密。

在上面的流程中,我们可以分成三个角色:

加密方(Delegator) 解密方(Delegatee) 服务方(Proxy)

加密方会提供一个重加密密钥 rk 给服务方,服务方可以拿着加密方产生的密文 ca 和这把 rk 去重新加密成给别人的密文cb,这套流程就称作代理重加密。

代理重加密上有三个属性:

Directionality:如果服务方只能利用 rk 将 ca 转换成 cb,称为unidirectional,如果可以反过来则称为bidirectional。在代理重加密上,我们会希望他是unidirectional的,以避免解密方在使用他的密钥产生密文后,被服务方与加密方共谋而泄漏其中的明文。 Number of Hops:如果服务方对于 ca,在具备不同 rk 下(例如给Bob和Charlie的)可以分别产生对应的 ca 则称为multi-hop/multi-use,否则称为single-hop/single-use。 Interactivity:如果解密方的密钥不需参与重加密密钥的产生流程,则称为non-interactive,否则为interactive。

对于这三个属性,Umbral 是unidirectional、multi-hop、non-interactive 的,此外,他也引入了非互动式零知识证明来提供重加密的可验证性。

而Umbral 的另一个特点,就是他是门槛式(Threshold)的,在前面的的简介中只有一个Proxy,一旦这个Proxy 故障,那加密方与解密方就无法完成传递,因此透过Threshold 的设计,例如可以建立一个t of N 的代理重加密会话,只要N 个Proxy 有t 个正常运作就可以确保传递顺畅。

KEM/DEM Approach

Umbral 参考了美国国家标准协会提出的ECIES-KEM,用到了称为KEM/DEM Approach 的方法。KEM/DEM Approach 是一种混合加密方式,透过混合非对称与对称加密,来提供足够的安全性与加解密效率(非对称的加解密通常较为耗能)。KEM Key Encapsulate Mechanism 会先产生一个对称加密的密钥,再透过DEM Data Encapsulate Mechanism 则将传递的资料加密。

Shamir’s Secret Sharing

Umbral中的Threshold特性透过Shamir’s Secret Sharing的方式来达成。

Implementation

https://github.com/nucypher/pyUmbral

Umbral 如何运作

这边的Alice 是上面的Delegator,Bob 是Delegatee。首先Alice 会透过Encapsulate 去产生对称密钥K 和Capsule,这个Capsule 包含了让Bob 拿到K 的资讯。接着Alice 会对Bob 产生N 个kFrag 并发送给Proxy 们,Proxy 拿着Capsule 和kFrag 就可以产生cFrag 并发送给Bob,Bob 拿到t 个cFrag 就可以用自己的密钥重组并解密出K。

产生公开参数

首先会先产生一组Parameter: 其中G是一个order为质数q的循环群,g和U则是在G上的两个Generator。H2?,H3?,H4?则是作为随机数产生器哈希函数。KDF是Key Derivation Function,将用这个来产生对称密钥。q和KDF的输出长度是这个协议的安全性参数。

KeyGen

Alice会产生自己的非对称密钥对 (pk, sk) = (g^a, a),接着产生提供给Proxy的kFrag。产生kFrag的步骤如下:

Alice会选择一个暂时的非对称密钥对,这里可能是考虑Alice和Bob会需要建立不只一次协议 将这个密钥对和Bob 做非互动式Diffie-Hellman 密钥交换,计算? 依照Shamir’s Secret Sharing 的方式,产生一个t-1 次的多项式f,其中秘密? f_0 = a cdot d^{-1} bmod q f0?=a?d?1modq 计算共有的 产生N个kFrag: 5.1选取随机数?5.2计算Shamir’s Secret Sharing上的点?5.3计算Re-encrypt Key?5.4计算Commitment?5.5组合成kFrag

在产生kFrag中,论文有提到,z1?,z2?这两个是作为验证用的,在官方实作上是让Alice对kFrag加上pkA, pkB做签名来提供验证功能,由于这两个没有参与后面的运算这边选择略过。

产生Capsule

Alice会选择两个随机数r, u并包装成。对称密钥则透过得出,任何人收到Capsule都可以透过去检验E, V的正确性。而Alice可以拿Capsule和Private Key a去取回。

重加密与解密

Proxy拿到Capsule和kFrag后,就可以产生cFrag:。同时还会产生NIZK证明:

这可能是基于NuCypher设计Stake机制,透过这个NIZK,网路可以透过计算验证这个Proxy有没有正确的计算而无需取得

Bob 搜集足够的cFrag 后,就可以来做解密,步骤如下:

计算(即KeyGen 4.于Bob方的运算)和d=(即KeyGen 2.于Bob方的运算)。 对每个cFrag计算对应的si与 计算与 计算

这边用我自己比较好理解的方式去写,所以可能有点Bug。其中如果把 E 展开,可以得到,这里做的就是前面KeyGen 5.透过Shamir’s Secret Sharing的还原。套回4.后可以看出他与产生Capsule一节中最后的相同,从而使Alice与Bob共享这个Key。

传递密文

最后再使用KEM/DEM Approach的方式来传递密文就可以达成完整的Re-Encryption。原先产生Capsule时,会同时产生密文,并传递 ) C=(Capsule,encData),当Bob拿到时先解出K再message = SymDecrypt(encData)即可。

抹茶安卓下载:立即前往

抹茶IOS下载:立即前往

本文部分内容来自互联网,如有疑问请与我们联系。

发布者:币侠财经,转转请注明出处:https://www.yfhhf.com/zixun/174619.html

(0)
上一篇 2023年 4月 4日 上午8:47
下一篇 2023年 4月 4日 上午8:58

相关推荐

  • 马斯克币圈最新(马斯克 币圈)

    大家好,今天币侠网https://www.yfhhf.com来为大家关于马斯克币圈最新(马斯克 币圈)很多人还不知道,现在让我们一起来看看吧 1.为了让自己获得更好的资产,为了让自己获得更高的收益。 2.在炒作的过程当中,可以让这个市场受到更多的关注,受到更多的投资,所以才能够赚钱。 3.狗狗币 (DOGE) 的支持者和比特币 (BTC)的好朋友埃隆·马斯克…

    2023年 2月 6日
    1450
  • HPTF币最新价格

    HPTF币最新价格:突破历史高点 近日,HPTF币一再突破历史高点,吸引了越来越多的投资者关注。根据最新数据显示,HPTF币的价格已经突破10美元,市值已经达到10亿美元以上。随着HPTF币在市场中的表现越来越优秀,投资者们开始对HPTF币前景抱有更加乐观的态度。 HPTF币的基本情况 HPTF币的全称是“Hyper Pay Token Fund”,是由Hy…

    币圈资讯 2023年 10月 31日
    1630
  • 合约交易的真正含义是什么

    合约交易的真正含义是为了保障各方的权益和确保交易的公平、透明进行。 1、合约交易的真正含义是什么 合约交易是一种在经济活动中广泛应用的交易方式。它是指双方在事先约定的条件下进行的买卖、租赁、服务等商业活动。与传统的口头约定不同,合约交易通过书面文件明确了各方的权利和义务,保障了交易的公平性和合法性。 合约交易的真正含义在于强调了交易双方之间的信任和合作关系。…

    币圈资讯 2023年 11月 24日
    1380
  • 莱特币最新官方消息 莱特币有未来吗

    莱特币今天兑美元上涨,5.15%LTC/BTC今天上涨,6.42%LTC/ETH今天上涨了7.61%,莱特币目前的交易价格比我们在2022年11月12日的预测低9.15%。莱特币上个月上涨36.32%,自1年前下跌-63.66% 一、莱特币最新官方消息 根据我们的莱特币价格预测,莱特币价格预计在未来5天内上涨10.08% 莱特币LTC,5.39%在过去24小…

    2022年 12月 7日
    1640
  • 区块链重塑宠物生态:宠物链如何赋能这个千亿级大市场?

    个人认为,区块链宠物形成代币平台交易这样的体量,尚需时日。 主要原因我觉得有如下两点: 同质化程度太高 用户认可程度太低 第一点:同质化程度太高,包括百度小米在内的国内各大互联网巨头都祭出了自己的宠物,你叫兔子我叫猫,各显神通,但是本质基本上没有差,我甚至怀疑都是一家出的,看不出什么明显的特色(卡通风格都类似…) 过强的同质性导致用用户群体性粘度很低,单一的…

    币圈资讯 2022年 12月 23日
    2410

联系我们

不接风险内容

在线咨询: QQ交谈

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信