CN116418480A - 一种基于哈希函数的混沌加密智能电表及其加密方法 - Google Patents
一种基于哈希函数的混沌加密智能电表及其加密方法 Download PDFInfo
- Publication number
- CN116418480A CN116418480A CN202310372838.2A CN202310372838A CN116418480A CN 116418480 A CN116418480 A CN 116418480A CN 202310372838 A CN202310372838 A CN 202310372838A CN 116418480 A CN116418480 A CN 116418480A
- Authority
- CN
- China
- Prior art keywords
- module
- chaotic
- encryption
- data
- key
- 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
Links
- 230000000739 chaotic effect Effects 0.000 title claims abstract description 213
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 37
- 230000003993 interaction Effects 0.000 claims abstract description 20
- 238000001514 detection method Methods 0.000 claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 30
- 230000002159 abnormal effect Effects 0.000 claims description 17
- 230000005611 electricity Effects 0.000 claims description 17
- 230000005856 abnormality Effects 0.000 claims description 9
- 238000002156 mixing Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 abstract description 170
- 238000005516 engineering process Methods 0.000 abstract description 26
- 238000004422 calculation algorithm Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 8
- 238000005336 cracking Methods 0.000 description 7
- 101100203322 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SKS1 gene Proteins 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000005291 chaos (dynamical) Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 101150066718 FMOD gene Proteins 0.000 description 2
- 108010015780 Viral Core Proteins Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000005312 nonlinear dynamic Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
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/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
-
- 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于哈希函数的混沌加密智能电表及其加密方法,其中实施该技术的载体包括:若干个电表模块1,在物联网中处于感知层;负责对电表数据抄送;至少一个后台控制端2:与电表模块1交互,在物联网中处于网络层;用户交互端4:与后台控制端2交互,在物联网中处于应用层;本发明基于电表模块、后台控制端等相关组成部分及其模块的组成,相较于传统的电表加密方法而言,本发明将混沌加密和哈希函数相结合,可以实现更加高效和安全的加密方案。混沌序列生成器可以产生高度随机的密钥序列,同时哈希函数可以保证传输的数据的完整性和真实性,而异常检测模块则可以对传输过程中可能出现的异常进行检测和处理,确保传输的数据的可靠性。
Description
技术领域
本发明涉及物联网电表技术领域,特别涉及一种基于哈希函数的混沌加密智能电表及其加密方法。
背景技术
物联网智能电表是一种基于物联网技术的新型电力测量设备,具有智能化、远程化、多功能化等特点。它能够实现电力的计量、监控、控制和管理,为电力行业的发展提供了有力支撑。
在物联网智能电表的背景技术中,主要涉及以下几个方面:
一、通信技术:
物联网智能电表需要通过通信技术与上位***进行数据交互。常用的通信技术包括无线通信、有线通信和光纤通信等。其中,无线通信技术在物联网智能电表中应用最为广泛,包括GPRS、3G、4G、NB-IoT等多种无线通信技术。
二、物联网技术:
物联网技术是实现物联网智能电表的基础。物联网技术包括感知层、网络层、应用层等多个方面,其中最为关键的是感知层,它负责采集传感器数据,并将数据传输到网络层。在物联网智能电表中,感知层主要包括电量传感器、电压传感器、电流传感器等。
三、数据存储技术:
物联网智能电表需要存储大量的数据,包括电力数据、设备状态数据等。因此,数据存储技术在物联网智能电表中非常重要。常用的数据存储技术包括关系型数据库、NoSQL数据库、分布式文件***等。
在传统的电表抄表过程中,电表数据往往是以明文的形式传输和存储的。这种数据传输方式存在很大的安全风险,因为黑客可以通过窃取传输数据,进行篡改和窃取,从而破坏数据的完整性和保密性,造成电费计量的错误和损失。
具体来说,物联网电表通常采用对称密钥加密技术或公钥加密技术对抄表数据进行加密。对称密钥加密技术是指发送方和接收方使用同一个密钥来加密和解密数据。而公钥加密技术则是通过两个密钥,一个公钥和一个私钥,来加密和解密数据。这些加密技术都可以有效地保护抄表数据的安全性,防止黑客窃取数据和篡改数据。
在实际应用中,采用混沌加密与哈希函数相互结合可以实现更加安全可靠的加密方案。混沌加密算法基于混沌理论,具有高度的随机性和不可预测性,可以有效防止黑客攻击和破解。而哈希函数则可以将任意长度的数据转换成固定长度的哈希值,不同的数据生成的哈希值也是不同的,可以有效保证数据的完整性和真实性。
将混沌加密和哈希函数相结合,可以实现更加高效和安全的加密方案。混沌序列生成器可以产生高度随机的密钥序列,同时哈希函数可以保证传输的数据的完整性和真实性。
为此,提出一种基于哈希函数的混沌加密智能电表及其加密方法。
发明内容
有鉴于此,本发明实施例希望提供一种基于哈希函数的混沌加密智能电表及其加密方法,以解决或缓解现有技术中存在的技术问题,至少提供一种有益的选择;
本发明实施例的技术方案是这样实现的:
第一方面
一种基于哈希函数的混沌加密智能电表,其中实施该技术的载体包括:
若干个电表模块,在物联网中处于感知层;负责对电表数据抄送;
至少一个后台控制端:与电表模块交互,在物联网中处于网络层;
用户交互端:与后台控制端交互,在物联网中处于应用层;后台控制端将对应的电表模块发送至用户交互端。
以上是实施该技术的三大核心部分;在此基础上:
电表模块包括MCU模块、数据源模块、混沌加密模块和无线收发模块;
数据源模块将检测的用电信息明文发送至MCU模块,MCU模块将明文发送至混沌加密模块进行加密,生成密文;混沌加密模块将密文发送至第一哈希函数模块进行哈希处理后,通过第一无线收发模块发送至后台控制端的第二无线收发模块;
后台控制端通过CPU模块接收第二无线收发模块发送来密文,同时发送至:
一、将密文存储至数据寄存器,数据寄存器寄存的是加密后的电表信息;
二、将密文发送到混沌解密模块及第二哈希函数模块进行解密,并将解密后的明文发送至第三无线收发模块,并发送至用户交互端;
其中,异常检测模块检测数据寄存器的异常变动并与之连接。
在具体应用时,使用加密函数,将密文解密得到原始数据,通过第二哈希函数模块比较两个哈希值,如果匹配,则说明数据没有被篡改;如果不匹配,则说明数据被篡改;
其中,第一哈希函数模块的结构与运行模式,等同于第二哈希函数模块。第一哈希函数模块和第二哈希函数模块实质上是同型装置。
其中在一种实施方式中:混沌加密模块包括用于生成随机数序列的第一随机数生成器、将随机数序列作为种子生成混沌序列作为加密密钥的第一混沌序列生成模块,和使用生成的混沌序列对输入数据进行加密生成密文输出的加密器模块;
第一随机数生成器、第一混沌序列生成模块和加密器模块依次连接。
同时,混沌解密模块包括与第一随机数生成器相同的第二随机数生成器;
与第一混沌序列生成模块相同的使用同一个随机数序列作为种子,生成混沌序列的第二混沌序列生成模块;
以及使用生成的混沌序列对输入密文进行解密,生成明文输出解密器模块。
在上述方案中:
第一随机数生成器、第二混沌序列生成模块分别连接到第一混沌序列生成模块和第二混沌序列生成模块,作为混沌序列的种子。
第一混沌序列生成模块、第二混沌序列生成模块分别连接到加密器模块和解密器模块,用于产生密钥。
加密器模块和解密器模块分别连接到第一哈希函数模块和第二哈希函数模块,用于对数据进行哈希处理。
第一哈希函数模块的输出连接到MCU模块,用于生成最终的密钥。
解密器模块连接到第二哈希函数模块,用于对解密后的数据进行哈希处理,并通过CPU模块判定。
第二方面
一种基于哈希函数的混沌加密智能电表的加密方法,该加密方法采用如上述一种基于哈希函数的混沌加密智能电表所展示的电表模块、后台控制端和用户交互端及其内置的相关模块进行作业;
其中,具体包括如下步骤:
S1、电表模块检测用电信息的第一数据流进行混沌加密,生成第二数据流,发送至后台控制端;
S1.1、初始化:生成一个伪随机初始向量,伪随机初始向量包括混沌***的初始状态和哈希函数的种子;
S1.2、加密:将第一数据流的明文信息转化为比特序列,将该比特序列和初始向量输入到混沌***中加密;
加密后的结果与初始向量经过哈希函数(SHA-3型哈希函数)生成另一个伪随机向量,作为下一轮加密的初始向量;重复执行加密操作,直到加密完整个信息;
同时,生成管理员秘钥k1和超级管理员秘钥k2;
解密过程中,与初始向量一起输入到哈希函数(SHA-3型哈希函数)中生成伪随机密钥,用于解密混沌加密模块中的秘密信息;
S2、后台控制端将第二数据流存储,并通过混沌解密生成为第一数据流发送至用户交互端;
S2.1、解密:将第二数据流的密文信息转化为比特序列,然后将该比特序列和初始向量输入到混沌***中进行解密;
解密后的结果与初始向量经过哈希函数(SHA-3型哈希函数)生成如S1.2中的伪随机向量,作为下一轮解密的初始向量;重复执行解密操作,直到解密完整个信息。
S3、秘钥K2用于开启数据寄存器。
在上述实施方式中,上述的加密全流程为:
设原始数据为M,管理员秘钥为K1,超级管理员秘钥为K2,加密后的数据为C,哈希函数输出为H;
P1、混沌加密:
首先,采用Rossler***生成混沌序列S,将S与管理员秘钥K1混合生成新的密钥K(k1):
K=H(K1||S)
P2、使用密钥K对原始数据M进行混沌加密,生成加密后的数据C:
C=EK(M)
EK:使用密钥K进行加密的过程。
P3、哈希函数:对加密后的数据C进行哈希处理,生成哈希值H:
H=H(C)
H:哈希函数的输出;H(C):对C进行哈希处理的过程;
P4、秘钥管理:
使用超级管理员秘钥K2对哈希值H进行加密,生成最终的密钥K':
EK2:使用密钥K2进行加密的过程;加密后的数据C和最终的密钥K'都存储在数据寄存器204中;
解密:使用超级管理员秘钥K2对密钥K'进行解密得到哈希值H,对加密数据C进行解密得到原始数据M:
M=DK(C)
DK2和DK分别表示:使用密钥K2和K进行解密的过程。
与现有技术相比,本发明的有益效果是:
一、本发明基于电表模块、后台控制端等相关组成部分及其模块的组成,相较于传统的电表加密方法而言,本发明将混沌加密和哈希函数相结合,可以实现更加高效和安全的加密方案。混沌序列生成器可以产生高度随机的密钥序列,同时哈希函数可以保证传输的数据的完整性和真实性,而异常检测模块则可以对传输过程中可能出现的异常进行检测和处理,确保传输的数据的可靠性。
二、利用混沌加密具有高度的随机性和不可预测性,可以有效防止恶意攻击和破解,同时哈希函数可以保证数据的完整性和真实性,保证数据不被篡改。
三、采用嵌入式开发技术,以硬件运行为基础实现混沌加密算法加密和解密的快速运载,同时哈希函数可以对任意长度的数据进行快速处理,间接提高了数据传输的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的整体结构模块连接示意图;
图2为本发明的电表模块连接示意图;
图3为本发明的后台控制端的模块连接示意图;
图4为本发明混沌加密模块的连接示意图;
图5为本发明的混沌解密模块的连接示意图;
图6为本发明的哈希模块连接示意图;
图7为本发明的将K1中的每一个字节(byte)与S中对应的字节进行异或操作从而生成新的密钥K的代码图;
图8为本发明的加密函数、混沌函数哈希函数的综合计算过程的代码图;
图9为本发明的加密函数、混沌函数哈希函数的综合计算过程的代码图;
图10为本发明的Rossler***的计算过程代码图;
图11为本发明的总体性代码图(上半部分);
图12为本发明的总体性代码图(下半部分);
图13为混沌序列生成的总体性代码图;
图14为单个电表模块和单个后台控制端的模块连接示意图。
附图标记:
1、电表模块;101、MCU模块;102、数据源模块;103、混沌加密模块;1031、第一随机数生成器;1032、第一混沌序列生成模块;1033、加密器模块;104、第一哈希函数模块;105、第一无线收发模块;2、后台控制端;201、CPU模块;202、第二无线收发模块;203、混沌解密模块;2031、第二随机数生成器;2032、第二混沌序列生成模块;2033、解密器模块;204、数据寄存器;205、第二哈希函数模块;206、第三无线收发模块;207、异常检测模块;3、云端;4、用户交互端。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制;
需要注意的是,术语“第一”、“第二”、“对称”、“阵列”等仅用于区分描述与位置描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“对称”等特征的可以明示或者隐含地包括一个或者更多个该特征;同样,对于未以“两个”、“三只”等文字形式对某些特征进行数量限制时,应注意到该特征同样属于明示或者隐含地包括一个或者更多个特征数量;
在本发明中,除非另有明确的规定和限定,“安装”、“连接”、“固定”等术语应做广义理解;例如,可以是固定连接,也可以是可拆卸连接,或一体成型;可以是机械连接,可以是直接相连,可以是焊接,也可以是通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据说明书附图结合具体情况理解上述术语在本发明中的具体含义。
在现有技术中,物联网电表通常采用对称密钥加密技术或公钥加密技术对抄表数据进行加密。对称密钥加密技术是指发送方和接收方使用同一个密钥来加密和解密数据。而公钥加密技术则是通过两个密钥,一个公钥和一个私钥,来加密和解密数据。这些加密技术都可以有效地保护抄表数据的安全性,防止黑客窃取数据和篡改数据。
在实际应用中,上述传统加密方式仍具备一定的被破解风险与提高空间;如果采用混沌加密与哈希函数相互结合可以实现更加安全可靠的加密方案。混沌加密算法基于混沌理论,具有高度的随机性和不可预测性,可以有效防止黑客攻击和破解。而哈希函数则可以将任意长度的数据转换成固定长度的哈希值,不同的数据生成的哈希值也是不同的,可以有效保证数据的完整性和真实性;为此,请参阅图1-5,本发明提供一种技术方案以解决上述技术问题:
一种基于哈希函数的混沌加密智能电表,其中实施该技术的载体包括:
若干个电表模块1,在物联网中处于感知层;负责对电表数据抄送;
至少一个后台控制端2:与电表模块1交互,在物联网中处于网络层;
用户交互端4:与后台控制端2交互,在物联网中处于应用层;后台控制端2将对应的电表模块1发送至用户交互端4。
在本具体实施方式中,后台控制端2也可以将数据先上传至云端3,并以云端3发送至用户交互端4(如APP等),此为常规数据传输与可视化展示方式,在此不再赘述。
以上是实施该技术的三大核心部分;在此基础上:
电表模块1包括MCU模块101、数据源模块102、混沌加密模块103和无线收发模块105;
数据源模块102将检测的用电信息明文发送至MCU模块101,MCU模块101将明文发送至混沌加密模块103进行加密,生成密文;混沌加密模块103将密文发送至第一哈希函数模块104进行哈希处理后,通过第一无线收发模块105发送至后台控制端2的第二无线收发模块202;
后台控制端2通过CPU模块201接收第二无线收发模块202发送来密文,同时发送至:
一、将密文存储至数据寄存器203,数据寄存器203寄存的是加密后的电表信息;
二、将密文发送到混沌解密模块203及第二哈希函数模块205进行解密及哈希处理,并将解密后的明文发送至第三无线收发模块206,并发送至用户交互端4;
其中,异常检测模块207检测数据寄存器203的异常变动并与之连接。在具体应用时,使用加密函数,将密文解密得到原始数据,通过第二哈希函数模块205比较两个哈希值,如果匹配,则说明数据没有被篡改;如果不匹配,则说明数据被篡改;
其中,第一哈希函数模块104的结构与运行模式,等同于第二哈希函数模块205。第一哈希函数模块104和第二哈希函数模块205实质上是同型装置。
其中,数据源模块102为传统的电表对用电用水信息的检测模块,例如机械检测模块、脉冲检测模块等,在此不再赘述。
在本方案中,本装置整体的所有电器元件依靠市电进行供能;具体的,装置整体的电器元件与市电输出端口处通过继电器、变压器和按钮面板等装置进行常规电性连接,以满足本装置的所有电器元件的供能需求。
具体的,后台控制端2的CPU模块201外部还设有一控制器,该控制器用于连接多个后台控制端2的CPU模块201进行总成控制。
优选的,控制器为PLC控制器,通过梯形图、顺序功能图、功能块图、指令表或结构文本的等常规PLC控制的模式完成上述控制需求;
优选的,PLC控制器外还配置独立的无线发射模块和无线接收模块,无线发射模块发出工作或暂停的指令信号经由介质传送至无线接收模块;必要时,工作人员可通过后台无线遥控装置对该无线收发模块输入指令,以远程控制控制器,并进而遥控本装置的所有电器元件按照相关驱动模式进行驱动;同时,无线收发模块还可传递本装置中相关传感元件,或伺服驱动元件的***所检测的相关系数或其他信息于后台的工作人员。
在本方案中,上述的电表模块1和后台控制端2均依靠嵌入式技术开发出实体结构模块特征及其连接方式;
其中:
混沌加密模块103和混沌解密模块203内置了一个Rossler算法(***),用于生成混沌序列;该混沌加密模块103和混沌解密模块203采用烧录的形式实现:
根据下文的混沌加密方式,确定混沌算法的参数,包括初值和***参数;
其中,初值和***参数可以按照不同的生产批次或装配方式,由生产法自行拟定不同的参数并妥善记录保存,并避免数据泄露
将混沌算法的实现代码编译为二进制信息,采用常规的嵌入式开发技术进行烧录,或者使用现成的二进制文件。将二进制信息烧录到相应的硬件模块中;
将烧录好的混沌序列生成器模块与其他硬件模块进行连接,并配置好相关的参数,如初值、***参数等。
通过上述方式,即可制造出混沌加密模块103和混沌解密模块203(除加密器模块1033和解密器模块2033);
就加密器模块1033和解密器模块2033而言,其也可以采用烧录的方式实现;也可以选用现有的模块进行平替:如Xilinx的Virtex系列FPGA的AES模块、DES模块、3DES等模块。
优选的,加密器模块1033和解密器模块2033优选为加密函数Enc模块。
同时,就第一哈希函数模块104和第二哈希函数模块205而言,请参阅图6:消息扩展模块、压缩函数模块和哈希值输出模块是第一哈希函数模块104和第二哈希函数模块205的三个主要组成部分。在具体烧录这些模块之前,需要先确定选择的哈希函数算法;
以本具体实施方式所采用的SHA-256哈希函数算法为例,这些模块由下列功能性模块组成:
消息扩展模块:负责将消息的长度进行扩展,以满足压缩函数的要求。这个模块由移位寄存器和逻辑门等组成。
压缩函数模块:负责将每个消息块与之前处理的哈希值进行运算,生成新的哈希值。这个模块可以由依次连接的逻辑门、加法器、乘法器、移位器组成。
哈希值输出模块:在最后一个消息块处理完成后,将最终的哈希值输出。这个模块由寄存器和逻辑门等组成。
在具体烧录时将上述功能性模块组合和配置,然后将它们烧录到如上述所述的FPGA中。在烧录完成后,这些模块就可以通过特定的接口和其他模块进行连接和通信,实现哈希函数的功能。
优选的,第一哈希函数模块104和第二哈希函数模块205也可以选用现有的哈希函数模块,优选为SHA-1模块、SHA-256模块或SHA-3模块等哈希函数;上述现有模块均搭配有内置的HMAC、RSA等加密算法实现库及常用的密码学库OpenSSL、Crypto++、Bouncy、Castle等。同时这些模块的库提供了各种密码学算法的实现和接口,可以方便地进行集成和使用,在本具体实施方式中,进行常规连接即可实现操作。
在本申请一些具体实施方式中,请结合参阅图1~5:混沌加密模块103包括用于生成随机数序列的第一随机数生成器1031、将随机数序列作为种子生成混沌序列作为加密密钥的第一混沌序列生成模块1032,和使用生成的混沌序列对输入数据进行加密生成密文输出的加密器模块1033;
第一随机数生成器1031、第一混沌序列生成模块1032和加密器模块1033依次连接。
同时,混沌解密模块203包括与第一随机数生成器1031相同的第二随机数生成器2031;
与第一混沌序列生成模块1032相同的使用同一个随机数序列作为种子,生成混沌序列的第二混沌序列生成模块2032;
以及使用生成的混沌序列对输入密文进行解密,生成明文输出解密器模块2033。
同时,第一随机数生成器1031、第二混沌序列生成模块2032分别连接到第一混沌序列生成模块1032和第二混沌序列生成模块2032,作为混沌序列的种子。
第一混沌序列生成模块1032、第二混沌序列生成模块2032分别连接到加密器模块1033和解密器模块2033,用于产生密钥。
加密器模块1033和解密器模块2033分别连接到第一哈希函数模块104和第二哈希函数模块205,用于对数据进行哈希处理。
第一哈希函数模块104的输出连接到MCU模块101,用于生成最终的密钥。
解密器模块2033连接到第二哈希函数模块205,用于对解密后的数据进行哈希处理,并通过CPU模块201判定。
优选的,第一无线收发模块105和第二无线收发模块202优选为NB-IoT无线通讯模块,并搭配对应的通讯协议。
在本申请一些具体实施方式中,请结合参阅图4~5:混沌加密模块103内的工作流程如下:
(1)第一随机数生成器模块1031使用***时间作为输入,生成一个多个随机数seed;
(2)第一混沌序列生成模块1032使用Rossler混沌***,利用seed作为初始条件,生成一个混沌序列K1;
(3)加密器模块1033将明文数据进行加密,利用混沌序列K1作为密钥,生成密文数据;
密文数据通过网络传输到后台控制端2的CPU模块201。
混沌解密模块203内的工作流程:
(1)第二随机数生成器模块2031同样使用***时间作为输入,生成一个或多个随机数seed。
(2)第二混沌序列生成模块2032使用Rossler混沌***,利用seed作为初始条件,生成一个混沌序列K2。
(3)解密器模块2033接收到密文数据后,利用混沌序列K2作为密钥,对密文数据进行解密,生成明文数据。
可以理解的是,混沌加密模块103和混沌解密模块203都利用了Rossler混沌***生成了一个混沌序列作为密钥进行加密和解密。这样的混沌序列具有以下特点:
(1)非线性:混沌序列的产生是基于非线性的微分方程,因此序列本身是不可预测的,具有高度的随机性和复杂性。
(2)敏感依赖:混沌序列对初始条件和***参数的微小变化非常敏感,即使是微小的变化也会导致混沌序列完全不同。
(3)安全性:混沌序列的产生过程不可逆,因此即使是知道部分明文数据和密文数据,也无法推算出完整的混沌序列和密钥,保证了数据的安全性;
(4)同时,为了进一步保证数据的安全性,我们将混沌序列与哈希函数相结合,生成哈希值作为密钥使用。这样可以增加密钥的长度和随机性,进一步提高了加密的强度和安全性。
同时,就具体的Rossler混沌***的进一步公式推导将在下文展示。
在本申请一些具体实施方式中,请结合参阅图1~6:基于上述硬件元器件的支持,可以实现如下的基于哈希函数的混沌加密智能电表的加密方法;该加密方法采用如上述一种基于哈希函数的混沌加密智能电表所展示的电表模块1、后台控制端2和用户交互端4及其内置的相关模块进行作业;
其中,在硬件方面,其数据的加密与传输包括如下步骤:
S1、电表模块1检测用电信息的第一数据流进行混沌加密,生成第二数据流,发送至后台控制端2;
S1.1、初始化:生成一个伪随机初始向量,伪随机初始向量包括混沌***的初始状态和哈希函数的种子;
S1.2、加密:将第一数据流的明文信息转化为比特序列,将该比特序列和初始向量输入到混沌***中加密;
加密后的结果与初始向量经过哈希函数(SHA-3型哈希函数)生成另一个伪随机向量,作为下一轮加密的初始向量;重复执行加密操作,直到加密完整个信息;
同时,生成管理员秘钥k1和超级管理员秘钥k2;
解密过程中,与初始向量一起输入到哈希函数(SHA-3型哈希函数)中生成伪随机密钥,用于解密混沌加密模块中的秘密信息;
S2、后台控制端2将第二数据流存储,并通过混沌解密生成为第一数据流发送至用户交互端4;
S2.1、解密:将第二数据流的密文信息转化为比特序列,然后将该比特序列和初始向量输入到混沌***中进行解密;
解密后的结果与初始向量经过哈希函数(SHA-3型哈希函数)生成如S1.2中的伪随机向量,作为下一轮解密的初始向量;重复执行解密操作,直到解密完整个信息。
S3、秘钥K2用于开启数据寄存器204。
在本申请一些具体实施方式中,请结合参阅图1~6:在上述实施方式中,就加密全流程为:
设原始数据为M,管理员秘钥为K1,超级管理员秘钥为K2,加密后的数据为C,哈希函数输出为H;
P1、混沌加密:
首先,采用Rossler***生成混沌序列S,将S与管理员秘钥K1混合生成新的密钥K(k1):
K=H(K1||S)
需要指出的是,在本具体实施方式中:
P1.1、使用Rossler***生成混沌序列S后,就可以使用该序列对原始数据M进行混沌加密。
具体的,将新密钥K与原始数据M进行异或运算,得到新的数据M'。然后,可以将新数据M'分成若干个固定长度的块,每个块的长度与哈希函数的输入长度相同。接着,可以使用混沌序列S对每个块进行异或运算,得到加密后的数据C;对于加密后的数据C,同样使用哈希函数对其进行处理,得到哈希值H。然后,使用超级管理员秘钥K2对哈希值H进行加密,生成最终的密钥K'。
具体的,可以将K2与H进行异或运算,得到加密后的哈希值H',再将H'与混沌序列S进行异或运算,得到最终的密钥K';
需要指出的是,在本具体实施方式中:
P1.1.1、Rossler***生成混沌序列S,并将S与管理员秘钥K1混合生成新的密钥K:
Rossler***生成的混沌序列S通过离散化的方式转化为一个具有有限长度的混沌序列。该序列可以作为加密过程中的密钥。管理员秘钥K1被转化为一个二进制序列。将混沌序列S与管理员秘钥K1进行异或操作,得到新的密钥K。这个新的密钥K可以被用于对原始数据进行加密。
具体的,设原始数据为M,那么加密过程可以描述为:
P1.1.1.1、将原始数据M与新的密钥K进行异或操作,得到加密后的数据
P1.1.1.2、对加密后的数据C进行哈希处理,得到哈希值:
H=H(C)
P1.1.1.3、使用超级管理员秘钥K2对哈希值H进行加密,得到加密后的哈希值:
H'=K2(H)
P1.1.1.4、将新的密钥K与加密后的哈希值H'混合生成最终的密钥:
K'=K||H'
其中,||表示连接操作。这个最终的密钥K'可以用于存储或传输加密后的数据。此外在解密过程中,可以通过相同的步骤生成相同的密钥K',从而还原出原始数据M。
示例性的,当使用Rossler***生成混沌序列S时,需要选择Rossler***的初始参数。这些参数的选择决定了生成的混沌序列的特征。首先,Rossler***的公式:
其中,a,b,c是***参数,在实际中由生产厂商拟定并保存。对于该***,可以通过常微分方程的Euler方法进行数值模拟,即:
xn+1=Xn+(-yn-Zn)·Δt
yn+1=yn+(Xn+a·yn)-Δt
zn+1=zn+(b+zn(xn-C))·Δt
其中,xn,yn,zn是时间n时的***状态,德尔塔是时间步长。
设选择了参数a=0.2,b=0.2,c=5.7;
并且初始状态为x_0=0.2,y_0=0.2,z_0=5.7;
可以通过上述公式计算出若干个状态值,这些状态值就构成了混沌序列S。接下来,需要将混沌序列S与管理员秘钥K1进行混合。
具体的,可以将K1中的每一个字节(byte)都与S中对应的字节进行异或操作,从而生成新的密钥K。
该过程既可以用数学公式表达,也可以通过电脑计算展示;为了该示例性说明更加清楚的可视化展出,这个过程可以用下面的伪代码表示:
请参阅图7:其中,len(K1)表示秘钥K1的字节长度,len(S)表示混沌序列S的字节长度,mod表示求模运算,^表示异或运算。通过这个过程就得到了一个新的密钥K,它是由混沌序列S和管理员秘钥K1混合生成的。
综上,在本方案中,进一步的:
Rossler***生成混沌序列S:
x′=-y-zy′=x+0.15*yz′=0.2+z*(x-10.0)S
=fmod(abs(z),1)
其中,x,y,z是Rossler***的状态变量,fmod嵌入式开发标准库中的函数,用于计算浮点数的模。
Rossler***的计算过程既可以用数学公式表达,也可以通过电脑计算展示;为了该示例性说明更加清楚的可视化展出,这个过程可以用下面的伪代码表示:请参阅图10:其中,len(K1)表示秘钥K1的字节长度,len(S)表示混沌序列S的字节长度,mod表示求模运算,^表示异或运算。通过这个过程就得到了一个新的密钥K,它是由混沌序列S和管理员秘钥K1混合生成的。
P2、使用密钥K对原始数据M进行混沌加密,生成加密后的数据C:
C=EK(M)
EK:使用密钥K进行加密的过程。
P3、哈希函数:对加密后的数据C进行哈希处理,生成哈希值H:
H=H(C)
H:哈希函数的输出;H(C):对C进行哈希处理的过程;
在本方案中,具体的:管理员秘钥K1和混沌序列S的混合生成新密钥K:
K=SHA3(K1||S)
其中,SHA3是SHA-3哈希函数。
使用新密钥K对原始数据M进行混沌加密:
P4、秘钥管理:
使用超级管理员秘钥K2对哈希值H进行加密,生成最终的密钥K’:
对加密后的数据C进行哈希处理,并使用超级管理员秘钥K2对哈希值H进行加密,生成最终的密钥K’:
H=SHA3(C)
K′=SHA3(K2||H)
EK2:使用密钥K2进行加密的过程;加密后的数据C和最终的密钥K’都存储在数据寄存器204中;
解密:使用超级管理员秘钥K2对密钥K’进行解密得到哈希值H,对加密数据C进行解密得到原始数据M:
M=DK(C)
DK2和DK分别表示:使用密钥K2和K进行解密的过程。
具体的,在使用哈希函数对C进行处理,生成哈希值H时,即:
H=Hash((C)
可以理解的是,在本具体实施方式中,哈希函数是一种将任意长度的数据映射到固定长度散列值(哈希值)的函数。哈希函数都是不可逆的,即给定哈希值,无法通过哈希函数计算出原始数据。在上述公式中使用的是SHA-256算法作为哈希函数,那么哈希值的生成过程如下:
(1)对输入数据C进行数据填充,使得填充后的数据长度为512的倍数。
(2)将填充后的数据分成若干个512位的数据块。
(3)对每个数据块进行处理,得到一个256位的哈希值。
(4)将所有的256位哈希值连接在一起,得到最终的哈希值H。
示例性的:设C是一个长度为10的字符串,具体内容为"C123456789",哈希函数使用SHA-256算法。哈希函数的输入要求是一个二进制数据流,所以需要先将字符串C转化为二进制数据流。将每个字符的ASCII码转化为8位二进制数,然后拼接在一起。按照这种方式,将字符串"C123456789"转化为二进制数据流后,得到的结果如下:01000011 0011000100110010 00110100 00110101 00110110 00110111 00111000 00111001;
这个二进制数据流就是哈希函数的输入。经过SHA-256处理后,得到一个256位的二进制哈希值,具体内容如下:10110011 11011000 00100010 11111001 1110110011000010 10100101 11011000 10010111 11010111 00101110 11001101 0001111111011010 11101011 11011100 00100101 00111001 10001100 11011111 1011111000101111 11110001 11011101 10111111 11011010 01110001 01010101 0011111001001101 00100010
这个哈希值就是对C进行哈希处理后得到的结果。
总结性的:
首先,对于混沌加密模块103和混沌解密模块203的混沌算法,可以将其分解为以下几个步骤:
(1)初始化:选择合适的初始状态(x{0},y{0},z{0})和参数值。
(2)产生混沌序列:根据混沌***的公式,计算得到混沌序列:
(S{1},S{2},...,S{n})。
(3)秘钥生成:将混沌序列S与管理员秘钥K1进行混合,生成新的密钥K。
对于哈希函数,可以将其分解为以下几个步骤:
(1)消息填充:对原始数据进行填充,使其长度为哈希函数的消息块长度。
(2)消息分组:将填充后的数据分组。
(3)压缩:对每个消息分组进行压缩,得到哈希值的中间结果。
(4)合并:对压缩得到的中间结果进行合并,得到最终的哈希值。
示例性的,对上述方式进行推导:
(1)数据加密:使用新生成的密钥K对原始数据M进行混沌加密,得到加密后的数据C。
(2)数据传输:将加密后的数据C传输给接收方。
(3)哈希处理:对接收到的数据C进行哈希处理,得到哈希值H。
(4)密钥生成:使用超级管理员秘钥K2对哈希值H进行加密,得到最终的密钥K’。
(5)数据解密:使用密钥K’对加密后的数据C进行解密,得到原始数M。
综上可以理解的是,P1~P4实质上是一个包含混沌加密、哈希函数、秘钥管理的总体计算框架,其主要内容包括:
(1)混沌加密模块103和混沌解密模块203:通过Rossler混沌***生成混沌序列S,并将S与管理员秘钥K1混合生成新的密钥K。使用新密钥K对原始数据M进行混沌加密得到加密数据C。
(2)第一哈希函数模块104和第二哈希函数模块205:对加密后的数据C进行哈希处理得到哈希值H。
(3)秘钥管理:使用超级管理员秘钥K2对哈希值H进行加密生成最终的密钥K。上述公式的整个计算过程可以表示为:
K=Enc(K2,Hash(C)),C=Enc(K,M)
其中Enc表示加密函数,Hash表示哈希函数,K1、K2为管理员秘钥,M为原始数据。采用混沌加密与哈希函数相互结合可以实现更加安全可靠的加密方案。混沌加密算法基于混沌理论,具有高度的随机性和不可预测性,可以有效防止黑客攻击和破解。而哈希函数则可以将任意长度的数据转换成固定长度的哈希值,不同的数据生成的哈希值也是不同的,可以有效保证数据的完整性和真实性。
在上述实施方式的全流程既可以用数学公式表达,也可以通过电脑计算展示;为了该示例性说明更加清楚的可视化展出,这个过程可以用下面的伪代码表示:请参阅图8和图9:其中,initial_values()函数生成初始的Rossler System***状态;rossler(x,y,z)函数是Rossler System的计算模块;sha3(message)函数是SHA-3哈希函数模块;key是密钥,用于对哈希值进行加密。对于管理员秘钥1和超级管理员秘钥2,可以在密钥的生成和使用过程中进行区分。
在实际应用中,当需要对数据进行加密处理时,Rossler混沌***是至关重要的。它是一个数学函数,可以将明文转换成密文,以便对其进行安全的存储或传输。
加密函数需要两个参数:一个是要加密的明文,另一个是用于加密的密钥。密钥是一个机密的信息,只有授权的用户可以访问它。在加密的过程中,密钥和明文被输入到加密函数中,然后得到加密后的密文输出。
对于哈希函数来说,它是一种将任意长度的消息映射为固定长度哈希值的函数。哈希函数的特性是单向性,即从哈希值无法还原出原始的明文信息。因此,哈希函数常可以有效对信息进行加密。
在上述公式中:加密函数Enc和哈希函数Hash的原理:
加密函数Enc的生成原理:混沌加密法是一种基于混沌现象的对称密钥加密方法。混沌现象是一种非线性动力学现象,其主要特征是高度复杂、不可预测和随机性。因此在上述公式中,混沌序列与密钥K1混合,生成一个新的密钥K。接着,使用新的密钥K对原始数据M进行混沌加密,得到加密后的数据C。
哈希函数Hash的生成原理:哈希函数是一种将任意长度的消息映射为固定长度哈希值的函数。在本具体实施方式中采用了最新的SHA-256哈希函数。在上述公式中,对加密后的数据C进行哈希处理,得到哈希值H。哈希函数的目的是为了保证数据的完整性;在悲观状态下,即使数据在传输过程中被篡改,也能够检测到,进而还能够快速止损。
综上所述,上述公式中的混沌加密算法和哈希函数是通过将混沌序列与密钥混合生成新的密钥K,并使用该密钥K对原始数据进行加密,最终将加密后的数据进行哈希处理,生成哈希值H,以此来保证数据的机密性和完整性。
进一步的,在本方案中,还引入了:异常检测模块207;该模块与数据寄存器204连接;
其中,为了应对数据寄存器204的异常变动,可以引入一个异常检测模块207,该模块负责监测数据寄存器204的变动情况,当发现数据寄存器204的变动异常时,自动触发调整Rossler***的a、b和c的数值,防止第三方对数据寄存器204数据进行篡改。
同时,还可以在上述保险措施的基础上,为了增强安全性,在上述哈希处理的基础上,还可以引入如下常规技术模块的设置:
(1)数据完整性检测模块:负责检测数据是否被篡改或损坏,并采取相应的措施。例如,可以采用CRC校验、哈希函数等技术来检测数据完整性。
(2)密钥管理模块:负责管理密钥的生成、存储、分发和更新。例如,可以采用密钥分发中心(KDC)模块来管理密钥,实现密钥的自动分发和更新。
(3)多重加密模块:采用多重加密算法来增强数据的安全性。例如,可以采用AES、RSA、SHA等加密算法,通过多次加密来增强数据的安全性。
(4)数据访问控制模块:负责限制数据的访问权限,确保只有具有访问权限的用户才能访问数据。例如,可以采用访问控制列表(ACL)来限制数据的访问权限。
同时,还可以在上述保险措施的基础上,为了增强安全性,在上述哈希处理的基础上,还可以引入一个多重哈希模块,该模块使用多个不同的哈希函数对加密后的数据进行哈希处理,以提高哈希值的随机性和安全性。
同时,还可以在上述保险措施的基础上,还可以引入一些常规的加强加密措施:例如为了防止密钥被暴力破解,可以引入一个密钥加强模块,该模块负责使用随机生成的字符串对原始密钥进行加强,以增加密钥的复杂度和安全性。还例如访问控制模块、密钥管理模块等,以实现更加全面和完善的功能。
优选的,异常检测模块207为mcu模块(不同于电表内的MCU模块101);它用于检测数据寄存器204在不同时间步下,电表的信息是否有大幅度的异常跳动;如果有,则其联动CPU模块201,CPU模块201通过第二无线收发模块202及第一无线收发模块105远程遥控MCU模块101,调整上述Rossler***的a、b和c的数值,防止信息被进一步篡改。
可以理解的是,基于上述引入的异常检测模块207,则上述公式可以进一步迭代为:
K′=E(K1,hash(M))XOR H(mcu)
其中,K1为管理员秘钥,M为原始数据,hash(M)表示对M进行哈希函数处理后得到的结果,H(mcu)表示mcu模块检测到的异常信息,E为混沌加密算法,XOR为异或运算。
该迭代后的公式与先前的公式的区别在于,增加了mcu模块检测到的异常信息作为一部分,以实现对数据寄存器的异常变动进行检测和调整。
其计算框架包括以下步骤:
(1)将原始数据M通过哈希函数处理得到hash(M)。
(2)将hash(M)和管理员秘钥K1输入混沌加密算法E中,生成加密后的结果。
(3)将加密结果与mcu模块检测到的异常信息H(mcu)进行异或运算,得到最终的密钥K’。
(4)使用K’对原始数据M进行加密。
(5)对加密后的数据进行哈希处理,以验证数据的完整性。
(6)使用超级管理员秘钥K2对哈希值进行加密,生成最终的密钥。
(7)当mcu模块检测到异常信息时,会将其与其他信息一起传输给数据接收端,数据接收端将其作为公式中的H(mcu)输入计算,以实现对数据寄存器204的异常变动进行检测和调整。
可以理解的是,在本具体实施方式中,上述具体实施方式提供了两种不同的实施模式;
模式一的简述步骤:
S1:使用混沌算法对明文数据进行加密,生成加密后的数据C。
S2:使用哈希函数对C进行处理,生成哈希值H,即H=Hash(C)。
S3:使用超级管理员秘钥K2对哈希值H进行加密,生成最终的密钥K',即K'=Enc(K2,H)。
S4、后续的解密过程:将接收到的密文数据进行解密,得到密钥K',然后使用K'解密得到原始数据。
模式二简述步骤:
相对于模式一,模式二在模式一的基础上新添加了一个异常检测模块207:
即在模式一的步骤S2和S3之间检测加密后的数据C是否存在异常。具体来说,模式二的步骤如下:
S1:混沌加密,生成加密后的数据C;
S2:异常检测模块207:检测加密后的数据C是否存在异常;
S3:哈希函数:对C进行处理,生成哈希值H,H=H(C);
S4:秘钥管理:使用超级管理员秘钥K2对哈希值H进行加密,生成最终的密钥K':K'=EK2(H);
S5:解密:使用密钥K'解密加密后的数据C,得到原始数据M。
在本方案中,请参阅图11~13:正如上文所述,本方案的电表模块1和后台控制端2仅通过嵌入式开发的形式,通过硬件连接及逻辑运算的形式即可不依赖软件编程而实现上述的工作流程;但是并不意味本方案不能依靠软件编程的形式进行实施;正如图11~图12所述,此为采用软件编程形式运行本方案的源代码(图中已采用注释的形式阐述运行原理,因此这里不再赘述);
需要指出的是,如果采用上述代码运行,则混沌加密模块103和混沌解密模块203则仅需通过其对应的随机数生成器和加解密模块就可以实现;
需要指出的是,如果采用上述代码运行,混沌加密模块103和混沌解密模块203的第一混沌序列生成模块1032和第二混沌序列生成模块2032也可以进行运行;如图13所示,Rossler函数计算Rossler***的微分方程,“generate_chaotic_sequence”函数则用于生成一个长度为“num_points”的混沌序列。函数需要提供初始状态(x_init,y_init,z_init),并且可以通过参数“a,b,c,dt”调整混沌***的参数。生成的混沌序列保存在一个Numpy数组中返回。
可以理解的是,上述方案仅是对采用软件编程的形式运行本具体实施方式的一种手段。其也可以通过前文所述的嵌入式技术,以硬件的形式进行运行。具体的选型可依据实际使用需求自行拟定。
以上所述具体实施方式的各技术特征可以进行任意的组合,为使描述简洁,未对上述具体实施方式中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
实施例一
为使本发明的上述具体实施方式更加明显易懂,下面对本发明的具体实施方式做详细的示例性的说明。本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的实施例的限制。
本实施例基于上述具体实施方式中描述的相关原理,其中示例性应用时:
某小区采用了如上述具体实施方式提供的电表模块1、后台控制端2、用户交互端4所组成的物联网***;其中电表模块1需要进行远程读取,并确保数据的安全性。电表模块1与后台控制端2实现远程通信,同时,该小区的业主可以通过手机APP(用户交互端4)实现对电表模块1的实时监控。
环境设定:
电表模块1的数据源模块102每小时采集一次数据,每次采集得到的数据包括电量E和水量W。后台控制端2为每个电表模块1生成一个唯一的管理员秘钥K1,用于混合生成加密密钥K。用户使用手机APP进行实时监控,并需要通过用户名和密码进行身份验证,以确保只有合法用户可以访问数据。
哈希函数使用的是SHA-256型;
S1、电表模块1采集数据:电表模块1每小时采集一次数据,得到电量E和水量W,即:
M=[E,W]。
S2、生成随机数S:电表模块1中,混沌加密模块103使用Rossler***生成混沌序列S,作为随机数,用于混淆加密密钥K和哈希函数的输入。Rossler***的操作方式在上文具体实施方式中已经阐述,在此不再赘述。
S3、生成加密密钥K:
电表模块1中,MCU模块101将随机数S和管理员秘钥K1进行混合,生成加密密钥K,即:
K=S⊕K1
S4、加密数据:电表模块1中,MCU模块101先使用加密函数Enc,将原始数据M加密得到密文C,即:
C=Enc(K,M)
S5、计算哈希值:电表模块1中,C通过第一无线收发模块105传递至后台控制端2的第二无线收发模块202;第二无线收发模块202发送至CPU模块201;
S5.1、电表模块1的第一哈希函数模块104,和后台控制端2的第二哈希函数模块205对C进行哈希处理;因第一哈希函数模块104和第二哈希函数模块205实质相同,因此第一哈希函数模块104处理的C存储至数据寄存器204并不受影响;
S5.2、第一哈希函数模块104和第二哈希函数模块205处理的C:
对密文C进行哈希处理,得到哈希值H,即:
H=Hash(C)
S6、用户身份验证:用户使用手机APP,通过云端3访问后台控制端2的第三无线收发模块206至CPU模块201,输入用户名和密码进行身份验证。此为常规技术,不再赘述。
S7、发送加密数据和哈希值:经过身份验证后,用户获取加密数据C和哈希值H,用于实时监控水电表的数据。
S8、验证哈希值:用户使用哈希函数Hash,对收到的密文C进行哈希处理,得到哈希值H’,即:
H′=Hash(C)
S9、解密数据:
用户使用加密函数Enc,将密文C解密得到原始数据M,即:
M=Dec(K,C)。
在上述过程中,通过混沌加密与哈希函数相互结合可以实现更加安全可靠的加密方案。其中混沌加密算法基于混沌理论,具有高度的随机性和不可预测性,可以有效防止黑客攻击和破解。哈希函数则可以将任意长度的数据转换成固定长度的哈希值,将任意长度的消息映射为固定长度哈希值的函数。哈希函数的特性是单向性,即从哈希值无法还原出原始的明文信息,不同的数据生成的哈希值也是不同的,可以有效保证数据的完整性和真实性。
同时,就保险措施而言:即使采用暴力破解的形式在水表模块1将第一哈希函数模块104暴力破解,基于上述传输的模式,数据寄存器204的数据和云端3的数据必定不同,则可以通过CPU模块201快速判定,并将Rossler***的a、b和c参数进行调整,实现快速止损。
以上所述实施例仅表达了本发明的相关实际应用的实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
实施例二
为使本发明的上述具体实施方式更加明显易懂,下面对本发明的具体实施方式做详细的示例性的说明。本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的实施例的限制。
本实施例基于上述具体实施方式中描述的相关原理,并对实施例一进行进一步的示例性推导;其中示例性应用时:
当前环境中,异常检测模块207检测到数据寄存器204内有异常数据波动,判定到具体波动信息的电表模块1;目前就该电表模块1而言,CPU模块201将云端3与数据寄存器204内的两组哈希函数处理后的数据(及第一哈希函数模块104和第二哈希函数模块205分别将信息导入进数据寄存器204内及云端内)进行对比,发现两组数据在两个哈希函数模块均相同的前提下发生了数值变动,则判定目前数据可能在电表模块1的部分遭受到人为篡改:反之,则判定后台控制端2部分可能产生了工作人员的监守自盗。
S1、设该电表模块1每个月需要向后台控制端报告水和电的用量数据,其中水的用量为250L,电的用量为300kWh。
CPU模块201将上一个时间步(即异常波动的时间点之前的最近的用水及用电数据)的数据进行读取;
S2、调整数据混沌加密:
S2.1、将第一哈希函数模块104和第二哈希函数模块205从SHA-256改为SHA-512;或是刷新SHA-256;
S2.2、更改Rossler***的a、b、c参数数值,该数值可以由CPU模块201及CPU模块201通知混沌加密模块103和混沌解密模块203的第一随机数生成器1031和第二随机数生成器2031随机生成;
S3、电表模块1将采集到的数据作为原始数据M输入混沌加密函数Enc中,同时生成新的混沌序列S。将新的混沌序列S与管理员秘钥K1混合生成新的密钥K。密钥K和原始数据M经过异或运算后得到加密后的数据C。
S3.1、设管理员秘钥K1为[0.2,0.5,0.8],混沌***的参数值为a=0.2,b=0.2,c=5.7,初始值为x0=0.1,y0=0.1,z0=0.1,生成的混沌序列为:
S=[0.222,0.232,0.222,0.215,0.207,0.199,0.192,0.184,0.177,0.169,0.161,0.153,0.146,0.138,0.130,0.122,0.115,0.107,0.099,0.091,0.083,0.075,0.067,0.059,0.051]
将混沌序列S与管理员秘钥K1混合得到新的密钥K:
K=[0.044,0.366,0.622]
将密钥K和原始数据M经过异或运算得到加密后的数据C:
C=[48.49,47.63]
数据哈希处理:
加密后的数据C经过哈希函数Hash处理,得到哈希值H。
如哈希函数新使用的是SHA-256算法,经过哈希处理后得到哈希值H:
H=f5434d4d4c2d01bbba80a6a1f2c3bca965f44dfc083d0e39837418
S4、管理员(工作人员或CPU模块201自动启动)使用自己的私钥K1对H进行数字签名,生成签名值Sign,即:
Sign=Sign(K1,H)
签名值Sign和混沌加密生成的密文密钥K一起传输给用户交互端4。
S5、用户在收到密文密钥K和签名值Sign后,首先使用自己的私钥K2对K进行解密,得到明文密钥K'。然后,用户使用管理员的公钥K1'对签名值Sign进行验证,得到哈希值H'。如果H'与H相等,则说明签名有效,可以信任K'。最后,用户使用K'对消息进行解密,得到原始的数据信息。
在上述S1~S4内,可在一个时间步内瞬间执行上述步骤,并防止信息遭到进一步的篡改,实现主动防御。
以上所述实施例仅表达了本发明的相关实际应用的实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于哈希函数的混沌加密智能电表,其特征在于,包括电表模块(1),及与电表模块(1)交互的后台控制端(2);
电表模块(1)包括MCU模块(101)、数据源模块(102)、混沌加密模块(103)和无线收发模块(105);
数据源模块(102)将检测的用电信息明文发送至MCU模块(101),MCU模块(101)将明文发送至混沌加密模块(103)进行加密,生成密文;并通过第一无线收发模块(105)发送至后台控制端(2)的第二无线收发模块(202);
后台控制端(2)通过CPU模块(201)将密文存储至数据寄存器(203),将密文发送到混沌解密模块(203)进行解密,并将解密后的明文通过发送至第三无线收发模块(206)传递至用户交互端(4)。
2.根据权利要求1的智能电表,其特征在于:电表模块(1)还包括第一哈希函数模块(104),后台控制端(2)还包括第二哈希函数模块(205);
混沌加密模块(103)将密文发送至第一哈希函数模块(104)进行哈希处理后,再将密文通过第一无线收发模块(105)发送并由数据寄存器(203)存储;
混沌解密模块(203)将信息解密后通过第二哈希函数模块(205)再次哈希处理,将解密后的明文通过发送至第三无线收发模块(206)传递至用户交互端(4)。
异常检测模块(207)检测数据寄存器(203)的异常变动并与之连接。
3.根据权利要求2的智能电表,其特征在于:第一哈希函数模块(104)等同于第二哈希函数模块(205)。
4.根据权利要求1~3任意一项的智能电表,其特征在于:混沌加密模块(103)包括用于生成随机数序列的第一随机数生成器(1031)、将随机数序列作为种子生成混沌序列作为加密密钥的第一混沌序列生成模块(1032),和使用生成的混沌序列对输入数据进行加密生成密文输出的加密器模块(1033);
第一随机数生成器(1031)、第一混沌序列生成模块(1032)和加密器模块(1033)依次连接。
5.根据权利要求4任意一项的智能电表,其特征在于:混沌解密模块(203)包括与第一随机数生成器(1031)相同的第二随机数生成器(2031);
与第一混沌序列生成模块(1032)相同的使用同一个随机数序列作为种子,生成混沌序列的第二混沌序列生成模块(2032);
以及使用生成的混沌序列对输入密文进行解密,生成明文输出解密器模块(2033)。
6.一种基于哈希函数的混沌加密智能电表的加密方法,其特征在于,使用包括如权利要求1~5任意一项所述的智能电表实施如下步骤:
S1、电表模块(1)检测用电信息的第一数据流进行混沌加密,生成第二数据流,发送至后台控制端(2);
S2、后台控制端(2)将第二数据流存储,并通过混沌解密生成为第一数据流发送至用户交互端(4)。
7.根据权利要求6的加密方法,其特征在于:
在S1中,还包括:
S1.1、初始化:生成一个伪随机初始向量,伪随机初始向量包括混沌***的初始状态和哈希函数的种子;
S1.2、加密:将第一数据流的明文信息转化为比特序列,将该比特序列和初始向量输入到混沌***中加密;
加密后的结果与初始向量经过哈希函数生成另一个伪随机向量,作为下一轮加密的初始向量;重复执行加密操作,直到加密完整个信息
同时,生成管理员秘钥1和超级管理员秘钥2。
8.根据权利要求7的加密方法,其特征在于:
在S2中,还包括:
S2.1、解密:将第二数据流的密文信息转化为比特序列,然后将该比特序列和初始向量输入到混沌***中进行解密;
解密后的结果与初始向量经过哈希函数生成如S1.2中的伪随机向量,作为下一轮解密的初始向量;重复执行解密操作,直到解密完整个信息。
9.根据权利要求7~8任意一项的加密方法,其特征在于:在S1~S2中:
S1.2还包括:管理员秘钥K1;
解密过程中,与初始向量一起输入到哈希函数中生成伪随机密钥,用于解密信息;
还包括:
S3、超级管理员秘钥K2:秘钥K2用于开启寄存数据。
10.根据权利要求9的加密方法,其特征在于:
设原始数据为M,管理员秘钥为K1,超级管理员秘钥为K2,加密后的数据为C,哈希函数输出为H;
混沌加密:
生成混沌序列S,将S与管理员秘钥K1混合生成新的密钥K:
K=H(K1||S)
使用密钥K对原始数据M进行混沌加密,生成加密后的数据C:
C=EK(M)
EK:使用密钥K进行加密的过程。
哈希函数:对加密后的数据C进行哈希处理,生成哈希值H:
H=H(C)
H:哈希函数的输出;H(C):对C进行哈希处理的过程;
秘钥管理:
使用超级管理员秘钥K2对哈希值H进行加密,生成最终的密钥K':
EK2:使用密钥K2进行加密的过程;
解密:使用超级管理员秘钥K2对密钥K'进行解密得到哈希值H,对加密数据C进行解密得到原始数据M:
M=DK(C)
DK2和DK分别表示:使用密钥K2和K进行解密的过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310372838.2A CN116418480A (zh) | 2023-04-10 | 2023-04-10 | 一种基于哈希函数的混沌加密智能电表及其加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310372838.2A CN116418480A (zh) | 2023-04-10 | 2023-04-10 | 一种基于哈希函数的混沌加密智能电表及其加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116418480A true CN116418480A (zh) | 2023-07-11 |
Family
ID=87049230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310372838.2A Pending CN116418480A (zh) | 2023-04-10 | 2023-04-10 | 一种基于哈希函数的混沌加密智能电表及其加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116418480A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130622A (zh) * | 2023-10-26 | 2023-11-28 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种分布式在线代码编译运行方法及*** |
-
2023
- 2023-04-10 CN CN202310372838.2A patent/CN116418480A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130622A (zh) * | 2023-10-26 | 2023-11-28 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种分布式在线代码编译运行方法及*** |
CN117130622B (zh) * | 2023-10-26 | 2024-01-12 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种分布式在线代码编译运行方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10482291B2 (en) | Secure field-programmable gate array (FPGA) architecture | |
Biham et al. | Rogue7: Rogue engineering-station attacks on s7 simatic plcs | |
JP4673890B2 (ja) | オンラインサービスを用いてデバイスに直接証明秘密鍵を転送する方法 | |
CN104866784B (zh) | 一种基于bios加密的安全硬盘、数据加密及解密方法 | |
CN107078906A (zh) | 公钥加密*** | |
CN107135070A (zh) | Rsa密钥对和证书的注入方法、架构及*** | |
CN107094108A (zh) | 连接到数据总线的部件和在该部件中实现加密功能的方法 | |
CN110958219A (zh) | 一种面向医疗云共享数据的sm2代理重加密方法与装置 | |
CN109951276B (zh) | 基于tpm的嵌入式设备远程身份认证方法 | |
CN114567431B (zh) | 一种用于单向传输的安全认证方法 | |
CN105978686A (zh) | 密钥管理方法及*** | |
CN116418480A (zh) | 一种基于哈希函数的混沌加密智能电表及其加密方法 | |
CN113312608A (zh) | 一种基于时间戳的电力计量终端身份认证方法及*** | |
CN114499857A (zh) | 一种实现大数据量子加解密中数据正确性与一致性的方法 | |
CN105915345B (zh) | 一种家庭网关设备生产测试中授权生产和改制的实现方法 | |
CN103746805A (zh) | 外部认证密钥的生成方法和*** | |
US20230289424A1 (en) | Security Chip-Based Security Authentication Method and System, Security Chip, and Readable Storage Medium | |
CN112039654A (zh) | 一种抵御中间人攻击的电表数据安全采集方法 | |
CN109413644B (zh) | LoRa加密认证通信方法、存储介质及电子终端 | |
RU2533087C2 (ru) | Криптография с параметризацией на эллиптической кривой | |
CN104917616A (zh) | 一种基于智能卡的软件定义网络中网络设备认证方法 | |
CN108900307A (zh) | Pgp密钥管理认证密码恢复算法的fpga实现方法 | |
CN114499825A (zh) | 一种双控密钥管理方法、***、加密机和存储介质 | |
CN113408013A (zh) | 多种算法规则混合的加解密芯片构架 | |
CN114124366A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240226 Address after: 25 Guangming Road, Yinchuan (National) economic and Technological Development Zone, Ningxia Hui Autonomous Region Applicant after: NINGXIA LONGJI NINGGUANG INSTRUMENT Co.,Ltd. Country or region after: China Address before: No. 22-2-502, Hubin Community, Xingqing District, Yinchuan, 750000 Ningxia Applicant before: Zhang Wei Country or region before: China |