• 尝试设计LFSR加密器,并用CAP4验证随机性


    在CPA4软件中有提供设计LFSR加密器的功能:

    输入LFSR的大小,初始密钥,还有反馈密钥。

    点击Set Key后点击Show LFSR

    观察LFSR,发现初始密钥是1101,转成十六进制是D,反馈密钥是1001,转成十六进制是9,正确。

    接下来输入循环的次数20000,点击run就自动生成20000个二进制位。

    结果仅截取前面一部分来验证是否达到最大周期:

    1111

    0101

    1001

    0001

    1110

    1011

    0010

    0011

    1101

    0110

    0100

    0111

    1010

    1100

    1000

    1111

    发现周期是15,已经达到最大周期。特征多项式为x4+x+1

    CAP4也提供随机性测试:

    无法通过单个位测试

    无法通过扑克牌测试

    所以虽然这个LFSR达到最大周期,但是随机性测试没有通过,是无法作为一个合格的密钥流生成器的。

    本文章不旨在设置合格的密钥流生成器,仅说明如何去设计LFSR及测试随机性的方法。

  • 相关阅读:
    inline必须在定义、实现都标记
    循环数组优化队列
    游程编码的优化
    新密码
    I Could Have Danced All Night
    strtok源码 bitset 空间压缩
    XOR Swap
    补码
    临时邮箱
    linux中find批量删除空文件夹
  • 原文地址:https://www.cnblogs.com/13jhzeng/p/5524053.html
Copyright © 2020-2023  润新知