WO2016206504A1 - 一种数据加密的方法、解密的方法及装置 - Google Patents

一种数据加密的方法、解密的方法及装置 Download PDF

Info

Publication number
WO2016206504A1
WO2016206504A1 PCT/CN2016/082338 CN2016082338W WO2016206504A1 WO 2016206504 A1 WO2016206504 A1 WO 2016206504A1 CN 2016082338 W CN2016082338 W CN 2016082338W WO 2016206504 A1 WO2016206504 A1 WO 2016206504A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
ciphertext data
bit
length value
ciphertext
Prior art date
Application number
PCT/CN2016/082338
Other languages
English (en)
French (fr)
Inventor
潘志国
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016206504A1 publication Critical patent/WO2016206504A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

一种数据加密的方法该数据加密的方法包括:根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;根据密钥和第一随机数据进行位运算,得到第二随机数据;将第二随机数据插入到第一密文数据中,得到第二密文数据;对第二密文数据进行反转比特位操作,得到最终密文数据。上述技术方案的算法简单,加密效率较高,能大幅增加破解难度,进而提高了信息的保密性和安全性。

Description

一种数据加密的方法、解密的方法及装置 技术领域
本文涉及但不限于信息安全技术领域,涉及一种数据加密的方法、解密的方法及装置。
背景技术
数据传输、存储以及交换过程中的暴露,可能会导致数据中携带的重要信息和隐私信息被意外公开,因此需要对数据进行加密,以保证信息和数据能够安全的存储、传输或交换。
数据加密,是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。
传统的数据加密流程如图1所示。
著名的对称加密算法可分为两大类:
第一类是分组加密算法,该类算法的基本思想是将明文以64比特(或其它固定长度)分为一组,在密钥的作用下,通过多轮置换和迭代,输出64比特的密文。分组加密算法可视为大字符集上的置换加密算法。著名的分组加密算法有数据加密标准(DES,Data Encryption Standard)等。
第二类是序列密码算法,其核心思想是设计一个随机序列产生器,该随机序列产生器在用户密钥的作用下,生成随机的密钥流,将密钥流与明文流作模2加法,从而形成密文流。序列密码可以看成是多表密码的一种,如果密码的周期不大,它将非常类似于维吉利亚密码。
但上述数据加密方法通常有以下弊端中的一种或几种:
1、相同明文的数据,加密后得到的密文是相同的,可以从已知部分密文推理出明文;
2、密文的长度和明文的长度一一对应,数据的保密性和安全性差;
3、加密后的数据膨胀严重;
4、可以从密文片段开始破解,数据的保密性和安全性差;
5、算法复杂,加密效率低。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种数据加密的方法、解密的方法及装置,能大幅增加破解难度,进而提高信息的保密性和安全性。
本发明实施例提供了一种数据加密的方法,该方法包括:
根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;
根据所述密钥和第一随机数据进行位运算,得到第二随机数据;
将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据;
对所述第二密文数据进行反转比特位操作,得到最终密文数据。
可选地,所述根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据之前,所述方法还包括:
根据所述明文数据的第一长度值,确定出所述最终密文数据的第二长度值,其中所述第二长度值为大于预设数值的一个自然数的最小整数倍数,且所述第二长度值大于所述第一长度值;
根据所述第二长度值与所述第一长度值的差值,得到所述第一随机数据的第三长度值;
根据所述第三长度值,生成所述第一随机数据,其中所述第三长度值通过所述第一随机数据的第一字节中的至少一个比特位表征。
可选地,所述将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据,包括:
根据所述第二长度值、所述密钥的第四长度值以及所述密钥的校验和,确定出所述第二随机数据在所述第一密文数据中的插入位置;
根据所述插入位置,将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据。
可选地,所述对所述第二密文数据进行反转比特位操作,得到最终密文数据,包括:
根据所述插入位置和第四长度值,确定出在所述第二密文数据中进行反转比特位操作的开始位置;
反转所述第二密文数据中位于所述开始位置以及所述开始位置后的每个字节中的一个比特位,得到最终密文数据,其中每个字节需要反转的比特序号由该字节前面的字节组成的比特流中的至少三个比特位决定。
本发明实施例还提供一种数据加密的装置,所述装置包括:
第一运算模块,设置为根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;
第二运算模块,设置为根据所述密钥和第一随机数据进行位运算,得到第二随机数据;
插入模块,设置为将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据;
第一操作模块,设置为对所述第二密文数据进行反转比特位操作,得到最终密文数据。
可选地,所述装置还包括:
第一确定模块,设置为根据所述明文数据的第一长度值,确定出所述最终密文数据的第二长度值,其中所述第二长度值为大于预设数值的一个自然数的最小整数倍数,且所述第二长度值大于所述第一长度值;
第二确定模块,设置为根据所述第二长度值与所述第一长度值的差值,得到所述第一随机数据的第三长度值;
生成模块,设置为根据所述第三长度值,生成所述第一随机数据,其中所述第三长度值通过所述第一随机数据的第一字节中的至少一个比特位表征。
本发明实施例还提供一种数据解密的方法,所述方法包括:
接收最终密文数据;
对所述最终密文数据进行比特位反转操作,得到第四密文数据;
从所述第四密文数据中提取出第二随机数据,得到第五密文数据;
根据所述第二随机数据与密钥进行位运算,得到第一随机数据;
根据所述第五密文数据、第一随机数据和密钥进行位运算,得到明文数据。
可选地,在所述对所述最终密文数据进行比特位反转操作,得到第四密文数据之前,所述方法还包括:
根据所述最终密文数据的第二长度值、密钥的校验和以及所述密钥的第四长度值,确定出所述第二随机数据在所述第四密文数据中的插入位置;
所述对最终密文数据进行比特位反转操作,得到第四密文数据,包括:
根据所述插入位置与所述第四长度值,确定出在所述最终密文数据中进行比特位反转操作的开始位置;
反转所述最终密文数据中位于所述开始位置以及所述开始位置后的每个字节中的一个比特位,得到第四密文数据,其中每个字节需要反转的比特序号由该字节前面的字节组成的比特流中的至少三个比特位决定。
可选地,所述第二随机数据的长度值通过所述第二随机数据的第一字节中的至少一个比特位表征,
所述从所述第四密文数据中提取出第二随机数据,得到第五密文数据,包括:
根据所述插入位置和所述至少一个比特位,从所述第四密文数据中提取出第二随机数据,得到第五密文数据。
本发明实施例提供一种数据解密的装置,所述装置包括:
接收模块,设置为接收最终密文数据;
第二操作模块,设置为对所述最终密文数据进行比特位反转操作,得到第四密文数据;
提取模块,设置为从所述第四密文数据中提取出第二随机数据,得到第五密文数据;
第三运算模块,设置为根据所述第二随机数据与密钥进行位运算,得到第一随机数据;
第四运算模块,设置为根据所述第五密文数据、第一随机数据和密钥进行位运算,得到明文数据。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被执行时实现数据加密的方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被执行时实现数据解密的方法。
本发明实施例的上述方案至少包括以下有益效果:
在本发明实施例中,通过明文数据与密钥和第一随机数据进行位运算,得到第一密文数据,同时将密钥与第一随机数据进行位运算,得到第二随机数据,并将得到的第二随机数据与第一密文数据进行位运算,得到第二密文数据,最后再对第二密文数据进行反转比特位操作,得到最终密文数据,解决了信息的保密性和安全性差的问题,达到了大幅增加破解难度,进而提高了信息的保密性和安全性的效果
在阅读并理解了附图和详细描述后,可以明白其它方面。
附图说明
图1为相关技术中数据加密的流程图;
图2为本发明第一实施例中数据加密的方法的流程图;
图3为本发明第一实施例中得到第一密文数据的示意图;
图4为本发明第一实施例中得到第二随机数据的示意图;
图5为本发明第一实施例中得到最终密文数据的示意图;
图6为本发明第二实施例中数据加密的方法的流程图;
图7为本发明第三实施例中数据加密的装置的结构示意图;
图8为本发明第四实施例中数据解密的方法的流程图;
图9为本发明第五实施例中数据解密的装置的结构示意图。
具体实施方式
下面将参照附图描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以多种形式实现本申请而不应被这里阐述的实施例所限制。第一实施例
如图2所示,本发明第一实施例提供了一种数据加密的方法,该方法包括:
步骤S21,根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;
在本发明第一实施例中,如图3所示,明文数据可以先跟第一随机数据进行位运算(例如异或运算)得到第三密文数据,然后再让第三密文数据与密钥进行位运算(例如异或运算)得到第一密文数据。当然明文数据也可以先跟密钥进行位运算(例如异或运算)得到第三密文数据,然后再让第三密文数据与第一随机数据进行位运算(例如异或运算)得到第一密文数据。在本发明第一实施例中,可以通过如下C语言得到第一密文数据:c[i]=p[i]^r[(i+a)%rl]^k[(i+b)%kl],其中c表示第一密文数据,i表示字节序数,p表示明文数据,r表示第一随机数据,rl表示第一随机数据长度,k表示密钥,kl表示密钥长度,a是小于第一随机数据长度的正整数,b小于密钥长度的正整数。
在本发明第一实施例中,作为一个可选示例,为了增加最终密文数据的破解难度,可以对第一密文数据作进一步的处理。例如将第一密文数据的每个字节按照一规则分别进行循环移位,也可以再结合按位取反操作或与密钥 的校验和再次进行异或运算等,其中,循环移位可以参考密钥的一字节对8取模,也可以参考第一随机数据的一字节对8取模。
步骤S22,根据密钥和第一随机数据进行位运算,得到第二随机数据;
在本发明第一实施例中,如图4所示,可以将密钥与第一随机数据进行位运算(例如异或运算),得到第二随机数据,且该第二随机数据的长度与第一随机数据的长度一样。但是为了保证数据膨胀不是很严重,这个长度值不宜过大。
在本发明第一实施例中,还可以通过将第一随机数据除最后一个字节外的每个字节分别与后面的一个字节进行按位异或运算得到第二随机数据。
步骤S23,将第二随机数据插入到第一密文数据中,得到第二密文数据;
步骤S24,对第二密文数据进行反转比特位操作,得到最终密文数据。
在本发明第一实施例中,如图5所示,可将步骤S22中得到的第二随机数据插入到第一密文数据中,得到第二密文数据,然后再对该到第二密文数据进行反转比特位操作,得到最终密文数据。
在本发明第一实施例中,由于第一随机数据每次都不同,使得加密后的最终密文数据是随机变化的,即使密钥很短或明文数据的长度较小,最终密文数据的变化幅度也很大,而且无法根据最终密文数据的长度准确得知明文数据的长度,从而增加破解难度,进而提高信息的保密性和安全性。同时整个加密过程相对简单,加密效率较高。
第二实施例
如图6所示,本发明第二实施例提供了一种数据加密的方法,该方法包括:
步骤S61,根据明文数据的第一长度值,确定出最终密文数据的第二长度值,其中第二长度值为大于预设数值的一个自然数的最小整数倍数,且第二长度值大于第一长度值;
在本发明第二实施例中,上述预设数值可以为2,当然可以理解的是,在本发明第二实施例中,并不限定预设数值的数值,可根据实际需要进行调整。
步骤S62,根据第二长度值与第一长度值的差值,得到第一随机数据的第三长度值;
步骤S63,根据第三长度值,生成第一随机数据,其中第三长度值通过第一随机数据的第一字节中的至少一个比特位表征;
在本发明第二实施例中,可以通过步骤S61中的自然数和密钥的校验和确定出是通过第一字节中的哪几个比特位表征第一随机数据的第三长度值。这几个比特位可以是连续的,也可以不是连续的。另外第一随机数据的第一字节中的其余比特位和后面的字节完全用随机方式产生。
步骤S64,根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;
在本发明的第二实施例中,如图3所示,明文数据可以先跟第一随机数据进行位运算(例如异或运算)得到第三密文,然后再将第三密文与密钥进行位运算(例如异或运算)得到第一密文数据。明文数据也可以先跟密钥进行位运算(例如异或运算)得到第三密文,然后再将第三密文与第一随机数据进行位运算(例如异或运算)得到第一密文数据。其中,可以通过如下C语言得到第一密文数据:c[i]=p[i]^r[(i+a)%rl]^k[(i+b)%kl],其中c表示第一密文数据,i表示字节序数,p表示明文数据,r表示第一随机数据,rl表示第一随机数据长度,k表示密钥,kl表示密钥长度,a是小于第一随机数据长度的正整数,b是小于密钥长度的正整数。
在本发明的第二实施例中,作为一个可选示例,为了增加最终密文数据的破解难度,可以对第一密文数据作进一步的处理,例如将第一密文数据的每个字节按照一规则分别进行循环移位;也可以将第一密文数据的每个字节按照一规则分别进行循环移位后,结合按位取反操作或与密钥的校验和再次进行异或运算等。例如,循环移位可以参考密钥的一字节对8取模,也可以参考第一随机数据的一字节对8取模。
步骤S65,根据密钥和第一随机数据进行位运算,得到第二随机数据;
在本发明的第二实施例中,如图4所示,可以将密钥与第一随机数据进行位运算(例如异或运算),得到第二随机数据,且该第二随机数据的长度与第一随机数据的长度一样。但是为了保证数据膨胀不是很严重,这个长度 值不宜过大。
在本发明的第二实施例中,还可以通过将第一随机数据除最后一个字节外的每个字节分别与后面的一个字节进行按位异或运算得到第二随机数据。
步骤S66,将第二随机数据插入到第一密文数据中,得到第二密文数据;
步骤S67,对第二密文数据进行反转比特位操作,得到最终密文数据。
在本发明的第二实施例中,如图5所示,可将步骤S65中得到的第二随机数据插入到第一密文数据中,得到第二密文数据,然后再对该到第二密文数据进行反转比特位操作,得到最终密文数据。
在本发明的第二实施例中,由于第一随机数据每次都不同,使得加密后的最终密文数据是随机变化的,即使密钥很短或明文数据的长度较小,最终密文数据的变化幅度也很大,而且无法根据最终密文数据的长度准确得知明文数据的长度,从而增加破解难度,进而提高了信息的保密性和安全性。同时整个加密过程相对简单,加密效率较高。
其中,在本发明的第二实施例中,上述步骤S66包括:根据第二长度值、密钥的第四长度值以及密钥的校验和,确定出第二随机数据在第一密文数据中的插入位置;根据插入位置,将第二随机数据插入到第一密文数据中,得到第二密文数据。
在本发明的第二实施例中,可通过公式pos_1=((cl+crc)×kl)%cl,计算出插入位置,其中pos_1表示插入位置,cl表示最终密文数据的第二长度值,crc表示密钥的校验和,kl表示密钥的第四长度值。
其中,在本发明的第二实施例中,上述步骤S67包括:根据插入位置和第四长度值,确定出在第二密文数据中进行反转比特位操作的开始位置;反转第二密文数据中位于开始位置以及开始位置后的每个字节中的一个比特位,得到最终密文数据,其中每个字节需要反转的比特序号由该字节前面的字节组成的比特流中的至少三个比特位决定。
在本发明的第二实施例中,开始位置对应的数值不宜过大,可以根据插入位置和第四长度值来定,例如取第四长度值与插入位置对应的数值的最小值加1。
在本发明的第二实施例中,反转比特位的方法包括:找一段用于选取比特位置的参考数据,将其视作连续的二进制比特流,从中选取3个比特位(其8种取值刚好可以),表示一字节中的8个比特位(第0位到第7位),按照这个值对待处理数据的一字节中的任一比特位取反,比如用二进制表示的一字节数据为“00000000”,反转第0个比特位后是“00000001”,再反转第2比特位后是“00000101”。对于一个字节,可以使用多次反转比特位操作,这样可以提高信息安全性。
在本发明的第二实施例中,为了使用方便,每个字节需要反转的比特序号可以由该字节前面的字节组成的比特流中的三个比特位决定,当然这三个比特位可以是连续的,也可以不是连续的,具体可以根据密钥的检验和以及第二密文数据的字节序号等确定。
在本发明的第二实施例中,作为一个可选示例,可以从第二密文数据的第二字节开始反转比特,反转每个字节的哪个比特,可以根据前一字节的值,从密钥字节组成的比特流中选出三个比特位确定。
在本发明的第二实施例中,假设自然数取值为4,可以通过如下C语言实现代码实现上述数据加密的方法:
Figure PCTCN2016082338-appb-000001
Figure PCTCN2016082338-appb-000002
Figure PCTCN2016082338-appb-000003
Figure PCTCN2016082338-appb-000004
Figure PCTCN2016082338-appb-000005
Figure PCTCN2016082338-appb-000006
第三实施例
如图7所示,本发明第三实施例提供了一种数据加密的装置,该装置包括:
第一运算模块71,设置为根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;
第二运算模块72,设置为根据密钥和第一随机数据进行位运算,得到第二随机数据;
插入模块73,设置为将第二随机数据插入到第一密文数据中,得到第二密文数据;
第一操作模块74,设置为对第二密文数据进行反转比特位操作,得到最终密文数据。
可选地,所述装置还包括:
第一确定模块,设置为根据明文数据的第一长度值,确定出最终密文数据的第二长度值,其中第二长度值为大于预设数值的一个自然数的最小整数倍数,且第二长度值大于第一长度值;
第二确定模块,设置为根据第二长度值与第一长度值的差值,得到第一随机数据的第三长度值;
生成模块,设置为根据第三长度值,生成第一随机数据,其中第三长度值通过第一随机数据的第一字节中的至少一个比特位表征。
可选地,插入模块73包括:
第一确定单元,设置为根据第二长度值、密钥的第四长度值以及密钥的校验和,确定出第二随机数据在第一密文数据中的插入位置;
第二确定单元,设置为根据插入位置,将第二随机数据插入到第一密文数据中,得到第二密文数据。
可选地,第一操作模块74包括:
第三确定单元,设置为根据插入位置和第四长度值,确定出在第二密文数据中进行反转比特位操作的开始位置;
第一反转单元,设置为反转第二密文数据中位于开始位置以及所述开始位置后的每个字节中的一个比特位,得到最终密文数据,其中每个字节需要反转的比特序号由该字节前面的字节组成的比特流中的至少三个比特位决定。
在本发明第三实施例中,由于第一随机数据每次都不同,使得加密后的最终密文数据是随机变化的,即使密钥很短或明文数据的长度较小,最终密文数据的变化幅度也很大,而且无法根据最终密文数据的长度准确得知明文数据的长度,从而增加破解难度,进而提高了信息的保密性和安全性。同时整个加密过程相对简单,加密效率较高。
需要说明的是,本发明实施例提供的数据加密的装置是应用上述数据加密的方法的装置,即上述方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
第四实施例
如图8所示,本发明第四实施例提供了一种数据解密的方法,该方法包括:
步骤S81,接收最终密文数据;
步骤S82,对最终密文数据进行比特位反转操作,得到第四密文数据;
步骤S83,从第四密文数据中提取出第二随机数据,得到第五密文数据;
步骤S84,根据第二随机数据与密钥进行位运算,得到第一随机数据;
步骤S85,根据第五密文数据、第一随机数据和密钥进行位运算,得到明文数据。
在本发明第四实施例中,数据解密的方法的过程基本上与上述数据加密的方法的过程相反。即当接收到最终密文数据后,首先要对最终密文数据进行比特位反转操作,将加密时反转的比特位还原,再找到之前插入的第二随机数据,并从第四密文数据中提取出第二随机数据,得到第五密文数据,同时将第二随机数据与密钥进行位运算(例如异或运算),解出第一随机数据,最后将第五密文数据与第一随机数据和密钥进行位运算(例如异或运算),得到明文数据。
可选地,在本发明第四实施例中,在执行步骤S81之前,上述方法还包括:根据最终密文数据的第二长度值、密钥的校验和以及密钥的第四长度值,确定出第二随机数据在第四密文数据中的插入位置。
在本发明第四实施例中,与上述加密数据的方法类似,可通过公式pos_1=((cl+crc)×kl)%cl,计算出插入位置,其中pos_1表示插入位置,cl表示最终密文数据的第二长度值,crc表示密钥的校验和,kl表示密钥的第四长度值。
步骤S82可以包括:根据插入位置与第四长度值,确定出在最终密文数据中进行比特位反转操作的开始位置;反转最终密文数据中位于开始位置后的每个字节中的一个比特位,得到第四密文数据,其中每个字节需要反转的比特序号由该字节前面的字节组成的比特流中的至少三个比特位决定。
在本发明第四实施例中,与上述加密数据的方法类似,开始位置可以根 据插入位置和第四长度值来定,例如取第四长度值与插入位置对应的数值的最小者加1。
可选地,在本发明的第四实施例中,第二随机数据的长度值通过第二随机数据的第一字节中的至少一个比特位表征,
上述步骤S83可以包括:根据插入位置和至少一个比特位,从第四密文数据中提取出第二随机数据,得到第五密文数据。
第五实施例
如图9所示,本发明第五实施例提供了一种数据解密的装置,该装置包括:
接收模块91,设置为接收最终密文数据;
第二操作模块92,设置为对最终密文数据进行比特位反转操作,得到第四密文数据;
提取模块93,设置为从第四密文数据中提取出第二随机数据,得到第五密文数据;
第三运算模块94,设置为根据第二随机数据与密钥进行位运算,得到第一随机数据;
第四运算模块95,设置为根据第五密文数据、第一随机数据和密钥进行位运算,得到明文数据。
可选地,所述装置还包括:
第三确定模块,设置为根据最终密文数据的第二长度值、密钥的校验和以及密钥的第四长度值,确定出第二随机数据在第四密文数据中的插入位置;
第二操作模块92包括:
第四确定单元,设置为根据插入位置与第四长度值,确定出在最终密文数据中进行比特位反转操作的开始位置;
第二反转单元,设置为反转最终密文数据中位于开始位置后的每个字节中的一个比特位,得到第四密文数据,其中每个字节需要反转的比特序号由该字节前面的字节组成的比特流中的至少三个比特位决定。
可选地,在本实施例中,第二随机数据的长度值通过第二随机数据的第一字节中的至少一个比特位表征,
提取模块93包括:
提取单元,设置为根据插入位置和至少一个比特位,从第四密文数据中提取出第二随机数据,得到第五密文数据。
需要说明的是,本发明实施例提供的数据解密的装置是应用上述数据解密的方法的装置,即上述方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被执行时实现数据加密的方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被执行时实现数据解密的方法。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本申请不限制于任何特定形式的硬件和软件的结合。本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或者等同替换,而不脱离本申请技术方案的精神和范围,均应涵盖在本申请的权利要求范围当中。
工业实用性
上述技术方案大幅增加了破解难度,提高了信息的保密性和安全性的效果。

