CN114465712A - 一种数据加密方法及装置 - Google Patents

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

Info

Publication number
CN114465712A
CN114465712A CN202210312773.8A CN202210312773A CN114465712A CN 114465712 A CN114465712 A CN 114465712A CN 202210312773 A CN202210312773 A CN 202210312773A CN 114465712 A CN114465712 A CN 114465712A
Authority
CN
China
Prior art keywords
encrypted
data
random number
subdata
byte
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.)
Pending
Application number
CN202210312773.8A
Other languages
English (en)
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.)
Svolt Energy Technology Wuxi Co Ltd
Original Assignee
Svolt Energy Technology Wuxi 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 Svolt Energy Technology Wuxi Co Ltd filed Critical Svolt Energy Technology Wuxi Co Ltd
Priority to CN202210312773.8A priority Critical patent/CN114465712A/zh
Publication of CN114465712A publication Critical patent/CN114465712A/zh
Pending legal-status Critical Current

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Abstract

本发明提供了一种数据加密方法及装置,其中,数据加密方法包括:获取待加密数据及随机数,待加密数据为十六进制数据,随机数为八个字节十六进制的随机数;按照字节依次将随机数转换为十进制数,利用每个字节随机数对应十进制数的个位数值对该字节随机数进行位置编号;按照八个字节为一组对待加密数据进行数据切分;依次利用随机数中每个字节随机数对各待加密子数据进行循环标记;利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据。通过利用随机数和随机数的位置编号的随机性,对待加密数据进行加密,在无需预设公私钥的同时,还减少了加密过程中的计算量,提高了数据加密的安全性。

Description

一种数据加密方法及装置
技术领域
本发明涉及数据处理领域,具体涉及一种数据加密方法及装置。
背景技术
在数据传递过程中,往往对传输的数据进行加密处理,当数据传输到客户端时,在基于一定的解密原则对数据进行解密处理,从而防止数据被泄漏,提高数据传输的安全性。目前对于数据的加解密处理,多是通过预设公私钥,通过预设密钥中的公钥对随机数进行加密,将加密数值发送至服务端,服务端通过预设密钥中的私钥对加密数值进行解密。但这种方式需要对秘钥进行维护,并且当需要加密的数据量增多时,对于加密算法需要的计算量也会急剧增加。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的预设公私钥的维护成本高,且采用预设公私钥的加密算法导致加密算法计算量过大的缺陷,从而提供一种数据加密方法及装置。
根据第一方面,本发明实施例提供了一种数据加密方法,所述方法包括:
获取待加密数据及随机数,所述待加密数据为十六进制数据,所述随机数为八个字节十六进制的随机数;
按照字节依次将所述随机数转换为十进制数,利用每个字节随机数对应十进制数的个位数值对该字节随机数进行位置编号;
按照八个字节为一组对所述待加密数据进行数据切分,得到若干待加密子数据;
依次利用所述随机数中每个字节随机数对各所述待加密子数据进行循环标记;
利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据。
可选地,所述利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,包括:
获取当前待加密子数据标记的随机数对应的当前位置编号;
基于所述当前位置编号,确定当前待加密子数据中的待加密位置;
基于所述当前待加密子数据标记的随机数对所述待加密位置的数据进行加密,生成所述当前加密子数据的加密数据。
可选地,所述基于所述当前待加密子数据标记的随机数对所述待加密位置的数据进行加密,生成所述当前加密子数据的加密数据,包括:
将所述当前待加密子数据标记的随机数和所述待加密位置的数据按照预设加密规则进行加密处理,生成替换数据;
利用所述替换数据替换所述待加密位置的数据,得到所述当前待加密子数据的加密数据。
可选地,所述基于所述当前位置编号,确定当前待加密子数据中的待加密位置,包括:
判断所述位置编号的数值是否位于所述当前待加密子数据的字节数范围内;
当所述位置编号的数值位于所述当前待加密子数据的字节数范围内时,将所述当前待加密子数据中与所述位置编号的数值相对应的位置确定为待加密位置。
可选地,所述基于所述当前位置编号,确定当前待加密子数据中的待加密位置,还包括:
当所述位置编号的数值为0时,将当前待加密子数据中的初始位置确定为所述当前待加密子数据中的待加密位置;
当所述位置编号的数值为9时,将当前待加密子数据中的末尾位置确定为所述当前待加密子数据中的待加密位置。
可选地,所述利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据,包括:
依次将各待加密子数据的加密数据进行拼接,得到目标加密数据。
可选地,所述获取待加密数据及随机数,包括:
获取随机数和待加密的明文;
将所述明文进行压缩,得到所述明文对应的待加密数据。
根据第二方面,本发明实施例提供了一种数据加密装置,所述装置包括:
获取模块,用于获取待加密数据及随机数,所述待加密数据为十六进制数据,所述随机数为八个字节十六进制的随机数;
第一处理模块,用于按照字节依次将所述随机数转换为十进制数,利用每个字节随机数对应十进制数的个位数值对该字节随机数进行位置编号;
第二处理模块,用于按照八个字节为一组对所述待加密数据进行数据切分,得到若干待加密子数据;
第三处理模块,用于依次利用所述随机数中每个字节随机数对各所述待加密子数据进行循环标记;
加密模块,用于利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据。
根据第三方面,本发明实施例提供了一种电子设备,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。
本发明技术方案,具有如下优点:
本发明提供的数据加密方法及装置,通过获取待加密数据及随机数,所述待加密数据为十六进制数据,所述随机数为八个字节十六进制的随机数;按照字节依次将所述随机数转换为十进制数,利用每个字节随机数对应十进制数的个位数值对该字节随机数进行位置编号;按照八个字节为一组对所述待加密数据进行数据切分,得到若干待加密子数据;依次利用所述随机数中每个字节随机数对各所述待加密子数据进行循环标记;利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据。通过将随机数进行进制转换,再利用每个字节随机数对应十进制数的个位数值对随机数进行位置编号,利用随机数对待加密数据中各待加密子数据进行加密,最终生成目标加密数据,通过利用随机数和随机数的位置编号的随机性,对待加密数据进行加密,在无需预设公私钥、大幅降低了密钥维护成本的同时,还减少了加密过程中的计算量,提高了数据加密的安全性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的数据加密方法的流程图;
图2为本发明实施例的数据加密方法的操作流程图;
图3为本发明实施例的数据加密装置的结构示意图;
图4为本发明实施例的一种电子设备的结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例提供了一种数据加密方法,如图1所示,该数据加密方法具体包括如下步骤:
步骤S101:获取待加密数据及随机数,待加密数据为十六进制数据,随机数为八个字节十六进制的随机数。
具体地,在实际应用中,对于储能系统的数据传输的加密算法有很多种,例如MD5加密算法、DES加密算法、3DES加密算法、RSA加密算法、DSA加密算法、AES加密算法等,但是此类算法大多是根据公私密钥对进行数据加密的,例如AES算法,虽然具有简单、可并行计算、误差不传递等优点,但存在不能隐藏明文模式(比如图像加密轮廓仍在)的缺点,以及都会对数据的传输和加密性能带来影响。本发明实施例采用轻量级的算法,在较小利用算力的情况下对数据进行加密,由于采用普通的加密方式,由云端通过下发随机数给边缘计算网关,边缘计算网关利用随机数进行数据加密并上传到云平台,不需要进行额外操作,只要加密方式互认即可,不需要额外增加设备或算力。此外,由于采用随机数的方式不需要密钥进行管理和下发,降低了密钥的维护成本。
优选地,本发明实施例的传输采用MQTT协议进行,MQTT协议全称为MessageQueuing Telemetry Transport,是一种基于TCP/IP协议上传输的轻量级通信协议。
本发明实施例通过固定随机数的字节数,为后续进行加密而不增加原始数据长度奠定基础。
步骤S102:按照字节依次将随机数转换为十进制数,利用每个字节随机数对应十进制数的个位数值对该字节随机数进行位置编号。
具体地,在实际应用中,通过将随机数由十六进制转换为十进制,根据十进制的随机数的个位数值,对该随机数进行位置编号,位置编号为0-9,均为整数。
步骤S103:按照八个字节为一组对待加密数据进行数据切分,得到若干待加密子数据。
具体地,在实际应用中,待加密数据中可能包含大量数据,为提高数据加密的安全性、加快加密进程,本发明实施例按照八个字节为一组对待加密数据进行切分,最终得到若干待加密子数据。
步骤S104:依次利用随机数中每个字节随机数对各待加密子数据进行循环标记。
具体地,在实际应用中,本发明实施例采用一个字节随机数对应一个待加密子数据的方式,利用对应字节的随机数对该待加密子数据进行标记。当八个字节的随机数标记第八个待加密子数据后,若还有待加密子数据,则再次用第一字节的随机数对第九个待加密子数据进行标记,以此类推。本发明实施例中,一个待加密数据对应一组八个字节的随机数,利用同一组随机数对待加密数据中的待加密子数据进行循环标记,相比于一组待加密子数据对应一组随机数的情况,不仅减少了获取随机数的次数,提高了加密效率,同时,由于待加密数据的长度不同,划分的待加密子数据大小也不同,利用随机数进行循环标记,依然可以保证加密的安全性。
步骤S105:利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据。
具体地,在实际应用中,根据标记的随机数对应的位置编号即可确定各待加密子数据的加密位置,利用标记的随机数对加密位置的数据进行加密,即可完成对待加密子数据的加密,最终得到目标加密数据。
优选地,本发明实施例采用异或操作对待加密子数据进行加密,降低开发和使用该加密算法的运算难度。
具体地,在实际应用中,当用户进行解密时,根据随机数和加密原则即可实现对加密数据的解密操作,由于加密原则由程序开发人员制定,因此在提高解密速度,简化解密过程的同时,避免了由于预设密钥保存不当造成加解密方式被泄露的情况发生,保障了数据的安全性。
本发明实施例提供的数据加密方法,通过采用随机数交互的方式进行加密通讯,用户基于客户端获取随机数,并根据随机数的特定数据信息和加密规则进行数据修改,在降低加密的复杂度的同时,消除了加密中对密钥对的依赖,并且,由于本发明实施例提供的数据加密方法不会增加原始数据的长度,从而降低了数据采集并加密的成本,通过只根据随机数来进行加密的方式,无需采用密钥对,每次加密的过程都是唯一的,难以破解。
具体地,在一实施例中,上述步骤S101具体包括如下步骤:
步骤S201:获取随机数和待加密的明文。
步骤S202:将明文进行压缩,得到明文对应的待加密数据。
具体地,在实际应用中,待加密的明文由字符串组成,若直接对待加密明文进行加密处理,可能会由于明文的数据数量过大,造成数据加密和传输速度缓慢。本发明实施例通过首先对待加密的明文进行压缩处理,大幅减小数据体量,再对压缩后的十六进制码流进行加密处理,大幅提高加密和传输效率。
优选地,本发明实施例采用gzip算法对明文进行压缩,通过采用gzip算法进行压缩,压缩率较高,可将明文数据体量进行大幅减小,为后续提高加密进程提供了必要条件。此外,采用gzip算法进行压缩,后续可与深度算法进行结合,生成分类结果表,当对待压缩明文进行压缩时,可通过分类结果表进行筛选,若分类结果表中含有压缩后的数据,则可直接生成对应的压缩后的码流,无需重复进行压缩处理,对进一步提高压缩加密效率具有重要意义。
具体地,在获取待随机数和待加密明文之前,为保证数据的安全性,本发明实施例基于MQTT平台设置了登录保护,即用户需要通过客户端使用用户名和密码进行登录操作,当登录验证成功后,服务端才会应答,将随机数传输至客户端;当登录验证失败时,服务端将关闭加密进程。
具体地,在一实施例中,上述步骤S105利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,具体包括如下步骤:
步骤S301:获取当前待加密子数据标记的随机数对应的当前位置编号。
具体地,在实际应用中,本发明实施例采用的随机数为八个字节的十六进制随机数,在加密使用时,每个字节随机数首先进行进制转换,将十六进制转换为十进制,根据十进制的个位数对每个字节的随机数进行位置编号。
步骤S302:基于当前位置编号,确定当前待加密子数据中的待加密位置。
步骤S303:基于当前待加密子数据标记的随机数对待加密位置的数据进行加密,生成当前加密子数据的加密数据。
通过根据随机数的位置编号确定待加密子数据中的待加密位置,进而对待加密位置处的数据进行加密得到加密数据,本发明实施例由于对随机数进行进制转换,采用十进制个位数的位置编号确定待加密位置,而随机数的位置编号也具有一定的随机性,从而进一步提高了数据加密的安全性。
具体地,在一实施例中,上述步骤S302具体包括如下步骤:
步骤S401:判断位置编号的数值是否位于当前待加密子数据的字节数范围内。
具体地,在实际应用中,由于位置编号为0-9中的某一整数,可能存在加密过程中超过待加密子数据原有长度的情况,为避免出现加密过程对待加密子数据长度进行增加,从而降低加密性能的情况发生,本发明实施例首先对位置编号的数值进行判断,根据判断结果调整加密过程,提高了数据加密的速度。
步骤S402:当位置编号的数值位于当前待加密子数据的字节数范围内时,将当前待加密子数据中与位置编号的数值相对应的位置确定为待加密位置。
具体地,在实际应用中,由于待加密子数据的字节数也为八个字节,因此在八个字节的待加密子数据中,存在八个待加密的位置,分别对应随机数的位置编号1-8,即随机数的位置编号为1时,对应待加密子数据的第一字节,以此类推。
具体地,在另一实施例中,上述步骤S402具体还包括如下步骤:
步骤S403:当位置编号的数值为0时,将当前待加密子数据中的初始位置确定为当前待加密子数据中的待加密位置。
步骤S404:当位置编号的数值为9时,将当前待加密子数据中的末尾位置确定为当前待加密子数据中的待加密位置。
具体地,在实际应用中,本发明实施例中的初始位置为当前待加密子数据中第一字节数据后的位置;末尾位置为当前待加密子数据中第八字节数据后的位置。
具体地,在实际应用中,如表1所示,XX为该字节的随机数,当随机数的位置编号确定时,待加密子数据的加密位置也随机确定。本发明实施例通过采用八个字节随机数进行加密,加密时使用每个字节随机数十六进制转十进制,并根据十进制的个位数的位置编号,位置编号为0-9的数字,根据该随机数的数据和位置编号下一个(或上一个)数据进行加密。其中有底纹的字符为本发明实施例进行加密过程中的处理方法,当超过八个字节时,则该字节的随机数与前面的字节待加密数据进行加密,如列表最后两行。这样即不会增加传输数据的字节大小,算法的复杂度也比较低。
优选地,当随机数的位置编号为0时,待加密子数据的初始位置(第一字节)即为该待加密子数据中的加密位置;当随机数的位置编号为9时,待加密子数据中的末尾位置(第八字节)即为待加密子数据中的待加密位置,但实际情况不限于此,为保证数据加密高效性而进行加密位置的改变,实施例提供的数据加密方法的保护范围之内。
表1随机数位置编号与加密位置的对应关系
8字节随机数的个位数 原文 加密方式
0 FF FF FF FF FF FF FF FF XX FF FF FF FF FF FF FF FF
1 FF FF FF FF FF FF FF FF FF XX FF FF FF FF FF FF FF
2 FF FF FF FF FF FF FF FF FF FF XX FF FF FF FF FF FF
3 FF FF FF FF FF FF FF FF FF FF FF XX FF FF FF FF FF
4 FF FF FF FF FF FF FF FF FF FF FF FF XX FF FF FF FF
5 FF FF FF FF FF FF FF FF FF FF FF FF FF XX FF FF FF
6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF XX FF FF
7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF XX FF
8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF XX FF
9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF XX FF
具体地,在一实施例中,上述步骤S303基于当前待加密子数据标记的随机数对待加密位置的数据进行加密,生成当前加密子数据的加密数据,具体包括如下步骤:
步骤S501:将当前待加密子数据标记的随机数和待加密位置的数据按照预设加密规则进行加密处理,生成替换数据。
步骤S502:利用替换数据替换待加密位置的数据,得到当前待加密子数据的加密数据。
示例性地,结合表1所示,当随机数的个位数为3时,即对待加密子数据中的第三字节数据后的位置进行加密,将第三字节的随机数和待加密子数据中的第四字节数据按照预设加密规则进行加密处理,即可得到待加密子数据中第四字节数据对应的替换数据,利用替换数据替换待加密子数据中第四字节的数据,即可得到待加密子数据的加密数据。
优选地,本发明实施例采用异或操作对待加密数据进行加密,但实际情况不限于此,为保证数据加密安全性而进行加密操作方法的改变,也在本发明实施例提供的数据加密方法的保护范围之内。
具体地,在一实施例中,上述步骤S105生成目标加密数据,具体包括如下步骤:
步骤S601:依次将各待加密子数据的加密数据进行拼接,得到目标加密数据。
具体地,在实际应用中,将各待加密子数据的加密数据进行拼接,将得到待加密数据对应的目标加密数据。
本发明实施例采用压缩算法和加密算法对数据进行压缩后加密,可以解决以下问题:
1)基于轻量化算法,本发明实施例采用普通的加密方式,由云端通过下发随机数给边缘计算网关,边缘计算网关利用随机数进行数据加密并上传到云平台,不需要进行额外操作,只要加密方式互认即可,不需要额外增加设备或算力;
2)基于加密方式的普适性,本发明实施例提供的数据加密方法所需的内存和CPU占用较小,从而提高了算法加解密性能;
3)基于随机数的加密方式,本发明实施例不需要密钥进行管理和下发,降低了密钥的维护成本。
示例性地,本发明实施例采用随机数33DDC599F673F0FB对使用gzip压缩后的待加密数据进行加密,加密过程如表2所示,原始数据即为各待加密子数据。
表2加密前后数据对比表
原始数据 随机数个位 随机数 待加密字节 加密后数据
7b 22 6d 65 73 73 61 67 1 33 22 7b 11 6d 65 73 73 61 67
65 73 22 3a 5b 7b 22 74 1 DD 73 65ae 22 3a 5b 7b 22 74
6d 73 64 61 74 61 76 32 7 C5 32 6d 73 64 61 74 61 76f7
22 2c 22 70 61 72 74 69 3 99 70 22 2c 22e9 61 72 74 69
74 69 6f 6e 22 3a 30 2c 6 F6 30 74 69 6f 6e 22 3a c6 2c
22 76 61 6c 75 65 22 3a 5 73 65 22 76 61 6c 75 16 22 3a
22 5b 7b 22 73 6e 22 3a 0 F0 22 d2 5b 7b 22 73 6e 22 3a
20 22 32 2d 32 33 33 30 1 FB 22 20d9 32 2d 32 33 33 30
... 1 33 ... ...
... 1 DD ... ...
当待加密数据中的第一待加密子数据为“7b 22 6d 65 73 73 61 67”时,根据随机数个位数的数值为1,确定将对第一待加密子数据中的“22”进行加密,将随机数的“33”和第一待加密子数据中的“22”进行异或操作,得到加密后的数据“11”,将“11”替换掉原来的“22”,即可得到第一待加密子数据的加密数据“7b 11 6d 65 73 73 61 67”,当处理完第八个待加密子数据后仍有待加密子数据时(如列表最后两行),将继续基于随机数的第一字节的“33”对第九个待加密子数据进行加密、基于随机数的第二字节“DD”对第十个待加密子数据进行加密,以此类推,其它待加密子数据的加密过程与此过程一致,不再进行赘述。通常采用此种方式,在不增加传输数据的字节大小的同时,降低了算法的复杂度。
通过执行上述步骤,本发明实施例提供的数据加密方法,通过获取待加密数据及随机数,待加密数据为十六进制数据,随机数为八个字节十六进制的随机数;按照字节依次将随机数转换为十进制数,利用每个字节随机数对应十进制数的个位数值对该字节随机数进行位置编号;按照八个字节为一组对待加密数据进行数据切分,得到若干待加密子数据;依次利用随机数中每个字节随机数对各待加密子数据进行循环标记;利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据。通过将随机数进行进制转换,再利用每个字节随机数对应十进制数的个位数值对随机数进行位置编号,利用随机数对待加密数据中各待加密子数据进行加密,最终生成目标加密数据,通过利用随机数和随机数的位置编号的随机性,对待加密数据进行加密,在无需预设公私钥、大幅降低了密钥维护成本的同时,还减少了加密过程中的计算量,提高了数据加密的安全性。
下面将结合具体应用示例,对本发明实施例提供的数据加密方法进行详细的说明。
结合图1和图2所示,当用户登录到MQTT平台之后,服务端即应答客户端,传输八个字节的随机数。客户端接受随机数之后,对数据进行压缩并加密,加密的结果再返回给服务端。服务端收到结果后根据预先设定的发送频率再一次应答客户端,传输新的八个字节的随机数,客户端利用新的随机数进行新的待发送数据的压缩和加密,然后发送给服务端。以此反复,进行数据的加密通讯。当登录错误时,服务端将不再发送随机数,保障整体数据系统的安全性。
本发明实施例提供了一种数据加密装置,如图3所示,该数据加密装置包括:
获取模块101,用于获取待加密数据及随机数,待加密数据为十六进制数据,随机数为八个字节十六进制的随机数。详细内容参见上述方法实施例中步骤S101的相关描述,在此不再进行赘述。
第一处理模块102,用于按照字节依次将随机数转换为十进制数,利用每个字节随机数对应十进制数的个位数值对该字节随机数进行位置编号。详细内容参见上述方法实施例中步骤S102的相关描述,在此不再进行赘述。
第二处理模块103,用于按照八个字节为一组对待加密数据进行数据切分,得到若干待加密子数据。详细内容参见上述方法实施例中步骤S103的相关描述,在此不再进行赘述。
第三处理模块104,用于依次利用随机数中每个字节随机数对各待加密子数据进行循环标记。详细内容参见上述方法实施例中步骤S104的相关描述,在此不再进行赘述。
加密模块105,用于利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据。详细内容参见上述方法实施例中步骤S105的相关描述,在此不再进行赘述。
上述的数据加密装置的更进一步描述参见上述数据加密方法实施例的相关描述,在此不再进行赘述。
通过上述各个组成部分的协同合作,本发明实施例提供的数据加密装置,通过将随机数进行进制转换,再利用每个字节随机数对应十进制数的个位数值对随机数进行位置编号,利用随机数对待加密数据中各待加密子数据进行加密,最终生成目标加密数据,通过利用随机数和随机数的位置编号的随机性,对待加密数据进行加密,在无需预设公私钥、大幅降低了密钥维护成本的同时,还减少了加密过程中的计算量,提高了数据加密的安全性。
本发明实施例提供了一种电子设备,如图4所示,该电子设备包括处理器901和存储器902,所述存储器902和所述处理器901之间互相通信连接,其中处理器901和存储器902可以通过总线或者其他方式连接,图4中以通过总线连接为例。
处理器901可以为中央处理器(Central Processing Unit,CPU)。处理器901还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器901的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。
上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (10)

1.一种数据加密方法,其特征在于,包括:
获取待加密数据及随机数,所述待加密数据为十六进制数据,所述随机数为八个字节十六进制的随机数;
按照字节依次将所述随机数转换为十进制数,利用每个字节随机数对应十进制数的个位数值对该字节随机数进行位置编号;
按照八个字节为一组对所述待加密数据进行数据切分,得到若干待加密子数据;
依次利用所述随机数中每个字节随机数对各所述待加密子数据进行循环标记;
利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据。
2.根据权利要求1所述的方法,其特征在于,所述利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,包括:
获取当前待加密子数据标记的随机数对应的当前位置编号;
基于所述当前位置编号,确定当前待加密子数据中的待加密位置;
基于所述当前待加密子数据标记的随机数对所述待加密位置的数据进行加密,生成所述当前待加密子数据的加密数据。
3.根据权利要求2所述的方法,其特征在于,所述基于所述当前待加密子数据标记的随机数对所述待加密位置的数据进行加密,生成所述当前加密子数据的加密数据,包括:
将所述当前待加密子数据标记的随机数和所述待加密位置的数据按照预设加密规则进行加密处理,生成替换数据;
利用所述替换数据替换所述待加密位置的数据,得到所述当前加密子数据的加密数据。
4.根据权利要求2所述的方法,其特征在于,所述基于所述当前位置编号,确定当前待加密子数据中的待加密位置,包括:
判断所述位置编号的数值是否位于所述当前待加密子数据的字节数范围内;
当所述位置编号的数值位于所述当前待加密子数据的字节数范围内时,将所述当前待加密子数据中与所述位置编号的数值相对应的位置确定为待加密位置。
5.根据权利要求4所述的方法,其特征在于,所述基于所述当前位置编号,确定当前待加密子数据中的待加密位置,还包括:
当所述位置编号的数值为0时,将当前待加密子数据中的初始位置确定为所述当前待加密子数据中的待加密位置;
当所述位置编号的数值为9时,将当前待加密子数据中的末尾位置确定为所述当前待加密子数据中的待加密位置。
6.根据权利要求2所述的方法,其特征在于,所述利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据,包括:
依次将各待加密子数据的加密数据进行拼接,得到目标加密数据。
7.根据权利要求1所述的方法,其特征在于,所述获取待加密数据及随机数,包括:
获取随机数和待加密的明文;
将所述明文进行压缩,得到所述明文对应的待加密数据。
8.一种数据加密装置,其特征在于,包括:
获取模块,用于获取待加密数据及随机数,所述待加密数据为十六进制数据,所述随机数为八个字节十六进制的随机数;
第一处理模块,用于按照字节依次将所述随机数转换为十进制数,利用每个字节随机数对应十进制数的个位数值对该字节随机数进行位置编号;
第二处理模块,用于按照八个字节为一组对所述待加密数据进行数据切分,得到若干待加密子数据;
第三处理模块,用于依次利用所述随机数中每个字节随机数对各所述待加密子数据进行循环标记;
加密模块,用于利用各待加密子数据标记的随机数及标记的随机数对应的位置编号依次对各待加密子数据进行加密,生成目标加密数据。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行如权利要求1-7中任一项所述的方法。
CN202210312773.8A 2022-03-28 2022-03-28 一种数据加密方法及装置 Pending CN114465712A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210312773.8A CN114465712A (zh) 2022-03-28 2022-03-28 一种数据加密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210312773.8A CN114465712A (zh) 2022-03-28 2022-03-28 一种数据加密方法及装置

