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

技术编号:29531185 阅读:12 留言:0更新日期:2021-08-03 15:18
一种基于AES加密算法的加密方法。现有的加密算法分为对称加密算法和非对称加密算法,加密和解密操作使用同一个密钥,使用AES加密同一个明文得到密文通常是固定的,明文‑密文表足够全面,非法破解者即可破解,造成明文数据信息的泄漏。本发明专利技术的方法包括如下步骤:首先是明文以参数的形式输入到AES加密算法中,执行密钥扩展操作得到轮密钥;执行轮加密的循环迭代操作:字节替代、行移位、列混合以及轮密钥加得到密文C;执行伪随机数发生函数,将系统的时间作为种子,生成随机数据字符串G;最终密文由密文C和随机数据字符串G两部分组成;实现了密文的随机性,增加破解的难度,提高加密算法的安全性能。本发明专利技术用于一种基于AES加密算法的加密方法。

【技术实现步骤摘要】
一种基于AES加密算法的加密方法
本专利技术涉及物联网数据节点数据加密
,具体涉及一种基于AES加密算法的加密方法。
技术介绍
数据加密是保障物联网数据节点数据安全的一种可靠的办法,数据通过加密算法和加密密钥将明文转化为密文,从而起到保护数据安全的作用;现有的加密算法分为对称加密算法和非对称加密算法两类,对称加密算法的特征是加密和解密操作使用同一个密钥,例如AES加密算法、DES加密算法;非对称加密算法的特征是加密和解密操作使用不同的密钥,包括ABE加密算法、ECC加密算法以及同态加密算法等;AES加密算法的前身是Rijndael算法,由美国NIST选中用来代替原DES的高级算法,用于保护政府重要信息的安全;使用AES加密同一个明文得到的密文通常是固定的,以至可以得到一张明文-密文相对应的表,只要明文-密文表足够全面,非法破解者即可以通过明文-密文表破解推算出想要破解的明文,造成明文数据信息的泄漏。专利文献1(公开号:CN106385313A)公开了基于分组加密算法的随机密文系统及实现方法,自动判断被加密明文位数长度及其所用分组加密算法的分组长度,并对其明文进行智能填充的随机密文生成方法,在每次加密后,可以生成不同的密文信息,大大提高了黑客们获取敏感数据的成本,增加了密文的强壮度,只能提高了相关系统的安全性。
技术实现思路
本专利技术的目的是提供一种基于AES加密算法的加密方法,通过加入随机数据字符串G,使加密后得到的密文具有随机性,即对同一个明文进行加密后得到的密文是不同的。提高了加密算法的破解难度。上述的目的通过以下的技术方案实现:一种基于AES加密算法的加密方法,该方法包括如下步骤:首先是明文以参数的形式输入到AES加密算法中,执行密钥扩展操作得到轮密钥;执行轮加密的循环迭代操作:字节替代、行移位、列混合以及轮密钥加得到密文C;执行伪随机数发生函数,将系统的时间作为种子,生成随机数据字符串G;最终密文由密文C和随机数据字符串G两部分组成;实现了密文的随机性,增加破解的难度,提高加密算法的安全性能。所述的一种基于AES加密算法的加密方法,所述的加密方法的具体步骤如下:步骤1:明文以参数的形式传入AES加密算法,获取系统时间;步骤2:执行密钥扩展算法,得到轮密钥;步骤3:执行字节替代算法;步骤4:执行行移位算法;步骤5:执行列混合算法;步骤6:执行轮密钥加算法;步骤7:判断是否达到循环迭代次数,是则转至8,取得密文C,否则转至3;步骤8:执行伪随机数发生函数,取得随机数据字符串G;步骤9:输出最终密文C+G。所述的一种基于AES加密算法的加密方法,使用AES加密算法加密明文数据得到密文C,伪随机数生成器生成随机数据字符串G,最终密文由密文C和随机数据字符串G两部分组成。得到的密文具有随机性。所述的一种基于AES加密算法的加密方法,所述的AES加密算法的四个轮加密操作:字节替代是把数据矩阵的每一个字节根据非线性替换表替换为另一个字节,行移位是将数据矩阵的每一位循环移位一定长度,列混合是把数据矩阵中的每个字节映射得到一个新的字节,轮密钥加是将数据矩阵与密钥矩阵进行异或操作。所述的一种基于AES加密算法的加密方法,随机数据字符串G是由伪随机数生成器生成的,随机数据字符串对密文的混淆程度可以根据加密级别进行增加,增加了算法的破解难度。有益效果:1.本专利技术主要是一种基于AES加密算法的加密方法,通过加入随机字符串使得多次加密同一个明文得到的密文结果是随机变化的,增加了破解的难度,提高了加密算法的安全性能。2.本专利技术使用位数少的时间种子生成随机数据字符串G,不会占用大量的资源存储空间,适用于对物联网中的数据节点的数据进行安全加密。3.本专利技术通过加入随机盐策略,使用伪随机数发生器生成的随机数据字符串填充密文,使得最终密文是随机变化的,该方法得到的最终密文分为两部分,第一部分为密文C,第二部分为随机数据字符串G,两部分数据相互拼接组成最终密文。附图说明:附图1是本专利技术的流程示意图。附图2是本专利技术的密钥扩展的流程示意图。附图3是本专利技术的S盒示意图。附图4是本专利技术的字节替代的变化示意图。附图5是本专利技术的行移位的流程示意图。附图6是本专利技术的列混合的流程示意图。附图7是本专利技术的轮密钥加的流程示意图。具体实施方式:实施例1:一种基于AES加密算法的加密方法,该方法包括如下步骤:首先是明文以参数的形式输入到AES加密算法中,执行密钥扩展操作得到轮密钥;执行轮加密的循环迭代操作:字节替代、行移位、列混合以及轮密钥加得到密文C;执行伪随机数发生函数,将系统的时间作为种子,生成随机数据字符串G;最终密文由密文C和随机数据字符串G两部分组成;实现了密文的随机性,增加破解的难度,提高加密算法的安全性能。实施例2:根据实施例1所述的一种基于AES加密算法的加密方法,所述的加密方法的具体步骤如下:步骤1:明文以参数的形式传入AES加密算法,获取系统时间;步骤2:执行密钥扩展算法,得到轮密钥;步骤3:执行字节替代算法;步骤4:执行行移位算法;步骤5:执行列混合算法;步骤6:执行轮密钥加算法;步骤7:判断是否达到循环迭代次数,是则转至8,取得密文C,否则转至3;步骤8:执行伪随机数发生函数,取得随机数据字符串G;步骤9:输出最终密文C+G。实施例3:根据实施例2所述的一种基于AES加密算法的加密方法,使用AES加密算法加密明文数据得到密文C,伪随机数生成器生成随机数据字符串G,最终密文由密文C和随机数据字符串G两部分组成。得到的密文具有随机性。实施例4:根据实施例2或3所述的一种基于AES加密算法的加密方法,所述的AES加密算法的四个轮加密操作:字节替代是把数据矩阵的每一个字节根据非线性替换表替换为另一个字节,行移位是将数据矩阵的每一位循环移位一定长度,列混合是把数据矩阵中的每个字节映射得到一个新的字节,轮密钥加是将数据矩阵与密钥矩阵进行异或操作。实施例5:根据实施例2或3所述的一种基于AES加密算法的加密方法,随机数据字符串G是由伪随机数生成器生成的,随机数据字符串对密文的混淆程度可以根据加密级别进行增加,增加了算法的破解难度;所述的字节替代算法是把数据矩阵的每一个字节根据非线性替换表替换为另一个字节;所述的行移位算法是将数据矩阵的每一位循环移位一定长度;所述的列混合算法是把数据矩阵中的字节映射到一个新的状态矩阵;所述的轮密钥加算法是将数据矩阵与密钥矩阵进行异或操作,得到新的状态矩阵;所述的伪随机数发生函数以系统时间作为种子生成随机数据字符串G;上述的密钥扩展算法,对初始密钥进行密钥扩展得到轮密钥,如附图2所示,由4个32位本文档来自技高网...

