代理重加密【proxy re-encryption】

  • A向KGC请求生成自己的公私钥对,KGC生成A的公私钥对并返回给A
  • B向KGC请求生成自己的公私钥对,KGC生成B的公私钥对并返回给B
  • A用AES加密明文M生成密文C1,发到服务器上
  • A用自己的公钥加密AES的**K生成密文C2,发到服务器上
  • A向KGC请求B的公钥,KGC把B的公钥返回给A
  • A用B的公钥和自己的私钥生成重加***KA->B,把生成的重加***上传到服务器上
  • 重加密算法ReEnc(params,CTi,rki->j):给定针对公钥pki和第二层密文CTi,该算法利用重加***rki->j生成一个针对公钥pkj的第一层密文CTj
  • 服务器server利用重加***KA->B和之前A上传的密文C2做代理重加密运算生成新的密文C3
  • B向服务器请求解密数据M对应的密文C1
  • 服务器把重加密后生成的密文C3和C1发送给B
  • B解密密文C3得到对称**,并用该对称**解密C1得到原始的明文数据。

相关文章: