本发明涉及一种用于加密智能电网业务数据的混合加密方法及系统,属于通信。
背景技术:
1、近年来,以5g技术为基础的智能电网快速发展,5g电力通信网络为各类电力业务的安全性、实时性、准确性和可靠性提供了更高的保障。将5g技术应用在电网场景中,必须采取有效措施来防止电力业务数据的信息泄露。行业内普遍采用的方法是进行数据加密,从而实现电力业务通道的端到端加密。
2、数据加密算法一般分为对称加密和非对称加密,对称加密的优点是加解密速度快,但是应用在电网场景下需要向接收方传递秘钥从而引起秘钥泄漏的风险。非对称加密由于采用了公钥和私钥分离的方法,所以具有很高的安全性,但是其复杂的数学计算导致了其加密效率远低于对称算法。
3、为了同时保障智能电网业务数据加密时的有效性和安全性,业内广泛使用对称加密与非对称加密相结合的混合算法。一种已经被证明可行有效的方式是使用对称算法加密电网业务数据,而使用非对称算法来加密对称算法的秘钥。已有文献使用aes加密纯文本,使用elliptic curve diffie-hellman(ecdh)protocol来加密aes的秘钥,在安全有保障的情况下降低计算复杂度。另有文献通过aes加密电力数据,通过sm2算法加密aes的秘钥,保障了电力数据的安全传输。
4、然而,智能电网业务不断发展并且要求越来越低的端到端时延,如毫秒级精准负荷控制业务要求时延小于50毫秒。上述各种混合方式在加密的安全性和有效性方面各有侧重,但是仍需提高加解密的有效性来适应电力业务越来越严格的低时延需求。
技术实现思路
1、本发明的目的在于克服现有技术中的不足,提供一种用于加密智能电网业务数据的混合加密方法及系统,通过优化密码算法来缩短智能电网业务的端到端时延,以支持5g智能电网的持续发展。
2、为达到上述目的,本发明是采用下述技术方案实现的:
3、第一方面,本发明提供了一种用于加密智能电网业务数据的混合加密方法,适用于发送端,所述方法包括:
4、将待发送的业务数据基于随机分块比例分成大小不同的两部分,分别记为小数据块a和大数据块b;
5、使用非对称密码算法的公钥对小块数据进行加密,得到数据密文c1;
6、使用乱序编码对称算法对大数据块b进行加密,得到数据密文c2;
7、使用非对称密码算法的公钥对乱序编码对称算法的秘钥进行加密,和乱序编码对称秘钥密文c3,其中,乱序编码对称算法的秘钥中嵌入有分块的比例ratio;
8、使用哈希算法对待发送的业务数据进行计算,获得哈希值h1;
9、将c1,c2,c3,h1发送至接收端。
10、进一步的,所述将待发送的业务数据基于随机分块比例分成大小不同的两部分,包括:
11、依据一个随机的比率ratio将业务数据进行分块;
12、设定单次需要发送的业务数据总长度为l字符,计算l*ratio得到l1,l1除以10得到l2;
13、对于发送的l个字符,每隔l1个字符选取10个字符的小数据块,重复此操作l2次,直到选择的字符数达到l1,并在最后一段字符中填充垃圾数据并将填充的数量声明在最后一段的开头,得到的数据块的集合记为数据块a,剩余的l-l1个字符称为大数据块b。
14、进一步的,所述使用乱序编码对称算法对大数据块b进行加密,得到数据密文c2,包括:
15、基于初始序列获得随机排列p,生成n1~n10共10个随机数,将p分别向后移位n1,n2,…,n10个位置,得到p1,p2,…,p10共10个随机排列。将所得的10个序列和原始序列构成一个乱序编码表,其第1列是原始序列,第i(2≤i≤11)列为得到的排列p(i-1);
16、生成一个范围在2~11的随机整数m,然后将业务数据对应的十进制序列替换为第m列的数值;
17、基于得到的编码表对大数据块b进行加密,加密过程一次加密10个字符的数据,每当10个字符被加密之后,编码表的第2~11列的值向下移动一位,从而成为后续10个字符的编码表,以此类推,直到将初始序列替换后的所有数据加密完成,当最后一组数据不足10个字符时,补充一定的垃圾数据,并将补充的字符个数声明在最后一组10字符数据的开头。
18、进一步的,所述基于初始序列获得随机排列p,包括:
19、首先输入一个初始数字序列,然后基于使用随机数生成器生成的一个随机数k,选择原始排列的第k个数与原序列的最后一个数进行交换,得到一个新的排列,在此基础上,重复上述步骤,不断将随机位置的数与序列的最后一个未被替换的数进行交换,随机数的范围会不断缩小至1,从而得到一个不重复的随机序列p。
20、第二方面,本发明提供一种用于加密智能电网业务数据的混合加密方法,适用于接收端,所述方法包括:
21、接收发送端发送的数据密文c1、数据密文c2、乱序编码对称秘钥密文c3和哈希值h1;
22、使用非对称密码算法的私钥对数据密文c1进行解密,得到小数据块a;
23、使用非对称密码算法的私钥对乱序编码对称秘钥密文c3进行解密,得到乱序编码对称算法的秘钥;
24、使用乱序编码对称算法的秘钥对数据密文c2进行解密,得到大数据块b;
25、基于乱序编码对称算法的秘钥中包含的比例ratio,执行加密时分块的逆操作,组合a和b得到业务数据;
26、使用哈希算法计算业务数据的哈希值h2;
27、比较h2和接收到的h1是否完全一致,如果一致则输出解密的业务数据。
28、进一步的,比较h2和接收到的h1是否完全一致时,如果不一致,则说明接收到的数据经过了篡改或者丢失,此时进行报错。
29、第三方面,本发明提供一种用于加密智能电网业务数据的混合加密系统,包括发送端和接收端,其中:
30、发送端用于将待发送的业务数据基于随机分块比例分成大小不同的两部分,分别记为小数据块a和大数据块b;
31、发送端用于使用非对称密码算法的公钥对小块数据进行加密,得到数据密文c1;
32、发送端用于使用乱序编码对称算法对大数据块b进行加密,得到数据密文c2;
33、发送端用于使用非对称密码算法的公钥对乱序编码对称算法的秘钥进行加密,和乱序编码对称秘钥密文c3,其中,乱序编码对称算法的秘钥中嵌入有分块的比例ratio;
34、发送端用于使用哈希算法对待发送的业务数据进行计算,获得哈希值h1;
35、发送端用于将c1,c2,c3,h1发送至接收端;
36、接收端用于接收发送端发送的数据密文c1、数据密文c2、乱序编码对称秘钥密文c3和哈希值h1;
37、接收端用于使用非对称密码算法的私钥对数据密文c1进行解密,得到小数据块a;
38、接收端用于使用非对称密码算法的私钥对乱序编码对称秘钥密文c3进行解密,得到乱序编码对称算法的秘钥;
39、接收端用于使用乱序编码对称算法的秘钥对数据密文c2进行解密,得到大数据块b;
40、接收端用于基于乱序编码对称算法的秘钥中包含的比例ratio,执行加密时分块的逆操作,组合a和b得到业务数据;
41、接收端用于使用哈希算法计算业务数据的哈希值h2;
42、接收端用于比较h2和接收到的h1是否完全一致,如果一致则输出解密的业务数据。
43、第四方面,本发明提供一种用于加密智能电网业务数据的混合加密装置,适用于发送端,所述装置包括:
44、划分模块,用于将待发送的业务数据基于随机分块比例分成大小不同的两部分,分别记为小数据块a和大数据块b;
45、第一加密模块,用于使用非对称密码算法的公钥对小块数据进行加密,得到数据密文c1;
46、第二加密模块,用于使用乱序编码对称算法对大数据块b进行加密,得到数据密文c2;
47、第三加密模块,用于使用非对称密码算法的公钥对乱序编码对称算法的秘钥进行加密,和乱序编码对称秘钥密文c3,其中,乱序编码对称算法的秘钥中嵌入有分块的比例ratio;
48、第一计算模块,用于使用哈希算法对待发送的业务数据进行计算,获得哈希值h1;
49、发送模块,用于将c1,c2,c3,h1发送至接收端。
50、第五方面,本发明提供一种用于加密智能电网业务数据的混合加密装置,适用于接收端,所述装置包括:
51、接收模块,用于接收发送端发送的数据密文c1、数据密文c2、乱序编码对称秘钥密文c3和哈希值h1;
52、第一解密模块,用于使用非对称密码算法的私钥对数据密文c1进行解密,得到小数据块a;
53、第二解密模块,用于使用非对称密码算法的私钥对乱序编码对称秘钥密文c3进行解密,得到乱序编码对称算法的秘钥;
54、第三解密模块,用于使用乱序编码对称算法的秘钥对数据密文c2进行解密,得到大数据块b;
55、组合模块,用于基于乱序编码对称算法的秘钥中包含的比例ratio,执行加密时分块的逆操作,组合a和b得到业务数据;
56、第二计算模块,用于使用哈希算法计算业务数据的哈希值h2;
57、比较模块,用于比较h2和接收到的h1是否完全一致,如果一致则输出解密的业务数据。
58、第六方面,本发明提供一种电子设备,包括处理器及存储介质;
59、所述存储介质用于存储指令;
60、所述处理器用于根据所述指令进行操作以执行根据前述任一项所述方法的步骤。
61、第七方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一项所述方法的步骤。
62、与现有技术相比,本发明所达到的有益效果:
63、本发明针对5g背景下智能电网业务对端到端低时延的苛刻要求及系统,提供一种用于加密智能电网业务数据的混合加密方法,其优点在于在保障安全性的前提下,基于分块和乱序编码等方法,实现了极低的加解密时长。