一种基于AES算法的SCADA文件加密方法技术

技术编号:10963765 阅读:216 留言:0更新日期:2015-01-28 16:09
本发明专利技术公开了一种基于AES算法的SCADA文件加密方法,包括,S01实现改进型AES加密解密算法;S02根据文件处理方式选择模块;S03输入密钥K的长度和密钥;S04生成扩展密钥;S05创建加密/解密文件;S06、从等待加密/解密文件中取出16字节,把取出的数据放入中间变量中;S07根据密钥的长度对中间变量中的数据进行解密/解密,并把加密/解密后的数据存在中间变量中;S08如果等待加密/解密的文件已经结束,则关闭文件,回到S02;否则回到S06。本发明专利技术提高加密解密抵抗线性攻击能力和其抵抗差分攻击能力,占用的硬件资源比较少,特别适合对原有的设备升级,而不必改动硬件设计。

【技术实现步骤摘要】
-种基于AES算法的SCADA文件加密方法
本专利技术涉及电力监控系统专业
,具体而言,涉及一种基于AES算法的 SCADA文件加密方法。
技术介绍
数据监控与采集系统(SCADA)是构建众多供电、配网自动化应用系统的基础。随 着计算机以及网络应用技术在电力监控系统的日益广泛深入,信息在电力监控系统中的安 全存储、安全传输问题日益受到重视。在电力监控平台SCADA中,许多重要数据和配置信息 都以文件的形式存储在硬盘上,保护这些重要数据和信息不被轻易泄露成为事关系统安全 性能的一个重要因素。这些数据大多以明文形式存在文件中,其安全性没有任何保障,极易 被窃取、纂改和删除,因此极需对这些重要数据进行加密保护。 AES算法的前身是Square算法(由面向字节、不包括任何算术运算的具有对称和 并行结构的迭代分组密码),AES算法的密钥是由128位,192位或256位二进制数组成的 序列,但是其它可用的序列不受标准的限制。而在AES加密算法中运算的基本单元是字节, 通常需要把输入,输出和密钥都划分成字节矩阵或字节数组。通常把作为AES加密算法基 本单元的二维字节数组上叫做状态矩阵。 为了得到密码学特性非常好的S替换盒,国内外学者一直在做着各种尝试。目前, S替换盒的设计有两种方法,一是用数学的方法构造,二是演化密码的方法。传统的数学方 法设计出来的S替换盒虽然具有非常高的非线性度,但是却很难摆脱它先天性的弊病,那 就是它的代数结构相对来说比较简单;用演化方法设计出的S替换盒具有天然的随机性, 所以这种方法设计出的S替换盒如果没有陷门,是不容易找到弱点的,但此方法设计出的S 替换盒的非线性度,差分均匀度却相对较差,尤其是在设计大S替换盒时,差距更加明显。 现有技术中,AES加密算法的S替换盒一般通过数学方法获得的,替换盒存在线性 冗余,因为数学方法构造的S替换盒,虽然性能很好,但使得其抵抗代数攻击方面能力相对 弱些。 现有技术中,基于AES算法SCADA文件加密在抵抗代数攻击方面的能力就相对弱 点,因为AES加密算法官方给出的S替换盒是通过数学方法获得的,故这个替换盒存在线性 冗余,因为数学方法构造的S替换盒,虽然性能很好,但还是会存在一些弱点,使得其抵抗 代数攻击方面能力相对较弱。
技术实现思路
针对现有技术中存在的问题,本专利技术研究了一种基于AES算法的SCADA文件加密 方法,提高了 S替换盒的非线性度和差分均匀度,占用的硬件资源比较少,特别适合对原有 的设备升级,而不必改动硬件设计。 本专利技术其技术方案为: -种基于AES算法的SCADA文件加密方法,包括以下步骤: SOI、建立AES算法变换模块,实现改进型AES加密解密算法; S02、根据文件处理方式选择加密或者解密或者程序退出模块,选择对文件进行加 密、对文件解密或是退出程序;文件处理方式包括加密、解密和退出; S03、输入密钥K的长度和密钥,密钥K的长度为128比特或者192比特或者256 比特; S04、用密钥扩展程序对密钥加以扩张,128比特、192比特、256比特分别对 MKeyExpansionl28 (key) > KeyExpansionl92 (key) > KeyExpansion256 (key),分别生成 72bytes,204bytes,236bytes 的扩展密钥; S05、创建加密/解密文件(如果是加密过程:此处的创建的是加密文件,如果是解 密过程,此处应创建解密文件),文件都是以文本格式存储; S06、建立中间变量,从等待加密/解密文件中取出16字节(一次取16个字节,从 开始位置取,利用指针偏移的方式来记住下次要取的16个字节的起始地址的),若是未取 出16个字节文件结束则在结束处标上文件结束符,把取出的数据放入中间变量STATE中; S07、依据步骤S01建立的基于改进型AES算法,根据密钥的长度对中 间变量STATE中的数据进行解密/解密,128比特、192比特、256比特分别对应 Cipher 128 (InvCipher 128),Cipher 192 (InvCipher 192),Cipher256(InvCipher256),并把 加密/解密后的数据存在中间变量STATE中,把中间变量STATE中的数据写入加密/解密 文件(是S05中的加密/解密文件,如果有个文件需要加密,需要在S05的时候创建一个存 放加密内容的文件)中; S08、如果等待加密/解密的文件已经结束,则关闭文件,回到步骤S02 ;否则进入 步骤S06,继续取下一组16字节的数据。 AES算法变换模块包括字节替换模块(SubBytes)、行移位变换模块(ShiftRows)、 列混合变换模块(Mixcolumns)和密钥注入模块(AddRoundKey); 字节替换模块基于S替换盒及其逆盒进行字节替换; 行移位变换模块(ShiftRows)将S替换盒及其逆盒替换变换得到的矩阵进行行移 位操作; 列混合变换模块(Mixcolumns)将状态矩阵按列进行相乘操作; 密钥注入模块(AddRoundKey)通过按位异或,把列混合变换模块的输出矩阵与状 态矩阵的子密钥进行有限域内相加。 字节替换模块(SubBytes)为S盒替换变换,用S替换盒及其逆盒进行字节替换; S替换盒为表1-1: 表1-1S替换盒本文档来自技高网
...

