CN104320420A - 一种基于aes算法的scada文件加密方法 - Google Patents

一种基于aes算法的scada文件加密方法 Download PDF

Info

Publication number
CN104320420A
CN104320420A CN201410655820.4A CN201410655820A CN104320420A CN 104320420 A CN104320420 A CN 104320420A CN 201410655820 A CN201410655820 A CN 201410655820A CN 104320420 A CN104320420 A CN 104320420A
Authority
CN
China
Prior art keywords
box
file
module
key
scada
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
CN201410655820.4A
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.)
Guodian Nanjing Automation Co Ltd
Original Assignee
Guodian Nanjing Automation 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 Guodian Nanjing Automation Co Ltd filed Critical Guodian Nanjing Automation Co Ltd
Priority to CN201410655820.4A priority Critical patent/CN104320420A/zh
Publication of CN104320420A publication Critical patent/CN104320420A/zh
Pending legal-status Critical Current

Links

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/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
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

一种基于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文件加密方法,包括以下步骤:
S01、建立AES算法变换模块,实现改进型AES加密解密算法;
S02、根据文件处理方式选择加密或者解密或者程序退出模块,选择对文件进行加密、对文件解密或是退出程序;文件处理方式包括加密、解密和退出;
S03、输入密钥K的长度和密钥,密钥K的长度为128比特或者192比特或者256比特;
S04、用密钥扩展程序对密钥加以扩张,128比特、192比特、256比特分别对应KeyExpansion128(key)、KeyExpansion192(key)、KeyExpansion256(key),分别生成72bytes,204bytes,236bytes的扩展密钥;
S05、创建加密/解密文件(如果是加密过程:此处的创建的是加密文件,如果是解密过程,此处应创建解密文件),文件都是以文本格式存储;
S06、建立中间变量,从等待加密/解密文件中取出16字节(一次取16个字节,从开始位置取,利用指针偏移的方式来记住下次要取的16个字节的起始地址的),若是未取出16个字节文件结束则在结束处标上文件结束符,把取出的数据放入中间变量STATE中;
S07、依据步骤S01建立的基于改进型AES算法,根据密钥的长度对中间变量STATE中的数据进行解密/解密,128比特、192比特、256比特分别对应Cipher128(InvCipher128),Cipher192(InvCipher192),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替换盒
63 7c 5D 42 1F 00 21 3E 9B 84 A5 BA E7 F8 D9 C6
92 8D AC B3 EE F1 D0 CF 6A 75 54 4B 16 09 28 37
80 9F BE A1 FC E3 C2 DD 78 67 46 59 04 1B 3A 25
71 6E 4F 50 0D 12 33 2C 89 96 B7 A8 F5 EA CB DA
A4 BB 9A 85 D8 C7 E6 F9 5C 43 62 7D 20 3F 1E 01
55 4A 6B 74 29 36 17 08 AD B2 93 8C D1 CE EF F0
47 58 79 66 3B 24 05 1A BF A0 81 9E C3 DC FD E2
B6 A9 88 97 CA D5 F4 EB 4E 51 70 6F 32 2D 0C 13
EC F3 D2 CD 90 8F AE B1 14 0B 21 35 68 77 56 49
1D 02 23 3C 61 7E 5F 40 E5 FA DB C4 99 86 A7 B8
0F 10 31 2E 73 6C 4D 52 F7 E8 C9 D6 8B 94 B5 AA
FE E1 C0 DF 82 9D BC A3 06 19 38 27 7A 65 44 5B
2B 34 15 0A 57 48 69 76 D3 CC ED F2 AF B0 91 BE
DA C5 E4 FB A6 B9 98 87 22 3D 1C 03 5E 41 60 7F
C8 D7 F6 E9 B4 AB 8A 95 30 2F 0E 11 4C 53 72 6D
39 26 07 18 45 5A 7B 64 C1 DE FF E0 BD A2 83 9C
S替换盒的逆盒为表1-2:
表1-2S替换盒的逆盒
05 4F 91 db 2c 66 b8 f2 57 1d c3 89 7e 34 ea a0
a1 eb 35 7f 88 c2 1c 56 f3 b9 67 2d da 90 4e 04
4c 06 d8 92 65 2f f1 bb 1e 54 8a c0 37 7d a3 e9
e8 a2 7c 36 c1 8b 55 1f ba f0 2e 64 93 d9 07 4d
97 dd 03 49 be f4 2a 60 c5 8f 51 1b ec a6 78 32
33 79 a7 ed 1a 50 8e c4 61 2b f5 bf 48 02 dc 96
de 94 4a 00 f7 bd 63 29 8c c6 18 52 a5 ef 31 7b
7a 30 ee a4 53 19 c7 8d 28 62 bc f6 01 4b 95 df
20 6a b4 fe 09 43 9d d7 72 38 e6 ac 5b 11 cf 85
84 ce 10 5a ad e7 39 73 d6 9c 42 08 ff b5 6b 21
69 23 fd b7 40 0a d4 9e 3b 71 af e5 12 58 86 cc
cd 87 59 13 e4 ae 70 3a 9f d5 0b 41 b6 fc 22 68
b2 f8 26 6c 9b d1 0f 45 e0 aa 74 3e c9 83 5d 17
16 5c 81 c8 3f 75 ab e1 44 0e d0 9a 6d 27 f9 b3
fb b1 6f 25 d2 98 46 0c a9 e3 3d 77 80 ca 14 5e
5f 15 cb 81 76 3c e2 a8 0d 47 99 d3 24 6e b0 fa
行移位变换模块ShiftRows将经过S替换盒及其逆盒变换得到的矩阵进行行移位操作,行移位操作的作用域是经过S替换盒及其逆盒变换得到的状态矩阵,矩阵的4个行螺旋的向左移位,即矩阵的第一行向左移动零个字节,矩阵的第二行向左移动一个字节,矩阵的第三行向左移动两个字节,矩阵的第四行向左移动三个字节。
列混合变换模块Mixcolumns:将状态矩阵(AES加密算法基本单元的二维字节数组叫做状态矩阵)每列看做一个四项多项式,按列对所述四项多项式进行相乘操作,列混合变换是通过状态矩阵的列相乘运算来最终实现的,将从行移位变换后输出的矩阵与以十六进制表示的固定多项式矩阵相乘。
密钥注入模块(AddRoundKey)通过按位异或,把列混合变换模块的输出矩阵与状态矩阵的子密钥(通过密钥调度过程,从密码密钥中获得)进行相异或,也就是有限域内相加。
相比与现有技术,本发明具有以下优点:
(1)本发明分析了整个AES算法的原理及其实现的关键技术,在该加密方法中,本发明线性冗余消除的基于交换S替换盒表中的某些元素的位置,这样做的目的就是消除元素之间的放射等级关系。经过多次重复的交换,就能将S替换盒中的线性冗余完全消除,在消除线性冗余度的同时,考虑替换盒的线性度、差分均匀度和自相关度的下降问题。
(2)本发明将AES算法运用与SCADA文件加解密,实现了SCADA系统文件的密文传输,本发明字节替换模块、移位变换模块、列混合变换模块、密钥注入模块对数据分别进行了字节替换、行变换、列变换和密钥注入,安全性能高。
(3)新的S替换盒主要有如下优势:
a)提高了S替换盒的非线性度,加强了其抵抗线性攻击能力。
b)提高了S替换盒的差分均匀度,加强了其抵抗差分攻击能力。
c)占用的硬件资源比较少,特别适合对原有的设备升级,而不必改动硬件设计。
(4)本发明加密方法提高了UNICON监控系统软件平台关键数据的安全性,而且这种加密方法对硬件资源要求不高,不必改动硬件设计。
附图说明
图1为本发明一种基于AES算法的SCADA文件加密方法流程示意图;
图2为本发明的AES算法加密/解密流程图。
图3为AES算法列混合变换示意图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
实现一种基于AES算法的SCADA文件加密方法,首先需要建立AES算法变换模块,实现改进型AES加密解密算法;本发明改进型AES加密解密算法包括两部分内容。
第一部分,提出新的S替换盒。
AES算法是一种分组密码算法。分组密码算法的核心之一是就是它所采用的S替换盒。S替换盒是分组密码算法中唯一非线性的地方,它的强度决定了这个加密算法的强度。S-box的密码学特性有:差分均匀度、非线性度和自相关度;要改善S替换盒的性能,就要提高非线性度和差分均匀度,来抵抗差分攻击和线性攻击。
本发明线性冗余消除的基于交换S替换盒表中的某些元素的位置,这样做的目的就是消除元素之间的放射等级关系。经过多次重复的交换,就能将S替换盒中的线性冗余完全消除,在消除线性冗余度的同时,考虑替换盒的线性度、差分均匀度和自相关度的下降问题。
作为项目的应用本发明不仅考虑了S替换盒的差分均匀度、非线性度,而且还考虑到S替换盒占用的硬件资源。表1-1和表1-2本发明选用的S替换盒及其逆盒。本发明S替换盒及其逆盒的优势为其占用的硬件资源比较少,特别适合对原有的设备升级,而不必改动硬件设计。
表1-1S换盒
63 7c 5D 42 1F 00 21 3E 9B 84 A5 BA E7 F8 D9 C6
92 8D AC B3 EE F1 D0 CF 6A 75 54 4B 16 09 28 37
80 9F BE A1 FC E3 C2 DD 78 67 46 59 04 1B 3A 25
71 6E 4F 50 0D 12 33 2C 89 96 B7 A8 F5 EA CB DA
A4 BB 9A 85 D8 C7 E6 F9 5C 43 62 7D 20 3F 1E 01
55 4A 6B 74 29 36 17 08 AD B2 93 8C D1 CE EF F0
47 58 79 66 3B 24 05 1A BF A0 81 9E C3 DC FD E2
B6 A9 88 97 CA D5 F4 EB 4E 51 70 6F 32 2D 0C 13
EC F3 D2 CD 90 8F AE B1 14 0B 21 35 68 77 56 49
1D 02 23 3C 61 7E 5F 40 E5 FA DB C4 99 86 A7 B8
0F 10 31 2E 73 6C 4D 52 F7 E8 C9 D6 8B 94 B5 AA
FE E1 C0 DF 82 9D BC A3 06 19 38 27 7A 65 44 5B
2B 34 15 0A 57 48 69 76 D3 CC ED F2 AF B0 91 BE
DA C5 E4 FB A6 B9 98 87 22 3D 1C 03 5E 41 60 7F
C8 D7 F6 E9 B4 AB 8A 95 30 2F 0E 11 4C 53 72 6D
39 26 07 18 45 5A 7B 64 C1 DE FF E0 BD A2 83 9C
表1-2S替换盒的逆盒
05 4F 91 db 2c 66 b8 f2 57 1d c3 89 7e 34 ea a0
a1 eb 35 7f 88 c2 1c 56 f3 b9 67 2d da 90 4e 04
4c 06 d8 92 65 2f f1 bb 1e 54 8a c0 37 7d a3 e9
e8 a2 7c 36 c1 8b 55 1f ba f0 2e 64 93 d9 07 4d
97 dd 03 49 be f4 2a 60 c5 8f 51 1b ec a6 78 32
33 79 a7 ed 1a 50 8e c4 61 2b f5 bf 48 02 dc 96
de 94 4a 00 f7 bd 63 29 8c c6 18 52 a5 ef 31 7b
7a 30 ee a4 53 19 c7 8d 28 62 bc f6 01 4b 95 df
20 6a b4 fe 09 43 9d d7 72 38 e6 ac 5b 11 cf 85
84 ce 10 5a ad e7 39 73 d6 9c 42 08 ff b5 6b 21
69 23 fd b7 40 0a d4 9e 3b 71 af e5 12 58 86 cc
cd 87 59 13 e4 ae 70 3a 9f d5 0b 41 b6 fc 22 68
b2 f8 26 6c 9b d1 0f 45 e0 aa 74 3e c9 83 5d 17
16 5c 81 c8 3f 75 ab e1 44 0e d0 9a 6d 27 f9 b3
fb b1 6f 25 d2 98 46 0c a9 e3 3d 77 80 ca 14 5e
5f 15 cb 81 76 3c e2 a8 0d 47 99 d3 24 6e b0 fa
至此,新的S替换盒已经建立,在S替换盒的实现过程中,主要解决了以下几个技术要点:
1)S替换盒中的线性冗余完全消除技术,增强了其抗线性攻击能力。
2)提高S替换盒的差分均匀度,增强了其抗差分攻击能力。
第二部分,SCADA文件加密方法实现。
AES加密算规定了输入矩阵、输出矩阵以及状态矩阵的长度都是128比特,也就是Nb=4个双字(32bit)。但AES算法密钥的长度可以是128、192或256位的。如果用32bit的Nk来表示,那么有Nk=4,6,8。对于AES加密算法来说,算法执行中需要迭代的次数Nr是由密钥的长度决定的,Nk=4时Nr=10;Nk=6时Nr=12;Nk=8时Nk=14。如表1-3所示:
表1-3AES算法迭代次数
密钥长度(Nk) 数据库长度(Nb) 迭代次数(Nr)
128位字节矩阵 4 4 10
192位字节矩阵 6 4 12
256位字节矩阵 8 4 14
Nb表示数据库长度,Nk表示密钥长度,Nr表示迭代次数。
AES加密和解密算法,采用的是同一种轮函数,包括4种不同的变换组成:1)用S替换盒进行字节替换;2)对状态矩阵各行进行不同偏移量的移位变换;3)对状态矩阵各列进行列混合变换;4)对状态矩阵和子密钥进行数域相加即异或,这一步也可称为密钥注入。但在第一轮和第十轮加密和解密的时候会有所不同,具体如图2所示,AES算法加密/解密流程图。
从图2可以看出,解密算法是加密算法的逆运算,本实施例涉及到的变换模块都一样:SubBytes(字节替换模块),ShiftRows(行移位变换模块),Mixcolumns(列混合变换模块),AddRoundKey(密钥注入模块),其中S替换盒是算法中唯一非线性的部分,又由于S盒有相对应的S逆盒,所以每一轮变换涉及到的变换模块的顺序是可以颠到,保证了加密算法和解密算法在实现时保持形式上的一致。
1)SubBytes(字节替换模块):SubBytes变换(字节变换)也就是S-盒变换,是一个非线性替换,如前所说,AES算法首先将128位明文转化成字节矩阵,前四个字节组成第一列,接下来的4个字节组成第二列,按此类推,组成一个4×4的矩阵。由有限域GF(28)(GF(28)表示有限域)下模乘法求逆运算和GF(2)(GF(2)表示二元域)下仿射变换再加常量‘63’(63为常量)两个部分复合而成。
1对(x表示有限域)中的元素),求(表示x与(x8+x4+x3+x+1)的取模)的乘法求逆,定义如下:
2在GF(28)中元素分别为(x0,x1,x2,x3,x4,x5,x6,x7)(x0,x1,x2,x3,x4,x5,x6,x7表示表示有限域中的元素),仿射变换如下:
y = 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 + 1 1 0 0 0 1 1 0 - - - ( 1.2 )
S替换盒执行的实际上是输入字节到输出字节的代数转换,y表示代数转换的结果矩阵;
采用字节变换后,字节元素至少有两个比特位发生变化,具有很好的混淆作用。但在计算时,为了保证加解密的速度,一般先预计算GF(28)-->GF(28)的S-盒替换表,加解密时直接查表进行字节替换。
2)ShiftRows(行移位变换模块):经过S盒替换变换得到的矩阵需要经过行移位(ShiftRows)操作,行移位操作的作用域是经过S盒替换变换得到的矩阵,矩阵的4个行螺旋的向左移位,即矩阵的第一行向左移动零个字节,矩阵的第二行向左移动一个字节,矩阵的第三行向左移动两个字节,矩阵的第四行向左移动三个字节。
3)Mixcolumns(列混合变换模块):列混合变换(MixColumn)变换是把状态矩阵每列看做一个四项多项式,并按列对其进行操作,其中每列都是GF(28)域中的一个多项式,将其与固定多项式矩阵相乘后并对x4+1取模。也就是说,列混合(MixColumn)是通过矩阵的相乘运算来最终实现的,将从行移位变换后输出的矩阵与以十六进制表示的固定多项式矩阵相乘,具体操作参数如图3所示,AES算法列混合变换示意图。
将状态矩阵和固定多项式矩阵看成向量则可以表示为公式1.3:
c 0 c 1 c 2 c 3 = 02 03 01 01 01 02 03 01 01 01 01 03 03 01 01 02 b 0 b 1 b 2 b 3 - - - ( 1.3 )
固定多项式矩阵为: 02 03 01 01 01 02 03 01 01 01 01 03 03 01 01 02 ;
状态矩阵为: b 0 b 1 b 2 b 3 ;
将上式展开得:
c0,i=([02]*b0,i)+([03]*b1,i)+([01]*b2,i)+([01]*b3,i)   (1.4)
c1,i=([01]*b0,i)+([02]*b1,i)+([03]*b2,i)+([01]*b3,i)   (1.5)
c2,i=([01]*b0,i)+([01]*b1,i)+([01]*b2,i)+([03]*b3,i)   (1.6)
c3,i=([03]*b0,i)+([01]*b1,i)+([01]*b2,i)+([02]*b3,i)   (1.7)
b0,i~b3,i表示状态矩阵中的元素,c0,i~c3,i表示状态矩阵的元素和固定多项式矩阵中元素计算后的结果,i表示矩阵中的列序号;
经过了多轮字节替换、行移位、列混合操作之后,明文被尽可能的打乱了,同时还降低了输入明文与输出密文之间的相互关联。
4)AddRoundKey(密钥注入模块):AddRoundKey变换可以理解为仅仅是通过非常简单的按位异或,把状态矩阵与相应的子密钥进行相异或,也就是有限域内相加。
建立AES算法变换模块,实现改进型AES加密解密算法后,将其用于对电力监控系统SCADA文件的加密/解密(密钥长度可选),如图1所示,一种基于AES算法的SCADA文件加密方法,操作步骤如下:
S01、建立AES算法变换模块,实现改进型AES加密解密算法;
S02、根据文件处理方式选择加密或者解密或者程序退出模块,选择对文件进行加密、对文件解密或是退出程序;
S03、输入密钥K的长度和密钥,密钥K的长度为128比特或者192比特或者256比特;
S04、用密钥扩展程序对密钥加以扩张,128比特、192比特、256比特分别对应KeyExpansion128(key)、KeyExpansion192(key)、KeyExpansion256(key),分别生成72bytes,204bytes,236bytes的扩展密钥;
S05、创建加密/解密文件(如果是加密过程:此处的创建的是加密文件,如果是解密过程,此处应创建解密文件),文件都是以文本格式存储;
S06、建立中间变量,从等待加密/解密文件中取出16字节(一次取16个字节,从开始位置取,利用指针偏移的方式来记住下次要取的16个字节的起始地址的),若是未取出16个字节文件结束则在结束处标上文件结束符,把取出的数据放入中间变量STATE中;
S07、依据步骤S01建立的基于改进型AES算法,根据密钥的长度对中间变量STATE中的数据进行解密/解密,128比特、192比特、256比特分别对应Cipher128(InvCipher128),Cipher192(InvCipher192),Cipher256(InvCipher256),并把加密/解密后的数据存在中间变量STATE中,把中间变量STATE中的数据写入加密/解密文件(是S05中的加密/解密文件,如果有个文件需要加密,需要在S05的时候创建一个存放加密内容的文件)中;
S08、如果等待加密/解密的文件已经结束,则关闭文件,回到步骤S02;否则进入步骤S06,继续取下一组16字节的数据。
至此,基于AES加密算法的电力监控系统SCADA文件加密方法的几个技术要点都已解决。
以上仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种基于AES算法的SCADA文件加密方法,其特征在于,包括以下步骤: 
S01、建立AES算法变换模块,实现改进型AES加密解密算法; 
S02、根据文件处理方式选择加密或者解密或者程序退出模块,对文件进行加密、对文件解密或是退出程序; 
S03、输入密钥K的长度和密钥; 
S04、用密钥扩展程序对密钥进行扩张; 
S05、创建加密或者解密文件,所述加密或者解密文件以文本格式存储; 
S06、建立中间变量,从等待加密或者解密文件中取出16字节数据,若是未取出16个字节文件结束则在结束处标上文件结束符,把取出的数据放入中间变量中; 
S07、依据步骤S01建立的基于改进型AES算法,根据密钥K的长度对中间变量中的数据进行解密或者解密,并把加密或者解密后的数据存在中间变量中,把中间变量中的数据写入加密或者解密文件中; 
S08、如果等待加密或者解密的文件已经结束,则关闭文件,回到步骤S02;否则进入步骤S06继续取下一组16个字节数据。 
2.根据权利要求1所述的基于AES算法的SCADA文件加密方法,其特征在于:步骤S01所述AES算法变换模块包括字节替换模块、行移位变换模块、列混合变换模块和密钥注入模块; 
所述字节替换模块基于S替换盒及其逆盒进行字节替换; 
所述行移位变换模块将S替换盒及其逆盒替换变换得到的矩阵进行行移位操作; 
所述列混合变换模块将状态矩阵按列对其进行相乘操作; 
所述密钥注入模块通过按位异或,把列混合变换模块的输出矩阵与状态矩阵的子密钥进行有限域内相加。 
3.根据权利要求2所述的基于AES算法的SCADA文件加密方法,其特征在于: 
所述字节替换模块SubBytes为S盒替换变换,用S替换盒及其逆盒进行字节替换; 
所述S替换盒为: 
63 7c 5D 42 1F 00 21 3E 9B 84 A5 BA E7 F8 D9 C6 92 8D AC B3 EE F1 D0 CF 6A 75 54 4B 16 09 28 37 80 9F BE A1 FC E3 C2 DD 78 67 46 59 04 1B 3A 25 71 6E 4F 50 0D 12 33 2C 89 96 B7 A8 F5 EA CB DA A4 BB 9A 85 D8 C7 E6 F9 5C 43 62 7D 20 3F 1E 01 55 4A 6B 74 29 36 17 08 AD B2 93 8C D1 CE EF F0 47 58 79 66 3B 24 05 1A BF A0 81 9E C3 DC FD E2 B6 A9 88 97 CA D5 F4 EB 4E 51 70 6F 32 2D 0C 13 EC F3 D2 CD 90 8F AE B1 14 0B 21 35 68 77 56 49 1D 02 23 3C 61 7E 5F 40 E5 FA DB C4 99 86 A7 B8 0F 10 31 2E 73 6C 4D 52 F7 E8 C9 D6 8B 94 B5 AA
FE E1 C0 DF 82 9D BC A3 06 19 38 27 7A 65 44 5B 2B 34 15 0A 57 48 69 76 D3 CC ED F2 AF B0 91 BE DA C5 E4 FB A6 B9 98 87 22 3D 1C 03 5E 41 60 7F C8 D7 F6 E9 B4 AB 8A 95 30 2F 0E 11 4C 53 72 6D 39 26 07 18 45 5A 7B 64 C1 DE FF E0 BD A2 83 9C                              
4.根据权利要求3所述的基于AES算法的SCADA文件加密方法,其特征在于:所述S替换盒的逆盒为: 
05 4F 91 db 2c 66 b8 f2 57 1d c3 89 7e 34 ea a0 a1 eb 35 7f 88 c2 1c 56 f3 b9 67 2d da 90 4e 04 4c 06 d8 92 65 2f f1 bb 1e 54 8a c0 37 7d a3 e9 e8 a2 7c 36 c1 8b 55 1f ba f0 2e 64 93 d9 07 4d 97 dd 03 49 be f4 2a 60 c5 8f 51 1b ec a6 78 32 33 79 a7 ed 1a 50 8e c4 61 2b f5 bf 48 02 dc 96 de 94 4a 00 f7 bd 63 29 8c c6 18 52 a5 ef 31 7b 7a 30 ee a4 53 19 c7 8d 28 62 bc f6 01 4b 95 df 20 6a b4 fe 09 43 9d d7 72 38 e6 ac 5b 11 cf 85 84 ce 10 5a ad e7 39 73 d6 9c 42 08 ff b5 6b 21 69 23 fd b7 40 0a d4 9e 3b 71 af e5 12 58 86 cc cd 87 59 13 e4 ae 70 3a 9f d5 0b 41 b6 fc 22 68 b2 f8 26 6c 9b d1 0f 45 e0 aa 74 3e c9 83 5d 17 16 5c 81 c8 3f 75 ab e1 44 0e d0 9a 6d 27 f9 b3 fb b1 6f 25 d2 98 46 0c a9 e3 3d 77 80 ca 14 5e 5f 15 cb 81 76 3c e2 a8 0d 47 99 d3 24 6e b0 fa
。 
5.根据权利要求2所述的基于AES算法的SCADA文件加密方法,其特征在于: 
行移位变换模块将经过S替换盒及其逆盒变换得到的矩阵进行行移位操作,行移位操作的作用域是经过S替换盒及其逆盒变换得到的状态矩阵,矩阵的4个行螺旋的向左移位。 
6.根据权利要求2所述的基于AES算法的SCADA文件加密方法,其特征在于: 
列混合变换模块:将状态矩阵每列看做一个四项多项式,按列对所述四项多项式进行相乘操作,将从行移位变换后输出的矩阵与固定多项式矩阵相乘。 
7.根据权利要求1所述的基于AES算法的SCADA文件加密方法,其特征在于:所述步骤S03密钥K的长度为128bit或者192bit或者256bit。 
8.根据权利要求1所述的基于AES算法的SCADA文件加密方法,其特征在于:所述步骤对密钥扩张具体包括;128bit、192bit、256bit分别生成72bytes,204bytes,236bytes的扩展密钥。 
CN201410655820.4A 2014-11-17 2014-11-17 一种基于aes算法的scada文件加密方法 Pending CN104320420A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410655820.4A CN104320420A (zh) 2014-11-17 2014-11-17 一种基于aes算法的scada文件加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410655820.4A CN104320420A (zh) 2014-11-17 2014-11-17 一种基于aes算法的scada文件加密方法

Publications (1)

Publication Number Publication Date
CN104320420A true CN104320420A (zh) 2015-01-28

Family

ID=52375589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410655820.4A Pending CN104320420A (zh) 2014-11-17 2014-11-17 一种基于aes算法的scada文件加密方法

Country Status (1)

Country Link
CN (1) CN104320420A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686407A (zh) * 2016-12-13 2017-05-17 北京互动百科网络技术股份有限公司 一种用于视频数据传输的自动识别加密解密方法及系统
CN106788967A (zh) * 2015-11-23 2017-05-31 天津九洲云物联科技有限公司 智能家居系统中驱动加密的新算法—baes算法
CN110535242A (zh) * 2019-09-11 2019-12-03 中国南方电网有限责任公司 一种基于scada的电网运行数据传输系统
CN112055217A (zh) * 2020-07-27 2020-12-08 西安空间无线电技术研究所 任意字节数据中无损搭载信息的方法
CN115208650A (zh) * 2022-07-05 2022-10-18 上海江宇信息科技有限公司 基于云平台的数据安全实现方法、设备、介质及产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1833424A (zh) * 2003-07-01 2006-09-13 伊吉斯技术公司 用于使监控和数据采集(scada)通信安全的方法、系统和装置
CN101581932A (zh) * 2009-06-23 2009-11-18 北京旺斯达科技有限公司 一种煤矿安全监控系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1833424A (zh) * 2003-07-01 2006-09-13 伊吉斯技术公司 用于使监控和数据采集(scada)通信安全的方法、系统和装置
CN101581932A (zh) * 2009-06-23 2009-11-18 北京旺斯达科技有限公司 一种煤矿安全监控系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
龚进: "AES加密算法在电子系统中的优化及应用研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788967A (zh) * 2015-11-23 2017-05-31 天津九洲云物联科技有限公司 智能家居系统中驱动加密的新算法—baes算法
CN106686407A (zh) * 2016-12-13 2017-05-17 北京互动百科网络技术股份有限公司 一种用于视频数据传输的自动识别加密解密方法及系统
CN106686407B (zh) * 2016-12-13 2019-07-23 北京互动百科网络技术股份有限公司 一种用于视频数据传输的自动识别加密解密方法及系统
CN110535242A (zh) * 2019-09-11 2019-12-03 中国南方电网有限责任公司 一种基于scada的电网运行数据传输系统
CN112055217A (zh) * 2020-07-27 2020-12-08 西安空间无线电技术研究所 任意字节数据中无损搭载信息的方法
CN115208650A (zh) * 2022-07-05 2022-10-18 上海江宇信息科技有限公司 基于云平台的数据安全实现方法、设备、介质及产品

Similar Documents

Publication Publication Date Title
CN102185692B (zh) 基于aes加密算法的多模式可重构加密方法
CN101764686B (zh) 一种用于网络与信息安全的加密方法
CN107707343B (zh) 加解密一致的sp网络结构轻量级分组密码实现方法
US11606189B2 (en) Method and apparatus for improving the speed of advanced encryption standard (AES) decryption algorithm
CN104333446B (zh) 一种新型超轻量级qtl分组密码实现方法
CN104065474B (zh) 一种轻量级Surge分组密码实现方法
CN101938351B (zh) 一种实现分组密码加密的密钥扩展方法
CN104320420A (zh) 一种基于aes算法的scada文件加密方法
CN104184579A (zh) 基于双伪随机变换的轻量级分组密码vh算法
CN103051442A (zh) 采用Feistel-PG结构的密码装置及加密方法
CN107257279A (zh) 一种明文数据加密方法及设备
Asaad et al. Advanced Encryption Standard Enhancement with Output Feedback Block Mode Operation
CN109861809A (zh) 一种实用化的分组随机加解密方法
KR101095386B1 (ko) 이산화된 카오스 함수를 이용한 암호 시스템
CN109921899A (zh) 一种完全雪崩4×4的s盒实现方法
CN101826959B (zh) 一种面向字节的密钥流生成方法及加密方法
KR101601684B1 (ko) 부채널 공격에 대응하는 대칭키 암호 알고리즘 구현 방법
CN105049204A (zh) 基于ctr模式和分组密码vh的轻量级流密码技术vhc
CN106982116A (zh) 一种基于可逆逻辑电路的aes的本地文件加密方法
CN111614457B (zh) 基于p置换改进的轻量级分组加解密方法、装置及存储介质
CN112134691A (zh) 一种部件可重复的nlcs分组密码实现方法、装置及介质
Stoianov One approach of using key-dependent S-BOXes in AES
Yang et al. A novel chaotic block cryptosystem based on iterating map with output-feedback
CN106921486A (zh) 数据加密的方法和装置
CN105162580A (zh) 基于ofb模式和分组密码vh的轻量级流密码技术vho

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150128

RJ01 Rejection of invention patent application after publication