同态加密 应用案例 小白入门

时间:2024-03-19 09:56:13

一、 同态加密是一种公钥加密算法,加密使用公钥pk,解密使用私钥sk。

二、 密文具有计算功能,无需解密就能对加密数据进行处理,处理过程不会泄露任何原始内容,拥有**的用户解密后可以得到处理后的结果。

同态加密 应用案例 小白入门

其中,Encrypt是加密操作,Decrypt是解密操作,f()是计算功能。

三、f()满足加法运算,则称为加法同态;f()满足乘法运算,则称为乘法同态;f()同时满足加法和乘法运算,则成为全同态。

同态加密 应用案例 小白入门

 

四、应用案例

1. 安全云计算与委托计算

     医疗机构就可以将加密后的数据发送至第三方,第三方对加密数据进行计算处理,处理完成后便可将处理结果返回给医疗机构,医疗机构再对返回的结果进行解密,得到最终想要的处理结果。整个数据处理过程、数据内容对第三方是完全透明的。

2. 电子选举

     统计方可以在不知道投票者投票内容的前提下,对投票结果进行统计,既保证了投票者的隐私安全,又能够保证投票结果的公证。

3. 区块链隐私保护

   基于加法同态加密的区块链隐私保护方法的特征在于,包括如下步骤:

  1)同态**生成,由一个可信任的第三方机构生成一对同态**作为全网的同态**,公开其同态公钥私钥保存在第三方机构中。用户的账户余额有两种存在形式:一种是用全网同态公钥加密存储在区块链公共账本上的真实余额,一种是以明文形式存储在用户本地只供用户自己可见的可见余额

  2)拆分交易发送方的账户可见余额,发送方须将自己的可见余额值拆分为需要转账的交易金额剩余余额,需要转账的交易金额不得大于可见余额,且任何金额不得小于零;

  3)用全网同态公钥加密交易金额剩余余额,同态加密后的密文分别记为X1X2,此操作采用加法同态加密算法;

  4)用接收方的公钥加密步骤2)中的交易金额,加密后的密文记为Y1

  5)发送者发起交易,交易内容包含步骤3)中的密文X1、密文X2以及步骤4)中的密文Y1三个字段,发送者将交易信息发送至全网节点进行验证;

  6)交易确认,区块链全网的验证节点进行交易信息的验证,并维护公共账本。由于公共账本上以同态加密密文形式存储全网账户的真实余额,验证节点进行交易验证时应当确认:

        ①密文X1和密文X2对应的真实金额不小于零

        ②密文X1和密文X2的同态加法和与发送者的公共账本余额一致

        交易信息验证成功后,验证节点对公共账本上的用户真实余额进行修改。

  7)更新接收者的可见余额:接收者上线接收交易信息,利用自己的私钥解密交易信息中的密文Y1得到交易金额明文,直接更新自己的可见余额。或者,接收者向可信的第三方机构申请查询真实余额,然后更新自己的可见余额。

同态加密 应用案例 小白入门

https://mp.weixin.qq.com/s/yvk324LLahVZjqnloeSnXQ

https://mp.weixin.qq.com/s/Rp_c_O1oR_B7H2EB6HqLKg

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/privacy.html