CN108429613A - 一种基于en-present算法的电网信息加密方法 - Google Patents

一种基于en-present算法的电网信息加密方法 Download PDF

Info

Publication number
CN108429613A
CN108429613A CN201810196207.9A CN201810196207A CN108429613A CN 108429613 A CN108429613 A CN 108429613A CN 201810196207 A CN201810196207 A CN 201810196207A CN 108429613 A CN108429613 A CN 108429613A
Authority
CN
China
Prior art keywords
state
boxes
carried out
network information
electric network
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
CN201810196207.9A
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.)
State Grid Corp of China SGCC
State Grid Shaanxi Electric Power Co Ltd
Electric Power Research Institute of State Grid Shaanxi Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Shaanxi Electric Power Co Ltd
Electric Power Research Institute of State Grid Shaanxi Electric Power 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 State Grid Corp of China SGCC, State Grid Shaanxi Electric Power Co Ltd, Electric Power Research Institute of State Grid Shaanxi Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201810196207.9A priority Critical patent/CN108429613A/zh
Publication of CN108429613A publication Critical patent/CN108429613A/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
    • 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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于EN‑PRESENT算法的电网信息加密方法,用于解决现有智能电网终端监测信息和监测控制中心指令明文传输或单工传输的安全性问题及硬件资源有限的技术问题;包括如下步骤:步骤1、协商初始向量值、设置初始值,将需加密明文分组;步骤2、进行密钥扩展,得到子密钥;步骤3、进行CBC结构操作,将明文分组与前一分组的密文进行异或,第一个分组与初始向量进行异或;步骤4、将CBC结构结果进行15轮轮函数操作,充分扩展、混淆数据信息;步骤5、对合结构变换;步骤6、进行15轮逆轮变换;步骤7、循环判定,若循环次数低于分组组数,结合当前密文,执行步骤3,否则结束,本发明的信息加密方法在保证一定安全性的同时减少了资源的占用和损耗。

Description

一种基于EN-PRESENT算法的电网信息加密方法
技术领域
本发明属于智能电网技术领域,涉及一种电网监测系统信息安全加密方法,具体涉及一种 基于EN-PRESENT算法的电网信息加密方法。
背景技术
智能电网利用通信技术、计算机技术等,实现对发电、输电、变电、配电、用电等整个电 力生产系统各个环节的全景实时监测与决策。具有提高能源效率、供电安全性和可靠性、减少 环境影响、减少输电网电能损耗的优点。支撑智能电网安全、自愈、绿色、坚强及可靠运行的 基础是电网全景实时数据采集、传输和存储,以及对数据的快速分析,即在线监测系统。在线 监测能够帮助控制中心及时掌握整个电网的运行情况,以便做出实时响应和处理。
在线状态监测系统多使用公网进行信息数据传输,一般采用两种形式:一是明文传输,将 监测终端得到的监测数据和监测中心传输的指令以明文形式在公网中进行传输;二是单工终端 加密方式,将终端采集到的监测信采用安全机制之后送入公网传回监测中心,监测中心进过对 监测数据进行判断和预测,通过明文形式将操作指令传送回各个终端。在此过程中存在极大的 安全隐患,可能会被未经授权的个人或机构对信息进行窃取、攻击和篡改,存在终端被反向控 制及非法接入,指令被截取或篡改,终端无法及时响应或错误响应等安全风险。从电力系统输 电设备状态检测系统本身来说,其涉及的数据包括输电线路的地理位置、结构、电压电流参数、 气象,甚至还包含电力设施图像、视频。这些信息如果遭到泄露,小则引发经济损失,危及电 网业务系统的安全稳定运行,大则可能造成国机密泄露,威胁国家安全。
输变电系统中的数据具备大数据标志性的“4V”特征,即规模大(volume)一般以TB、PB为 量级单位。如在SCADA系统(数据采集和监控系统)中取10000个观测点,采样间隔为3s-4s, 每年会产生1.03TB的海量数据;类型多(variety),状态数据包括各种历史数据、实时数据、文 本数据、多媒体数据等结构化、半结构化以及非结构化数据;价值密度低(value),设备运行过 程中记录的海量数据大多属于常规数据,仅有非常稀少的故障数据(24h的数据中可能只有 1-2s)。然而这些极其少量的故障数据比常规数据更具有价值,有助于控制中心了解设备的真 实状况;数据处理速度要求快(velocity),电力系统需要在极短暂的时间内做出正确的操作,因 此需要在数以毫秒的时间内对海量数据进行有效分析,以辅助控制中心做出正确决策。同时, 输变电系统设备是资源受限的,即硬件实现空间紧凑、内存小、功耗低,对基于终端的安全防 范措施有很高的资源需求。因此输电线路监测交互在保障实时性的同时,监测数据的安全算法 应该具有安全性强、硬件实现效率高、内存占用小、功耗低等特点。
现有电网安全机制中,单工终端加密形式中采用南瑞公司芯片封装的国家商用密码SM1 安全芯片实现数据加解密,采用SM2椭圆曲线公钥密码算法实现身份认证和数字签名。数据 加密算法SM1分组长度和密钥长度都为128位,安全强度及相关性能与AES(高级加密标准) 相当,在高速加密流芯片TF32A09中SM1实测加解密速度为54.6KB/s@100kHz,但算法不公 开,仅以IP核的模式存在于芯片中,不能有效针对输变电系统实施情况进行改进。SM2算法 是针对电子认证系统和密钥管理系统等应用设计的一种非对称加密算法,不适合用于数据信息 加密。算法实现需要实现点乘、生成密钥、公钥私钥运算、签名、验证等步骤,与其他算法相 比,消耗资源更多,速率更慢。
除电网采用的国密算法,还存在经典数据加密算法如AES和DES。AES的传输速率为56.6 kB/s-1@100KHz,实现所需逻辑门数为3400;DES的传输速率为44.4kB/s-1@100KHz,实现所 需逻辑门数为2309。但DES早在1993年的系列DES挑战赛中被破解,到1999年仅需2小时 即可破解,不能保持足够的安全性。AES算法和SM1具有相似的安全性和实现速率,但针对 要求高数据处理速率的智能电网而言,采用AES或SM1处理海量的监测数据会在一定程度上 减慢处理速率。
针对硬件资源受限的情况,轻量级加密算法被提出,这部分算法通过密钥长度或加密轮数 的减小实现算法复杂度和功耗的减小,从而达到算法的轻量化。几种轻量级加密算法中HIGHT 加密算法实现占用逻辑门数3048,传输速率较慢仅为188.3kB/s-1@100KHz;Camellia加解密 速率最快为640kB/s-1@100KHz,但是所需占用逻辑门数为11350,是其他轻量级算法的3-4 倍,;PRESENT加密算法加密所需逻辑门数为1570,传输速率为200kB/s-1@100KHz。可以看 出PRESENT算法所需逻辑门数最少,算法实现速率中等,但仍是AES/SM1算法的4倍。虽 然Camellia算法实现速率最高但其实现所需资源多不符合监测数据安全要求,因此综合考虑 性能,PRESENT加密算法适合于在线监测终端数据加密。但在实际应用中,PRESENT加密 算法需要不同的加密和解密电路,假设使用单工传输形式,因为数据终端加密后需要在检测中 心进行解密处理,产生加密电路和解密电路两套电路。为加强安全性同时需要对采用明文传输 的指令也进行加密操作,即需要在监测中心和终端各自需要一套加解密装置,监测中心用于解 密接收到的加密监测数据,加密需传送的指令信息;终端层需要加密监测信息后通过公网传输 到监测中心并解密监测中心传送来的指令信息,根据指令进行相关操作。这在一定程度上加大 了资源占用。
发明内容
为了解决现有电网监测系统工作过程中产生的监测信息、指令等明文传输或单工传输速率 慢,资源损耗多等技术问题,本发明提供了一种基于EN-PRESENT算法的电网信息加密方法, 适用于对电网监测系统工作过程中产生的监测信息、指令等进行加密,达到安全传输的目的。
为达到上述目的,本发明所述一种基于EN-PRESENT算法的电网信息加密方法包括以下 步骤:
步骤1,随机选择一个的64位初始化向量IV,设定输入的80位初始密钥k1,将输入的 待加密明文数据进行分组,得到明文分组集合P,P=(M1,M2…Mn),n为分组数;
步骤2,进行密钥扩展操作,得到30个子密钥,并存储为krc(1≤rc≤30),当rc=1时,krc为步骤1中设定的初始密钥k1
步骤3,将明文分组Mj(1≤j≤n)与前一分组的密文进行异或M'j,其中,第一个明文分组 M1与初始向量IV进行异或;
步骤4,以M'j和krc做为输入,进行15轮轮函数操作,得到明文的中间状态state15
步骤5,将步骤4得到的state15输入对合结构,进行对合结构变换,得到明文的中间状态 state16
步骤6,对state16进行15轮逆轮函数操作,得到明文的中间状态state31,中间状态state31即为明文分组Mj对应的密文分组Cj
步骤7,判断j+1>n是否成立,若判断结果为是,流程结束;若判断结果为否,执行步 骤3至步骤7。
进一步的,步骤2中,子密钥通过以下步骤获得:当轮数rc=1时使用初始密钥k1;当前 轮数rc≥2时执行步骤2a至2d:
步骤2a、i=rc-1,对第i轮子密钥ki=[k79k78…k0](1≤i≤30)循环右移27,每次将右边的 低27位依次右移到高27位,即将ki1=k1的低27位移至高27位得到ki2=[k26…k0k79…k27];
步骤2b、将移位后的结果ki2的高4位进行非线性变换,得到ki3,具体为: [k26,k25,k24,k23]=S[k26,k25,k24,k23],ki3=[k26,k25,k24,k23,k22,…k0,k79…k27],函数S1[x]表示对 自变量x按照第一S盒的运算逻辑进行非线性变换;
步骤2c、将ki3中下标为15-19的5位数据与当前轮数rc异或,得到下一轮密钥 krc=ki+1=ki4,表示为: krc=ki+1=ki4=[k′26,k′25,k′24,k′23,k22,k21,k20,k′19,k′18,k′17,k′16…k0,k79…k27];
步骤2d、判断rc+1>30,成立,存储krc,结束密钥扩展操作,执行步骤3;不成立,存储krc,令rc=rc+1,执行步骤2a到2d。
进一步的,步骤2中,第一S盒非线性变换为一个查表操作,对应查表得到输出,第一S 盒中的运算逻辑如下表所示:
进一步的,步骤4包括以下步骤:
步骤4a、当k=0时,state0=M′j,当k≠0时,将statek与当前轮子密钥进行异或操作: rc=k+1;
步骤4b、将statek1分为16个4位的字节(16进制),通过第一S盒得到statek2
步骤4c、对statek2进行位变换,将statek2的第m(0≤m≤63)位上的数据置换到第P(m)位 上得到statek3,如下式所示对下标进行交换(0≤r≤15,b表示数据位),下式中左边一列均为 m,右侧一列均为P(m):
b4×r→br
b4×r+1→br+16
b4×r+2→br+32
b4×r+3→br+48
步骤4d、令statek+1=statek3,判断k+1>15是否成立,若成立,结束轮函数操作,执行步 骤5;若不成立,则令k=k+1,执行步骤4a到4d。
进一步的,步骤6包括以下步骤:
步骤6a、将statek分为16个4位的字节,通过第三S盒得到statek1
步骤6b、进行位逆变换,将第P(m)位上的数据置换到第m(0≤m≤63)位上得到statek2, 如下式所示对下标r进行交换(0≤r≤15,b表示数据位):
步骤6c、将statek2与对应的轮子密钥进行异或操作:其中,rc=k+1,
步骤6d、令statek+1=statek3,判断k+1≥31是否成立,若成立,结束轮函数操作,得到明 文分组Mj对应的密文分组Cj,Cj=statek+1,执行步骤7;若不成立,则令k=k+1,执行步骤6a到6d。
进一步的,步骤6a中,第三S盒为盒1的逆变换。
进一步的,步骤5包括以下步骤:
步骤5a、将15轮函数的结果state15输入第二S盒,进行查表操作得到state16-1
步骤5b、state16-1乘以对角型对合矩阵M得到state16-2,state16-2=state16-1·M;
M=diag(M0,M1,M1,M0),
其中子矩阵M0,M1,M2,M3分别为:
步骤5c、将上步结果state16-2通过第二S盒得到state16,state16=S2(state16-2);函数S2表示 进行第二S盒操作。
进一步的,步骤5a中,第二S盒中的运算逻辑如下表所示:
与现有技术相比,本发明至少具有以下有益的技术效果,本发明采用15轮轮函数、15轮 逆轮函数和一个对合变换,形成一个对合结构,使得智能电网信息进行加、解密时只需要顺序 使用加密子密钥可实现加密,逆序使用加密子密钥可实现解密,加、解密的实现只需要一套电 路即可。智能电网监测中心和终端仅仅只需要两套电路即可实现安全传输,相对之前的单工加 密和明文传输在安全性提高的基础上上也减少了资源消耗。
进一步的,本发明中S盒操作是整个加密算法中唯一的非线性运算,数据通过S盒后变得 更加分散,加大了破解难度。EN-PRESENT的S盒原理最主要的标准是1bit的输入差分不会导 致1bit的输出差分,可以避免位变换过程中产生的无价值差分路径的传播。每个S盒只需要 28GE(gate equivalent,等效逻辑门),相较于AES中的需要1000GE的S盒,减小了资源的 占用,更加满足电网资源受限的实际情况。
进一步的,本发明使用位变换,在硬件中的实现成本很低,因为硬件可以直接对某个特殊 的位进行操作。但是在软件中该操作的实现时,只能对字或字节中的位进行操作,在提取字或 字节中特定位置的位需要大量额外的操作(如位变换、替代等),会产生高的实现成本。因此 这种方法更适合于输电线路硬件加密的情况。同时,位变换对分组数据的置乱操作提高了方法 的抗差分攻击能力,提高了智能电网信息的安全性。
进一步的,本发明中对合结构变换S盒是一种对合转换,输入输出成对出现,一一对应, 使得算法加解密实现可以使用相同的S盒,同时该S盒降低了实现的软件和硬件资源需求。因 此,只需要提供一种防御措施即可同时用于S盒加解密的抗侧信道攻击。
附图说明
图1为本发明的流程结构图;
图2为本发明中采用明文加密分组模式示意图;
图3为本发明中轮函数的示意图;
图4为本发明中逆轮函数的示意图;
图5为本发明的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作 进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明 的限定。
参照图1至图5,本发明实现的基本思路是:加密选择密码分组链接模式(CipherBlock Chaining(CBC))结构,设计一种对合分组密码EN-PRESENT,其明文分组长度为64位,为 抵抗穷举攻击初始密钥长度为80位或128位。算法执行时分为两个部分,一是密钥扩展,获 取实现过程所需要的轮子密钥;二是对合加密实现,共31轮,15轮的轮函数和15轮的逆轮 函数互逆,加1轮对合函数,实现算法加解密采用同一套电路,使智能电网系统监测中心和终 端各自只需要一套完全相同的硬件结构即可实现数据的加解密。
根据以上技术思路,一种基于EN-PRESENT算法的电网信息加密方法,包括以下步骤:
步骤1,随机选择一个的64位初始化向量IV,设定输入的80位初始密钥k1,将输入的待 加密明文数据进行分组,得到明文分组集合P,P=(M1,M2…Mn),M1至Mn分别代表分组后的第一组数据至第n组数据,n为明文数据的分组数,设临时变量j=1。
收发两方分享(初始向量为收发两方事先协定)初始向量IV所能指定的所有值与对应的 分组编号,加密随机选择编号,将选择对应的编号与加密密文一起传输,解密端根据编号获取 初始向量,解密密文。IV仅仅是一个初始化加密程序的随机数,无需秘密保存,但对每一个 信息来说它都是不同的,通过这个方式,即使有两条相同的信息,只要有不同的IV,那么加 密后的密文就是不同的。
待加密明文分组每组长度为64个比特,最后一组不足64比特的部分补零。
步骤2,进行密钥扩展操作,得到子密钥,加密方法共需要30个子密钥,进行密钥扩展后 得到所需密钥并存储为krc(1≤rc≤30)。
当轮数rc=1时使用初始密钥k1;当前轮数rc≥2时执行步骤2a至2d:
步骤2a、i=rc-1,对第i轮子密钥ki=[k79k78…k0](1≤i≤30)循环右移27,每次将右边的 低27位依次右移到高27位,即将ki1=k1的低27位移至高27位得到ki2=[k26…k0k79…k27];
步骤2b、将移位后的结果ki2的高4位送入第一S盒进行非线性变换,得到ki3,具体为: [k′26,k′25,k′24,k′23]=S[k26,k25,k24,k23],ki3=[k′26,k′25,k′24,k′23,k22,…k0,k79…k27],函数S1[x]表示对 自变量x按照第一S盒的运算逻辑进行非线性变换;
第一S盒非线性变换为一个查表操作,将输入的4位数看做16进制,对应查表得到输出, 第一S盒中的运算逻辑如下表所示:
x 0 1 2 3 4 5 6 7 8 9 a b c d e f
S1[x] D 6 1 F 4 8 B 5 0 3 A C 9 E 7 2
若输入k26,k25,k24,k23=1101,即“x=c”,输出S1[x]=9;
步骤2c、将ki3中下标为15-19的5位数据与当前轮数rc异或,得到下一轮密钥krc=ki+1=ki4; 可表示为: krc=ki+1=ki4=[k′26,k′25,k′24,k′23,k22,k21,k20,k′19,k′18,k′17,k′16…k0,k79…k27];
步骤2d、判断rc+1>30,成立,存储krc,结束密钥扩展操作,执行步骤3;不成立,存储krc,轮数加一:rc=rc+1,执行步骤2a到2d。
步骤3,进行CBC结构操作,将明文分组与前一分组的密文进行异或,第一个分组与初始 向量进行异或得到M'j,具体为:明文分组Mj(1≤j≤n)与前一分组的密文进行异或运算得到 M'j:当j=1时,当1<j≤n时,
步骤4,进行15轮轮函数操作,充分扩展、混淆数据信息,中间状态是加密过程中,明文 在变换为密文时使用的中间步骤所产生的状态,设中间状态为statek(0≤k≤15):
步骤4a、当k=0时,state0=M′j,当k≠0时,将statek与当前轮子密钥进行异或操作: rc=k+1;
步骤4b、将statek1分为16个4位的字节(16进制),通过第一S盒对应得到statek2
步骤4c、对statek2进行位变换,将statek2的第m(0≤m≤63)位上的数据置换到第P(m)位 上得到statek3,如下式所示对下标进行交换(0≤r≤15,b表示数据位),下式中左边一列均为 m,右侧一列均为P(m):
b4×r→br
b4×r+1→br+16
b4×r+2→br+32
b4×r+3→br+48
也可表示为一个查表运算,位置换表为:
步骤4d)令statek+1=statek3,判断k+1>15是否成立,若成立,结束轮函数操作,执行步 骤5;若不成立,则令k=k+1,执行步骤4a到4d。
步骤5,将15轮轮轮函数操作的结果输入对合结构,执行对合结构变换,得到中间状态 state16
步骤5a、将15轮函数的结果state15输入第二S盒,进行查表操作得到state16-1
对合变换中的第二S盒也具有对合性质,其中的元素一一对应,成对出现,第二S盒为:
x 0 1 2 3 4 5 6 7 8 9 a b c d e f
S2[x] E A 2 C 4 8 F D 5 9 1 B 3 7 0 6
降低了实现的软件和硬件资源需求,因此,只需要提供一种防御措施即可同时用于S盒加 解密的抗侧信道攻击;
步骤5b、state16-1乘以对角型对合矩阵M得到state16-2,state16-2=state16-1·M;
M=diag(M0,M1,M1,M0)是一个64×64的对角型对合矩阵,M0和M1分别是两个16×16的列混合变换,
其中子矩阵M0,M1,M2,M3分别为:
将子矩 阵代入,可得M0·M0=I,M1·M1=I,所以M0和M1是对合矩阵,即M为对合矩阵,将SB′变换结果作为M矩阵输入,SB′为第二S盒,将状态矩阵每一列看做一个4位数据 x=[x1,x2,x3,x4]-1,共16列,即将对合矩阵M的子矩阵作用在状态矩阵的每一列上,相当于 16个独立的线性变换分别作用在每一列上;
步骤5c、将上步结果state16-2通过第二S盒得到state16,state16=S2(state16-2),函数S2表示 进行第二S盒操作。
步骤6,进行15轮逆轮函数操作,中间状态为statek(16<k≤31):
步骤6a、将statek分为16个4位的字节(16进制),通过第三S盒表操作对应得到statek1
第三S盒为盒1的逆变换,其结构如下所示:
x D 6 1 F 4 8 B 5 0 3 A C 9 E 7 2
S-1[x] 0 1 2 3 4 5 6 7 8 9 a b c d e f
步骤6b)进行位逆变换,将第P(m)位上的数据置换到第m(0≤m≤63)位上得到statek2, 如下式所示对下标r进行交换(0≤r≤15,b表示数据位):
br→b4×r
br+16→b4×r+1
br+32→b4×r+2
br+48→b4×r+3
位逆变换是位变换的逆过程,将第P(m)位上的数据置换到第m(0≤m≤63)位上;
步骤6c、将statek2与对应的轮子密钥进行异或操作:其中rc=k+1,
步骤6d、令statek+1=statek3,判断k+1≥31是否成立,若成立,结束轮函数操作,得到明 文分组Mj对应的密文分组Cj:Cj=statek+1,执行步骤7;若不成立,则令k=k+1,执行步骤6a到6d;
步骤7,判断j+1>n是否成立,即循环次数是否低于分组组数,成立加密结束,若不成 立,执行步骤3至步骤7。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明, 所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围, 凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保 护范围之内。