Publications (1)

Publication Number Publication Date
CN114465712A true CN114465712A (zh) 2022-05-10

Family

ID=81416662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210312773.8A Pending CN114465712A (zh) 2022-03-28 2022-03-28 一种数据加密方法及装置

Country Status (1)

Country Link
CN (1) CN114465712A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115879138A (zh) * 2023-02-27 2023-03-31 北京厚方科技有限公司 一种用于芯片的轻量级数据加密方法
CN115967175A (zh) * 2022-11-30 2023-04-14 广州汇电云联互联网科技有限公司 一种面向储能电站边缘端数据采集控制装置及方法
CN116243887A (zh) * 2022-12-06 2023-06-09 北京海泰方圆科技股份有限公司 软件随机数生成方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115967175A (zh) * 2022-11-30 2023-04-14 广州汇电云联互联网科技有限公司 一种面向储能电站边缘端数据采集控制装置及方法
CN116243887A (zh) * 2022-12-06 2023-06-09 北京海泰方圆科技股份有限公司 软件随机数生成方法及装置
CN116243887B (zh) * 2022-12-06 2023-11-14 北京海泰方圆科技股份有限公司 软件随机数生成方法及装置
CN115879138A (zh) * 2023-02-27 2023-03-31 北京厚方科技有限公司 一种用于芯片的轻量级数据加密方法