Claims (10)

  1. 一种数据加密的方法,所述方法包括:
    根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;
    根据所述密钥和第一随机数据进行位运算,得到第二随机数据;
    将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据;
    对所述第二密文数据进行反转比特位操作,得到最终密文数据。
  2. 如权利要求1所述的方法,所述根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据之前,所述方法还包括:
    根据所述明文数据的第一长度值,确定出所述最终密文数据的第二长度值,其中所述第二长度值为大于预设数值的一个自然数的最小整数倍数,且所述第二长度值大于所述第一长度值;
    根据所述第二长度值与所述第一长度值的差值,得到所述第一随机数据的第三长度值;
    根据所述第三长度值,生成所述第一随机数据,其中所述第三长度值通过所述第一随机数据的第一字节中的至少一个比特位表征。
  3. 如权利要求2所述的方法,其中,所述将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据,包括:
    根据所述第二长度值、所述密钥的第四长度值以及所述密钥的校验和,确定出所述第二随机数据在所述第一密文数据中的插入位置;
    根据所述插入位置,将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据。
  4. 如权利要求3所述的方法,其中,所述对所述第二密文数据进行反转比特位操作,得到最终密文数据,包括:
    根据所述插入位置和第四长度值,确定出在所述第二密文数据中进行反转比特位操作的开始位置;
    反转所述第二密文数据中位于所述开始位置以及所述开始位置后的每个字节中的一个比特位,得到最终密文数据,其中每个字节需要反转的比特序 号由该字节前面的字节组成的比特流中的至少三个比特位决定。
  5. 一种数据加密的装置,所述装置包括:
    第一运算模块,设置为根据明文数据、密钥和第一随机数据进行位运算,得到第一密文数据;
    第二运算模块,设置为根据所述密钥和第一随机数据进行位运算,得到第二随机数据;
    插入模块,设置为将所述第二随机数据插入到所述第一密文数据中,得到第二密文数据;
    第一操作模块,设置为对所述第二密文数据进行反转比特位操作,得到最终密文数据。
  6. 如权利要求5所述的装置,所述装置还包括:
    第一确定模块,设置为根据所述明文数据的第一长度值,确定出所述最终密文数据的第二长度值,其中所述第二长度值为大于预设数值的一个自然数的最小整数倍数,且所述第二长度值大于所述第一长度值;
    第二确定模块,设置为根据所述第二长度值与所述第一长度值的差值,得到所述第一随机数据的第三长度值;
    生成模块,设置为根据所述第三长度值,生成所述第一随机数据,其中所述第三长度值通过所述第一随机数据的第一字节中的至少一个比特位表征。
  7. 一种数据解密的方法,所述方法包括:
    接收最终密文数据;
    对所述最终密文数据进行比特位反转操作,得到第四密文数据;
    从所述第四密文数据中提取出第二随机数据,得到第五密文数据;
    根据所述第二随机数据与密钥进行位运算,得到第一随机数据;
    根据所述第五密文数据、第一随机数据和密钥进行位运算,得到明文数据。
  8. 如权利要求7所述的方法,在所述对所述最终密文数据进行比特位反转操作,得到第四密文数据之前,所述方法还包括:
    根据所述最终密文数据的第二长度值、密钥的校验和以及所述密钥的第四长度值,确定出所述第二随机数据在所述第四密文数据中的插入位置;
    所述对最终密文数据进行比特位反转操作,得到第四密文数据,包括:
    根据所述插入位置与所述第四长度值,确定出在所述最终密文数据中进行比特位反转操作的开始位置;
    反转所述最终密文数据中位于所述开始位置以及所述开始位置后的每个字节中的一个比特位,得到第四密文数据,其中每个字节需要反转的比特序号由该字节前面的字节组成的比特流中的至少三个比特位决定。
  9. 如权利要求8所述的方法,其中:所述第二随机数据的长度值通过所述第二随机数据的第一字节中的至少一个比特位表征,
    所述从所述第四密文数据中提取出第二随机数据,得到第五密文数据,包括:
    根据所述插入位置和所述至少一个比特位,从所述第四密文数据中提取出第二随机数据,得到第五密文数据。
  10. 一种数据解密的装置,所述装置包括:
    接收模块,设置为接收最终密文数据;
    第二操作模块,设置为对所述最终密文数据进行比特位反转操作,得到第四密文数据;
    提取模块,设置为从所述第四密文数据中提取出第二随机数据,得到第五密文数据;
    第三运算模块,设置为根据所述第二随机数据与密钥进行位运算,得到第一随机数据;
    第四运算模块,设置为根据所述第五密文数据、第一随机数据和密钥进行位运算,得到明文数据。
