我不明白这篇关于s-boxes的文章中多余的内容来自哪里。 为什么S-Box的输入位数和输出位数相同?

===============>>#1 票数:3 已采纳

这是s-box的工作方式。 它们可以是m * n ==> m位输入,n位输出。 例如,在AES S盒中,输入中的位数等于输出中的位数。

DES中 ,m = 6,n = 4。

在DES的第一阶段,输入从32位扩展到48位。 因此,通过应用一轮S-box替换将其再次减少到32位。 因此,这里没有信息丢失。

维基百科本身的文章可能会有些混乱。 这会使人们认为信息丢失了。 您应该结合使用s-box的某些加密算法的实现细节来阅读本文。

===============>>#2 票数:1

还有哪些额外的位? 他们从6变为4。

编辑:哎呀! 我是个白痴。 这有点像2年级乘法表。 他们从要插入的6位块中剥离外位,并保留中间位4。就像进行算术运算的表一样,它们从一侧向下查找外位序列,然后越过顶部并找到中间的。 为了回答您的问题,它可以输入和输出相同数量的位,但是此s-box只是按照它的方式进行设置。 它是任意的。

  ask by Martin translate from so

未解决问题?本站智能推荐:

1回复

修改AES S-Box

有什么办法可以改变标准的S-Box和Inv。 AES算法的S-Box与另一对S和Inv S -box? 标准S-Box和inv。 此处的S-Box: http : //en.wikipedia.org/wiki/Rijndael_S-box
1回复

rijndael s-box附带一个简单的例子

在整个Google和Wiki上,我无法理解rijndael s-box的密钥调度...任何人都可以用简单的单词和清晰的示例来解释它们吗?
1回复

如何制作DES盒

我正在学习编程以实现DES加密算法,但是遇到一个问题:在DES密码算法中,DES使用8个S盒,每个S盒占用6位并输出4位。 并且已经提供。 我怎么能自己做一个S-box。 它只需要满足两个条件: 非线性 当输入改变一位时,输出至少改变两位 我本来想枚举并选择正
2回复

我们可以在DES中制作自己的S-Box,IP,IP〜和其他表格吗? 它仍然可以使用还是应该使用其提供的功能?

我正在尝试构建自己的DES实现! 但是我执行不成功 我使用了所有表,例如Initail置换,扩展置换表,置换函数表,PC-1,PC-2和我自己的随机位的所有s-box。 我们应该使用DES提供的S-Box,还是可以自己创建?
3回复

寻找具有小输入和长输出的单向功能

我正在寻找一种算法,它是一种单向函数,例如哈希函数。 并且该算法接受较小的输入(服务器位,小于512位),并将其映射到较长的输出(1K字节或更多)。 您知道这样的算法或函数吗?
4回复

如何使用RSA加密/解密长输入消息? [Openssl,C]

我写了一个简单的测试程序来加密/解密消息。 我有一个keylength : int keylength = 1024; // it can also be 2048, 4096 和最大输入长度: int maxlen = (keylength/8)-11; 我知道我
1回复

为什么DESCryptoServiceProvider()。CreateEncryptor()。TransformFinalBlock()的返回缓冲区比输入长8个字节?

我正在使用DES实现伪随机位生成器。 每个生成的号码都依赖于上一步中的加密号码。 这就是为什么我想使用由CryptoStream插入的ICryptoTransform,但是: 我不明白ICryptoTransform.TransformBlock()工作方式 ICrypto
2回复

摘要函数,其输出大小<=输入大小

我正在处理具有固定长度字段的固定长度记录。 这些字段中的一些是敏感的...认为帐号。 假设我的记录中的帐号定义为最多19个字节。 我想查找(或创建)帐号的哈希,其结果本身不超过19个字节。 这样,我仍然可以通过此字段将记录相关联,原始值不可恢复,并且重要的是我的固定长度记录和字段大小未更
1回复

Java不同的MD5输出用于相同的输入?

我生成md5的代码看起来像 我把测试作为 我把输出作为 当我在在线网站上运行相同的测试时,我得到输出为 对于相同的输入a:b:c:d 题 他们为什么不同? 如何获得类似于我上网的输出? 哪个是e6ea19c62a3763c7b78c475