Rijndael的加密解密要经过多次的数据变换操作,每一次变换操作都会产生一个中间结果,我们称这个中间结果为状态。算法的所有操作都以状态为对象进行,每个状态可由字节的矩阵列表示,这种矩阵立列包含4行,矩阵列的列数目可以由Nb表示。密钥列表用Nk表示。他等于密钥的长度除以32.
从某种意义上来讲,这些数据也可以看作是4字节的一维向量,每个向量由相应的矩阵的一个列组成。Nb于Nk的可取值为4、6、8,下面的矩阵的形式由列出Nb不同取值情况下的数组结构:
以下为Nk不同取值情况下数组的矩阵形式:
算法中的加密解密是迭代进行的,它的重复次数成为轮数,用Nr来表示。Nr由Nb和Nk共同决定。
(1)字节置换
字节置换是一种非线性的置换,字节置换对分组矩阵的每个字节执行一次非线性字节替换操作。假设a(x)为状态数组中的一个字节,采用多项式表示,讲GF中的元素用多项式的形式表示,且系数是GF2中的元素。值得一提的是,字节替换作为Rijndael算法的唯一一个非线性运算,是整个算法中的最关键部分,也是最复杂的部分。
(2)行位移
行位移将状态数组的每一行进行循环左移操作,位移量随着不同的行而有所不同。其中,第0行的位移为0,第一行循环左移c1字节,第二行循环左移c2字节。位移操作是算法中的一个基本的操作,无论是在加密过程中的初始轮还是在加密过程中的中间轮,位移的操作一直存在。
(3)列混合
在列混合变换中,将一个列视为上的多项式,再与一个固定的模式进行乘法,上面的公式运算可以展开为有限的加法与乘法运算,从而在很大程度上简化了运算的复杂度。列混合并没有贯穿夹击算法的整个流程,在最后一轮的运算并没有包含列混合的操作。
(4)添加密钥
在添加密钥变换中,每一轮的密钥被加载状态数组上,有限域上的假发相当于亦或操作。其中轮密钥由密钥调度模块产生,它由Nb个列组成。这Nb个列被加到状态数组中的每一列上。
(5)轮密钥表
在AES算法中,一共要产生Nb(nr+1)个字的密钥。轮密钥是由初始密钥产生的,它分为两个步骤进行:密钥扩展与轮密钥的选择,且遵循一定的原则。
移动硬盘加密:多种方法保护你的数据安全
在如今这个信息如潮水般涌来的时代,咱谁还没些重要数据要保存呀?像工作资料、私人照片,还有那些珍藏的电影,要是这些数据不小心泄露出去,那麻烦可就大了去了,简直够人焦头烂额的。所以说,给移动硬盘加密,就如同给咱的数据披上一层坚不可摧的 “防弹衣”,关键时候真能保住咱们的 “命根子” 呢!一、为啥非得给移动硬盘加密?你或许会...
探索上网行为管理设备的核心功能与应用
是不是总感觉网络世界像个既奇妙又复杂的大迷宫呀?咱们每天在网上冲浪、办公、学习新知识,可你们有没有想过,其实咱们的上网行为是能够被管理和优化的呢?没错,今儿个咱就来好好聊聊上网行为管理设备,尤其是它那些让人拍手叫好的核心功能与应用。有了它,咱们的网络生活就能变得更健康、更高效啦。一、啥是上网行为管理设备?简单来讲,上网...
移动硬盘加密与不加密的深度解析,你了解多少?
移动硬盘,咱工作生活里的得力伙伴,确实给咱带来不少方便。但你有没有认真想过,移动硬盘加密和不加密,差别到底有多大呢?今儿个,咱就敞开了聊聊这话题。一、数据安全:云泥之别咱先唠唠最要紧的数据安全。加密的移动硬盘,那就像给数据穿上了一层金刚不坏的 “铠甲”,没授权的人,根本别想看见里头的东西。哪怕不小心把移动硬盘搞丢了,或...
2025年值得尝试的电脑桌面管理软件推荐
杂乱无章的图标、找不到的文件、频繁弹出的通知……这些烦恼统统可以抛到九霄云外了!今天,我要给大家推荐几款2025年超火的电脑桌面管理软件,让你的电脑焕然一新!一、告别杂乱,迎接整洁新桌面1、图标整理大师 这款软件就像是个细心的管家,能自动帮你把桌面上的图标分类整理好。比如,把所有的办公软件放在一起,娱乐软件放另一边,找...
保护你的隐私:电脑应用程序加密设置全攻略
在这个数字化时代,咱们的电脑里藏着不少小秘密,从个人隐私到工作机密,啥都有。但你有没有想过,这些宝贵的信息可能就在不经意间被泄露出去。别怕,今天咱们就来聊聊如何给电脑里的应用程序上个锁,让它们变得坚不可摧!一、隐私泄露?这事儿可大可小!咱们平时用电脑,总免不了要处理些敏感信息,比如个人照片、银行账号、工作文档啥的。但你...