法律状态公告日
法律状态信息
法律状态
2023-02-24
公开
发明专利申请公布
技术领域
本发明涉及信息安全技术领域,特别是涉及一种检测SATURNIN密码算法抵御不可能差分故障攻击的方法。
背景技术
随着现代计算机技术的飞速发展,信息安全问题逐渐突显出来,网络攻击、非法侵入等行为每年都在呈上升趋势,给人们在互联网的使用过程中带来了巨大的安全隐患。SATURNIN算法是于2020年在国际对称密码学期刊中提出的一种轻量级密码算法,该算法采用代换置换网络结构,算法的分组长度和密钥长度均为256比特。SATURNIN密码算法在保持高效轻巧的同时具有极高的安全性,被广泛应用在各种小型设备上,因此对它进行安全性分析具有重要意义。
发明内容
本发明所要解决的技术问题是提供一种检测SATURNIN密码算法抵御不可能差分故障攻击的方法,能够评测使用SATURNIN密码算法封装的产品的安全性。
本发明解决其技术问题所采用的技术方案是:提供一种检测SATURNIN密码算法抵御不可能差分故障攻击的方法,包括以下步骤:
随机生成要处理的明文消息M;
利用SATURNIN密码算法处理明文消息M,得到正确输出密文Y;
利用SATURNIN密码算法处理明文消息M,并在倒数第四轮超级轮的指定位置导入故障得到错误输出密文
根据得到的正确输出密文Y和错误输出密文
计算中间状态值
所述不可能差分关系方程组为:
所述在倒数第四轮超级轮的指定位置导入故障时,通过改变在指定位置按位取反的方式将故障导入。
所述故障采用随机半字节故障模型。
所述故障通过软件模拟的方法、激光、电磁和/或电压干扰的方式进行导入。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明通过导入故障的方式得到错误密文,再根据正确密文和错误密文的中间状态值的差分值建立一组不可能差分关系方程式,从而进一步压缩密钥搜索空间,重复导入故障和分析过程,最后可以推导出正确的密钥K。本发明提供的方法易实现、速度快且准确性高,对SATURNIN密码算法的安全性研究具有重要的意义。
附图说明
图1为本发明实施方式的流程图;
图2为SATURNIN密码算法处理信息M过程中不可能差分故障分析的故障传播图;
图3为SATURNIN密码算法分析图;
图4为本发明实施方式中的实验环境示意图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明实施方式中用到的符号说明如下:
M:明文;
Y:输出的正确消息密文;
C
K:密钥;
K
R:SATURNIN密码算法的超级轮的轮数;
SC:S盒替换;
SR
SR
MC:列混淆变换;
MC
本发明的实施方式涉及一种检测SATURNIN密码算法抵御不可能差分故障攻击的方法,如图1所示,包括以下步骤:
步骤1:随机生成要处理的明文消息,记为M;
步骤2:利用SATURNIN密码算法处理明文消息M,得到正确输出密文Y;其中,SATURNIN密码算法的过程如图3所示。
步骤3:利用SATURNIN密码算法处理明文消息M,并在倒数第四轮超级轮的指定位置导入故障得到错误输出Y;本步骤中通过改变在指定位置按位取反的方式将故障导入,导入的故障采用随机半字节故障模型,故障大小为半字节,其可以通过软件模拟的方法实现,也可以通过激光、电磁、电压干扰等技术手段对真实硬件进行处理来实现。
在步骤2和步骤3中使用SATURNIN密码算法对明文消息M处理过程中,为保证实验结果的准确性,需要严格控制实验环境(见图4),从而得到相应的输出。其中,利用计算机来产生密码算法的输入消息M,并对信息M经过SATURNIN密码算法后的输出结果进行处理和分析;封装SATURNIN密码算法的设备是用来处理输入信息并得到相应的输出结果;导入故障的设备用来执行导入故障动作,将在SATURNIN密码算法运行过程中执行导入故障动作,进而得到错误信息的输出,具体的操作方法如下:
实验环境1:输入消息M,控制实验环境不受其他不相关事务的干扰,使得SATURNIN密码算法能够准确无误地进行,从而得到正确的输出结果,将其记为Y;
实验环境2:重新输入消息M,再次用SATURNIN密码算法对其进行加密处理,同时在指定位置,诱导产生故障来干扰SATURNIN密码算法的处理过程,将导入故障后所输出的结果记为
步骤4:根据得到的正确密文Y和错误密文
上述推导过程是基于图2所示的SATURNIN密码算法处理信息M过程中不可能差分故障分析的故障传播图。
步骤4:计算中间状态值
其中,不可能差分关系方程组如下:
上述方程组中
其中,0≤i≤3,0≤j≤3。
利用上述不可能差分关系方程组作为限制条件,遍历所有可能的子密钥候选值,筛选出符合要求的子密钥,最后根据密钥编排算法求得原始密钥K。
利用上述分析方法,本发明在Intel(R)Core(TM)i5-7200U CPU@2.50GHz2.70GHz8GB内存的计算机上,使用IDEA开发工具模拟导入故障和SATURNIN密码算法处理过程,重复执行3000次,实验结果表明上述检测方法准确无误。
不难发现,本发明通过导入故障的方式得到错误密文,再根据正确密文和错误密文的中间状态值的差分值建立一组不可能差分关系方程式,从而进一步压缩密钥搜索空间,重复导入故障和分析过程,最后可以推导出正确的密钥K。本发明提供的方法易实现、速度快且准确性高,对SATURNIN密码算法的安全性研究具有重要的意义。
机译: 检测针对密码算法的故障攻击的方法
机译: 通过试错法检测密码算法攻击的方法
机译: 通过试错法检测密码算法攻击的方法