Homomorphic encryption technology

 

2016-03-12  Zhu Jie  hadoop technology learning

Recently, the leader arranged to study the security of big data. Computer security is a systematic project, which is divided into many levels:

1) Hardware Security

2) Application software security

3) Operating system security

4) Database system security

5) Network security technology

 

related to specific technologies

1) Cryptography

2) Computer virus & prevention

3) Firewall technology

4) Hacker attack and prevention

etc.

 

In addition to the traditional system-level and software-level security in big data technology, I think it is necessary to focus on data security and privacy.

There is an interesting encryption method for data security, which is called homomorphic homomorphic encryption.

 

Homomorphic encryption refers to an article published in 2009 by Craig Gentry of IBM, announcing a new discovery about cryptography: a real breakthrough. He found that processing encrypted data yielded an output, and decrypting that output yielded the same output as processing unencrypted raw data in the same way. It sounds like the answer to the question can be given without knowing it.

 

Note that the encryption operation is E, the plaintext is m, and e is encrypted, that is, e = E(m), m = E'(e). It is known that there is an operation f for plaintext, and F can be constructed for E, such that F(e) = E(f(m)), so that E is a homomorphic encryption algorithm for f.

 

Suppose f is a very complicated operation. With homomorphic encryption, we can give the encrypted e to a third party, and the third party operates F. After we get back F(e), we decrypt it and get f( m). A third party has done the work for us, and still knows nothing about m—what a rapport.

 

It is not easy to find such E. From a purely mathematical point of view, E(x) = x is homomorphic, but unfortunately there is no encryption effect. The RSA algorithm is homomorphic to the multiplication operation, and the corresponding operation F is also a multiplication. For other operations such as addition, the corresponding F cannot be constructed; while the Paillier algorithm is homomorphic to the addition. If an encryption algorithm can find corresponding operations for multiplication and addition, it is called a fully homomorphic encryption algorithm. There is currently no fully homomorphic encryption algorithm available, although Craig Gentry has come a long way.

 

考虑一个匿名投票系统,投票方、计票方、宣布方三权分立,采用公钥加密,只有宣布方拥有私钥。投票方将加密的票送到计票方,计票方利用同态特性进行操作 F,得到汇总的结果,宣布方拿到该结果后解密之,即得总票数。宣布方不知道单独每张票的情况,从而实现了匿名;计票方解不出票面信息,于是可以防止计票方从中作梗。选择对加法同态的加密算法:投谁的票给谁记“1”,不投计“0”;也可选择对乘法同态的算法:投谁的票给谁记“N”,不投计“1”。大致原理如上所述,实现起来还有其它一些难点:1. 赞成/反对票加密出来的结果应该多种多样,以防计票方胡乱推测;2. 能在不解密的情况下对票的有效性进行校验,不能允许一个人一下子投 10000 票。

 

全同态加密的意义对于允许任意复杂的 f,都能构造出相应的 F。这样,就能得到一些匪夷所思的应用:我能解决你的问题,即使我并不知道你的问题。

 

当前同态加密最主要的问题是不太成熟,效率损失太大(损失10倍以上),未来成熟的话,应用前景很大。

 

 
 

微信扫一扫
关注该公众号

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327043950&siteId=291194637