【技术保护点】
1.一种基于AES加密算法的加密方法,其特征是:该方法包括如下步骤:首先是明文以参数的形式输入到AES加密算法中,执行密钥扩展操作得到轮密钥;执行轮加密的循环迭代操作:字节替代、行移位、列混合以及轮密钥加得到密文C;执行伪随机数发生函数,将系统的时间作为种子,生成随机数据字符串G;最终密文由密文C和随机数据字符串G两部分组成;实现了密文的随机性,增加破解的难度,提高加密算法的安全性能。/n

【技术特征摘要】
1.一种基于AES加密算法的加密方法,其特征是:该方法包括如下步骤:首先是明文以参数的形式输入到AES加密算法中,执行密钥扩展操作得到轮密钥;执行轮加密的循环迭代操作:字节替代、行移位、列混合以及轮密钥加得到密文C;执行伪随机数发生函数,将系统的时间作为种子,生成随机数据字符串G;最终密文由密文C和随机数据字符串G两部分组成;实现了密文的随机性,增加破解的难度,提高加密算法的安全性能。


2.根据权利要求书1所述的一种基于AES加密算法的加密方法,其特征是:所述的加密方法的具体步骤如下:
步骤1:明文以参数的形式传入AES加密算法,获取系统时间;
步骤2:执行密钥扩展算法,得到轮密钥;
步骤3:执行字节替代算法;
步骤4:执行行移位算法;
步骤5:执行列混合算法;
步骤6:执行轮密钥加算法;
步骤7:判断是否达到循环迭代次数,是则转至8,取得密文C,否则转至3;
步骤8:执行伪随机数发生函数,取得随...

【专利技术属性】
技术研发人员:孙杰陆仲达申林全晓峰柳杨李海涛王成松高宇许健宇曹羽生靳方明胡志洋郝志鹏李环玉王秋林刘岩
申请(专利权)人:国网黑龙江省电力有限公司齐齐哈尔供电公司国家电网有限公司
类型:发明
国别省市:黑龙江;23

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

1