CN104022872A - 数据加密方法 - Google Patents

数据加密方法 Download PDF

Info

Publication number
CN104022872A
CN104022872A CN201410294025.7A CN201410294025A CN104022872A CN 104022872 A CN104022872 A CN 104022872A CN 201410294025 A CN201410294025 A CN 201410294025A CN 104022872 A CN104022872 A CN 104022872A
Authority
CN
China
Prior art keywords
key
data
block
sub
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410294025.7A
Other languages
English (en)
Other versions
CN104022872B (zh
Inventor
刘伟超
张成康
林立岳
彭炜凌
黄良迅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SIE CONSULTING CO., LTD.
Original Assignee
Guangzhou Sai Yi Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Sai Yi Information Technology Co Ltd filed Critical Guangzhou Sai Yi Information Technology Co Ltd
Priority to CN201410294025.7A priority Critical patent/CN104022872B/zh
Publication of CN104022872A publication Critical patent/CN104022872A/zh
Application granted granted Critical
Publication of CN104022872B publication Critical patent/CN104022872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

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

Description

数据加密方法
技术领域
本发明涉及加密技术领域,尤其涉及一种分组数据加密方法。
 
背景技术
数据加密又称密码学,它是指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。
加密类型主要分为两种:
1、私钥加密技术
私钥加密算法使用单个私钥来加密和解密数据。由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。通常,私钥算法(称为块密码)用于一次加密一个数据块。块密码(如 RC2、DES、TripleDES 和 Rijndael)通过加密将 n 字节的输入块转换为加密字节的输出块。如果要加密或解密字节序列,必须逐块进行。由于 n 很小(对于 RC2、DES 和 TripleDES,n = 8 字 节;n = 16 [默认值];n = 24;对于 Rijndael,n = 32),因此必须对大于 n 的数据值一次加密一个块。
2、公钥加密技术
公钥是与私钥算法一起使用的密钥对的非秘密一半。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥)其中的一个向外界公开,称为公钥;另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
现有加密技术主要有以下几个方面的不足:
1、   传统数据加密技术加解密过程复杂,系统开销大,而移动设备相对于PC或服务器来说性能将成为瓶颈;
2、   在密钥已经确定时,明文与密码是一一对应的关系,可以采用穷举法等暴力方式进行破解;
3、   采用私钥加密时密钥的管理困难。
目前,大多数企业对于数据存储和加密所解决的技术问题为:移动应用的数据安全要求比传统桌面应用要高。
1、数据存储在个人的设备上。数据由过去的存储在企业内部的设备,而现在相当一部分是存储在用户自己的设备上;
2、运行于公网。传统应用多运行于企业内部网络,远程办公多采用VPN等方式接入,而且也通常只是暴露一部分必须的接口给外部网络访问;
BYOD(Bring Your Own Device)成为越来越普遍的办公场景,对移动应用中离线数据存储、数据传输等环节应用数据加密技术,是企业移动应用中的普遍需求。现大多数用户基本都采用BYOD办公方式,传输和存储的都是企业的销量、价格等数据,因此需要提供一种通用的加密方式,提高数据安全性。
 