Claims (8)

1.一种基于EN-PRESENT算法的电网信息加密方法,其特征在于,包括以下步骤:
步骤1,随机选择一个的64位初始化向量IV,设定输入的80位初始密钥k1,将输入的待加密明文数据进行分组,得到明文分组集合P,P=(M1,M2…Mn),n为分组数;
步骤2,进行密钥扩展操作,得到30个子密钥,并存储为krc(1≤rc≤30),当rc=1时,krc为步骤1中设定的初始密钥k1
步骤3,将明文分组Mj(1≤j≤n)与前一分组的密文进行异或M'j,其中,第一个明文分组M1与初始向量IV进行异或;
步骤4,以M'j和krc做为输入,进行15轮轮函数操作,得到明文的中间状态state15
步骤5,将步骤4得到的state15输入对合结构,进行对合结构变换,得到明文的中间状态state16
步骤6,对state16进行15轮逆轮函数操作,得到明文的中间状态state31,中间状态state31即为明文分组Mj对应的密文分组Cj
步骤7,判断j+1>n是否成立,若判断结果为是,流程结束;若判断结果为否,执行步骤3至步骤7。
2.根据权利要求1所述的一种基于EN-PRESENT算法的电网信息加密方法,其特征在于,步骤2中,子密钥通过以下步骤获得:
当轮数rc=1时使用初始密钥k1;当前轮数rc≥2时执行步骤2a至2d:
步骤2a、i=rc-1,对第i轮子密钥ki=[k79k78…k0](1≤i≤30)循环右移27,每次将右边的低27位依次右移到高27位,即将ki1=k1的低27位移至高27位得到ki2=[k26…k0k79…k27];
步骤2b、将移位后的结果ki2的高4位进行非线性变换,得到ki3,具体为:[k′26,k′25,k′24,k′23]=S[k26,k25,k24,k23],ki3=[k′26,k′25,k′24,k′23,k22,…k0,k79…k27],函数S1[x]表示对自变量x按照第一S盒的运算逻辑进行非线性变换;
步骤2c、将ki3中下标为15-19的5位数据与当前轮数rc异或,得到下一轮密钥krc=ki+1=ki4,表示为:
krc=ki+1=ki4=[k′26,k′25,k′24,k′23,k22,k21,k20,k′19,k′18,k′17,k′16…k0,k79…k27];
步骤2d、判断rc+1>30,成立,存储krc,结束密钥扩展操作,执行步骤3;不成立,存储krc,令rc=rc+1,执行步骤2a到2d。
3.根据权利要求2所述的一种基于EN-PRESENT算法的电网信息加密方法,其特征在于,步骤2b中,第一S盒非线性变换为一个查表操作,对应查表得到输出,第一S盒中的运算逻辑如下表所示:
4.根据权利要求2所述的一种基于EN-PRESENT算法的电网信息加密方法,其特征在于,步骤4包括以下步骤:
步骤4a、当k=0时,state0=M′j,当k≠0时,将statek与当前轮子密钥进行异或操作:
步骤4b、将statek1分为16个4位的字节(16进制),通过第一S盒得到statek2
步骤4c、对statek2进行位变换,将statek2的第m(0≤m≤63)位上的数据置换到第P(m)位上得到statek3,如下式所示对下标进行交换(0≤r≤15,b表示数据位),下式中左边一列均为m,右侧一列均为P(m):
b4×r→br
b4×r+1→br+16
b4×r+2→br+32
b4×r+3→br+48
步骤4d、令statek+1=statek3,判断k+1>15是否成立,若成立,结束轮函数操作,执行步骤5;若不成立,则令k=k+1,执行步骤4a到4d。
5.根据权利要求4所述的一种基于EN-PRESENT算法的电网信息加密方法,其特征在于,步骤6包括以下步骤:
步骤6a、将statek分为16个4位的字节,通过第三S盒得到statek1
步骤6b、进行位逆变换,将第P(m)位上的数据置换到第m(0≤m≤63)位上得到statek2,如下式所示对下标r进行交换(0≤r≤15,b表示数据位):
步骤6c、将statek2与对应的轮子密钥进行异或操作:其中,rc=k+1,
步骤6d、令statek+1=statek3,判断k+1≥31是否成立,若成立,结束轮函数操作,得到明文分组Mj对应的密文分组Cj,Cj=statek+1,执行步骤7;若不成立,则令k=k+1,执行步骤6a到6d。
6.根据权利要求5所述的一种基于EN-PRESENT算法的电网信息加密方法,其特征在于,步骤6a中,第三S盒为盒1的逆变换。
7.根据权利要求1所述的一种基于EN-PRESENT算法的电网信息加密方法,其特征在于,步骤5包括以下步骤:
步骤5a、将15轮函数的结果state15输入第二S盒,进行查表操作得到state16-1
步骤5b、state16-1乘以对角型对合矩阵M得到state16-2,state16-2=state16-1·M;
M=diag(M0,M1,M1,M0),
其中子矩阵M0,M1,M2,M3分别为:
步骤5c、将上步结果state16-2通过第二S盒得到state16,state16=S2(state16-2);函数S2表示进行第二S盒操作。
8.根据权利要求7所述的一种基于EN-PRESENT算法的电网信息加密方法,其特征在于,步骤5a中,第二S盒中的运算逻辑如下表所示:
CN201810196207.9A 2018-03-09 2018-03-09 一种基于en-present算法的电网信息加密方法 Pending CN108429613A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810196207.9A CN108429613A (zh) 2018-03-09 2018-03-09 一种基于en-present算法的电网信息加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810196207.9A CN108429613A (zh) 2018-03-09 2018-03-09 一种基于en-present算法的电网信息加密方法

