密码学_ZUC算法

这篇具有很好参考价值的文章主要介绍了密码学_ZUC算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

ZUC算法介绍

算法结构

线性反馈移位寄存器LFSR

  LFSR初始化模式

  LFSR工作模式

比特重组BR

非线性函数F

 加密流程


ZUC算法介绍

        祖冲之算法集(ZUC算法)是由我国学者自主设计的加密和完整性算法,包括祖冲之算法、加密算法128-EEA3和完整性算法128-EIA3,已经被国际组织3GPP推荐为4G无线通信的第三套国际加密和完整性标准的侯选算法。在日本福冈召开的第53次3GPP系统架构组会议上,我国祖冲之密码算法(ZUC)被批准成为新一代宽带无线移动通信系统(LTE)国际标准。(上述说明来自百度百科)

算法结构

        ZUC算法由线性反馈移位寄存器LFSR比特重组BR非线性函数F构成(根据GB/T33133.1-2016中所述如下ZUC算法结构图)看不懂暂时没关系,只需要记住总共分为三大步

zuc算法,加密算法,密码学

ZUC算法结构图

线性反馈移位寄存器LFSR

        LFSR分为两种模式:初始化模式工作模式

        两种模式都是对寄存器S0到S15进行更新。

  LFSR初始化模式

        LFSR接收1个31比特字 u 的输入,对寄存器单元变量s0,s1,...s15进行更新,计算过程如下:

zuc算法,加密算法,密码学
模2得31次方-1乘法和模2得31次方-1加法的实现自行学习或者参见GB/T33133.1-2016附录B。

  LFSR工作模式

        和初始模式的区别是没有输入参数u,如下图

zuc算法,加密算法,密码学

比特重组BR

        输入为LFSR寄存器单元变量s0,s1,...s15

        输出为4个32比特字X0、X1、X2、X3      

        比特重组就是从LFSR的16个寄存器单元中按一定规则抽取128比特组成4个32比特字X0、X1、X2、X3。

非线性函数F

zuc算法,加密算法,密码学

 zuc算法,加密算法,密码学

        其中S[参数]指的是S盒代换,其解释如下:
        32比特S盒S由4个小的8x8的S盒并置而成,即S=(S0,S1,S2,S3),其中S0=S2,S1=S3。
设S(或S)的8比特输人为x。将x视作两个16进制数的连接,即x=hl.则表中第h行和第l列交叉的元素即为S0或S1)的输出。
        设S盒S的32比特输人X和32 比特输出Y分别为:
X=x0 ‖ x1 ‖ x2 ‖ x3
Y=y0 ‖ y1 ‖ y2 ‖ y3
替换前的S=(x0,x1,x2,x3),替换后的S=(y0,y1,y2,y3)

例如:x0经过S0表替换得到y0

S0/S2表

zuc算法,加密算法,密码学

 S1/S3表

zuc算法,加密算法,密码学

密钥装入过程

zuc算法,加密算法,密码学

 

zuc算法,加密算法,密码学

         si就是密钥k和初始向量iv分别拆分成16份,再和di共同组成。

 加密流程

        初始化阶段

zuc算法,加密算法,密码学

        工作模式阶段

zuc算法,加密算法,密码学

        这里L的值是根据明文长度对32取模后上取整得到的,最后将得到的L个密钥字Z和明文做亦或操作即可得出密文。

参考文献:GB/T33133.1-2016

写作不易,转载请注明,学海无涯,如有错误请小伙伴们不吝赐教。文章来源地址https://www.toymoban.com/news/detail-532845.html

