[发明专利]数据加解密的方法及装置有效
申请号: | 201810687002.0 | 申请日: | 2018-06-28 |
公开(公告)号: | CN108933650B | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 李漓春;林文珍;王华忠 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/08;H04L29/06 |
代理公司: | 11309 北京亿腾知识产权代理事务所(普通合伙) | 代理人: | 陈霁;周良玉 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加密结果 运算结果 正常结果 方法和装置 解密过程 数据加密 数据解密 预定常数 加密 混淆 引入 恢复 | ||
1.一种数据加密的方法,包括:
从对端接收第一数据;
基于与所述对端预先约定的结果范围,生成随机项R,所述结果范围包括结果最小值a和结果最大值b,所述随机项R为随机数r与约定常数c的乘积,所述约定常数c大于所述结果最大值b与结果最小值a的差值;
基于所述第一数据、本地私有的第二数据,以及所述随机项,进行同态运算,得到加密结果;
将所述加密结果返回给所述对端。
2.根据权利要求1所述的方法,其中基于所述第一数据、本地私有的第二数据,以及所述随机项,进行同态运算包括:
基于所述第一数据和所述第二数据,进行第一同态运算,得到第一运算结果;
基于所述第一运算结果和所述随机项,进行第二同态运算,得到加密结果。
3.根据权利要求2所述的方法,其中基于所述第一运算结果和所述随机项,进行第二同态运算包括:
获取所述第一运算结果与所述结果最小值a的差值作为第二运算结果;
对所述第二运算结果与所述随机项进行同态求和加密,从而生成所述加密结果。
4.根据权利要求1所述的方法,其中所述结果最小值a为0,所述结果最大值b为n位自然数;所述约定常数c为10^n,使得所述随机项R中从高位向低位排列的后n位均为0,其中n为自然数。
5.根据权利要求1所述的方法,其中所述结果最小值a为0,所述结果最大值b为2^n,所述约定常数c为2^(n+1),所述随机项以二进制表示,在所述随机项R的二进制表示中,从高位向低位排列的后n位均为0,其中n为自然数。
6.根据权利要求1-3中任一项所述的方法,其中所述约定常数c取值为Δ+1,其中Δ为所述结果最大值b与结果最小值a的差值。
7.一种数据解密的方法,包括:
接收同态加密的加密结果,所述加密结果根据权利要求1的加密方法生成;
对所述加密结果进行同态解密,得到解密结果;
获取解密结果对所述约定常数c取模的余数;
基于所述余数确定运算结果的值。
8.根据权利要求7所述的方法,其中所述基于所述余数确定运算结果的值,包括:
将所述运算结果的值确定为,所述余数的值加上所述结果最小值a。
9.根据权利要求7所述的方法,其中所述约定常数c为10^n,
所述获取解密结果对所述约定常数c取模的余数包括,获取所述解密结果中从高位向低位排列的后n位,作为所述余数。
10.根据权利要求7所述的方法,其中所述解密结果和所述随机项均以二进制表示,所述随机项的二进制表示中,从高位向低位排列的后n位均为0;
所述获取解密结果对所述约定常数c取模的余数包括,获取所述解密结果的二进制表示中从高位向低位排列的后n位,作为所述余数。
11.一种数据加密的装置,包括:
接收单元,配置为从对端接收第一数据;
随机生成单元,配置为基于与所述对端预先约定的结果范围,生成随机项R,所述结果范围包括结果最小值a和结果最大值b,所述随机项R为随机数r与约定常数c的乘积,所述约定常数c大于所述结果最大值b与结果最小值a的差值;
运算单元,配置为基于所述第一数据、本地私有的第二数据,以及所述随机项,进行同态运算,得到加密结果;
发送单元,配置为将所述加密结果返回给所述对端。
12.根据权利要求11所述的装置,其中所述运算单元包括:
第一运算模块,配置为基于所述第一数据和所述第二数据,进行第一同态运算,得到第一运算结果;
第二运算模块,配置为基于所述第一运算结果和所述随机项,进行第二同态运算,得到加密结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810687002.0/1.html,转载请声明来源钻瓜专利网。