密码领域专用语言 -- SM3

C语言不适合密码算法,它连一个适合移位寄存器的数据类型都没有。为了用已有的类型拼接出一个移位寄存器,各个程序员各有高招,一段带着循环设计的代码还要配合一段文字说明,所以就有了大端法则和小端法则。领域专用语言是最终解决之道,C语言在这个领域只是个临时工。国家密码管理局发布的SM3算法指导书中使用了寄存器、中间变量等C语言术语,说明密码界的C语言思维定式至深。就像一个整天推磨的人突然一天不推磨,他也不会走直路,只会绕圈子。以下是SM3算法,最后一图中左下角窗口是例子2的正确杂凑值。
意外发现密码管理局发布的算法指导书中间数据是错的(见第三页箭头处),虽然只错了1bit,密码界人士都知道这意味着什么。肯定是C语言这个临时工干的!

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_41656797

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值