Publications (1)

Publication Number Publication Date
CN108429613A true CN108429613A (zh) 2018-08-21

Family

ID=63158115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810196207.9A Pending CN108429613A (zh) 2018-03-09 2018-03-09 一种基于en-present算法的电网信息加密方法

Country Status (1)

Country Link
CN (1) CN108429613A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951268A (zh) * 2019-02-18 2019-06-28 吉林大学珠海学院 基于位置换和位变换的加密解密方法和装置
CN110113503A (zh) * 2019-03-15 2019-08-09 中国平安人寿保险股份有限公司 软电话加解密方法、装置、设备及计算机可读存储介质
CN110321162A (zh) * 2019-07-01 2019-10-11 无锡沐创集成电路设计有限公司 基于粗粒度可重构计算单元的present加密算法实现方法及系统
CN111262685A (zh) * 2020-01-17 2020-06-09 衡阳师范学院 一种新型密钥生成的Shield分组密码实现方法、装置及可读存储介质
CN111314054A (zh) * 2020-01-21 2020-06-19 衡阳师范学院 一种新型高安全的轻量级eceg分组密码实现方法、系统及存储介质
CN112866288A (zh) * 2021-03-01 2021-05-28 上海海事大学 一种双明文传输的数据对称加密方法
CN114812528A (zh) * 2022-06-24 2022-07-29 湖北高路公路工程监理咨询有限公司 一种运用在高速公路病害边坡上的自动监测系统
CN117411727A (zh) * 2023-12-14 2024-01-16 山东省大数据中心 一种通信传输对称加密的加密方法、装置及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707343A (zh) * 2017-11-08 2018-02-16 贵州大学 加解密一致的sp网络结构轻量级lbt分组密码实现方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707343A (zh) * 2017-11-08 2018-02-16 贵州大学 加解密一致的sp网络结构轻量级lbt分组密码实现方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MUHAMMAD REZA Z’ABA 等: "I-PRESENTTM: An Involutive Lightweight Block Cipher", 《JOURNAL OF INFORMATION SECURITY》 *
崔杰 等: "对轻量级分组密码 I-PRESENT-80 和", 《通信学报》 *
邹祎 等: "PRINCE轻量级密码算法的差分故障分析", 《计算机科学》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951268A (zh) * 2019-02-18 2019-06-28 吉林大学珠海学院 基于位置换和位变换的加密解密方法和装置
US11750375B2 (en) 2019-02-18 2023-09-05 Zhuhai College of Science and Technology Encryption and decryption method and device based on bit permutation and bit transformation
CN110113503A (zh) * 2019-03-15 2019-08-09 中国平安人寿保险股份有限公司 软电话加解密方法、装置、设备及计算机可读存储介质
CN110321162A (zh) * 2019-07-01 2019-10-11 无锡沐创集成电路设计有限公司 基于粗粒度可重构计算单元的present加密算法实现方法及系统
CN111262685A (zh) * 2020-01-17 2020-06-09 衡阳师范学院 一种新型密钥生成的Shield分组密码实现方法、装置及可读存储介质
CN111314054A (zh) * 2020-01-21 2020-06-19 衡阳师范学院 一种新型高安全的轻量级eceg分组密码实现方法、系统及存储介质
CN112866288A (zh) * 2021-03-01 2021-05-28 上海海事大学 一种双明文传输的数据对称加密方法
CN112866288B (zh) * 2021-03-01 2022-09-06 上海海事大学 一种双明文传输的数据对称加密方法
CN114812528A (zh) * 2022-06-24 2022-07-29 湖北高路公路工程监理咨询有限公司 一种运用在高速公路病害边坡上的自动监测系统
CN117411727A (zh) * 2023-12-14 2024-01-16 山东省大数据中心 一种通信传输对称加密的加密方法、装置及存储介质
CN117411727B (zh) * 2023-12-14 2024-02-20 山东省大数据中心 一种通信传输对称加密的加密方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN108429613A (zh) 一种基于en-present算法的电网信息加密方法
CN105490802A (zh) 基于gpu的改进sm4并行加解密通信方法
CN109245881A (zh) 一种照片视频云端加密存储方法
CN101729241A (zh) 抵御差分能量攻击的aes加密方法
CN104065474B (zh) 一种轻量级Surge分组密码实现方法
CN103501224A (zh) 基于量子细胞神经网络系统的非对称图像加密解密方法
CN108123794A (zh) 白盒密钥的生成方法和加密方法、装置及系统
CN107257279A (zh) 一种明文数据加密方法及设备
CN113312608B (zh) 一种基于时间戳的电力计量终端身份认证方法及系统
CN109861810A (zh) 一种基于混沌块加密算法的数据加密方法及解密方法
CN109861809A (zh) 一种实用化的分组随机加解密方法
Upadhyay et al. An efficient key management and multi-layered security framework for SCADA systems
CN108400862A (zh) 一种智能用电终端可信数据融合加密方法
Mousavi et al. Security of Internet of Things using RC4 and ECC algorithms (case study: smart irrigation systems)
CN101867471A (zh) 基于无理数的des认证加密算法
Soni et al. Key generation using genetic algorithm for image encryption
CN107070637A (zh) 一种交叠分组的数据加解密方法
Jing et al. WSN key management scheme based on fully bomomorphic encryption
CN105337732A (zh) 一种可处理大分组数据的加密方法
CN101958790A (zh) 无线通信网络数字信息加密或解密方法
CN114745105B (zh) 一种融合量子漫步和改进aes的图像加密方法
Li et al. An implementation method for SM4-GCM on FPGA
CN104735652A (zh) 一种适用于无线传感器网络的混沌加密方法
Bajaj et al. AES algorithm for encryption
CN104837131B (zh) 一种基于批处理指数运算乘积的批Cramer-Shoup密码方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180821

RJ01 Rejection of invention patent application after publication