【技术矩阵】PlatONE 联盟链平台中的密码学

矩阵元定位于区块链与隐私计算服务商,除了区块链之外,隐私计算+AI 方向亦是矩阵元核心业务。旗下整合了区块链、隐私计算、人工智能等技术的企业级服务产品 PlatONE 联盟链平台(以下简称「PlatONE」)近期与多家企业达成了业务合作。

PlatONE 是基于隐私计算的新一代联盟区块链平台,以支持企业级应用。平台提出了一种以隐私计算为特色的企业级联盟链基础设施,可满足金融商业等多种需求场景。目前 PlatONE 提供了多种创新性技术和功能,包括:安全多方计算、同态加密等密码学技术植入、优化的高效共识、高 TPS、完备、易用的企业级工具链和组件、优化的用戶 / 权限模型、多开发语言支持等特性,旨在解决当前企业数字化发展中存在的困境。

值得一提的是,PlatONE 引入安全多方计算、同态加密、零知识证明等密码学算法,实现了数据多方安全共享。

安全多方计算

安全多方计算 (Multi-party Computation) 主要用于解决在多方协同计算任务中用戶数据的隐私保护问题。在传统密码学方案中,如对称加密、非对称加密等,方案针对系统合法用戶外的恶意攻击者,提供了数据在传输或存储过程中的机密性、完整性的保护。而在安全多方计算的方案中,要求保护每个合法参与者各自的数据隐私。

⼀般来说,在安全多方计算的场景中,假设有 N 个参与者,每个参与者拥有自己的私密数据。他们使用各自的私密数据作为输入,合作完成一个计算任务,记为,使得每个参与者都可以得到计算任务的输出,同时参与者无法得知其他参与者的私密数据。

安全多方计算方案需要满足两大特性 :

输入隐私保护 (Input privacy):在协同计算的交互过程中,用戶无法获得除计算 输出结果外,任何其他参与者的私密数据信息。

正确性 (Correctness):假设存在若干恶意用戶 (小于方案的安全阈值),诚实用戶在执行协议后,依然可以得到正确的计算结果。

同态加密

同态加密是一种允许在密文上进行计算的加密方式。除了传统加密方案的原始组件之外,还有另一种计算算法,它将目标函数和加密数据作为输入。同态加密会生成一个加密的结果,当解密此结果时,获得的消息就像是在加密数据的明文上执行函数。同态加密的目的是允许对加密数据进行计算,通常用于安全外包计算,如云计算服务等。

同态加密主要有部分同态和全同态。对⼀个密码系统而言,部分同态只能实现对密文的部分运算,如加法同态和乘法同态。而全同态能够对密文支持任意的计算,其功能非常强大,目前共有 3 代全同态。

部分同态主要有加法同态和乘法同态:

  • 加法同态:在不需要知道 x, y 值的条件下,从_Enc(x)和_Enc(y)_通过运算计算出_Enc(x*y),满足该属性的方案有 Paillier、Benaloh 方案。

  • 乘法同态:在不需要知道 x, y 值的条件下,从_Enc(x)和_Enc(y)_通过运算计算出_Enc(x*y),满足该属性的方案有 RSA 加密方案、ElGamal 加密。

全同态(Fully homomorphic encryption,简称 FHE)是一种加密密码系统,它对密文支持任意的计算,而无需解密。在云计算和分布式计算中,这是⼀种非常强大的算法。在 2009 年由 Craig Gentry 在《Fully Homomorphic Encryption Using Ideal Lattices》这篇文章中提出的,目前已经有非常多的全同态加密方案和实现,如 HElib (IBM 开发)、SEAL (微软开发)等。

在 PlatONE 中使用了加法同态加密系统来实现相关功能,实现个人数据以及交易数据的完全保密,且可以在无需公开发送者、接收者以及交易数量的条件下验证交易的合理性。

PlatONE 中主要采用的是 Paillier 加密算法,该加密算法具有加法同态属性。具体方案包含如下几个算法 : 密钥生成算法_KeyGen_、加密算法_Enc(Pk,m)、解密算法_Dec(SK,c)

零知识证明

零知识证明是由 S.Goldwasser、S.Micali 及 C.Rackoff 在 20 世纪 80 年代初提出的,实现了证明者能够在不向验证者提供任何秘密信息(witness)的情况下,使验证者相信某个断言是正确的。

为了实现隐私计算,PlatONE 引入了 zk-SNARK 这项技术使得用戶可以在智能合约平台中完成数据的隐私计算。zk-SNARK,简短零知识证明,该技术可用于证明计算过程的正确性,即给定输入 x,输出 y,它可用来证明_y=F(x),其中函数 F 可以含括非常丰富的类型,如哈希函数、椭圆曲线运算等等。证明者 P 根据输入 x,输出 y,以及函数_F,运行证明算法可以得到一个非常简短的证明 (大约 286 字节),而验证者 V 只需要花费 10 毫秒左右的时间就可以验证该证明。由于 SNARK 具有证明非常简短的特点,也就意味着,PlatONE 可以将许多计算在链下完成,而将计算结果记录在链上,这样既可以减少智能合约的泄露,同时也可以减少链上计算。

目前,PlatONE 已在多个行业解决方案中投入使用。未来,矩阵元将继续发挥隐私计算与区块链技术和产业结合的领先优势,深耕数字化时代的新型公共基础设施领域,为更多客户提供基于数据安全流动的一体化解决方案,推动数据商业化、数字产业化创新发展。

合作需求:support@matrixelements.com

【技术矩阵】PlatONE 联盟链平台中的密码学

推荐阅读

点击下方文字即可跳转

▶【隐私计算笔谈】零知识证明系列专题(一):零知识证明与重置模拟

▶【隐私计算笔谈】零知识证明系列专题(二):一个个人化的视角:零知识、模拟与归约

▶ 隐私数据在隐私 AI 框架中的安全流动

关注矩阵元了解最新动态

【技术矩阵】PlatONE 联盟链平台中的密码学

戳阅读原文 走进矩阵元