加密算法Rijndael是如何实现数据加密的呢?(也被称作AES)

将高度机密的信息在没有经过授权的情况下转移到一个安全位置会带来很多风险。几个世纪以来,人们不断尝试开发特别难以破译的秘密语言。从古罗马时期到第二次世界大战直至今日,政治家和重要指挥官以加密的形式发送指令,以欺骗敌人或保护信息不落入未经授权的人之手。

然而,这些加密形式都非常容易被破解。通过字母移位的密码语言可以被轻易破解,例如,“today is a beautiful day” (今天是个好天气)的德文为“heute ist ein schöner Tag”,通过字母移位为“heu teis teinsch önert ag”可表达完全不同意思。这类成熟密码语言的致命弱点在于一旦发现了加密方法,所有的消息都将成为“明文”。随着计算机的普及,字母移位加密方式已经不可能再被使用了。

如今,必须使用其他加密方法来避免与其他人共享机密信息。基于此,使用的加密方法必须仅被发送者和接收者知晓。被称为加密算法的系统方法应用在加密和破译过程中。加密算法是一种根据它进行数据转换的数学方法。

Password Depot采用Rijndael加密法,也被称之为AES (高级加密标准) 加密法保护您的机密信息。

如下为该加密算法的详细解释。

高级加密标准,简称为AES或Rijndael

由美国国家标准局开发的DES(数据加密标准) 具有无限数据加密能力。DES加密标准已被Rijndael取代。该算法为比利时密码学家Joan Daemen和Vincent Rijmen所设计,结合两位作者的名字,以Rijdael命名。采用128位,192位或者256位密钥长度的Rijndael,对抗暴力破解攻击时能提供相当可靠的安全保障。此外,Rijndael在软件运行的速度是DES的三倍。这种方法既可以用于密钥的安全交换,也可以用于传输长度为128或256位的数据。

AES在美国被批准用于高级别安全许可的政府文件。

Rijndael加密算法如何实现数据加密

Rijndael加密法是基于按字节替换、交换和XOR。

Rijndael加密过程类似如下:

  • Rijndael从128位密钥中再次生成10个128位密钥。
  • 存储在4 x 4的矩阵中。
  • 128位的明文生成4 x 4的矩阵(每个元素是128位的数据块)。
  • 每一个128位的明文将经过10轮迭代转换(128位明文加密轮数为10,192位明文加密轮数为11,256位明文加密轮数为13)。
  • 因此,代码是在10轮迭代后生成的。
  • 每一个独立元素置换于S盒内并被有限域GF(2 8)上求逆。
  • 接下来,对两个矩阵按位进行取模运算,在63处执行XOR运算。
  • 矩阵的行目前为循环排序。
  • 然后通过有限域(GF) (2 8)通过矩阵乘法交换列。
  • 每一轮中都与子秘钥进行异或。

当使用不同回合密钥多次执行Rijndael时,这种加密方法的安全性会提高很多。

官方规范可参见https://csrc.nist.gov/csrc/media/publications/fips/197/final/documents/fips-197.pdf

暴力攻击

暴力攻击的危险之处在于它会使用所有的加密方法进行攻击。攻击者可通过互联网传播病毒,通过服务器交换在后台秘密尝试的密钥。通过这样的攻击,DES 加密法可在短时间内被攻破。采用128位加密技术的Blowfish和Rijindael等相对新的加密方法能有效对抗暴力攻击。

同时,Password Depot通过延时功能可使暴力攻击更加困难。延时功能会在错误输入主密码后将程序保持锁定几秒。

可以肯定的是:由于Rijndael的密钥长度可以按需调整,因此现在看来这种相对新的安全算法在很长一段时间内持续有效。

更多关于暴力攻击的信息。