发明内容
本发明所要解决的技术问题在于,提供一种数据加密方法,具有加密强度高、运算速度块、计算的系统开销小、可扩展优化等优点,适合移动设备的存储和传输加密。
为了解决上述技术问题,本发明提供了一种数据加密方法,包括以下步骤:
A、产生一个加密密钥,并将所述加密密钥按照预定规则生成一组子密钥;
B、将输入的明文数据随机打包生成多个明文数据块;
C、根据每个明文数据块的大小并按照预定规则选取对应的一个所述子密钥对其进行加密运算,从而获得多个密文数据块;
D、将所述多个密文数据块共同构成输出的密文数据。
作为上述技术方案的改进,所述步骤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。
作为上述技术方案的改进,在所述步骤A中,所述加密密钥既可以由手工输入也可随机产生,也可在特定的条件下用公钥加密生成。
作为上述技术方案的改进,所述加密密钥采用16字节密码,每字节密码的取值在1~7FH之间,且所述加密密钥生成8个子密钥。   
作为上述技术方案的改进,每个所述明文数据块大小介于1~64字节之间。
与现有技术相比,本发明的数据加密方法具有以下优点:对传输内容、本地存储数据等明文的打包,密钥的确定,存储、传输时的加密运算的控制都是随机确定的,具有加密强度高、运算速度块、计算的系统开销小、可扩展优化等优点,非常适合移动设备的存储、传输加密。
 
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种数据加密方法的流程图;
图2是本发明实施例的一种数据加密方法的加密运算过程的流程图。
 
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明吸收私钥与公钥加密算法的长处,不采用常规的以迭代为基础的构造思想,避免基于数学问题复杂度的构造方法,将通信双方的身份认证、私钥与公钥相结合。在通信前先服务端和客户端先进行身份认证,通信时用密钥加密传输的正文,而密钥本身则再用公钥进行加密传递。采用随机性原理构造加密变化,并将运算控制隐匿于密钥之中。明文被随机打包分块加密,长度用于选取子密钥,长度和密钥均参与加密运算控制。选取一定长度的分割来构造大的搜索空间,从而实现非线性变换。下面通过具体实施例详细描述本发明的数据加密方法。
如图1所示,本发明数据加密方法包括如下步骤:
S1、产生一个加密密钥,并将所述加密密钥按照预定规则生成一组子密钥;
S2、将输入的明文数据随机打包生成多个明文数据块;
S3、根据每个明文数据块的大小并按照预定规则选取对应的一个所述子密钥对其进行加密运算,从而获得多个密文数据块;
S4、将所述多个密文数据块共同构成输出的密文数据。
其中,在步骤S1中,1)加密密钥既可以由手工输入也可随机产生,在特定的条件下用公钥加密生成。2)加密密钥Key由Key1,Key2...Keyn等一组子密钥构成,密码分组按照一定规则自动生成子密钥。3)加密密钥优选采用16字节密码,每字节密码的取值在1~7FH之间,在本实施例中,例如可生成8个子密钥,则密钥总量将有2的64次方种组合。
在步骤S2中,明文数据(即传输的内容)在通信时被随机打包(打包成明文数据块),包的大小是随机的(介于1~64字节之间)。根据包的大小,按照一定的规则选取其中的一个子密钥对当前包进行加密,加密算法受包的大小与密钥控制。下面,结合图2,详细描述此加密算法。
如图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。
按统一密钥用此加密算法加密,对同一字符,得到的密文字符将随该字符在明文中的位置而变。对于同一明文,在不同时间传递时打包也是不一样的,所得的加密密文也是不一样的。即明文中的字符与密文中的字符没有一一对应的关系。密文和明文也没有一一对应关系。
综上所述,本发明的数据加密方法具有以下优点:对传输内容、本地存储数据等明文的打包,密钥的确定,存储、传输时的加密运算的控制都是随机确定的,具有加密强度高、运算速度块、计算的系统开销小、可扩展优化等优点,非常适合移动设备的存储、传输加密。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (5)

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字节之间。
CN201410294025.7A 2014-04-09 2014-06-27 数据加密方法 Active CN104022872B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410294025.7A CN104022872B (zh) 2014-04-09 2014-06-27 数据加密方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410138710.0 2014-04-09
CN201410138710 2014-04-09
CN201410294025.7A CN104022872B (zh) 2014-04-09 2014-06-27 数据加密方法

Publications (2)

Publication Number Publication Date
CN104022872A true CN104022872A (zh) 2014-09-03
CN104022872B CN104022872B (zh) 2015-03-25

Family

ID=51439458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410294025.7A Active CN104022872B (zh) 2014-04-09 2014-06-27 数据加密方法

Country Status (1)

Country Link
CN (1) CN104022872B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363091A (zh) * 2014-12-01 2015-02-18 国家计算机网络与信息安全管理中心 一种自动检索密钥和选择算法的加解密方法
CN107171797A (zh) * 2017-07-18 2017-09-15 郑州云海信息技术有限公司 一种数据加密方法及装置
CN107294913A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 基于http的安全通信方法、服务端及客户端
CN107317673A (zh) * 2017-05-25 2017-11-03 云南电网有限责任公司电力科学研究院 一种智能电能表通信加密算法
CN108462690A (zh) * 2018-01-25 2018-08-28 刘春燕 一种数控机床设备数据远程通信方法
CN108595966A (zh) * 2018-03-08 2018-09-28 广东电网有限责任公司信息中心 一种基于数字化预案的应急数据分析方法及系统
CN109194676A (zh) * 2018-09-21 2019-01-11 无锡润盟软件有限公司 数据流加密方法、数据流解密方法
CN109327516A (zh) * 2018-10-08 2019-02-12 马鞍山沐及信息科技有限公司 一种基于大数据的能效分析系统
CN109981251A (zh) * 2019-03-05 2019-07-05 湖南国科微电子股份有限公司 随机数序列压缩方法、装置及电子设备
CN110535646A (zh) * 2018-05-24 2019-12-03 广东技术师范学院 一种数据信息安全管理方法
CN111143871A (zh) * 2018-11-03 2020-05-12 广州市明领信息科技有限公司 一种大数据集成系统
CN112287366A (zh) * 2020-10-29 2021-01-29 平安信托有限责任公司 数据加密方法、装置、计算机设备和存储介质
CN114079595A (zh) * 2021-09-30 2022-02-22 云南电网有限责任公司 一种链式异构融合组网网关设备
CN114221757A (zh) * 2021-11-24 2022-03-22 厦门众合天元科技有限公司 一种基于区块链技术的隐私数据分布式存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999000930A1 (fr) * 1997-11-28 1999-01-07 Otkrytoe Aktsionernoe Obschestvo 'moskovskaya Goro Procede de transformation cryptographique de blocs d'entree de donnees numeriques a l bits en blocs de sortie a l bits
CN101271501A (zh) * 2008-04-30 2008-09-24 北京握奇数据系统有限公司 数字媒体文件的加解密方法及装置
CN101908960A (zh) * 2009-06-02 2010-12-08 上海科大智能科技股份有限公司 涉密电子文件的多重保密方法
CN101944992A (zh) * 2003-05-23 2011-01-12 纳格拉影像股份有限公司 用于加密和解密数据块的设备和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999000930A1 (fr) * 1997-11-28 1999-01-07 Otkrytoe Aktsionernoe Obschestvo 'moskovskaya Goro Procede de transformation cryptographique de blocs d'entree de donnees numeriques a l bits en blocs de sortie a l bits
CN101944992A (zh) * 2003-05-23 2011-01-12 纳格拉影像股份有限公司 用于加密和解密数据块的设备和方法
CN101271501A (zh) * 2008-04-30 2008-09-24 北京握奇数据系统有限公司 数字媒体文件的加解密方法及装置
CN101908960A (zh) * 2009-06-02 2010-12-08 上海科大智能科技股份有限公司 涉密电子文件的多重保密方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363091A (zh) * 2014-12-01 2015-02-18 国家计算机网络与信息安全管理中心 一种自动检索密钥和选择算法的加解密方法
CN107294913A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 基于http的安全通信方法、服务端及客户端
CN107294913B (zh) * 2016-03-31 2021-08-27 阿里巴巴集团控股有限公司 基于http的安全通信方法、服务端及客户端
CN107317673A (zh) * 2017-05-25 2017-11-03 云南电网有限责任公司电力科学研究院 一种智能电能表通信加密算法
CN107171797A (zh) * 2017-07-18 2017-09-15 郑州云海信息技术有限公司 一种数据加密方法及装置
CN108462690A (zh) * 2018-01-25 2018-08-28 刘春燕 一种数控机床设备数据远程通信方法
CN108595966A (zh) * 2018-03-08 2018-09-28 广东电网有限责任公司信息中心 一种基于数字化预案的应急数据分析方法及系统
CN108595966B (zh) * 2018-03-08 2022-03-29 广东电网有限责任公司信息中心 一种基于数字化预案的应急数据分析方法及系统
CN110535646A (zh) * 2018-05-24 2019-12-03 广东技术师范学院 一种数据信息安全管理方法
CN109194676B (zh) * 2018-09-21 2020-11-27 无锡润盟软件有限公司 数据流加密方法、数据流解密方法
CN109194676A (zh) * 2018-09-21 2019-01-11 无锡润盟软件有限公司 数据流加密方法、数据流解密方法
CN109327516A (zh) * 2018-10-08 2019-02-12 马鞍山沐及信息科技有限公司 一种基于大数据的能效分析系统
CN111143871A (zh) * 2018-11-03 2020-05-12 广州市明领信息科技有限公司 一种大数据集成系统
CN109981251A (zh) * 2019-03-05 2019-07-05 湖南国科微电子股份有限公司 随机数序列压缩方法、装置及电子设备
CN109981251B (zh) * 2019-03-05 2022-06-07 湖南国科微电子股份有限公司 随机数序列压缩方法、装置及电子设备
CN112287366A (zh) * 2020-10-29 2021-01-29 平安信托有限责任公司 数据加密方法、装置、计算机设备和存储介质
CN114079595A (zh) * 2021-09-30 2022-02-22 云南电网有限责任公司 一种链式异构融合组网网关设备
CN114221757A (zh) * 2021-11-24 2022-03-22 厦门众合天元科技有限公司 一种基于区块链技术的隐私数据分布式存储方法