PCT/CN2016/082338 2015-06-25 2016-05-17 一种数据加密的方法、解密的方法及装置 WO2016206504A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510357744.3A CN106301759B (zh) 2015-06-25 2015-06-25 一种数据加密的方法、解密的方法及装置
CN201510357744.3 2015-06-25

Publications (1)

Publication Number Publication Date
WO2016206504A1 true WO2016206504A1 (zh) 2016-12-29

Family

ID=57584627

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/082338 WO2016206504A1 (zh) 2015-06-25 2016-05-17 一种数据加密的方法、解密的方法及装置

Country Status (2)

Country Link
CN (1) CN106301759B (zh)
WO (1) WO2016206504A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654466A (zh) * 2020-04-25 2020-09-11 中山佳维电子有限公司 一种用于电子计价秤的数据加密方法
CN112073372A (zh) * 2020-08-04 2020-12-11 南京国电南自维美德自动化有限公司 一种电力系统通信报文双重加密方法、解密方法和报文交互系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107359989A (zh) * 2017-08-03 2017-11-17 广东美的制冷设备有限公司 数据加密方法、安全芯片及计算机可读存储介质
CN109150512A (zh) * 2018-08-22 2019-01-04 网宿科技股份有限公司 一种数据加密、解密方法、系统及数据加密、解密装置
CN110730366B (zh) * 2019-10-30 2021-08-27 杭州叙简科技股份有限公司 基于位运算的轻量级视频流加密、解密方法及加解密方法
CN112866987B (zh) * 2019-11-08 2023-08-04 佛山市云米电器科技有限公司 组网验证方法、设备及计算机可读存储介质
CN110912891A (zh) * 2019-11-24 2020-03-24 苏州浪潮智能科技有限公司 一种网络传输的加密方法、装置、设备及介质
CN111199047B (zh) * 2019-12-31 2022-08-05 中移(杭州)信息技术有限公司 数据加密方法、解密方法、装置、设备及存储介质
CN111581657A (zh) * 2020-05-11 2020-08-25 南京协和电子科技有限公司 一种汽车仪表软件升级时的数据加密方法
CN115023920B (zh) * 2021-11-05 2024-01-19 富途网络科技(深圳)有限公司 股权激励系统中的数据处理的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039918A1 (en) * 2002-08-21 2004-02-26 Devi Prashanth Secure approach to send data from one system to another
CN103812658A (zh) * 2014-01-21 2014-05-21 沈阳工业大学 一种基于流密码的安全通信协议
CN104410616A (zh) * 2014-11-20 2015-03-11 广州日滨科技发展有限公司 数据加密、解密、传输方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039918A1 (en) * 2002-08-21 2004-02-26 Devi Prashanth Secure approach to send data from one system to another
CN103812658A (zh) * 2014-01-21 2014-05-21 沈阳工业大学 一种基于流密码的安全通信协议
CN104410616A (zh) * 2014-11-20 2015-03-11 广州日滨科技发展有限公司 数据加密、解密、传输方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BEERAM, S.R. ET AL.: "Secure Data Transfer Based on Conventional Encryption Technique Including Random Number Key Generation", INTERNATIONAL, JOURNAL OF LATEST TRENDS IN COMPUTING, vol. 2, no. 3, 30 September 2011 (2011-09-30), pages 393 - 394, ISSN: 2045-5364 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654466A (zh) * 2020-04-25 2020-09-11 中山佳维电子有限公司 一种用于电子计价秤的数据加密方法
CN112073372A (zh) * 2020-08-04 2020-12-11 南京国电南自维美德自动化有限公司 一种电力系统通信报文双重加密方法、解密方法和报文交互系统
CN112073372B (zh) * 2020-08-04 2023-06-27 南京国电南自维美德自动化有限公司 一种电力系统通信报文双重加密方法、解密方法和报文交互系统

Also Published As

Publication number Publication date
CN106301759A (zh) 2017-01-04
CN106301759B (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
WO2016206504A1 (zh) 一种数据加密的方法、解密的方法及装置
CN108964872B (zh) 一种基于aes的加密方法及装置
US20150244518A1 (en) Variable-length block cipher apparatus and method capable of format preserving encryption
Rathod et al. Design and implementation of image encryption algorithm by using block based symmetric transformation algorithm (hyper image encryption algorithm)
US10326589B2 (en) Message authenticator generating apparatus, message authenticator generating method, and computer readable recording medium
Kumar et al. Lightweight data security model for IoT applications: a dynamic key approach
Ali et al. Enhancing security of vigenere cipher by stream cipher
JP5542896B2 (ja) 低電力暗号化装置および方法
US11463235B2 (en) Encryption device, encryption method, program, decryption device, and decryption method
JP2004363739A (ja) 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
WO2012157279A1 (ja) 順序保存暗号化システム、装置、方法及びプログラム
US11057205B2 (en) Seed key expansion method and its uses
CN111656733A (zh) 密钥消息验证码的白盒计算
US20220382521A1 (en) System and method for encryption and decryption using logic synthesis
Andreeva et al. AES-COPA v.
CN111385092B (zh) 使用信息盲化的密码装置及其密码处理方法
Salam et al. ShiftMod cipher: A symmetrical cryptosystem scheme
CN110943837B (zh) 一种基于改进md5加密算法的用户密码加密方法
CN111314053B (zh) 一种数据加密和解密方法
Charru et al. Improved Cryptography Algorithm to Enhanced Data Security
JP2015082077A (ja) 暗号化装置、制御方法、及びプログラム
CN114244552B (zh) 基于区块链的数据加密传输方法及装置
WO2017036251A1 (zh) 高级加密标准加解密方法和装置、存储介质
CN117725605B (zh) 一种远端自动编制电子档案文件信息保密的方法和系统
CN111695129B (zh) 一种能够对抗线性攻击和差分攻击的对称加密方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16813620

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16813620

Country of ref document: EP

Kind code of ref document: A1