如前章所述,基于密码学的技术应用正着力解决数据隐私保护问题,安全多方计算、零知识证明、同态加密等都属于这一范畴。前两者我们也曾分设专题介绍过,而对于同态加密,它是如何实现端到端加密?在数据安全中的有哪些实际应用?
同态加密的历史可以追溯到上世纪70年代末。
1978年,就在RSA公钥方案被开发一年后,Ron Rivest、Len Adleman和Michael Dertouzos发表了一份名为“关于数据库和隐私同构”(On Data Banks and Privacy Homomorphisms)的报告,详细介绍了贷款公司如何使用云服务商来存储和计算加密数据。正是这篇有影响力的论文引出了“同态加密”术语。
2009年,斯坦福大学的博士生Craig Gentry,描述了完全同态加密方案的第一个可能的结构。论文的一个关键用例,影响了人们对这一问题的看法:
珠宝制造商需要设计师制造珠宝,但又要防止材料被偷取,于是将所有必要的贵金属放入上锁的容器中,任何人都可以把手伸进手套箱,操纵里面的东西,但他们被禁止从手套箱中提取任何东西。这就像《辛普森一家》中荷马·辛普森在一开始处理核棒时那样。
这个被上锁的手套箱的类比,帮助人们重新燃起了寻找潜在解决方案的兴趣:
珠宝商>终端用户
原材料>原始数据
关键>网络
锁手套箱>加密
工人>计算过程
成品首饰>操作效果
由此,人们可在保护数据隐私的情况下,对密文数据进行任意计算,并确保结果的准确性。例如,我们可用同态加密解决2+3的问题。数据在本地加密,由2变成22,3变成33。加密的数值被发送到服务器,进行加法运算并反馈55。用户在本地对其解密得到结果5。
“当Gentry坐在纽约的一家咖啡馆里,完全同态加密的启示浮现在他的脑海里。那些令他感兴趣的加密方法,允许对加密数据进行一些乘法或加法运算。
但它们都存在一个有趣的缺陷,每一个加法或乘法算法步骤都不可避免地向加密数据引入少量的错误噪音。仅仅执行十几次左右的计算就会破坏数据,使其无法被正确解密。他认为,对数据进行双重加密便可消除错误噪音。
通过定期解锁外层混乱之下的加密内层,云计算机将在运行过程中清理其错误噪音,而不会看到秘密数据。Gentry又花了15分钟才意识到他刚刚解决了一个巨大的密码问题。”
当然,像所有创新一样,将同态加密付诸实践需要时间。而且,仍有需要克服的障碍,其中一个是密集的计算要求。据Gentry估计,在一个简单的搜索中加入同态加密将使搜索工作量增加万亿倍。不过,就像四分钟跑一英里一样,一旦障碍被打破,洪水之门就会打开,呈现出各种各样的可能性。
早在2015年,加密盒子就开始应用在区块链行业,随着区块链的发展及其许多新技术的出现,引发的需求也越来越大,加密盒子也不断加快了区块链的发展。