序列密码知识整理(四 典型序列密码算法A5,RC4)

A5算法

1、简介

  • 已被应用于GSM通信中,加密从手机到基站的连接,保护语音通信。
  • 一个GSM语音消息被转换成一系列的帧,每帧具有228位,用A5加密。
  • A5算法的主要组成部分是三个长度不同的线性移
    位寄存器
    : A有19位,B有22位,C有23位。
  • 移位是由时钟控制的,且遵循“择多”的原则。即从每个寄存器中取出一个中间位并进行判断,三个数中占多数的寄存器移位,其余的不移位。

2、示意图

在这里插入图片描述

RC4算法

1、简介

  • 是世界上使用最广泛的序列密码,其优点是很容易用软件实现,加解密速度快(大约比DES快10倍)。
  • RC4是一种基于非线性数据表变换的序列密码。它以一个足够大的数据表(S盒)为基础,对表进行非线性变换,产生非线性的密钥流序列。
  • 一个可变密钥长度、面向字节操作的序列密码,该算法以随机置换作为基础。密码周期>10100。
  • RC4的S盒的大小根据参数n的值而变化,通常n=8,这样RC4可以生成总共有256(=28)个元素的数据表S:S0,S1,…,S255。每次输出一个元素。
  • 种子密钥长度为从1-256(即8~2048位)的可变长度密钥,用于初始化一个256个字节的状态矢量S。
  • RC4有两种主要算法:
    A. 密钥调度算法
    B. 伪随机数生成算法

2、RC4的基本思想

  • 数据表S的初始状态:
    初始化填充Si=i,i属于[0,255]
    在这里插入图片描述
    用主密钥K按字节填充另一个表T,即:Ti =K(i mod keylen),0≤i<255;
    在这里插入图片描述
  • 数据表S的初始置换
    算法:
    在这里插入图片描述
    在这里插入图片描述
  • 密钥流生成:
    在这里插入图片描述
  • 举例:
    在这里插入图片描述
    通过密钥调度算法进行S表的数据随机化:
    在这里插入图片描述
    伪随机数算法基于上表S开始计算:

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44827634/article/details/124731338