Also Published As

Publication number Publication date
CN104022872B (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN104022872B (zh) 数据加密方法
CN103795533B (zh) 基于标识符的加密、解密的方法及其执行装置
CN105610793B (zh) 一种外包数据加密存储与密文查询系统及其应用方法
CN102447698B (zh) 一种网络通信信息加密传输方法
CN105763315A (zh) 数据加密和解密的方法、装置以及通信系统
CN108123794A (zh) 白盒密钥的生成方法和加密方法、装置及系统
CN102624522A (zh) 一种基于文件属性的密钥加密方法
CN103067166B (zh) 一种智能家庭系统的分级混合加密方法及装置
CN107196926A (zh) 一种云外包隐私集合比较方法与装置
CN109246098A (zh) 一种支持备份服务器同步密文比较的方法
CN105897812A (zh) 一种适用于混合云环境下的数据安全共享方法
CN104320393A (zh) 重加密可控的高效属性基代理重加密方法
CN102857479A (zh) 网络通讯的加密方法和系统
CN109450615A (zh) 一种高效的opc ua客户端与服务器端数据传输加密方法
CN109543434A (zh) 区块链信息加密方法、解密方法、存储方法及装置
CN103607278A (zh) 一种安全的数据云存储方法
CN112383388A (zh) 一种基于云计算大数据的双秘钥加密系统及方法
CN104901803A (zh) 一种基于cpk标识认证技术的数据交互安全保护方法
Joshy et al. Text to image encryption technique using RGB substitution and AES
CN101908962A (zh) 综合化航空电子系统密钥管理方法
Olumide et al. A hybrid encryption model for secure cloud computing
CN107070637A (zh) 一种交叠分组的数据加解密方法
Chen et al. A rotation session key-based transposition cryptosystem scheme applied to mobile text chatting
CN108134799A (zh) 新型加解密方法及其装置
CN110321722B (zh) Dna序列相似率安全计算方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 510000, Building 29, building 140-148, South Securities Building, No. 2902-2905 Sports East Road, Guangzhou, Guangdong, Tianhe District

Patentee after: SIE CONSULTING CO., LTD.

Address before: 510000, Building 29, building 2902-2905, South China Securities Building, No. 140-148, sports east road, Guangzhou, Guangdong, Guangzhou, Tianhe District

Patentee before: Guangzhou Sai Yi Information technology Co., Ltd