到了这里,关于密码学_ZUC算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【密码学基础】半/全同态加密算法基础学习笔记

    定义:只支持乘法或加法中的一种的同态加密。同态加密指的是允许直接对密文进行计算,密文计算结果解密后与明文直接计算结果相同。 Paillier加解密过程 Paillier的同态性 明文加法 = 密文乘法 明文乘法 = 密文指数幂 Paillier的安全性 基于大整数分解困难问题 相比Paillier,

    2024年02月13日
    浏览(51)
  • 密码学:一文读懂非对称加密算法 DH、RSA

    我们可能没有在瑞士苏黎世银行存入巨额资产的机会,但相信大多数人都在电影中见到这样一组镜头: 户主带着自己的钥匙来到银行,要求取出自己寄放的物品。银行工作人员验明户主身份后,拿出另一把钥匙同户主一起打开保险柜,将用户寄放物品取出。我们可以把这个保

    2024年01月21日
    浏览(53)
  • 密码学概念科普(加密算法、数字签名、散列函数、HMAC)

    密码散列函数 (Cryptographic hash function),是一个单向函数,输入消息,输出摘要。主要特点是: 只能根据消息计算摘要,很难根据摘要反推消息 改变消息,摘要一定会跟着改变 对于不同的消息,计算出的摘要几乎不可能相同 根据散列函数的上述特点,可以应用在保存密码、数

    2024年02月10日
    浏览(55)
  • 现代密码学第二次实验:分组加密算法DES及其工作模式

    为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正! 1、掌握DES算法的工作原理。 2、熟悉分组加密算法的4种工作模式(OFB模式可不做)。 3、了解DES的雪

    2024年02月06日
    浏览(71)
  • 密码学之对称加密体系(2):AES、SM4的 S 盒具体算法的实现

    🔥点击进入【硬件安全】社区,查看更多精彩内容🔥 🔥点击查看《硬件安全》系列文章🔥 📢  声明 : 🥭 作者主页:【摆渡沧桑的CSDN主页】。 ⚠️ 未经作者允许,禁止转载。 ⚠️ 本文为非盈利性质,目的为个人学习记录及知识分享。因能力受限,存在知识点分析不

    2024年02月16日
    浏览(51)
  • 【密码学】块加密(分组加密)的工作模式

    上一篇文章讨论了 DES 算法,现在我们有了“给定 64-bit 的明文、64-bit 的密钥,输出 64-bit 的密文”的加密手段。这离实际应用还有一点点距离,因为要传递的信息当然不止 64 位。 要用 DES 加密一条信息,一般先把信息填充到 64 的倍数,于是就可以分成许多组,每组 8 个字节

    2024年02月16日
    浏览(51)
  • 密码学—Vigenere加密Python程序

    古典密码,属于多表加密。 怎么就是多表了? 维吉尼亚密码的加密算法实质是凯撒密码,因为他是先分好小组,然后用密钥串对应着分好组的每一个字母进行加密(因为一个凯撒表用密钥串的一个字母加密),当然是遵循下标相同的,比如秘钥为:abc,明文为qwer,然后明文

    2024年02月11日
    浏览(47)
  • 密码学——古典密码中的基本加密运算附简单例题

    本篇文章将对古典密码中使用到的基本加解密运算进行总结,并展示个别加减密运算的简单例题,从而使读者更加容易理解古典密码中的基本加减密运算的原理。 首先引入密码学中的几个基本定义: M:明文空间,明文的集合 C:密文空间,密文的集合 K:密钥空间(也称密钥

    2024年02月12日
    浏览(84)
  • 密码学【java】初探究加密方式之非对称加密

    非对称加密算法又称现代加密算法。非对称加密是计算机通信安全的基石,保证了加密数据不会被破解。 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey) 和私有密(privatekey) 公开密钥和私有密钥是一对。如果用公开密钥对数据进行加密,只有用对应的

    2024年02月03日
    浏览(53)
  • 【密码学复习】第七章 公钥加密体制(二)

    RSA单向陷门函数及其应用 ElGamal单向陷门函数 1)密钥生成 ① 选择一大素数 p ,选取Z p * 的生成元 g ; ② 任选 小于 p 的随机数 x ,计算 y ≡ g x mod p ; ③ ( y , g , p )为公开密钥, ( x , g , p )为秘密密钥. 2)加密: 设待加密明文为 M . ① 随机选一整数 k ,0 k = p -1; ② 计算密文对

    2024年02月05日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包