请对DES算法熟悉的高手讲解一下以下代码的含义

pdp 2006-04-10 02:00:14
以下代码是DES中IP盒子置换代码
/* Initial permutation IP */
t = ((leftt >> 4) ^ right) & 0x0f0f0f0fL;
right ^= t;
leftt ^= (t << 4);
t = ((leftt >> 16) ^ right) & 0x0000ffffL;
right ^= t;
leftt ^= (t << 16);
t = ((right >> 2) ^ leftt) & 0x33333333L;
leftt ^= t;
right ^= (t << 2);
t = ((right >> 8) ^ leftt) & 0x00ff00ffL;
leftt ^= t;
right ^= (t << 8);
leftt = ((leftt >> 1) | (leftt << 31));
t = (leftt ^ right) & 0x55555555L;
leftt ^= t;
right ^= t;
right = ((right >> 1) | (right << 31));


我看了很久也没看明白,请熟悉这段代码的高手讲解一下
...全文
148 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sboom 2006-04-10
  • 打赏
  • 举报
回复
vckbase上有一个能用的,80行
danjiewu 2006-04-10
  • 打赏
  • 举报
回复
没有什么含义,IP置换,网上搜一下IP表,是DES算法规定好的。
我用的时候用数组做的,对效率要求不高。IP表直接从网上复制粘贴,结果有一个数字是错的,害我郁闷了半天。(网上全都是抄来抄去,错一个就全错,ft)
sboom 2006-04-10
  • 打赏
  • 举报
回复
16轮加密中的密钥高低位替换过程???

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