精华内容
下载资源
问答
  • rijndael算法

    2018-06-21 17:52:09
    Rijndael(读作rain-dahl)是由美国国家标准与技术协会(NIST)所选的高级加密标准(AES)的候选算法,密码学中的rijndael算法
  • Rijndael-160和Rijndael-192的相关关键矩形密码分析
  • Node-rijndael 与256位块大小的mcrypt的rijndael加密的本地绑定。 尽管使用了rijndael-128的AES标准,但这仍允许对使用rijndael-256的Drupal生成的数据进行加密和解密。 此模块可实现PHP和Node.js之间的接口,尤其...
  • rijndael 算法

    2008-03-16 18:41:11
    rijndael 算法
  • Rijndael密码算法.pdf

    2021-09-14 13:42:05
    Rijndael密码算法.pdf
  • visual c++使用Rijndael算法
  • Rijndael-Cipher-源码

    2021-04-12 03:39:06
    AES-RIJNDAEL CIPHER 最佳链接和理论:
  • Rijndael算法

    2009-05-23 10:07:32
    英文版的Rijndael算法,对需要了解AES的朋友很有用处,可以下来看看
  • Rijndael密码算法

    千次阅读 2018-08-29 21:22:25
    一 什么是Rijndael Rijndael是由比利时密码学家设计的分组密码算法,于2000年被选为新一代的标准密码算法——AES。今后会有越来越多的密码软件支持这种算法。 Rijndael的分组长度和密钥长度可以分别以32比特为...

    一 什么是Rijndael

    Rijndael是由比利时密码学家设计的分组密码算法,于2000年被选为新一代的标准密码算法——AES。今后会有越来越多的密码软件支持这种算法。

    Rijndael的分组长度和密钥长度可以分别以32比特为单位在128比特和256比特的范围内进行选择。不过在AES的规格中,分组长度固定为128比特,密钥长度只有128、192和256比特三种。

    二 Rijndael的加密和解密

    Rijndael算法也是由多轮构成的,其中每一轮分为SubBytes、ShiftRows、MixColumns和AddRoundKey4个步骤。它使用的是SPN结构。

    1 SubBytes

    Rijndael的输入分组为128比特,也就是16个字节。首先,需要逐个字节对16字节的输入数据进行SubBytes处理。所谓SubBytes处理,就是以每个字节的值(0-255的任意值)为索引,从一张拥有256个值的替换表中查找出对应值的处理。也就是说,将一个字节的值替换成另外一个字节的值。用图表示如下:

    2 ShiftRows

    以4个字节为单位的行(row)按照一定的规则向左平移,且每一行平移的字节数是不同的。下图是对其中一行进行处理的情形。

    3 MixColumns

    对一个4字节的值进行矩阵运算,将其变为另外一个4字节值,下图是对其中一列进行处理的情形:

    4 AddRoundKey

    对MixColumns的输出与轮密钥进行XOR,即进行AddRoundKey处理,下图展示了对1个字节进行处理的情形。

    到此1轮迭代就结束了。实际上,在Rijndael中需要重复10到14轮计算。

    Rijndael的加密过程,每一轮进行的处理为:

    SubBytes->ShiftRows->MixColumns->AddRoundKey

    Rijndael的解密过程,顺序相关:

    AddRoundKey-> InvMixColumns-> InvShiftRows ->InvSubBytes

    其中AddRoundKey是与轮密钥进行XOR运算,这一步在加密和解密时完全相同的。

    其他三个步骤见下面三张图:

    InvMixColumns:

    InvShiftRows :

    InvSubBytes:

    三 Rijndael的破译

    对Rijndael来说,每一步都是用数学公式来表达的,这是以前任何密码算法都不具备的性质。如果Rijndael的公式能够通过数学运算来求解,那就意味Rijndael能够通过数学方法进行破译,而这也就为新的攻击方式的产生提供了可能。

    不过这还是一种假设,实际上,到现在还没出现针对Rijndael的有效攻击。

    四 应该使用哪种对称密码算法

    针对DES、3DES和AES对称密钥,到底选哪一种?

    首先DES、3DES已经不安全了,不会再应用到任何新的用途。

    现在大家应该使用AES(Rijndael),因为它快速、安全,并且能够在各种平台上工作。此外,全世界密码学家都在对AES进行不断的验证,因此即便万一发现它有什么缺陷,也会立刻告知全世界并修改这些缺陷。

    AES最终候选算法应该可以作为AES的备份。和Rijndael一样,这些密码算法也都经过了严格的测试,且没发现任何的弱点。但NIST最终还是只选择了Rijndael作为标准,并没有官方认可作为最终的备份来使用。

    一般来说,我们不应该使用任何自制的密码算法,而应该使用AES。因为AES在其选定过程中,经过了全世界密码学家所进行的高品质的验证工作,而对于自制的密码算法很难进行这样的验证。

    展开全文
  • AES_Rijndael

    2013-01-05 19:48:15
    AES_Rijndael算法.适用于不同长度的密钥.
  • java Rijndael 测试源码

    2018-06-24 22:11:51
    java 使用 Rijndael 对 字符串进行加密解密的代码,调试正常。
  • Rijndael加密原理

    2010-11-09 14:04:02
    介绍 了Rijndael加密的 原理
  • perl-Crypt-Rijndael-源码

    2021-03-20 01:51:05
    perl-Crypt-Rijndael
  • rijndael-animation-pixijs
  • AES简介——Rijndael算法介绍,内容来源于网络内容的整理。是关于C#源码的补充,不了解此内容依旧可以用C#代码实现Rijndael算法。
  • 通过著名的高级加密标准(AES)将纯文本转换为密文的第一步(称为Rijndael ByteSub Transformation),涉及一些操作:计算乘法逆,将乘法逆与特定矩阵相乘,然后将结果加到特定向量。 本研究的目的是简化这些操作。 ...
  • 为了推进Rijndael数据加密工程中密钥扩展工作,文中用GF(28)域知识和C#知识,设计了具体实现密钥扩展的代码,是实现密钥扩展的新方法,并经过上机实验证明可行,还具有稳定可靠、高效率和高速度的特点。
  • 构建Rijndael平方对偶密码,改变不可约多项式可得到240个对偶密码,分析与其同构的对偶密码,来剖析Rijndael算法,为密码分析提供了新的视角.
  • AES Proposal:Rijndael

    2012-12-01 10:13:11
    AES算法Rijndael实现的设计文档,作者为Joan Daemen, Vincent Rijmen。全英文。
  • 详细介绍了Rijndael算法的工作原理,指出Rijndael的优缺点,说明了在AES算法征集中Rijndael算法最终获胜的原因.在完整实现Rijndael算法的基础上,采用已知答案测试,进行了可变密钥测试,可变明文测试,已知袁数据...
  • 在这项研究中,根据Rijndael S-box的逆变换原理和仿射变换原理,提出了一种在GF(2)上生成多元二次方程组的新方法,并明确给出了生成过程。 根据新的Rijndael S-box的代数表达式,提出了GF(2 ^ 8)上的方程组来...
  • C# 加密-Rijndael

    2019-10-02 16:09:38
    Rijndael 属对称加密,对称加密在加密和解密时都使用相同的密钥。2000 年 10 月,NIST 选择 Rijndael(发音为 "Rhine dale")作为 AES 算法,用以取代 DES。 Rijndael 的名称空间是: System.Security....

    Rijndael 属对称加密,对称加密在加密和解密时都使用相同的密钥。2000 年 10 月,NIST 选择 Rijndael(发音为 "Rhine dale")作为 AES 算法,用以取代 DES。

    Rijndael 的名称空间是:

    System.Security.Cryptography
    byte[] plaintextBuffer = System.Text.Encoding.UTF8.GetBytes("明文");

    //加密
    Rijndael rijndael = Rijndael.Create();
    ICryptoTransform transform = rijndael.CreateEncryptor();
    byte[] cipherTextBuffer = transform.TransformFinalBlock(plaintextBuffer, 0, plaintextBuffer.Length);
    lbl.Text = Convert.ToBase64String(cipherTextBuffer) + "<br />";
    transform.Dispose();

    //解密
    Rijndael rijndael2 = Rijndael.Create();
    ICryptoTransform transform2 = rijndael2.CreateDecryptor(rijndael.Key, rijndael.IV);
    byte[] decryption = transform2.TransformFinalBlock(cipherTextBuffer, 0, cipherTextBuffer.Length);
    lbl.Text += System.Text.Encoding.UTF8.GetString(decryption) + "<br />";
    transform2.Dispose();

    解密时,使用加密的 Key 和 IV。

    转载于:https://www.cnblogs.com/deepwishly/archive/2009/12/25/2551327.html

    展开全文
  • 一个实现AES(美国加密标准)或Rijndael算法的库,旨在为其他项目提供一个简洁的打包解决方案。 软件包包括C和Intel奔腾/ MMX汇编器版本的AES,以及广泛的
  • Rijndael和3D结构寻找不可能的微分
  • rijndael_ingles2004.rar

    2018-07-09 22:29:06
    AES加密算法动画演示,非常不错。原网站在:https://coolshell.cn/wp-content/uploads/2010/10/rijndael_ingles2004.swf
  • rijndael功能

    2011-10-02 02:39:44
    i'm working at <a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard" rel="nofollow"><strong>rijndael</strong></a> <strong>decryption, writing inverse function and get stack at ...
  • 加密算法简单实用 rijndael 加密算法简单实用 rijndael 加密算法简单实用 rijndael 加密算法简单实用 rijndael
  • java Rijndael工具类

    2010-03-08 17:00:45
    java版本的Rijndael加密算法。自己开发的工具类。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,731
精华内容 2,692
关键字:

rijndael