什么是同态加密(Paillier cryptosystem)
linx
欧意最新版本
欧意最新版本app是一款安全、稳定、可靠的数字货币交易平台。
APP下载 官网地址
在当前的实际应用中,最广泛采用的同态加密算法是Paillier加密系统。它属于非对称加密类别,拥有两组密钥:一组用于加密,另一组用于解密。在此过程中,RSA模组被用作加密基础。更具体地,Paillier加密系统的公钥由两个参数决定:
1. 参数N确定了加密的安全性,它需要满足特定的安全条件。
2. 另一个参数是随机选择的整数g,范围在[2, N²]内,并且g与N互质。
与RSA类似,在Paillier系统中,若N被分解为两个质数的乘积,则该加密方法将面临被破解的风险。因此,为了确保实际应用的安全,至少需要将N的长度设为2048位以上。
基本功能:
大多数的同态加密算法都具备以下三个基本功能:密钥生成、加密和解密。在Paillier算法中,加密函数的实现依赖于以下数学难题:
除了通过暴力破解将y从0到108222409逐一验证外,似乎没有其他有效的解法(即指多项式时间算法)。对数学家而言,这个问题也尚无有效解决方案。
特别值得一提的是,在Paillier算法中,加密函数的定义表现出以下特性:
(ie 后面的两个r值相乘依然是个随机数)。因此,我们可以认为Paillier的加密函数在“大体上”满足同态性质。
然而,在实际的message space计算中,你可能会得到7这个结果,因为:
(ie 由于某些原因导致结果的不一致性)。这也解释了为什么在超过一定运算量后,使用同态加密会产生“误差”。
小结:
在Paillier加密系统中,加密函数的message space与其安全级别紧密相连。在实际情况中,由于需要使用另一个message space,这种不一致性可能导致Paillier加密系统在使用时需要注意运算次数过多产生的误差。
进一步研究大多数的同态加密算法(例如Goldwasser-Micali加密算法、Benaloh加密算法等)会发现,它们几乎都是基于RSA模型构建的。这意味着它们存在上述的缺点,即input的空间大小受到安全级别的限制。因此,在运算过程中必然会产生误差。那么,是否存在一种同态加密算法能够将这两者分开,使加密函数的input空间可以自由指定?如果存在,那么进行任意次数的运算都不会产生误差。我们将在下一篇文章中探讨这个问题。
标签: 数字货币
版权声明: 本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任