同态加密-资料整理和简单学习

=Start=

缘由:

整理一些数据安全中前沿方向的资料,方便以后参考学习。

正文:

参考解答:
1、同态加密概述

基本概念

同态加密是一类加密模式的统称。在这种加密模式下,对经加密的数据进行处理得到的加密输出,在解密后,其结果与用同一方法处理未加密原始数据得到的输出结果是一样的。由于密钥仅在初始加密和最后解密阶段使用,整个计算处理过程中的输入和输出可以保持完全的隐私。

同态加密的目的就是要能够对加密数据进行计算。同态加密就是将数据转换成可被当作仍是原始数据一样分析和处理的密文形式的过程。

一般的加密方案关注的都是数据存储安全。即,我要给其他人发个加密的东西,或者要在计算机或者其他服务器上存一个东西,我要对数据进行加密后在发送或者存储。没有密钥的用户,不可能从加密结果中得到有关原始数据的任何信息。只有拥有密钥的用户才能够正确解密,得到原始的内容。我们注意到,这个过程中用户是不能对加密结果做任何操作的,只能进行存储、传输。对加密结果做任何操作,都将会导致错误的解密,甚至解密失败。

同态加密方案关注的是数据处理安全。同态加密提供了一种对加密数据进行处理的功能。也就是说,其他人可以对加密数据进行处理,但是处理过程不会泄露任何原始内容。同时,拥有密钥的用户对处理过的数据进行解密后,得到的正好是处理后的结果。

举例说明

同态加密可以用以下的举例来说明:Alice买到了一大块金子,她想让工人把这块金子打造成一个项链。但是工人在打造的过程中有可能会偷金子,Alice可以通过以下这种方法让工人加工金子又不能偷走金子。Alice将金子锁在一个密闭的盒子里面,这个盒子安装了一个手套。工人可以带着这个手套,对盒子内部的金子进行处理。但是盒子是锁着的,所以工人不仅拿不到金块,连处理过程中掉下的任何金子都拿不到。加工完成后。Alice拿回这个盒子,把锁打开,就得到了金子。

这里面的对应关系如下:

  • 盒子:加密算法;
  • 盒子上的锁:用户密钥;
  • 将金块放在盒子里面并且用锁锁上:将数据用同态加密方案进行加密;
  • 加工:应用同态特性,在无法取得数据的条件下直接对加密结果进行处理;
  • 开锁:对结果进行解密,直接得到处理后的结果。
2、同态加密的适用场景?

利用同态加密,可以委托不信任的第三方对数据进行处理,而不泄露信息(敏感数据可用不可见)。因此,同态加密在云计算、电子商务、物联网等领域有重要应用。

3、同态加密的发展和分类

同态加密算法从功能上可分为部分同态算法和全同态算法。所谓部分同态是指支持加法同态或者乘法同态或者两者都支持但是操作次数受限。而全同态算法则可简单理解为能不受限制地同时支持加法和乘法操作,从而完成各种加密后的运算(如加减乘除、多项式求值、指数、对数、三角函数等)。

目前单一的支持加法同态操作或者乘法同态操作的同态加密算法设计相对简单,比如 Paillier 算法,ElGamal 算法等,这类算法在一些相对简单的数据分析场景中已足够支撑需求。但是从数据流通角度来看,数据处理的方式和场景将会越来越复杂,单一的加法同态或者乘法同态将无法满足要求。全同态算法将为数据加密操作提供完备的解决方案。然而全同态加密算法目前只是在理论层面论证可行性,其核心算法和性能问题尚未得到突破,当前存在密钥制作时间长以及制成的密钥过大等困难,工业界及密码学界仍在这一块进行积极的探索。

4、同态加密的短板和局限
  • 运算速度慢——虽然它的性能在不断改善,但相较于业务可接受的标准来说,当前的处理速度实在是太慢了!
  • 需要修改应用——对于已有的大规模业务而言,并不能无缝迁移至同态加密的方式,需要进行重写或是大规模的修改,而这基本是不能被接受的!
  • 同态加密的整体加密强度(加密熵)也留有疑问?这点待实际确认。
参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/4440.html

《同态加密-资料整理和简单学习》上有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注