序列密码简介

        概念:序列密码又称流密码,明文流与密钥流按顺序逐比特异或,产生密文流,属于对合运算。原理如图 1所示:

图1  序列密码原理

        周期:序列存在一定的循环周期,如果周期足够长,就有很高的保密性,类似于“一次一密”的加密方式,通常在1050数量级。

        伪随机数生成器(PRNG):真正的随机数是随机产生的,而在计算机中大多是依赖于随机算法模拟产生,并不是真正的不可预测,所以是伪随机数。

        序列密码的关键是要保持通信双方的精确同步。

1.线性反馈移位寄存器

        一个n级的反馈移位寄存器由n个二元存储器和一个反馈函数F(S0, S1, …,Sn-2, Sn-1,)组成。如图 2所示,移位寄存器进行左移,然后反馈函数F的结果赋值给Sn-1.

图2  移位寄存器工作模式

 

        线性反馈函数F(S0, S1, …,Sn-2, Sn-1,)可以表示为:

 

图3  线性反馈移位寄存器工作模式

 

        如图 3所示,线性反馈移位寄存器有如下特点:

  1. 反馈函数是线性函数。
  2. N级的线性反馈移位寄存器最多可以有2n个不同状态。
  3. N级的线性反馈移位寄存器状态周期≤2n-1。
  4. N级的线性反馈移位寄存器输出序列周期≤2n-1。

 

2.RC4

        RC4算法是Ron Rivest专为RSA设计的序列密码,算法简单、速度快、易实现、应用广泛,其算法分为二步:

        第一步:密钥调度算法(KSA)

                For i=0 to 255

                S[i] = i

                For I =0 to 255

                R[i] = K[i mod keylenth]

                For I=0 to 255{

                J = (j+S[i]+R[i]) mod 256

                Swap(S[i],S[j])

        }

        第二步:伪随机子密码生成算法(PRGA)

                i,j = 0

                while(1){

                i=(i+1) mod 256

                j=(j+S[i]) mod 256

                swap(S[i],S[j])

                t=(s[i]+s[j]) mod 256

                k=S[t]

        }

3.ZUC

        祖冲之算法(ZUC)是由我国自主设计的加密和完整性算法,已被3GPP推荐为无线通信LTE的第三套加密标准的核心算法。

        ZUC是一个同步流产生算法,由比特重组、非线性函数F、线性反馈移位寄存器(LFSR)组成。该算法输出序列的随机性好,周期足够大,能够抵抗已知的序列密码分析方法和弱密分析。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

heze09

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

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

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

打赏作者

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

抵扣说明:

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

余额充值