基于网络空间安全的LBlock密码技术的研究与实现

2022-09-11 版权声明 我要投稿

一、前言

在科学技术不断的发展中,人类社会已经步入到了信息数据化的时代,也称之为“大数据时代”。

在大数据的时代,信息产业成为了第一大产业,与所有的行业和所有的人都息息相关。在这个由信息作为基础资源所构建的生存网络中,安全也成了至关重要的话题。

LBlock加密算法作为一种轻量级分组密码,于2011年ANCS会议上由吴文玲等人提出。[1]

本文正是基于网络空间安全的背景下对LBlock加密算法进行安全性分析,同时在C++/C环境下对其进行实现,该算法采用类Feistel算法结构,同时其密钥扩展算法是采用了Feistel结构和SPN结构,故LBlock加密算法具有很高的理论价值和实用价值。

二、网络空间安全

(一)网络空间概述

网络空间是所有信息的集合,是人们生存的信息环境,因此必须确保网络空间的安全。如今人们所处的这个环境之下,可以说是人工智能和“大数据”横行的一个环境,各类人群所使用的App为提供更高效的服务而收集用户信息,然而却有很多心思不正的人窃取用户数据,故网络空间安全成了一个热点话题。

(二)网络空间安全主要研究内容

网络空间安全作为一门学科是融合了计算机、电子、通信、物理、数学、生物甚至更多门学科的有关知识,它以这些为依托,但从本质上又有着极大的差别。它有着自己完整且独立的体系,以密码学、网络安全、信息内容安全和信息对抗作为主要的研究内容。

三、分组密码技术

(一)分组密码的基本原理

分组密码的工作模式第一步是将明文分为相同长度的块,一般常见的有64比特或者128比特为一组,设明文数据序列为,,……每m个组成一组明文,用来进行加密的密钥为, 明文P在加密密钥的作用下转换成密文,记作,即。

从数学科学的层面分析的话,就是说分组密码的加密函数实际上是从长度为n的集合上映射到另一个长度为n的集合上,解密过程是加密过程的逆运算。

(二)分组密码的研究意义

分组密码有着体积小、运行快的特点,在如今要求时效性的社会大趋势是吻合的,同时轻量级的密码算法对于一些计算力低、处理信息弱的一些硬件设备也可以广泛应用。

并且分组密码综合性很高,除去自身的一些特点外,还易于标准化,便于推广和被大众接受。同样的,分组密码的研究意义还在于它有着很大的提升空间。

分组密码这一密码体系相较于公钥密码在可证明安全性上有着一定的差距,而且,机密性和完整性作为密码算法设计的两大目标,分组密码在完整性这一方面还有所欠缺,在机密性上较于其它已经比较成熟。

无论是对比而言还是从自身而言,分组密码都可以成为当今社会密码算法研究的热点,具有重大的现实意义和研究价值。

四、LBlock加密算法分析与实现

(一)LBlock加密算法的基本原理

LBlock密码算法的基本思想也是采用了Feistel结构,它的明文分组长度为64位,密钥长度80位,由32轮迭代实现。在LBlock密码算法中有三部分:加密算法,解密算法和密钥调度(如图1)。

在整个加密算法中,核心就体现在轮函数中,轮函数F定义为:

其中P和S是在后文中出现的混淆和扩散函数,轮函数F的内涵就是将明文分组和密钥通过混淆和扩散的变化映射到另一个集合中。轮函数的结构如图2所示。

LBlock加密算法中混淆函数S是轮函数F的重要部分,它由8个4×4比特的S盒构成。S盒的设计原则也是遵照非线性的原则,所以S盒的强度很大程就决定了这整个算法的安全强度。混淆函数S可表示为一个集合的到另一个集合的映射,即:

它将接收到的32位信息分成8个4位的分组,然后经过S盒代换重新连接为一段32位信息,映射以及代换关系如下表示:LBlock加密算法中S盒具体如表1所示。LBlock加密算法的密钥调度是采用了80位的密钥。设主密钥为K。存储在密钥寄存器中的K则表示为K=k79k78k77…k1k0。取在寄存器中存储的主密钥最左边32位作为第一轮轮函数的子密钥K1,然后进行如下操作来更新寄存器中的主密钥K:

(iv) 将寄存器中当前内容的最左边的32位输出,作为轮密钥Ki+1。

其中s8和s9同样是两个4×4位的S盒。具体内容见表1。

(二)LBlock加密算法的C/C++实现

程序中主要设计函数有:加密过程的函数(Encryption),扩展密钥的函数(UpdateKeys),循环左移、异或、交换位置的函数(leftcyclicOR),核心的轮密钥函数(RoundF)以及输入输出函数。

测试结果符合设计目的中的功能,编译环境为Visual Studio 2017,采用的是Windows控制台程序的形式。运行结果以及每轮次结果截图如图3所示。

摘要:网络空间是人们生活发展的信息环境,在大数据时代,网络空间的安全显得尤为重要,而密码技术又是保障网络空间安全的重要手段。本文对轻量级密码算法LBlock密码算法进行了研究与实现,结合当前网络安全时代的大环境,像AES诸如此类的算法已经不能满足任何场合的需求,而LBlock这样的轻量级算法可以在更小、更低端的嵌入式设备中应用,它对硬件和运算体量的要求更小,在C/C++的环境下对其进行了实现,同时分析了其安全性,LBlock密码技术作为一种高效率的轻量级密码算法具有很高的研究价值,但本文中如交互界面和算法进一步优化仍有待提升。

关键词:网络空间安全,安全性分析,分组密码,LBlock算法

参考文献

[1] 王宁.几个轻量级分组密码算法的安全性分析[D].济南:山东大学, 2018.

上一篇:谐振充气原理与可变进气管下一篇:探究桥式起重机检验中的问题