zoukankan      html  css  js  c++  java
  • 密码学基础学习-序列密码

    序列密码

    PART 1

    1、序列密码的基本原理

    密钥序列生成器产生的密钥流与明文异或生成密文。
    核心在于产生好的密钥序列生成器

    序列密码的研究归结于KG及其输出序列的研究。

    2、序列密码的安全性主要依赖输出序列的保密性,对输出序列的基本要求:

    3、对KG的基本要求:

    4、KG的结构:

    线性反馈移位寄存器作为驱动子系统,产生周期尽可能长的序列,后期打乱线性。

    5、n级反馈移位寄存器(n-FSR):存n比特的数,每一个时钟周期输出1比特,则存入1比特。n元布尔函数

    6、状态图:


    例如:

    PART 2

    1、两个重要结论:

    • 一个n-FSR可产生2的n次方个不同的序列(因为有2的n次方个不同的状态);
    • 一个n-FSR序列必呈现某种周期性,若周期重从第k项开始,则k≤2的n次方

    2、线性反馈移位寄存器(n-LFSR)

    • 只要有相乘就是非线性

    • 一个n-LFSR的结构示意图、结构常数、反馈函数、递推关系式之间相互唯一确定。

    3、一些概念:

    PART 3

    1、把状态图中每个状态的第一个比特留下,剩下的部分为一个周期的状态。

    2、(n级)m-序列:周期为最大值2∧n-1的n-LFSR输出的序列。

    3、m-序列特性:
    统计特性和自相关特性称为m-序列伪随机特性

    • 统计特性:
    • 自相关特性:


    • 采样特性:


    4、m-序列不可以直接作为一个密钥序列:

    m-序列是伪随机序列,由m-序列前面的少量比特(n比特)可以推测其后的所有比特。存在线性递推关系。

  • 相关阅读:
    windows 10 查看电池损耗情况
    pycharm 远程显示 matplotlib
    关联矩阵与邻接矩阵 2018-11-27
    Determinats(行列式) 2018-11-23
    Ablation study 2018-11-10
    ODBC,实现图片循环写入Oracle数据库
    c#与java之比较(转自Jack.Wang's home)
    java中移位操作
    如何自学java迅速成为java高手
    一点点学习思考
  • 原文地址:https://www.cnblogs.com/fanxiaonan/p/12623233.html
Copyright © 2011-2022 走看看