掌桥专利:专业的专利平台
掌桥专利
首页

一种新能源场站数据的加密与解密方法及系统

文献发布时间:2024-04-18 20:00:25


一种新能源场站数据的加密与解密方法及系统

技术领域

本发明涉及新能源场站数据加密领域,特别是一种新能源场站数据的加密与解密方法及系统。

背景技术

在现有的新能源场站中,跨区通信本身已经经过了硬件隔离,如反向隔离装置、硬件防火墙等。这使得生产数据在跨区之间的传输具有较高的安全性。但随着新能源业务方面的需要,生产数据需要经过外网传输至云平台,而在许多新能源场站中,电力安全III区与外网之间并没有设置硬件隔离,因此需要一种可靠的数据加密技术来实现安全数据传输。在现有的加密产品中,对称加密算法(如AES、DES)的安全性主要依赖于密钥的长度和保密性。随着计算能力的提升,这些算法可能面临被量子计算攻破的风险。非对称加密算法(如RSA、ECC)虽然具有较高的安全性,但在加密解密过程中计算复杂度较高,导致效率低下。单一混沌映射加密方法(如Logistic映射或Tent映射)在实际应用中可能表现出较短的周期性、有限的混沌范围等问题,导致这些系统可能存在安全隐患。

现有技术中的加密方法存在以下缺点,对称加密算法(如AES、DES)的安全性主要依赖于密钥的长度和保密性。随着计算能力的提升,这些算法可能面临被量子计算攻破的风险。非对称加密算法(如RSA、ECC)虽然具有较高的安全性,但在加密解密过程中计算复杂度较高,导致效率低下。单一混沌映射加密方法(如Logistic映射或Tent映射)在实际应用中可能表现出较短的周期性、有限的混沌范围等问题,导致这些系统可能存在安全隐患。与本专利内容最相近的技术是基于单一混沌映射的加密方法。在文献《A novel imageencryption scheme based on logistic chaotic map》中,作者提出了一种基于Logistic映射的图像加密方案。然而,这种方法由于仅使用了单一混沌映射,可能存在周期性短、混沌范围小等问题。

发明内容

鉴于现有的新能源加密方法中存在的问题,提出了本发明。

因此,本发明所要解决的问题在于基于Logistic映射的图像加密方案仅使用了单一混沌映射,可能存在周期性短、混沌范围小等问题。

为解决上述技术问题,本发明提供如下技术方案:

第一方面,本发明实施例提供了一种新能源场站数据的加密与解密方法,其包括,

加密方法与解密方法;

所述加密方法包括以下子步骤:

初始化过程;混合伪随机序列生成;基于滑动窗口的分块及异或加密;密文数据的索引置换;

所述解密方法包括以下子步骤:

初始化过程;混合伪随机序列生成;

根据获取的伪随机序列S

根据索取的伪随机序列S

作为本发明所述新能源场站数据的加密与解密方法的一种优选方案,其中:所述加密方法中的初始化过程包括以下子步骤:

从用户端接收明文数据P及密钥K;

对密钥K进行转换处理,将其转换为二进制数据格式;

将转换处理后的密钥K进行分割处理,生成多个子密钥用于初始化不同的映射算法;

利用生成的子密钥分别作为不同的混沌映射的初始参数,所述初始参数包括初始状态值与控制参数,所述映射包括Logistic映射、Henon映射和Tent映射,所述Logistic映射采用如下公式表示:x(n+1)=r*x(n)*(1-x(n));

根据加密安全性需求和计算效率,确定混合映射的迭代次数,消除初始瞬间效应,提高混沌序列的随机性;

所述加密方法中的混合伪随机序列生成包括以下子步骤:

对每个映射,分别进行N次迭代操作,其中,N已经在初始化过程进行了确定,三种映射的具体迭代公式如下:

Logistic映射:x(n+1)=r*x(n)*(1-x(n));

Henon映射:x(n+1)=y(n)+1-a*x(n)^2,y(n+1)=b*x(n);

Tent映射:μ(n+1)=mu*min(μ(n),1-μ(n));

将各个映射生成的伪随机序列按照以下规则混合成一个复杂的伪随机序列S,混合策略包括加权求和、异或组合、置换组合;

对混合后的伪随机序列S转换为二进制序列;

规范二进制序列长度,完成将伪随机序列S转换伪二进制序列S

所述加权求和公式表示为S(n)=w1*S1(n)+w2*S2(n)+w3*S3(n),其中w1、w2、w3为权重系数;

所述异或组合公式表示为S(n)=S1(n)XOR S2(n)XOR S3(n);

所述置换组合包括将序列S1、S2、S3进行交织排列,S=[S1(1),S2(1),S3(1),S1(2),S2(2),S3(2),...];

所述对混合后的伪随机序列S转换伪二进制序列包括以下子步骤:

确保混合后的伪随机序列S中的每个元素都在一个统一的范围内,所述范围为[0,1],若原始序列中的元素不在[0,1]内,则将每个元素除以原始序列中的元素的最大值实现规范;

将规范化后的伪随机序列S中的每个元素映射到该整数范围,使用以下公式进行转换:

S

其中,S

将规范后的伪随机序列S中的每个元素逐个转换伪目标整数范围内的整数,并依次放入新的整数序列S

将整数序列转换为二进制序列,所述转换包括:

初始化空字符串或列表存储二进制序列;

对整数序列S

将转化后的二进制数添加至初始化后的字符串或列表末尾。

作为本发明所述新能源场站数据的加密与解密方法的一种优选方案,其中:所述基于滑动窗口的分块及异或加密包括以下步骤:初始化滑动窗口并将窗口内明文数据块datablock转换为二进制表示;

将伪二进制序列S