【技术保护点】
一种基于AES算法的SCADA文件加密方法,其特征在于,包括以下步骤: S01、建立AES算法变换模块,实现改进型AES加密解密算法; S02、根据文件处理方式选择加密或者解密或者程序退出模块,对文件进行加密、对文件解密或是退出程序; S03、输入密钥K的长度和密钥; S04、用密钥扩展程序对密钥进行扩张; S05、创建加密或者解密文件,所述加密或者解密文件以文本格式存储; S06、建立中间变量,从等待加密或者解密文件中取出16字节数据,若是未取出16个字节文件结束则在结束处标上文件结束符,把取出的数据放入中间变量中; S07、依据步骤S01建立的基于改进型AES算法,根据密钥K的长度对中间变量中的数据进行解密或者解密,并把加密或者解密后的数据存在中间变量中,把中间变量中的数据写入加密或者解密文件中; S08、如果等待加密或者解密的文件已经结束,则关闭文件,回到步骤S02;否则进入步骤S06继续取下一组16个字节数据。

【技术特征摘要】
1. 一种基于AES算法的SCADA文件加密方法,其特征在于,包括以下步骤: 501、 建立AES算法变换模块,实现改进型AES加密解密算法; 502、 根据文件处理方式选择加密或者解密或者程序退出模块,对文件进行加密、对文 件解密或是退出程序; 503、 输入密钥K的长度和密钥; 504、 用密钥扩展程序对密钥进行扩张; 505、 创建加密或者解密文件,所述加密或者解密文件以文本格式存储; 506、 建立中间变量,从等待加密或者解密文件中取出16字节数据,若是未取出16个字 节文件结束则在结束处标上文件结束符,把取出的数据放入中间变量中; 507、 依据步骤SOl建立的基于改进型AES算法,根据密钥K的长度对中间变量中的数 据进行解密或者解密,并把加密或者解密后的数据存在中间变量中,把中间变量中的数据 写入加密或者解密文件中; 508、 如果等待加密或者解密的文件已经结束,则关闭文件,回到步骤S02 ;否则进入步 骤S06继续取下一组16个字节数据。2. 根据权利要求1所述的基于AES算法的SCADA文件加密方法,其特征在于:步骤SOl 所述AES算法变换模块包括字节替换模块、行移位变换模块、列混合变换模块和密钥注入 模块; 所述字节替换模块基于S替换盒及其逆盒进行字节替换; 所述行移位变换模块将S替换盒及其逆盒替换变换得到的矩阵进行行移位操作; 所述列混合变换模块将状态矩阵按列对...

【专利技术属性】
技术研发人员:岳以洋李佑文罗存李芳包德梅刘志超褚红健
申请(专利权)人:国电南京自动化股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1