Similar Documents

Publication Publication Date Title
CN114465712A (zh) 一种数据加密方法及装置
CN107689947B (zh) 一种数据处理的方法和装置
CN111435913B (zh) 一种物联网终端的身份认证方法、装置和存储介质
US20150236852A1 (en) Quantum key distribution device, quantum key distribution system, and quantum key distribution method
US10027488B2 (en) Numeric pattern normalization for cryptographic signatures
US20080126378A1 (en) Method and system for certificate revocation list compression
WO2016098303A1 (ja) 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
US11303453B2 (en) Method for securing communication without management of states
JP6289680B2 (ja) パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム
CN113595744B (zh) 入网方法、装置、电子设备及存储介质
CN113452527A (zh) 用于有状态的基于散列的签名的鲁棒状态同步
US20210336781A1 (en) Network device, method for security and computer readable storage medium
US10230532B2 (en) Entity authentication in network
CN110570197B (zh) 一种基于区块链的数据处理方法以及设备
CN116506158A (zh) 基于智慧城市的物联网设备加密传输方法及系统
CN111490874A (zh) 一种配网安全防护方法、系统、装置及存储介质
CN109951417B (zh) 一种身份认证的方法、系统及终端设备
CN115152180A (zh) 改进的包传输
CN110636040B (zh) 一种基于区块链通信的信息流认证系统及方法
CN113360923A (zh) 一种数据交互方法、装置、系统及电子设备
CN110945832B (zh) 对称群体认证的方法和系统
CN113383514A (zh) 用于在资源受限系统中认证消息的方法
US11558237B2 (en) Method and control system for monitoring plurality of equipment in SNMP based network
CN114499967B (zh) 数据访问控制方法、装置、系统及计算机可读存储介质
CN112187462B (zh) 数据处理方法、装置、电子设备及计算机可读介质

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