若len(S

若len(S

将异或处理步骤后的二进制序列转换为字符显示,将所述字符作为异或加密的数据块M

使用列表进行数据块的存储,直到左边界的位置超出明文数据长度为止,得到数据块列表M

作为本发明所述新能源场站数据的加密与解密方法的一种优选方案,其中:所述密文数据的索引置换包括以下步骤:

根据伪随机序列S

对M

经过以上索引置换,得到密文块C

所述操作包括以下步骤:

使用伪随机整数序列S

根据置换序列P对异或加密数据块M

作为本发明所述新能源场站数据的加密与解密方法的一种优选方案,其中:所述解密方法中的初始化过程包括以下步骤:

从接收端获取密文块列表C

对密钥K进行与加密过程的相同操作,所述加密过程中的同样操作包括二进制转换、密钥K的分割算法和子密钥混合映射函数的选取;

利用生成的子密钥分别作为不同映射的初始参数;

所述混合伪随机序列生成包括以下子步骤:

对每个映射,使用相同的初始参数和迭代次数N;

混合各个映射算法生成的伪随机序列;

将混合后的伪随机序列S转换为二进制序列。

作为本发明所述新能源场站数据的加密与解密方法的一种优选方案,其中:所述逆置换操作包括以下步骤:

使用整数伪随机序列S

根据逆置换序列P

所述生成与加密过程相匹配的逆置换序列P

通过与加密相同的操作方式得到置换序列P。

创建与置换序列P相同长度的列表P

遍历置换序列P中的每个元素i,将对应位置的P

所述索引逆置换包括以下子步骤:

创建与密文数据块C

遍历密文数据块C

找到逆置换序列P

将密文数据块C

完成密文数据块C

作为本发明所述新能源场站数据的加密与解密方法的一种优选方案,其中:所述对密文数据进行异或解密操作包括以下步骤:

将密文数据块C

使用与加密过程相同的二进制伪随机序列S

将异或处理后的二进制序列转换为字符表示。

第二方面,本发明实施例提供了一种新能源场站数据的加密与解密方法及系统,其包括:初始化模块,用于初始化参数准备工作,确定迭代次数,选择混合映射函数;伪随机序列生成模块,用于生成加密和解密的随机序列;数据加密模块,用于利用随机序列对原始数据进行交换和置换,通过多种加密方法,对原始数据进行加密操作;数据解密模块,用于按照相反顺序进行解密,恢复原始明文。

第三方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中:所述处理器执行所述计算机程序时实现上述的新能源场站数据的加密与解密方法的任一步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中:所述计算机程序被处理器执行时实现上述的新能源场站数据的加密与解密方法的任一步骤。

本发明有益效果为通过结合多个混沌映射,Logistic映射、Henon映射和Tent映射算法生成复杂的伪随机序列,并融合滑动窗口技术进行分块混淆加密,解决了现有技术中单一混沌映射所面临的问题。这种基于滑动窗口及混合混沌映射的加密方法具有更高的安全性和抗攻击能力,能够保证新能源场站中的生产数据的传输安全性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中:

图1为新能源场站数据的加密与解密方法的加密算法框架示意图。

图2为新能源场站数据的加密与解密方法的解密算法框架示意图。

图3为新能源场站数据的加密与解密方法的明文数据、加密后的密文数据及解密后的还原明文数据的对比示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。

本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。

同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

实施例1

参照图1和图2,为本发明第一个实施例,该实施例提供了一种新能源场站数据的加密与解密方法,包括:

加密算法和解密算法,其中加密算法包括:

S1:初始化过程。

从用户端接收明文数据P及密钥K。

进一步的,对密钥K进行转换处理,将其转换为二进制数据格式,

更进一步的,将转换处理后的密钥K进行分割处理,生成多个子密钥(K1,K2,K3,...)用于初始化不同的映射算法。分割处理方法需按照具体实际情况进行选择,选择按照密钥长度进行等分,也可以参照具体分割算法实现。关键是要确保子密钥之间具有足够的差异性,以便使得混沌映射产生的序列具有高度的随机性。

进一步的,利用生成的子密钥分别作为不同的混沌映射的初始参数,初始参数包括初始状态值与控制参数。为了便于理解,以下给出Logistic映射的具体的计算方法,其余映射方法类似:

Logistic映射:迭代公式为x(n+1)=r*x(n)*(1-x(n));

由于子密钥K1是二进制数,可以先通过转换为十进制数,再进行归一化操作使其分布在某一具体范围内。这样便得到所需的初始条件x0和控制参数r。

使用K1的前半部分计算x0:x0=K1前半段的十进制值/2^(k1前半段长度)-1

使用K1的后半部分计算r:r=K1后半段的十进制值/2^(k1后半段长度)-1。

更进一步的,根据加密安全性需求和计算效率进行综合考虑,来确定混合映射Logistic映射、Henon映射和Tent映射的迭代次数N,从而达到消除初始瞬间效应以及提高混沌序列的随机性。较大的迭代次数可以提高安全性,因为其使得初始瞬间效应影响减小,使混沌序列进入混沌区域,提高了序列的随机性,但不可避免地提高了计算的复杂性,需要消耗大量算力。较小的迭代次数可以提高计算效率,但无法充分发挥混沌映射的优势,导致生成的混沌序列具有较低的随机性,没有很好的安全性。

S2:混合伪随机序列生成。

对每个映射(包括Logistic映射、Henon映射和Tent映射),分别进行N次迭代操作。其中,N已经在步骤1的初始化过程进行了确定。三种映射的具体迭代公式如下:

Logistic映射:x(n+1)=r*x(n)*(1-x(n));

Henon映射:x(n+1)=y(n)+1-a*x(n)^2,y(n+1)=b*x(n);

Tent映射:μ(n+1)=mu*min(μ(n),1-μ(n))。

进一步的,将各个映射生成的伪随机序列按照以下规则混合成一个复杂的伪随机序列S。混合策略可以包括加权求和、异或组合、置换组合等。

加权求和:S(n)=w1*S1(n)+w2*S2(n)+w3*S3(n),其中w1、w2、w3为权重系数。

异或组合:S(n)=S1(n)XOR S2(n)XOR S3(n);

置换组合:将序列S1、S2、S3进行交织排列,如S=[S1(1),S2(1),S3(1),S1(2),S2(2),S3(2),...]。

更进一步的,对混合后的伪随机序列S转换为二进制序列,以满足加密算法的要求,具体算法如下:

(1)规范化:首先,我们需要确保混合后的伪随机序列S中的每个元素都在一个统一的范围内。通常,这个范围是[0,1]。如果原始序列中的元素不在此范围内,可以通过将每个元素除以其最大值来实现规范化,S

(2)映射到整数范围:确定一个目标整数范围,例如[a,b],其中a和b都是整数。为了将规范化后的伪随机序列S中的每个元素映射到该整数范围,我们可以使用以下公式进行转换:

S

其中,S

(3)转换为整数序列:使用上述公式,将规范化后的伪随机序列S中的每个元素逐个转换为目标整数范围内的整数,并依次放入新的整数序列S

(4)将整数序列转换为二进制序列:由于整数序列无法直接应用于后续的加密步骤,因此对于整数序列S

①初始化一个空字符串或列表来存储二进制序列;

②对于整数序列S

③将转换后的二进制数追加到初始化后的字符串或列表的末尾。

(5)规范化二进制序列长度:在某些应用场景中,可能需要规范化二进制序列中每个元素的长度(例如,要求所有元素都是8位二进制数)。如果需要进行此类处理,请在将整数转换为二进制表示时确保每个二进制数字具有相同的位数(可以通过缺位补零操作实现)。

经过上述处理,完成将伪随机序列S转换成一个二进制序列S

S3:基于滑动窗口的分块及异或加密。

利用S2中二进制伪随机序列S

由于在新能源场站中生产数据量较大,为了提高单次数据加密的效率,降低加密过程中的内存消耗量,此处利用滑动窗口技术来处理较大数据量的情况:

初始化一个滑动窗口W,设置窗口大小为固定的数据块长度(例如16位)W[i],i∈[0,15]。将滑动窗口左边界设置在明文数据的左边界,即:W[0]=P[0]。遍历滑动窗口,取出窗口中的明文数据块进行以下操作:

将窗口内明文数据块datablock转换为二进制表示,具体操作步骤可以通过先将数据块中的每个字符转换为ASCII码值,再将ASCII码值转换为二进制表示。具体可以参考如下伪代码:

进一步的,使用步骤2中生成的二进制伪随机序列S

(1)当len(S

(2)当len(S

更进一步的,将异或处理步骤后的二进制序列转换为字符显示,通过将二进制序列分割成等长度的子序列(每个子序列代表一个字符的二进制显示),将每个子序列从二进制转为十进制,即ASCII码值,然后再将ASCII值转成对应的字符显示。最终得到的字符序列作为异或加密的数据块M

将滑动窗口的左边界移动到右边界+1的位置,重复以上步骤。直到左边界的位置超出明文数据长度为止。

使用列表进行数据块的存储,直到以上步骤执行完毕后,得到数据块列表M

S4:密文数据的索引置换。

根据伪随机序列S

对于步骤3中得到的M

进一步的,使用步骤2中的伪随机整数序列S

(1)创建与异或加密数据块M

(2)使用伪随机整数序列S_int的值作为随机数来源。从整数序列S

(3)计算S_int[j]对异或加密数据块M

(4)交换P中索引为j和m的元素,即swap(p[j],p[m]);

(5)当完成S_int序列的遍历之后,得到置换序列P;

更进一步的,根据置换序列P对异或加密数据块M_block进行索引置换,得到加密后的密文数据块C

(1)创建与异或加密数据块M

(2)完成异或加密数据块M

(3)找到置换序列P中与当前遍历的索引i相对应的元素,将其记录并作为新的索引值j,即P[i]=j;

(4)将异或加密数据块M

(5)完成异或加密数据块M

经过以上索引置换,我们得到了密文块C

通过以上四个关键步骤,我们成功地利用了加密算法生成了伪随机序列,并结合明文数据进行了异或加密和索引置换操作。这整个加密过程提高了信息安全性,使得潜在攻击者难以解析加密后的数据。总之,该方法为保护敏感信息提供了一种可靠且高效的加密手段,一定程度上有助于新能源场站数据传输的场景下确保数据的安全传输与存储。

需说明的,解密算法包括以下步骤:

S1:初始化过程。

从接收端获取密文块列表C

进一步的,对密钥K进行与加密过程的相同操作,包括二进制转换、密钥K的分割算法,以及子密钥(K1,K2,K3,......)混合映射函数的选取都与加密过程保持一致。

更进一步的,利用生成的子密钥分别作为不同映射的初始参数。这些参数包括初始状态值x0与控制参数r。在Logistic映射中:

使用K1的前半部分计算x0:x0=K1前半段的十进制值/2^(k1前半段长度)-1

使用K1的后半部分计算r:r=K1后半段的十进制值/2^(k1后半段长度)-1

更进一步的,确定各个映射函数(Logistic映射、Henon映射和Tent映射)的迭代次数N。与加密过程相同。

S2:混合伪随机序列生成。

生成各个映射的伪随机序列:对每个映射(Logistic映射、Henon映射和Tent映射),使用相同的初始参数(例如初始状态值与控制参数)和迭代次数N来重现加密过程中产生的伪随机序列。

进一步的,混合各个映射算法生成的伪随机序列:根据加密步骤中使用的混合策略(加权求和、异或组合或置换组合等),按照相同规则混合成一个复杂的伪随机序列S。

更进一步的,将混合后的伪随机序列S转换为二进制序列:

(1)规范化:确保伪随机序列S中的每个元素都落在[0,1]范围内。

(2)映射到整数范围:将规范化后的序列映射到目标整数范围[a,b],例如:

S

(3)转换为整数序列:将规范化后的伪随机序列S中的每个元素转换为目标整数范围内的整数,并放入新的整数序列S

(4)将整数序列转换为二进制序列:将整数序列S

(5)规范化二进制序列长度:如果需要,确保二进制序列中每个元素都具有相同的位数(例如,都是8位二进制数)。

经过上述与加密过程相同的操作,我们得到了整数伪随机序列S

解密过程作为加密过程的逆运算,需要首先进行索引逆置换操作来恢复明文的原始顺序。在完成索引逆置换之后,接下来执行异或解密操作,以还原明文数据。这样的步骤顺序确保了解密过程能够正确地对应加密过程中的操作。

S3:根据获取的伪随机序列S

使用步骤2中的整数伪随机序列S_int生成与加密过程相匹配的逆置换序列P

(1)通过与加密步骤相同的操作方式得到置换序列P;

(2)创建与置换序列P相同长度的列表P

(3)遍历置换序列P中的每个元素i,将对应位置的P

b.根据逆置换序列P

(1)创建与密文数据块C

(2)遍历密文数据块C

(3)找到逆置换序列P

(4)将密文数据块C

(5)完成密文数据块C_block中所有元素的遍历后,得到的列表C

例如:密文数据C=[B,D,A,C],长度为4,经过整数序列S

遍历密文数据:

j=0时,C

j=1时,C

j=2时,C

j=3时,C

最终我们得到了索引逆置换后的密文数据块C

S4:根据索取的伪随机序列S

在论述异或解密操作之前,我们需要对异或过程进行说明,以便于解释后续解密操作的方法。异或操作满足以下特性:

①交换律:A⊕B=B⊕A;

②结合律:(A⊕B)⊕C=A⊕(B⊕C)

③自反性:A⊕B⊕B=A

进一步的,基于上述性质,在加密过程中使用伪随机序列S

举例:设P

加密过程:P

解密过程:C

在经过两次相同的异或操作后,可以将密文二进制C

将密文数据块C

使用与加密过程相同的二进制伪随机序列S

将异或处理后的二进制序列转换为字符表示,通过将二进制序列分割成等长子序列(每一个子序列代表一个字符的二进制表示),将每个子序列分别转换为十进制表示,然后再转换为ASCII码,最后在进行字符的恢复显示,经过以上操作,最终我们便可以得到加密前的明文数据块P

根据上述步骤,顺序遍历整个数据块列表,将得到的P

经过上述详细的讨论和示例,我们已经成功地完成了解密过程的全部内容。包括解密的初始化过程、混合伪随机序列的生成、逆索引置换还原明文数据的原始顺序,以及通过执行异或解密操作来解码密文数据。在解密过程中,我们重点探讨了如何利用异或操作的性质进行加密与解密,使得使用相同的伪随机序列S可以实现对应的加密和解密任务。

此外,我们也提供了伪代码示例,更为清晰地说明解密过程的内容。这些代码示例展示了如何将密文转换为二进制,如何使用异或操作进行解密处理,以及如何将二进制数据转换回字符形式的明文。

进一步的,本实施例还提供一种基于物联网的多源电网信息融合系统,包括:初始化模块,用于初始化参数准备工作,确定迭代次数,选择混合映射函数;伪随机序列生成模块,用于生成加密和解密的随机序列;数据加密模块,用于利用随机序列对原始数据进行交换和置换,通过多种加密方法,对原始数据进行加密操作;数据解密模块,用于按照相反顺序进行解密,恢复原始明文。

本实施例还提供一种计算机设备,适用于新能源场站数据的加密与解密方法的情况,包括存储器和处理器;存储器用于存储计算机可执行指令,处理器用于执行计算机可执行指令,实现如上述实施例提出的新能源场站数据的加密与解密方法。

该计算机设备可以是终端,该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本实施例还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例提出的实现新能源场站数据的加密与解密方法。

本实施例提出的存储介质与上述实施例提出的数据存储方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。

实施例2

参照图2和图3,为本发明第二个实施例,该实施例提供了一种新能源场站数据的加密与解密方法,为了验证本发明的有益效果,通过经济效益计算和仿真实验进行科学论证。

具体内容如下:

1、场景描述:以湖北某光伏新能源场站为例,将本发明中所提及的场站数据加密与解密方法投入新能源光伏功率预测系统当中进行使用,场站每天产生大量的能源数据,为了保护这些敏感数据的安全性,需要在传输和存储的过程中进行数据加密,需要加密的数据包括但不限于:站内实际环境数据(实测辐照度、实测温度、实测风速等)、气象预报数据(预测温度、预测辐照度、预测湿度、预测风速等)、短期预测功率。

2、加密过程:

S1:初始化过程。

气象服务系统(发送端)生成明文数据P及密钥K。P为气象服务系统在运行过程中所产生的实际环境数据、气象预报数据以及短期预测功率数据所组成的文件格式的数据。K在气象服务系统(发送端)和功率预测系统(接收端)两侧保持相同,以文本格式保存,进行加密解密时进行文件读取。场站中真实K值由于保密原因不在此处提供,此处使用仿真环境中的K值:13579246

进一步的,对密钥K进行转换处理,将其转换为二进制数据格式,K_binary=110011010001000100111110。

更进一步的,将转换处理后的密钥K进行平均分割处理,生成3个子密钥K

进一步的,利用生成的子密钥分别作为不同的混沌映射的初始参数,初始参数包括初始状态值与控制参数。

K

K

K

更进一步的,根据加密安全性需求和计算效率进行综合考虑,来确定混合映射Logistic映射、Henon映射和Tent映射的迭代次数N,从而达到消除初始瞬间效应以及提高混沌序列的随机性。

S2:混合伪随机序列生成。

对K

S

S

S

进一步的,将各个映射生成的伪随机序列按照以下加权求和方式混合成一个复杂的伪随机序列S,并设置权重为:w1=0.4,w2=0.3,w3=0.3

则S=(S

更进一步的,对混合后的伪随机序列S转换为二进制序列,以满足加密算法的要求,具体算法如下:

(1)规范化:S

(2)转换为整数序列:S

(3)二进制序列:S

S3:基于滑动窗口的分块及异或加密。

由于在新能源场站中生产数据量较大,为了提高单次数据加密的效率,降低加密过程中的内存消耗量,此处利用滑动窗口技术来处理较大数据量的情况:

明文数据是以txt文本存储于工程中,并通过文件读取的方式获得数据,首先初始化一个滑动窗口W,设置窗口大小为固定的数据块长度,将滑动窗口大小设置为8*8*1024,按照此分块大小对明文数据文件进行处理,将其拆分成各个不同的数据块文件datablock_1.txt~datablock_23.txt,由于明文数据的每一行就是一个具体时间的各项数据,因此我们以行作为单位进行添加,当需要添加下一行时超出了滑动窗口大小,则放弃添加转为下一个滑动窗口的启始添加位,根据测试,每一个datablock的实际大小为:64872。

进一步的,利用S2中二进制伪随机序列S

1、将窗口内明文数据块datablock转换为二进制表示,这里由于篇幅问题只给出datablock_1

datablock_1

2、使用S2中生成的二进制伪随机序列S

异或处理后的结果为:101100100110000011111001111010111110110001011011010000000101001011011110....

更进一步的,将异或处理步骤后的二进制序列转换为字符显示,通过将二进制序列分割成等长度的子序列(每个子序列代表一个字符的二进制显示),将每个子序列从二进制转为十进制,即ASCII码值,然后再将ASCII值转成对应的字符显示。最终得到的字符序列作为异或加密的数据块

将滑动窗口的左边界移动到右边界+1的位置,重复以上步骤。直到左边界的位置超出明文数据长度为止。

使用列表进行数据块的存储,直到以上步骤执行完毕后,得到数据块列表M

S4:密文数据的索引置换。

根据伪随机序列S

对于步骤3中得到的M

进一步的,使用步骤2中的伪随机整数序列S

以M

更进一步的,根据置换序列P对异或加密数据块M_block进行索引置换,得到加密后的密文数据块C

经过以上索引置换,我们得到了密文块C

3、解密过程:

S1:初始化过程。

从接收端获取密文块列表C

S2:混合伪随机序列生成。

经过与加密过程相同的操作,我们得到了整数伪随机序列S

S3:根据获取的伪随机序列S

后续的步骤使用C

使用步骤2中的整数伪随机序列S_int生成与加密过程相匹配的逆置换序列P

根据逆置换序列Pinv对密文数据块Cblock进行索引逆置换,完成密文数据的还原,最终我们得到了索引逆置换后的密文数据块

再顺序遍历C

S4:根据索取的伪随机序列S

将密文数据块C

使用与加密过程相同的二进制伪随机序列S

将异或处理后的二进制序列转换为字符表示,通过将二进制序列分割成等长子序列(每一个子序列代表一个字符的二进制表示),将每个子序列分别转换为十进制表示,然后再转换为ASCII码,最后在进行字符的恢复显示,经过以上操作,最终我们便可以得到加密前的明文数据块P

根据上述步骤,顺序遍历整个数据块列表,将得到的P

4、算法性能对比

为了说明本发明所提出新能源场站数据加密算法的先进性,下文将结合其他多种现有加密算法从3个维度中来验证,分别是:执行耗时、CPU消耗、内存消耗。对比结果如表1所示。

表1对比结果表

根据对比结果,可以充分说明本发明所提出的加密算法在执行时间、CPU消耗方面拥有一定优势,能够在配置较低的运行环境中快速完成数据的加密和解密。

应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

相关技术
  • 具有改进的断裂能和低切线模量的双层多线股帘线
  • 具有改进的断裂能和低切线模量的双层多线股帘线
技术分类

06120116526476