首页 / 专利库 / 银行与财务事项 / 证券 / 数据加密方法

数据加密方法

阅读:1038发布:2020-09-08

专利汇可以提供数据加密方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种数据加密方法,包括以下步骤:A、产生一个加密密钥,并将所述加密密钥按照预定规则生成一组子密钥;B、将输入的明文数据随机打包生成多个明文数据 块 ;C、根据每个明文数据块的大小并按照预定规则选取对应的一个所述子密钥对其进行加密运算,从而获得多个密文数据块;D、将所述多个密文数据块共同构成输出的密文数据。本发明具有加密强度高、运算速度块、计算的系统开销小、可扩展优化等优点,适合移动设备的存储和传输加密。,下面是数据加密方法专利的具体信息内容。

1.一种数据加密方法,其特征在于,包括以下步骤:
A、产生一个加密密钥,并将所述加密密钥按照预定规则生成一组子密钥;
B、将输入的明文数据随机打包生成多个明文数据
C、根据每个明文数据块的大小并按照预定规则选取对应的一个所述子密钥对其进行加密运算,从而获得多个密文数据块;
D、将所述多个密文数据块共同构成输出的密文数据。
2.根据权利要求1所述的数据加密方法,其特征在于,所述步骤C中对每个明文数据块的大小并按照预定规则选取对应的一个所述子密钥对其进行加密运算具体包括如下步骤:
C1、根据当前的明文数据块Li的大小并按照预定规则选取对应的一个所述子密钥Ki;
C2、判断所述明文数据块Li的第0位是否为0,若是,则进入步骤C3, 否则进入步骤C8;
C3、判断所述子密钥Ki的第0位是否为0,若是,则进入步骤C6, 否则进入步骤C4;
C4、利用求反运算加密1字节;
C5、判断所述明文数据块Li-1是否为0,若是,则结束,否则进入步骤C6;
C6、利用求补运算加密1字节;
C7、判断所述明文数据块Li-1是否为0,若是,则结束,否则进入步骤C9;
C8、判断所述子密钥Ki的第0位是否为0,若是,则进入步骤C9, 否则进入步骤C11;
C9、利用异或子密钥运算加密1字节;
C10、判断所述明文数据块Li-1是否为0,若是,则结束,否则进入步骤C11;
C11、利用加子密钥运算加密1字节;
C12、判断所述明文数据块Li-1是否为0,若是,则结束,否则返回步骤C4。
3.根据权利要求1所述的数据加密方法,其特征在于,在所述步骤A中,所述加密密钥既可以由手工输入也可随机产生,也可在特定的条件下用公钥加密生成。
4.根据权利要求1或3所述的数据加密方法,其特征在于,所述加密密钥采用16字节密码,每字节密码的取值在1~7FH之间,且所述加密密钥生成8个子密钥。
5.根据权利要求3所述的数据加密方法,其特征在于,每个所述明文数据块大小介于
1~64字节之间。

说明书全文

数据加密方法

技术领域

[0001] 本发明涉及加密技术领域,尤其涉及一种分组数据加密方法。
[0002]

背景技术

[0003] 数据加密又称密码学,它是指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。
[0004] 加密类型主要分为两种:1、私钥加密技术
私钥加密算法使用单个私钥来加密和解密数据。由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。通常,私钥算法(称为密码)用于一次加密一个数据块。块密码(如 RC2、DES、TripleDES 和 Rijndael)通过加密将 n 字节的输入块转换为加密字节的输出块。如果要加密或解密字节序列,必须逐块进行。由于 n 很小(对于 RC2、DES 和 TripleDES,n = 8 字 节;n = 16 [默认值];n = 24;对于 Rijndael,n = 32),因此必须对大于 n 的数据值一次加密一个块。
[0005] 2、公钥加密技术公钥是与私钥算法一起使用的密钥对的非秘密一半。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥)其中的一个向外界公开,称为公钥;另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
[0006] 现有加密技术主要有以下几个方面的不足:1、传统数据加密技术加解密过程复杂,系统开销大,而移动设备相对于PC或服务器来说性能将成为瓶颈
2、在密钥已经确定时,明文与密码是一一对应的关系,可以采用穷举法等暴方式进行破解;
3、采用私钥加密时密钥的管理困难。
[0007] 目前,大多数企业对于数据存储和加密所解决的技术问题为:移动应用的数据安全要求比传统桌面应用要高。
[0008] 1、数据存储在个人的设备上。数据由过去的存储在企业内部的设备,而现在相当一部分是存储在用户自己的设备上;2、运行于公网。传统应用多运行于企业内部网络,远程办公多采用VPN等方式接入,而且也通常只是暴露一部分必须的接口给外部网络访问
BYOD(Bring Your Own Device)成为越来越普遍的办公场景,对移动应用中离线数据存储、数据传输等环节应用数据加密技术,是企业移动应用中的普遍需求。现大多数用户基本都采用BYOD办公方式,传输和存储的都是企业的销量、价格等数据,因此需要提供一种通用的加密方式,提高数据安全性。
[0009]

发明内容

[0010] 本发明所要解决的技术问题在于,提供一种数据加密方法,具有加密强度高、运算速度块、计算的系统开销小、可扩展优化等优点,适合移动设备的存储和传输加密。
[0011] 为了解决上述技术问题,本发明提供了一种数据加密方法,包括以下步骤:A、产生一个加密密钥,并将所述加密密钥按照预定规则生成一组子密钥;
B、将输入的明文数据随机打包生成多个明文数据块;
C、根据每个明文数据块的大小并按照预定规则选取对应的一个所述子密钥对其进行加密运算,从而获得多个密文数据块;
D、将所述多个密文数据块共同构成输出的密文数据。
[0012] 作为上述技术方案的改进,所述步骤C中对每个明文数据块的大小并按照预定规则选取对应的一个所述子密钥对其进行加密运算具体包括如下步骤:C1、根据当前的明文数据块Li的大小并按照预定规则选取对应的一个所述子密钥Ki;
C2、判断所述明文数据块Li的第0位是否为0,若是,则进入步骤C3, 否则进入步骤C8;
C3、判断所述子密钥Ki的第0位是否为0,若是,则进入步骤C6, 否则进入步骤C4;
C4、利用求反运算加密1字节;
C5、判断所述明文数据块Li-1是否为0,若是,则结束,否则进入步骤C6;
C6、利用求补运算加密1字节;
C7、判断所述明文数据块Li-1是否为0,若是,则结束,否则进入步骤C9;
C8、判断所述子密钥Ki的第0位是否为0,若是,则进入步骤C9, 否则进入步骤C11;
C9、利用异或子密钥运算加密1字节;
C10、判断所述明文数据块Li-1是否为0,若是,则结束,否则进入步骤C11;
C11、利用加子密钥运算加密1字节;
C12、判断所述明文数据块Li-1是否为0,若是,则结束,否则返回步骤C4。
[0013] 作为上述技术方案的改进,在所述步骤A中,所述加密密钥既可以由手工输入也可随机产生,也可在特定的条件下用公钥加密生成。
[0014] 作为上述技术方案的改进,所述加密密钥采用16字节密码,每字节密码的取值在1~7FH之间,且所述加密密钥生成8个子密钥。
作为上述技术方案的改进,每个所述明文数据块大小介于1~64字节之间。
[0015] 与现有技术相比,本发明的数据加密方法具有以下优点:对传输内容、本地存储数据等明文的打包,密钥的确定,存储、传输时的加密运算的控制都是随机确定的,具有加密强度高、运算速度块、计算的系统开销小、可扩展优化等优点,非常适合移动设备的存储、传输加密。
[0016]附图说明
[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1是本发明实施例的一种数据加密方法的流程图;图2是本发明实施例的一种数据加密方法的加密运算过程的流程图。
[0019]

具体实施方式

[0020] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021] 本发明吸收私钥与公钥加密算法的长处,不采用常规的以迭代基础的构造思想,避免基于数学问题复杂度的构造方法,将通信双方的身份认证、私钥与公钥相结合。在通信前先服务端和客户端先进行身份认证,通信时用密钥加密传输的正文,而密钥本身则再用公钥进行加密传递。采用随机性原理构造加密变化,并将运算控制隐匿于密钥之中。明文被随机打包分块加密,长度用于选取子密钥,长度和密钥均参与加密运算控制。选取一定长度的分割来构造大的搜索空间,从而实现非线性变换。下面通过具体实施例详细描述本发明的数据加密方法。
[0022] 如图1所示,本发明数据加密方法包括如下步骤:S1、产生一个加密密钥,并将所述加密密钥按照预定规则生成一组子密钥;
S2、将输入的明文数据随机打包生成多个明文数据块;
S3、根据每个明文数据块的大小并按照预定规则选取对应的一个所述子密钥对其进行加密运算,从而获得多个密文数据块;
S4、将所述多个密文数据块共同构成输出的密文数据。
[0023] 其中,在步骤S1中,1)加密密钥既可以由手工输入也可随机产生,在特定的条件下用公钥加密生成。2)加密密钥Key由Key1,Key2...Keyn等一组子密钥构成,密码分组按照一定规则自动生成子密钥。3)加密密钥优选采用16字节密码,每字节密码的取值在1~7FH之间,在本实施例中,例如可生成8个子密钥,则密钥总量将有2的64次方种组合。
[0024] 在步骤S2中,明文数据(即传输的内容)在通信时被随机打包(打包成明文数据块),包的大小是随机的(介于1~64字节之间)。根据包的大小,按照一定的规则选取其中的一个子密钥对当前包进行加密,加密算法受包的大小与密钥控制。下面,结合图2,详细描述此加密算法。
[0025] 如图2所示,本发明对每个明文数据块的大小并按照预定规则选取对应的一个所述子密钥对其进行加密运算的加密算法,包括步骤:S31、根据当前的明文数据块Li的大小并按照预定规则选取对应的一个所述子密钥Ki;
S32、判断所述明文数据块Li的第0位是否为0,若是,则进入步骤S33, 否则进入步骤S38;
S33、判断所述子密钥Ki的第0位是否为0,若是,则进入步骤S36, 否则进入步骤S34;
S34、利用 F1(求反)运算加密1字节;
S35、判断所述明文数据块Li-1是否为0,若是,则结束,否则进入步骤S36;
S36、利用F1(求补)运算加密1字节;
S37、判断所述明文数据块Li-1是否为0,若是,则结束,否则进入步骤S39;
S38、判断所述子密钥Ki的第0位是否为0,若是,则进入步骤S39, 否则进入步骤S311;
S39、利用F3(异或子密钥)运算加密1字节;
S310、判断所述明文数据块Li-1是否为0,若是,则结束,否则进入步骤S311;
S311、利用 F4(加子密钥)运算加密1字节;
S312、判断所述明文数据块Li-1是否为0,若是,则结束,否则返回步骤S34。
[0026] 按统一密钥用此加密算法加密,对同一字符,得到的密文字符将随该字符在明文中的位置而变。对于同一明文,在不同时间传递时打包也是不一样的,所得的加密密文也是不一样的。即明文中的字符与密文中的字符没有一一对应的关系。密文和明文也没有一一对应关系。
[0027] 综上所述,本发明的数据加密方法具有以下优点:对传输内容、本地存储数据等明文的打包,密钥的确定,存储、传输时的加密运算的控制都是随机确定的,具有加密强度高、运算速度块、计算的系统开销小、可扩展优化等优点,非常适合移动设备的存储、传输加密。
[0028] 以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