CN109040090A - 一种数据加密方法及装置 - Google Patents
一种数据加密方法及装置 Download PDFInfo
- Publication number
- CN109040090A CN109040090A CN201810941928.8A CN201810941928A CN109040090A CN 109040090 A CN109040090 A CN 109040090A CN 201810941928 A CN201810941928 A CN 201810941928A CN 109040090 A CN109040090 A CN 109040090A
- Authority
- CN
- China
- Prior art keywords
- data
- character string
- cipher key
- key sections
- singlechip equipment
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Abstract
本发明公开了一种数据加密方法及装置,在单片机设备不增加硬件成本的前提下,提高数据传输的安全性。所述数据加密方法,包括:将待加密的明文数据进行分组;在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据;从所述单片机设备闪存的指定存储地址中获取各字符串,其中,所述各字符串是将预先设定的密钥分割成第二预设个数的密钥段、并分别对所述各密钥段进行加密后存储于所述单片机设备的闪存中的;将所述各字符串解密,恢复出所述各密钥段;将所述各密钥段组合成密钥;利用所述密钥分别对所述各新的分组数据进行加密后,重组生成加密明文数据。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种数据加密方法及装置。
背景技术
随着网络技术的发展,单片机广泛应用于各种物联网设备的设计,并作为物联网设备的核心控制单元使用。这些物联网设备在工作时需要与数据中心交互数据,如果采用明文方式交互数据,则敏感数据存在被非法获取或篡改的风险,由于通用的单片机一般没有密码单元,现有单片机设备中,对数据进行加密的方法主要有以下两种:一种方法是在单片机设备中加入专门用于加密、解密的硬件密码模块,利用该密码模块进行加密、解密。另一种方法是在单片机设备中预先设置密钥,后续明文数据使用此密钥进行加密、解密。
上述第一种方法不但增加了硬件成本,还增加了整个设备的功耗,在某些对功耗敏感的电池供电单片机设备中可能无法使用;第二种方法中,对于相同的明文,每次加密所得的密文都是固定的,密钥存在被攻击或篡改的风险。
发明内容
本发明实施例提供了一种数据加密方法及装置,在单片机设备不增加硬件成本的前提下,提高数据传输的安全性。
第一方面,本发明实施例提供了一种数据加密方法,应用于单片机设备,包括:
将待加密的明文数据进行分组;
在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据;
从所述单片机设备闪存的指定存储地址中获取各字符串,其中,所述各字符串是将预先设定的密钥分割成第二预设个数的密钥段、并分别对所述各密钥段进行加密后存储于所述单片机设备的闪存中的;
将所述各字符串解密,恢复出所述各密钥段;
将所述各密钥段组合成密钥;
利用所述密钥分别对所述各新的分组数据进行加密后,重组生成加密明文数据。
采用本发明实施例提供的数据加密方法,单片机设备预先将设定的密钥分割成第二预设个数的密钥段,并将分别对各密钥段进行加密后生成的各字符串预先存储于所述单片机设备的闪存(Flash Memory)中,并记录各字符串与所述字符串在单片机设备内存中的存储地址的对应关系,当单片机设备上电后,需要对明文数据加密时,将待加密的明文数据进行分组,在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据,从单片机设备闪存的指定存储地址中读取各字符串,其中,指定存储地址为存储将所述预先设定的密钥分割成密钥段并加密后生成的各字符串的各地址,将各字符串进行解密后恢复出所述各密钥段,并将所述各密钥段组合成一个完整的密钥,进而,利用所述密钥分别对各新的分组数据进行加密后,重组生成加密明文数据,由于单片机设备每次对明文数据进行加密时,对数据分组后,对每组数据分别加入随机数,使得每次生成的加密明文数据均不相同,从而达到一次一密的效果,且对明文数据加密用的密钥为预先设置好并对其进行分割后进行二次加密存储在单片机设备的闪存中的,从而在单片机设备不增加硬件成本的前提下,提高了数据传输的安全性。
较佳地,所述各密钥段分别对应一个标识;
将所述各密钥段组合成密钥,具体包括:
根据所述各密钥段的标识按照预设顺序将所述各密钥段组合成密钥。
较佳地,从所述单片机设备闪存的指定存储地址中获取各字符串,具体包括:
根据预先存储的字符串和所述字符串在所述单片机设备闪存中的存储地址的对应关系列表,从所述对应关系列表的各存储地址中获取各字符串。
较佳地,所述各字符串是利用所述单片机设备的标识号的哈希值和预设加密算法分别对分割的所述各密钥段进行加密生成的;
将所述各字符串解密,具体包括:
利用所述单片机设备的标识号的哈希值和所述预设加密算法对应的解密算法分别对所述各字符串解密。
可选地,在生成加密明文数据之后,还包括:
删除所述密钥。
上述可选的方式表征,单片机设备每加密完一次明文数据后,即把密钥删除,以防密钥泄露或被篡改,下一次加密时再重新从单片机设备的闪存中获取各字符串后解密重新恢复密钥,进一步提高了数据传输的安全性。
第二方面,本发明实施例提供了一种数据加密装置,应用于单片机设备,包括:
分组单元,用于将待加密的明文数据进行分组;
生成单元,用于在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据;
获取单元,用于从所述单片机设备闪存的指定存储地址中获取各字符串,其中,所述各字符串是将预先设定的密钥分割成第二预设个数的密钥段、并分别对所述各密钥段进行加密后存储于所述单片机设备的闪存中的;
恢复单元,用于将所述各字符串解密,恢复出所述各密钥段;
组合单元,用于将所述各密钥段组合成密钥;
加密单元,用于利用所述密钥分别对所述各新的分组数据进行加密后,重组生成加密明文数据。
较佳地,所述各密钥段分别对应一个标识;
所述组合单元,具体用于根据所述各密钥段的标识按照预设顺序将所述各密钥段组合成密钥。
较佳地,所述获取单元,具体用于根据预先存储的字符串和所述字符串在所述单片机设备闪存中的存储地址的对应关系列表,从所述对应关系列表的各存储地址中获取各字符串。
较佳地,所述各字符串是利用所述单片机设备的标识号的哈希值和预设加密算法分别对分割的所述各密钥段进行加密生成的;
所述恢复单元,具体用于利用所述单片机设备的标识号的哈希值和所述预设加密算法对应的解密算法分别对所述各字符串解密。
可选地,所述装置还包括:
删除单元,用于在生成加密明文数据之后,删除所述密钥。
本发明提供的数据加密装置的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第三方面,本发明实施例提供了一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的数据加密方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的数据加密方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中,数据加密方法的应用场景示意图;
图2为本发明实施例提供的数据加密方法的实施流程示意图;
图3为本发明实施例提供的数据加密装置的结构示意图;
图4为本发明实施例提供的通信设备的结构示意图。
具体实施方式
本发明提出了一种数据加密方法及装置,在单片机设备不增加硬件成本的前提下,提高了数据传输的安全性。
本发明实施例提供的数据加密方法的实施原理是:单片机设备预先将设定的密钥分割成第二预设个数的密钥段,并将分别对各密钥段进行加密后生成的各字符串预先存储于所述单片机设备的闪存中,并记录各字符串与所述字符串在单片机设备内存中的存储地址的对应关系,当单片机设备上电后,需要对明文数据加密时,将待加密的明文数据进行分组,在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据从单片机设备闪存的指定存储地址中读取各字符串,其中,指定存储地址为存储将所述预先设定的密钥分割成密钥段并加密后生成的各字符串的各地址,将各字符串进行解密后恢复出所述各密钥段,并将所述各密钥段组合成一个完整的密钥,进而,利用所述密钥和设定的加密算法分别对各新的分组数据进行加密后,重组生成加密明文数据,由于单片机设备每次对明文数据进行加密时,对数据分组后,对每组数据分别加入随机数,使得每次生成的加密明文数据均不相同,从而达到一次一密的效果,且对明文数据加密用的密钥为预先设置好并对其进行分割后进行二次加密存储在单片机设备的闪存中的,从而在单片机设备不增加硬件成本的前提下,提高了数据传输的安全性。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
首先参考图1,其为本发明实施例提供的数据加密方法的应用场景示意图。单片机设备11和数据中心12通过网络连接,当单片机设备11和数据中心12之间进行数据交互时,单片机设备11需要先对明文数据进行加密后再发送给数据中心12,数据中心12对加密后的数据解密,恢复出原明文数据。本发明实施例中,单片机设备11首先将待加密的明文数据进行分组,在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据,再根据预先存储的字符串与所述字符串在所述单片机设备闪存中的存储地址的对应关系列表,从所述对应关系列表的各存储地址中获取各字符串,其中,各字符串是将预先设定的密钥分割成第二预设个数的密钥段、并分别对所述各密钥段进行加密后存储于所述单片机设备的闪存中的,所述指定存储地址为用于存储所述各字符串的地址,每个密钥段分别对应一个标识,进而,单片机设备11将所述各字符串解密,恢复出各密钥段,根据所述各密钥段的标识按照预设顺序将所述各密钥段组合成密钥,利用组合成的密钥和设定的加密算法分别对所述各新的分组数据进行加密后,重组生成加密明文数据,再将加密明文数据发送给数据中心12,数据中心12接收到加密明文数据后,对其进行解密后,剔除每个分组中预设位置处插入的所述第一预设个数的随机数,重组后获得原明文数据。
需要说明的是,本申请中的第一预设个数和第二预设个数可以根据需要自行设定,本发明实施例对此不作限定,其中,“第一”、“第二”仅仅起区分的作用,并不代表先后顺序。
下面结合图1的应用场景,参考图2来描述根据本发明示例性实施方式的数据加密方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,其为本发明实施例提供的数据加密方法的实施流程示意图,应用于单片机设备,可以包括以下步骤:
S21、单片机设备将待加密的明文数据进行分组。
具体实施时,例如,假设待加密的明文数据共8个字节,可以将该明文数据按顺序分成2组,每组数据4个字节。
需要说明的是,对待加密的明文数据的分组的个数可以根据需要自行设定,本发明实施例对此不作限定。
S22、在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据。
具体实施时,单片机设备在对明文数据进行分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据。
例如,分别在上述分组后2组数据尾部插入4个随机数,生成两组新的分组数据,每组新的分组数据的长度为8字节,也可以在分组后数据的其它位置插入4个随机数,使得每组新的分组数据的长度为8字节。
需要说明的是,预设位置和第一预设个数可以根据需要自行设定,本发明实施例对此不作限定。
S23、从所述单片机设备闪存的指定存储地址中获取各字符串,其中,所述各字符串是将预先设定的密钥分割成第二预设个数的密钥段、并分别对所述各密钥段进行加密后存储于所述单片机设备的闪存中的,每个密钥段对应一个标识。
具体实施时,单片机设备可以在设备出厂时,在安全的环境下写入预先设定的密钥,将设定的密钥分割成第二预设个数的密钥段,并为每个密钥段设置一个唯一对应的标识,进而,分别对各密钥段进行加密后生成的各字符串存储于所述单片机设备的闪存中,并记录各字符串与所述字符串在单片机设备内存中的存储地址的对应关系,生成对应关系列表并存储。具体地,当单片机设备需要为明文数据进行加密时,根据预先存储的字符串和所述字符串在所述单片机设备闪存中的存储地址的对应关系列表,从所述对应关系列表的各存储地址中获取各字符串。
具体地,所述各字符串是利用所述单片机设备的标识号的哈希值和预设加密算法分别对分割的所述各密钥段进行加密生成的,也就是说,所述各字符串是将所述单片机设备的标识号的哈希值作为密钥,利用预设加密算法分别对分割的所述各密钥段进行加密生成的。
本发明实施例中,哈希值可以但不限于采用哈希算法SHA1、SHA256或SM3计算获得,预设加密算法可以但不限于采用3DES、AES或SM4算法。
例如,密钥为K,将密钥K分割成n个密钥段,记为K1、K2……Kn,并设置密钥段K1、K2……Kn的标识分别为1、2……n,将单片机设备的标识号的哈希值作为密钥,利用预设加密算法分别对密钥段K1、K2……Kn进行加密,得到加密后的字符串,记为S1、S2……Sn,将S1、S2……Sn写入单片机设备的闪存的不同区域,假设S1、S2……Sn在单片机设备的闪存中对应的存储地址分别为A1、A2……An,则字符串S1、S2……Sn和各字符串在单片机设备闪存中的存储地址的对应关系如表1所示:
表1
字符串 | 存储地址 |
S1 | A1 |
S2 | A2 |
…… | …… |
Sn | An |
单片机设备记录上述对应关系,生成对应关系列表,以使单片机设备需要对数据进行加密时使用。
S24、将所述各字符串解密,恢复出所述各密钥段。
具体实施时,单片机设备获取上述各字符串后,利用步骤S23中所述单片机设备的标识号的哈希值和所述加密算法对应的解密算法分别对所述各字符串进行解密,恢复出步骤S23中的所述各密钥段。
S25、将所述各密钥段组合成密钥。
具体实施时,单片机设备根据所述各密钥段的标识按照预设顺序将所述各密钥段组合成密钥。
本步骤中,例如,密钥K分割后的各密钥段K1、K2……Kn对应的标识分别为1、2……n,则按照1、2……n的顺序将各密钥段组合成密钥K。组合成的密钥即为单片机设备预先设定的所述密钥。
S26、利用所述密钥分别对所述各新的分组数据进行加密后,重组生成加密明文数据。
具体实施时,单片机设备利用所述密钥和设定的加密算法对各新的分组数据进行加密后,进行重新组包,生成加密明文数据,并将密钥从单片机设备中删除。进而,将加密明文数据发送给数据中心,数据中心接收到所述加密明文数据后,利用所述密钥和本步骤中使用的加密算法对应的解密算法对所述加密明文数据进行解密,剔除每个分组中预设位置处插入的所述第一预设个数的随机数,重新组包后恢复出原明文数据。其中,设定的加密算法可以但不限于采用3DES、AES或SM4算法,本发明实施例对此不作限定。
本发明实施例提供的数据加密方法中,单片机设备预先将设定的密钥分割成第二预设个数的密钥段,并将分别对各密钥段进行加密后生成的各字符串预先存储于所述单片机设备的闪存中,并记录各字符串与所述字符串在单片机设备内存中的存储地址的对应关系,当单片机设备上电后,需要对明文数据加密时,将待加密的明文数据进行分组,在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据,从单片机设备闪存的指定的存储地址中读取各字符串,其中,指定存储地址为存储将所述预先设定的密钥分割成密钥段并加密后生成的各字符串的各地址,将各字符串进行解密后恢复出所述各密钥段,并将所述各密钥段组合成一个完整的密钥,进而,利用所述密钥和设定的加密算法分别对各新的分组数据进行加密后,重组生成加密明文数据,由于单片机设备每次对明文数据进行加密时,对数据分组后,对每组数据分别加入随机数,使得每次生成的加密明文数据均不相同,从而达到一次一密的效果,且对明文数据加密用的密钥为预先设置好并对其进行分割后进行二次加密存储在单片机设备的闪存中的,从而在单片机设备不增加硬件成本的前提下,提高了数据传输的安全性。
基于同一发明构思,本发明实施例还提供了一种数据加密装置,由于上述数据加密装置解决问题的原理与数据加密方法相似,因此上述系统的实施可以参见方法的实施,重复之处不再赘述。
如图3所示,其为本发明实施例提供的数据加密装置的结构示意图,应用于单片机设备,可以包括:
分组单元31,用于将待加密的明文数据进行分组;
生成单元32,用于在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据;
获取单元33,用于从所述单片机设备闪存的指定存储地址中获取各字符串,其中,所述各字符串是将预先设定的密钥分割成第二预设个数的密钥段、并分别对所述各密钥段进行加密后存储于所述单片机设备的闪存中的;
恢复单元34,用于将所述各字符串解密,恢复出所述各密钥段;
组合单元35,用于将所述各密钥段组合成密钥;
加密单元36,用于利用所述密钥分别对所述各新的分组数据进行加密后,重组生成加密明文数据。
较佳地,所述各密钥段分别对应一个标识;
所述组合单元35,具体用于根据所述各密钥段的标识按照预设顺序将所述各密钥段组合成密钥。
较佳地,所述获取单元33,具体用于根据预先存储的字符串和所述字符串在所述单片机设备闪存中的存储地址的对应关系列表,从所述对应关系列表的各存储地址中获取各字符串。
较佳地,所述各字符串是利用所述单片机设备的标识号的哈希值和预设加密算法分别对分割的所述各密钥段进行加密生成的;
所述恢复单元,具体用于利用所述单片机设备的标识号的哈希值和所述预设加密算法对应的解密算法分别对所述各字符串解密。
可选地,所述装置还包括:
删除单元,用于在生成加密明文数据之后,删除所述密钥。
基于同一技术构思,本发明实施例还提供了一种通信设备400,参照图4所示,通信设备400用于实施上述方法实施例记载的数据加密方法,该实施例的通信设备400可以包括:存储器401、处理器402以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如数据加密程序。所述处理器执行所述计算机程序时实现上述各个数据加密方法实施例中的步骤,例如图2所示的步骤S21。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如31。
本发明实施例中不限定上述存储器401、处理器402之间的具体连接介质。本申请实施例在图4中以存储器401、处理器402之间通过总线403连接,总线403在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线403可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器401可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器401也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器401是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器401可以是上述存储器的组合。
处理器402,用于实现如图2所示的一种数据加密方法,包括:
所述处理器402,用于调用所述存储器401中存储的计算机程序执行如图2中所示的步骤S21、单片机设备将待加密的明文数据进行分组;步骤S22、在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据;步骤S23、从所述单片机设备闪存的指定存储地址中获取各字符串,其中,所述各字符串是将预先设定的密钥分割成第二预设个数的密钥段、并分别对所述各密钥段进行加密后存储于所述单片机设备的闪存中的;步骤S24、将所述各字符串解密,恢复出所述各密钥段;步骤S25、将所述各密钥段组合成密钥;和步骤S26、利用所述密钥分别对所述各新的分组数据进行加密后,重组生成加密明文数据。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本发明提供的数据加密方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在通信设备上运行时,所述程序代码用于使所述通信设备执行本说明书上述描述的根据本发明各种示例性实施方式的数据加密方法中的步骤,例如,所述通信设备可以执行如图2中所示的步骤S21、单片机设备将待加密的明文数据进行分组;步骤S22、在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据;步骤S23、从所述单片机设备闪存的指定存储地址中获取各字符串,其中,所述各字符串是将预先设定的密钥分割成第二预设个数的密钥段、并分别对所述各密钥段进行加密后存储于所述单片机设备的闪存中的;步骤S24、将所述各字符串解密,恢复出所述各密钥段;步骤S25、将所述各密钥段组合成密钥;和步骤S26、利用所述密钥分别对所述各新的分组数据进行加密后,重组生成加密明文数据。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式的用于数据加密的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据加密方法,应用于单片机设备,其特征在于,包括:
将待加密的明文数据进行分组;
在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据;
从所述单片机设备闪存的指定存储地址中获取各字符串,其中,所述各字符串是将预先设定的密钥分割成第二预设个数的密钥段、并分别对所述各密钥段进行加密后存储于所述单片机设备的闪存中的;
将所述各字符串解密,恢复出所述各密钥段;
将所述各密钥段组合成密钥;
利用所述密钥分别对所述各新的分组数据进行加密后,重组生成加密明文数据。
2.如权利要求1所述的方法,其特征在于,所述各密钥段分别对应一个标识;
将所述各密钥段组合成密钥,具体包括:
根据所述各密钥段的标识按照预设顺序将所述各密钥段组合成密钥。
3.如权利要求1所述的方法,其特征在于,从所述单片机设备闪存的指定存储地址中获取各字符串,具体包括:
根据预先存储的字符串和所述字符串在所述单片机设备闪存中的存储地址的对应关系列表,从所述对应关系列表的各存储地址中获取各字符串。
4.如权利要求1所述的方法,其特征在于,所述各字符串是利用所述单片机设备的标识号的哈希值和预设加密算法分别对分割的所述各密钥段进行加密生成的;
将所述各字符串解密,具体包括:
利用所述单片机设备的标识号的哈希值和所述预设加密算法对应的解密算法分别对所述各字符串解密。
5.一种数据加密装置,应用于单片机设备,其特征在于,包括:
分组单元,用于将待加密的明文数据进行分组;
生成单元,用于在分组后的每组数据的预设位置处插入第一预设个数的随机数,生成新的分组数据;
获取单元,用于从所述单片机设备闪存的指定存储地址中获取各字符串,其中,所述各字符串是将预先设定的密钥分割成第二预设个数的密钥段、并分别对所述各密钥段进行加密后存储于所述单片机设备的闪存中的;
恢复单元,用于将所述各字符串解密,恢复出所述各密钥段;
组合单元,用于将所述各密钥段组合成密钥;
加密单元,用于利用所述密钥分别对所述各新的分组数据进行加密后,重组生成加密明文数据。
6.如权利要求5所述的装置,其特征在于,所述各密钥段分别对应一个标识;
所述组合单元,具体用于根据所述各密钥段的标识按照预设顺序将所述各密钥段组合成密钥。
7.如权利要求5所述的装置,其特征在于,
所述获取单元,具体用于根据预先存储的字符串和所述字符串在所述单片机设备闪存中的存储地址的对应关系列表,从所述对应关系列表的各存储地址中获取各字符串。
8.如权利要求5所述的装置,其特征在于,所述各字符串是利用所述单片机设备的标识号的哈希值和预设加密算法分别对分割的所述各密钥段进行加密生成的;
所述恢复单元,具体用于利用所述单片机设备的标识号的哈希值和所述预设加密算法对应的解密算法分别对所述各字符串解密。
9.一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~4任一项所述的数据加密方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~4任一项所述的数据加密方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810941928.8A CN109040090B (zh) | 2018-08-17 | 2018-08-17 | 一种数据加密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810941928.8A CN109040090B (zh) | 2018-08-17 | 2018-08-17 | 一种数据加密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109040090A true CN109040090A (zh) | 2018-12-18 |
CN109040090B CN109040090B (zh) | 2019-08-09 |
Family
ID=64631059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810941928.8A Active CN109040090B (zh) | 2018-08-17 | 2018-08-17 | 一种数据加密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109040090B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861809A (zh) * | 2019-02-20 | 2019-06-07 | 中国电子科技集团公司第三十研究所 | 一种实用化的分组随机加解密方法 |
CN109871698A (zh) * | 2019-01-14 | 2019-06-11 | 深圳市奥特尔软件技术有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110266682A (zh) * | 2019-06-18 | 2019-09-20 | 杭州情咖网络技术有限公司 | 数据加密方法、装置、移动终端及解密方法 |
CN110990846A (zh) * | 2019-11-15 | 2020-04-10 | 北京连山时代科技有限公司 | 信息存储方法、设备及计算机可读存储介质 |
CN111641636A (zh) * | 2020-05-28 | 2020-09-08 | 中国联合网络通信集团有限公司 | 物联网数据安全通信的方法、系统、设备及存储介质 |
CN111711515A (zh) * | 2020-05-18 | 2020-09-25 | 冠群信息技术(南京)有限公司 | 一种三方aes密钥合成方法、加密方法和解密方法 |
CN111917630A (zh) * | 2020-07-08 | 2020-11-10 | 北京艾智侠科技有限责任公司 | 数据传输方法、装置、存储介质及电子装置 |
WO2020244070A1 (zh) * | 2019-06-06 | 2020-12-10 | 平安科技(深圳)有限公司 | 数字信息加密方法、装置、计算机设备和存储介质 |
CN112235299A (zh) * | 2020-10-14 | 2021-01-15 | 杭州海康威视数字技术股份有限公司 | 数据加解密方法、装置、设备、系统及介质 |
CN112333204A (zh) * | 2020-11-29 | 2021-02-05 | 国网辽宁省电力有限公司电力科学研究院 | 基于tcp ip协议乱序特征码的5g网络传输保密装置 |
CN113420339A (zh) * | 2021-07-02 | 2021-09-21 | 广东全芯半导体有限公司 | 加密u盘及授权方法 |
CN113886863A (zh) * | 2021-12-07 | 2022-01-04 | 成都中科合迅科技有限公司 | 数据加密方法以及数据加密设备 |
CN113938883A (zh) * | 2020-12-23 | 2022-01-14 | 技象科技(浙江)有限公司 | 基于中间节点的数据加密发送方法及装置 |
CN114338245A (zh) * | 2022-03-11 | 2022-04-12 | 湖南三湘银行股份有限公司 | 一种基于人工智能的数据防泄密方法及系统 |
CN114491512A (zh) * | 2021-12-31 | 2022-05-13 | 华能烟台八角热电有限公司 | 数据库安全防护用数据防泄漏方法及系统 |
CN114827226A (zh) * | 2022-06-30 | 2022-07-29 | 深圳市智联物联科技有限公司 | 一种工控设备远程管理方法 |
CN115563634A (zh) * | 2022-09-29 | 2023-01-03 | 北京海泰方圆科技股份有限公司 | 一种检索方法、装置、设备及介质 |
CN115766055A (zh) * | 2022-09-08 | 2023-03-07 | 中国联合网络通信集团有限公司 | 一种用于通信报文验证的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621375A (zh) * | 2009-07-28 | 2010-01-06 | 成都市华为赛门铁克科技有限公司 | 密钥管理方法、装置及系统 |
CN102546156A (zh) * | 2012-02-01 | 2012-07-04 | 李智虎 | 一种分组加密方法、系统和装置 |
CN103684772A (zh) * | 2012-09-14 | 2014-03-26 | 北京虎符科技有限公司 | 动态缺失加密系统 |
CN103678174A (zh) * | 2012-09-11 | 2014-03-26 | 联想(北京)有限公司 | 数据安全方法、存储装置和数据安全系统 |
CN107612683A (zh) * | 2017-09-30 | 2018-01-19 | 上海众人网络安全技术有限公司 | 一种加解密方法、装置、系统、设备和存储介质 |
-
2018
- 2018-08-17 CN CN201810941928.8A patent/CN109040090B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621375A (zh) * | 2009-07-28 | 2010-01-06 | 成都市华为赛门铁克科技有限公司 | 密钥管理方法、装置及系统 |
CN102546156A (zh) * | 2012-02-01 | 2012-07-04 | 李智虎 | 一种分组加密方法、系统和装置 |
CN103678174A (zh) * | 2012-09-11 | 2014-03-26 | 联想(北京)有限公司 | 数据安全方法、存储装置和数据安全系统 |
CN103684772A (zh) * | 2012-09-14 | 2014-03-26 | 北京虎符科技有限公司 | 动态缺失加密系统 |
CN107612683A (zh) * | 2017-09-30 | 2018-01-19 | 上海众人网络安全技术有限公司 | 一种加解密方法、装置、系统、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
张文政等编著: "《密码学的基本理论与技术》", 30 November 2015 * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871698A (zh) * | 2019-01-14 | 2019-06-11 | 深圳市奥特尔软件技术有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN109861809B (zh) * | 2019-02-20 | 2022-03-18 | 中国电子科技集团公司第三十研究所 | 一种实用化的分组随机加解密方法 |
CN109861809A (zh) * | 2019-02-20 | 2019-06-07 | 中国电子科技集团公司第三十研究所 | 一种实用化的分组随机加解密方法 |
WO2020244070A1 (zh) * | 2019-06-06 | 2020-12-10 | 平安科技(深圳)有限公司 | 数字信息加密方法、装置、计算机设备和存储介质 |
CN110266682B (zh) * | 2019-06-18 | 2021-11-02 | 杭州情咖网络技术有限公司 | 数据加密方法、装置、移动终端及解密方法 |
CN110266682A (zh) * | 2019-06-18 | 2019-09-20 | 杭州情咖网络技术有限公司 | 数据加密方法、装置、移动终端及解密方法 |
CN110990846A (zh) * | 2019-11-15 | 2020-04-10 | 北京连山时代科技有限公司 | 信息存储方法、设备及计算机可读存储介质 |
CN111711515B (zh) * | 2020-05-18 | 2022-04-26 | 冠群信息技术(南京)有限公司 | 一种三方aes密钥合成方法、加密方法和解密方法 |
CN111711515A (zh) * | 2020-05-18 | 2020-09-25 | 冠群信息技术(南京)有限公司 | 一种三方aes密钥合成方法、加密方法和解密方法 |
CN111641636A (zh) * | 2020-05-28 | 2020-09-08 | 中国联合网络通信集团有限公司 | 物联网数据安全通信的方法、系统、设备及存储介质 |
CN111917630A (zh) * | 2020-07-08 | 2020-11-10 | 北京艾智侠科技有限责任公司 | 数据传输方法、装置、存储介质及电子装置 |
CN111917630B (zh) * | 2020-07-08 | 2022-09-02 | 北京蓝灯鱼智能科技有限公司 | 数据传输方法、装置、存储介质及电子装置 |
CN112235299A (zh) * | 2020-10-14 | 2021-01-15 | 杭州海康威视数字技术股份有限公司 | 数据加解密方法、装置、设备、系统及介质 |
CN112333204A (zh) * | 2020-11-29 | 2021-02-05 | 国网辽宁省电力有限公司电力科学研究院 | 基于tcp ip协议乱序特征码的5g网络传输保密装置 |
CN113938883A (zh) * | 2020-12-23 | 2022-01-14 | 技象科技(浙江)有限公司 | 基于中间节点的数据加密发送方法及装置 |
CN113938883B (zh) * | 2020-12-23 | 2023-10-31 | 技象科技(南京)有限公司 | 基于中间节点的数据加密发送方法及装置 |
CN113420339A (zh) * | 2021-07-02 | 2021-09-21 | 广东全芯半导体有限公司 | 加密u盘及授权方法 |
CN113886863A (zh) * | 2021-12-07 | 2022-01-04 | 成都中科合迅科技有限公司 | 数据加密方法以及数据加密设备 |
CN114491512A (zh) * | 2021-12-31 | 2022-05-13 | 华能烟台八角热电有限公司 | 数据库安全防护用数据防泄漏方法及系统 |
CN114338245B (zh) * | 2022-03-11 | 2022-05-24 | 湖南三湘银行股份有限公司 | 一种基于人工智能的数据防泄密方法及系统 |
CN114338245A (zh) * | 2022-03-11 | 2022-04-12 | 湖南三湘银行股份有限公司 | 一种基于人工智能的数据防泄密方法及系统 |
CN114827226A (zh) * | 2022-06-30 | 2022-07-29 | 深圳市智联物联科技有限公司 | 一种工控设备远程管理方法 |
CN115766055A (zh) * | 2022-09-08 | 2023-03-07 | 中国联合网络通信集团有限公司 | 一种用于通信报文验证的方法和装置 |
CN115563634A (zh) * | 2022-09-29 | 2023-01-03 | 北京海泰方圆科技股份有限公司 | 一种检索方法、装置、设备及介质 |
CN115563634B (zh) * | 2022-09-29 | 2023-08-15 | 北京海泰方圆科技股份有限公司 | 一种检索方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109040090B (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040090B (zh) | 一种数据加密方法及装置 | |
CN102196425B (zh) | 基于量子密钥分配网络的移动加密系统及其通信方法 | |
CN105324956B (zh) | 加密明文数据的方法及设备 | |
CN110100422B (zh) | 基于区块链智能合约的数据写入方法、装置及存储介质 | |
CN105450620A (zh) | 一种信息处理方法及装置 | |
CN110214325A (zh) | 数据屏蔽 | |
CN110061968A (zh) | 一种基于区块链的文件加解密方法、系统及存储介质 | |
CN105468940B (zh) | 软件保护方法及装置 | |
CN110312054B (zh) | 图像的加解密方法、及相关装置、存储介质 | |
CN103914662A (zh) | 一种基于分区的文件加密系统的访问控制方法和装置 | |
CN112332975A (zh) | 物联网设备安全通信方法及系统 | |
US9065635B2 (en) | Information processing apparatus, IC chip, and information processing method | |
JP2014175970A (ja) | 情報配信システム、情報処理装置及びプログラム | |
CN109005184A (zh) | 文件加密方法及装置、存储介质、终端 | |
CN104219304A (zh) | 一种保护用户隐私信息的方法及装置 | |
CN109842589A (zh) | 一种云存储加密方法、装置、设备及存储介质 | |
CN108199847A (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN109687966A (zh) | 加密方法及其系统 | |
CN103929312A (zh) | 一种移动终端及其个人信息保护方法和系统 | |
US9571273B2 (en) | Method and system for the accelerated decryption of cryptographically protected user data units | |
CN102833077A (zh) | 金融ic及金融社保ic卡远程发卡数据传输加解密方法 | |
JP6487433B2 (ja) | ブロック暗号アルゴリズムで使用するための鍵更新のための装置および方法 | |
CN109255225A (zh) | 基于双重身份认证的硬盘数据安全管理装置 | |
KR102045843B1 (ko) | 블록 암호화 처리 방법 및 장치 | |
KR20190112959A (ko) | 암호화 데이터를 이용하는 기계학습 모델 운영방법 및 기계학습 모델 기반 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |