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

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

Info

Publication number
CN106301759A
CN106301759A CN201510357744.3A CN201510357744A CN106301759A CN 106301759 A CN106301759 A CN 106301759A CN 201510357744 A CN201510357744 A CN 201510357744A CN 106301759 A CN106301759 A CN 106301759A
Authority
CN
China
Prior art keywords
data
ciphertext
bit
length value
random
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
CN201510357744.3A
Other languages
English (en)
Other versions
CN106301759B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201510357744.3A priority Critical patent/CN106301759B/zh
Priority to PCT/CN2016/082338 priority patent/WO2016206504A1/zh
Publication of CN106301759A publication Critical patent/CN106301759A/zh
Application granted granted Critical
Publication of CN106301759B publication Critical patent/CN106301759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)等。
第二类是序列密码算法,其核心思想是设计一个随机序列产生器,该随机序列产生器在用户密钥的作用下,生成随机的密钥流,将密钥流与明文流作模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语言实现代码为:
第三实施例
如图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.一种数据解密的装置,其特征在于,所述装置包括:
接收模块,用于接收最终密文数据;
第二操作模块,用于对所述最终密文数据进行比特位反转操作,得到第四密文数据;
提取模块,用于从所述第四密文数据中提取出第二随机数据,得到第五密文数据;
第三运算模块,用于根据所述第二随机数据与密钥进行位运算,得到第一随机数据;
第四运算模块,用于根据所述第五密文数据、第一随机数据和密钥进行位运算,得到明文数据。
CN201510357744.3A 2015-06-25 2015-06-25 一种数据加密的方法、解密的方法及装置 Active CN106301759B (zh)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN106301759A true CN106301759A (zh) 2017-01-04
CN106301759B CN106301759B (zh) 2019-12-03

Family

ID=57584627

Family Applications (1)

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

Country Status (2)

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

Cited By (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 网宿科技股份有限公司 一种数据加密、解密方法、系统及数据加密、解密装置
CN110730366A (zh) * 2019-10-30 2020-01-24 杭州叙简科技股份有限公司 基于位运算的轻量级视频流加密、解密方法及加解密机理
CN110912891A (zh) * 2019-11-24 2020-03-24 苏州浪潮智能科技有限公司 一种网络传输的加密方法、装置、设备及介质
CN111199047A (zh) * 2019-12-31 2020-05-26 中移(杭州)信息技术有限公司 数据加密方法、解密方法、装置、设备及存储介质
CN111581657A (zh) * 2020-05-11 2020-08-25 南京协和电子科技有限公司 一种汽车仪表软件升级时的数据加密方法
CN112866987A (zh) * 2019-11-08 2021-05-28 佛山市云米电器科技有限公司 组网验证方法、设备及计算机可读存储介质
CN115023920A (zh) * 2021-11-05 2022-09-06 富途网络科技(深圳)有限公司 股权激励系统中的数据处理的方法和装置

Families Citing this family (2)

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

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, SATYANARAYANA REDDY 等: "Secure Data Transfer Based On Conventional Encryption Technique Including Random Number Key Generation", 《INTERNATIONAL JOURNAL OF LATEST TRENDS IN COMPUTING》 *

Cited By (11)

* 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 网宿科技股份有限公司 一种数据加密、解密方法、系统及数据加密、解密装置
CN110730366A (zh) * 2019-10-30 2020-01-24 杭州叙简科技股份有限公司 基于位运算的轻量级视频流加密、解密方法及加解密机理
CN112866987A (zh) * 2019-11-08 2021-05-28 佛山市云米电器科技有限公司 组网验证方法、设备及计算机可读存储介质
CN112866987B (zh) * 2019-11-08 2023-08-04 佛山市云米电器科技有限公司 组网验证方法、设备及计算机可读存储介质
CN110912891A (zh) * 2019-11-24 2020-03-24 苏州浪潮智能科技有限公司 一种网络传输的加密方法、装置、设备及介质
CN111199047A (zh) * 2019-12-31 2020-05-26 中移(杭州)信息技术有限公司 数据加密方法、解密方法、装置、设备及存储介质
CN111199047B (zh) * 2019-12-31 2022-08-05 中移(杭州)信息技术有限公司 数据加密方法、解密方法、装置、设备及存储介质
CN111581657A (zh) * 2020-05-11 2020-08-25 南京协和电子科技有限公司 一种汽车仪表软件升级时的数据加密方法
CN115023920A (zh) * 2021-11-05 2022-09-06 富途网络科技(深圳)有限公司 股权激励系统中的数据处理的方法和装置
CN115023920B (zh) * 2021-11-05 2024-01-19 富途网络科技(深圳)有限公司 股权激励系统中的数据处理的方法和装置

Also Published As

Publication number Publication date
CN106301759B (zh) 2019-12-03
WO2016206504A1 (zh) 2016-12-29

Similar Documents

Publication Publication Date Title
CN106301759A (zh) 一种数据加密的方法、解密的方法及装置
CN108964872B (zh) 一种基于aes的加密方法及装置
CN108173640A (zh) 一种高安全性的字符串对称加密和解密方法
CN108023724A (zh) 数据传输方法及装置
CN104618094B (zh) 一种增强抗攻击能力的密码Mask方法
CN103812658B (zh) 一种基于流密码的安全通信协议
Ge et al. Fast chaotic image encryption algorithm using a novel divide and conquer diffusion strategy
CN107483182A (zh) 一种基于乱序执行的面向aes算法的抗功耗攻击方法
CN109344627A (zh) 一种新型香农完美保密方法
CN104125059A (zh) 复合时变密码和时变式数据加密方法
CN108650072A (zh) 一种支持多种对称密码算法芯片及其抗攻击电路实现方法
CN107733634A (zh) 一种基于置换耦合的轻量化混沌认证加密方法
CN103595524A (zh) 一种基于流密码的丢位加密-补位解密的加解密方法
CN103684748B (zh) 对称式加解密方法、对称式加解密系统
CN106921486A (zh) 数据加密的方法和装置
CN104735652A (zh) 一种适用于无线传感器网络的混沌加密方法
CN112737767B (zh) 抗差分功耗分析与时间攻击的消息认证码生成方法及系统
CN106059748B (zh) 一种基于块安全再生码的轻量级数据安全存储方法
CN107733642A (zh) 基于高次二阶logistic映射的嵌入式加密方法
CN111314053B (zh) 一种数据加密和解密方法
CN110061832B (zh) 以汉字作为密码的对称密码算法的实现方法
CN104683095B (zh) 一种des加密方法和装置
CN102968598B (zh) 数字文件的解密方法
CN106850192A (zh) 一种优化移动设备数据库加密效率的方法
CN103634113B (zh) 一种带用户/设备身份认证的加解密方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant