博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
同态加密
阅读量:2442 次
发布时间:2019-05-10

本文共 740 字,大约阅读时间需要 2 分钟。

同态加密

如果我们有一个加密函数 f , 把明文A变成密文A’, 把明文B变成密文B’,也就是说 f(A) = A’ , f(B) = B’ 。另外我们还有一个解密函数 f^-1 能够将 f 加密后的密文解密成加密前的明文。

对于一般的加密函数,如果我们将A’和B’相加,得到C’。我们用 f^-1 对C’进行解密得到的结果一般是毫无意义的乱码。

但是,如果 f 是个可以进行同态加密的加密函数, 我们对C’使用 f^-1 进行解密得到结果C, 这时候的C = A + B。这样,数据处理权与数据所有权可以分离,这样企业可以防止自身数据泄露的同时,利用云服务的算力。

同态分类

a) 如果满足f (A) + f(B) = f(A+B) , 我们将这种加密函数叫做加法同态 ;

b) 如果满足f (A) × f(B) = f(A×B),我们将这种加密函数叫做乘法同态。

如果一个加密函数f只满足加法同态,就只能进行加减法运算

如果一个加密函数f只满足乘法同态,就只能进行乘除法运算;

如果一个加密函数同时满足加法同态和乘法同态,称为全同态加密那么这个使用这个加密函数完成各种加密后的运算(加减乘除、多项式求值、指数、对数、三角函数)。

第一个满足加法和乘法同态的同态加密方法直到2009年才由Craig Gentry提出。

同态加密算法

  1. RSA 算法对于乘法操作是同态的。
  2. Paillier 算法则是对加法同态的。
  3. Gentry算法则是全同态的。

Paillier算法

原理

实现

可在github上搜索“paillier”,有好多开源库。

更多

转自:https://blog.csdn.net/jason_cuijiahui/article/details/79121702

你可能感兴趣的文章
Jbuilder8开发J2ee学习笔记(2) (转)
查看>>
Makefile编写小说(一) (转)
查看>>
运用VC或Java对Office进行编程操作 (转)
查看>>
Linux Shell 裡一些很少用到卻很有用的指令 (转)
查看>>
第10章 模型管理视图 (转)
查看>>
第7章 活 动 视 图 (转)
查看>>
“管家婆”软件用于维修管理 (转)
查看>>
第13章 术 语 大 全 (8) (转)
查看>>
第13章 术 语 大 全 (9) (转)
查看>>
人月神话读书笔记(二) (转)
查看>>
A Brief Look at C++ 中文版 (转)
查看>>
JBuilder Editor中光标不能正确定位问题的解决 (转)
查看>>
XML加ASP实现网页“本地化” (转)
查看>>
Java中的异步网络编程 (转)
查看>>
用于核心模式驱动程序的网络体系结构(1) (转)
查看>>
More Effective C++ 条款20 (转)
查看>>
一个程序员的爱恋 (转)
查看>>
足球战术->边锋之Decorator篇 (转)
查看>>
编写优质无错代码(1) (转)
查看>>
MySQL 4.1.0 中文参考手册 --- 6.3 用于 SELECT 和 WHERE 子句的函数 (1) (转)
查看>>