首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有一个简单的算法来做一个8位的s盒吗?

有一个简单的算法来做一个8位的s盒吗?
EN

Stack Overflow用户
提问于 2022-03-17 17:18:03
回答 1查看 62关注 0票数 0

我想用4位的s盒做一个8位的s盒。那么,有什么简单易懂的算法或来源可以帮助我吗?

EN

回答 1

Stack Overflow用户

发布于 2022-03-17 22:49:53

然而,总有一个很容易的问题,那就是不能保证安全。

  • 4位SBox有4位输入和4位输出.所以我们可以把它看作一个大小为16‘S16[16]

的数组

  • 8位SBox有8位输入和8位输出.所以我们可以把它看作是64‘S64[64]

大小的数组

最初,我们可以将4份S16拷贝复制到S64中,但是,这并不是一个好的SBox,反之亦然。

现在,我们可以使用额外的4位来修改2,3和4副本,如

代码语言:javascript
复制
   # copy the 4-Box directly
   for i in range(0..16):
       S64[i] = S16[i]  

   #  Add 16 the 4-Box's elements then assign
   for i in range(16..32):
       S64[i] = S16[i-16] *2

   #  Now add 32 to the first half then assign.
   for i in range(32..64):
       S64[i] = 32 + S64[i-32] ```

所以

  • 第一季度的元素范围为0,15
  • ,第二季度的元素范围为16,31
  • ,第三季度的元素范围为32,47
  • ,第四季度的元素范围为48,64

F 220

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71516521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档