序列密码 3.5 典型序列密码算法

合集下载

序列密码——精选推荐

序列密码——精选推荐

序列密码序列密码引⾔序列密码⼜称流密码,它是将明⽂串逐位地加密成密⽂字符。

并有实现简单、速度快、错误传播少等特点。

密码按加密形式可分为:分组密码序列密码密码按密钥分为:对称密码(私钥密码)⾮对称密码(公钥密码)1. 加解密算法明⽂序列:m=m1m2……mn……密钥序列:k=k1k2……kn……加密:ci=mi+ki,i=1,2,3,……解密:mi=ci+ki,i=1,2,3,……注:+模2加,0+0=0,0+1=1,1+0=1,1+1=0例 m=101110011,c=m+k=111000110,m=c+k=101110011.1949年,Shannon证明了“⼀次⼀密”密码体制是绝对安全的。

如果序列密码使⽤的密钥是真正随机产⽣的,与消息流长度相同,则是“⼀次⼀密”体制。

但缺点是密钥长度要求与明⽂长度相同,现实情况中不可能实现,故现实中常采⽤较短的种⼦密钥,利⽤密钥序列⽣成器产⽣⼀个伪随机序列。

序列密码的原理分组密码与序列密码都属于对称密码,但两者有较⼤的不同:1. 分组密码将明⽂分组加密,序列密码处理的明⽂长度为1bit;2. 分组密码算法的关键是加密算法,序列密码算法的关键是密钥序列⽣成器。

3. 序列密码分类同步序列密码密钥序列的产⽣仅由密钥源及密钥序列⽣成器决定,与明⽂消息和密⽂消息⽆关,称为同步序列密码。

缺点:如果传输过程中密⽂位被插⼊或删除,则接收⽅与放送⽅之间产⽣了失步,解密即失败。

⾃动同步序列密码密钥序列的产⽣由密钥源、密钥序列⽣成器及固定⼤⼩的以往密⽂位决定,称为⾃同步序列密码(⾮同步密码)。

优点:如果密⽂位被删除或插⼊时,可以再失去同步⼀段时间后,⾃动重新恢复正确解密,只是⼀些固定长度的密⽂⽆法解密。

4. 密钥序列⽣成器的要求(key generation)种⼦密钥k的长度⾜够⼤,⼀般128bit以上,防⽌被穷举攻击;密钥序列{ki}具有极⼤的周期性现代密码机数据率⾼达10^8 bit/s,如果10年内不使⽤周期重复的{ki},则要求{ki}的周期T>=3*106或255;良好的统计特征。

序列密码讲解及事例

序列密码讲解及事例

5.1.4 伪随机数的评价标准
(1)看起来是随机的,表明它可以通过所有随机性统计检验。 现在的许多统计测试。它们采用了各种形式,但共同思路是它们 全都以统计方式检查来自发生器的数据流,尝试发现数据是否是随 机的。 确 保 数 据 流 随 机 性 的 最 广 为 人 知 的 测 试 套 件 就 是 George Marsaglia 的 DIEHARD 软件包(请参阅 / pub/diehard/)。另一个适合此类测试的合理软件包是 pLab(请参 阅http://random.mat.sbg.ac.at/tests/)。 (2)它是不可预测的。即使给出产生序列的算法或硬件和所有以 前产生的比特流的全部知识,也不可能通过计算来预测下一个随机 比特应是什么。 (3)它不能可靠地重复产生。如果用完全同样的输入对序列产生 7 器操作两次将得到两个不相关的随机序列。
21
反馈函数f(a1,a2,…,an)是n元布尔函数,即n个变元a1,a2,…,an 可以 独立地取0和1两个可能的值,函数中的运算有逻辑与、逻辑或、逻 辑补等运算,最后的函数值也为0或1。
9
这就是为什么所有序列密码也有密钥的原因。密钥流发生器的 输出是密钥的函数。 这样,Alice有一个明文/密文对,但她只能读到用特定密钥加 密的消息。 更换密钥,攻击者就不得不重新分析。 流密码是将明文划分成字符(如单个字母),或其编码的基本单 元(如0, 1数字),字符分别与密钥流作用进行加密,解密时以同步 产生的同样的密钥流实现。 • 流密码强度完全依赖于密钥序列的随机性(Randomness)和不
13
自同步序列密码举例
例 假设种子密钥为k=h,之后的密钥是上一个密文。采用移位密 码,明文为cryptography,列表给出它的加密和解密过程。

序列密码——精选推荐

序列密码——精选推荐

序列密码基本概念序列密码的加密⽤⼀个随机序列(密钥流)与明⽂序列按位叠加产⽣密⽂,⽤同⼀随机序列与密⽂序列叠加来恢复明⽂。

v由种⼦密钥通过密钥流发⽣器得到的密钥流为:K=k1k2...k n,则加密变换为:C=c1c2...c n其中c i=m i⊕k i i=1,2...n,那么解密变换就是m i=c i⊕k i i=1,2...n密码强度主要依赖于密钥流的安全性同步序列密码密钥序列的产⽣独⽴于明⽂消息和密⽂消息。

特点:⽆错误传播:各符号之间真正独⽴。

⼀个传播错误只影响⼀个符号,不会影响到后继的符号同步:发送⽅和接收⽅必须保持精确的、⽤同样的密钥并作⽤在同样的位置上,才能正确的解密⾃同步序列密码密钥序列是密钥及固定⼤⼩的以往密⽂的函数,依赖于密⽂。

特点:有限错误传播:设密钥序列产⽣器具有n位存储,则⼀个符号的传输错误只影响到后⾯n符号的解密⾃同步:只要接收⽅连续收到n个正确的密⽂符号,密钥序列产⽣器便会⾃动地恢复同步消除明⽂统计特性密钥流⽣成器和密钥流密钥流的要求极⼤的周期:随机序列是⾮周期的,⽽按任何算法产⽣的序列都是周期的,因此应要求密钥流具有尽可能⼤的周期良好的统计特性:随机序列有均匀的游程分布游程:指序列中相同符号的连续段,其前后均为异种符号。

例如:……0 111 0000 10……注意:计算游程的时候要⾸尾相连计算,头和尾的两个0合在⼀起构成长度为2的0游程。

有长为3的1游程、长为4的0游程、长为1的1游程,长为2的0游程。

⼀般要求其在周期内满⾜:同样长度的0游程和1游程的个数相等,或近似相等。

很⾼的线性复杂度:不能⽤级数较⼩的线性移位寄存器LFSR近似代替⽤统计⽅法由密钥序列k0k1k2…ki…提取密钥⽣成器结构或种⼦密钥在计算上不可⾏密钥流⽣成器密钥流⽣成器可以分为:驱动部分⾮线性组合部分驱动部分:控制⽣成器的状态序列,为⾮线性组合部分提供统计性能良好的序列周期很⼤分布较随机⾮线性部分:将驱动部分提供的序列组合成密码特性好的序列可隐蔽驱动序列与密钥k之间明显的依赖关系⽬前密钥流⽣成器⼤都基于移位寄存器FSR通常由线性移位寄存器(LFSR)和⼀个⾮线性组合函数即布尔函数组合,构成⼀个密钥流⽣成器(a)由⼀个线性移位寄存器和⼀个滤波器构成(b)由多个线性移位寄存器和⼀个组合器构成LSFR的优点:⾮常适合硬件实现能产⽣⼤的周期序列能产⽣统计特性好的序列能够应⽤代数⽅法进⾏很好的分析反馈移位寄存器GF(2)上⼀个n级反馈移位寄存器由n个⼆元存储器与⼀个反馈函数f(a1a2...a n)组成Processing math: 100%每个存储器称为移位寄存器的⼀级在任⼀时刻,这些级的内容构成该FSR的状态;对应于⼀个GF(2)上的n维向量,共有2n种可能的状态状态可⽤n长序列a1,a2,a3,…,a n或n维⾏向量(a1,a2,a3,…,a n)表⽰每⼀级存储器a i将其内容向下⼀级a i-1传递,并根据存储器当前状态计算f(a1,a2,a3,…,a n)作为a n下⼀时间的内容example:初始状态为(a1,a2,a3)=(1,0,1),输出可由上表求出,其输出序列为10111011101…,周期为4如果反馈函数f(a1,a2,…,a n)是a1,a2,…,a n的线性函数,则称为线性反馈移位寄存器(LFSR)n级LFSR最多有2n个不同的状态初始状态为零,则其状态恒为零若其初始状态⾮0,则其后继状态不会为0因此n级LFSR的状态周期≤2n−1输出序列的周期与状态周期相等,所以≤2n−1选择合适反馈函数可使序列周期达到最⼤值2n−1,周期达到最⼤值的序列称为m序列特征多项式表⽰:1是必须写的,c i的取值和上⾯⼀⼀对应定理:n级LFSR产⽣的序列有最⼤周期2n−1的必要条件是其特征多项式为不可约的定义:若n次不可约多项式p(x)的阶为2n-1,则称p(x)是n次本原多项式,使得p(x)|(x p−1)的最⼩p称为p(x)的阶定理:设{a i}∈G(p(x)),{a i}为m序列的充要条件是p(x)为本原多项式Java实现LSFRpublic class LSFR {public static void newLsfr(List<Integer> lst, int k, List<Integer> key){int temp=0;List<Integer> temp1 = new ArrayList<>(lst);List<Integer> temp2 = new ArrayList<>(key);for(int i = 0;i < k; ++i){boolean flag = false;Integer kOut=0;for (int j = 0;j < 20;++j){if(temp2.get(j).equals(1))kOut = (Integer) ((kOut + temp1.get(j) ^ temp2.get(j)) % 2);}temp1.remove(0);temp1.add(kOut);for(int q = 0;q < 20;q++){if (!temp1.get(q).equals(lst.get(q))) {flag = true;break;}}System.out.println(temp1.toString()+"第"+(i+1)+"次");if(!flag)temp = i+1;}if(temp!=0)System.out.println("周期是:"+temp);}对于m-序列(周期为2n−1),如果攻击者知道了2n位明密⽂对,则可确定反馈多项式的系数,从⽽确定该LFSR接下来的状态,也就能得到余下的密钥序列,具体过程如下:三个随机性公设:在⼀个周期内,0与1的个数相差⾄多为1—a i中0与1出现的概率基本上相同在⼀个周期内,长为1的游程占游程总数的1/2,长为2的游程占游程总数的1/22,……,长为i的游程占游程总数的1/2i,……,且等长的游程中0游程个数和1游程个数相等——0与1在序列中每⼀位置上出现的概率相同异相⾃相关函数是⼀个常数——通过对序列与其平移后的序列做⽐较,不能给出其它任何信息⾮线性部分Geffe发⽣器钟控发⽣器交错停⾛式发⽣器门限发⽣器常⽤流密码算法RC4基于⾮线性数组变换优点:易于软件实现,加密解密速度快,⽐DES快10倍A5基于LFSR。

现代密码学之03序列密码

现代密码学之03序列密码
反馈移存器是序列密码设计中常用的一种初始乱源, 其目的是:
(1)以种子密钥为移存器的初态,按照确定的递推关 系,产生周期长、统计特性好的初始乱源序列。
(2)继而利用非线性函数、有记忆变换、采样变换等 手段,产生抗破译能力强的乱数序列。
在序列密码设计中,大多使用周期达到最大的那些 序列,包括:
(1)二元域GF(2)上的线性递归序列 (2)2n元域GF(2n)上的线性递归序列 (3)剩余类环Z/(2n)上的线性递归序列 (4)非线性递归序列
3.2.2 线性反馈移存器(LFSR)简介
c0=1
c1
c2 …

x1
x2
am-1
am-2
cn-2 xn-1
cn-1
cn
xn am-n
一、当ci=1时,开关闭合,否则断开;c0=1表示总有 反馈;一般cn=1,否则退化。
二、反馈逻辑函数
f(x1, x2, …, xn)=c1x1+c2x2+…+cnxn 三、线性递推式
= c0am+c1Dam+c2D2am+…+cnDnam) = (c0+c1D+c2D2+…+cnDn)am 因此反馈多项式(也称特征多项式)为:
g(x)= c0+c1x+c2x2+…+cnxn
五、状态转移矩阵
给定两个相邻状态:
则有
Sm=(am+n-1,…,am+1,am) Sm+1=(am+n,…,am+2,am+1)
管理问题!
因而人们设想使用少量的真随机数(种子密钥) 按一定的固定规则生成的“伪随机”的密钥序 列代替真正的随机序列ki,这就产生了序列密 码。

典型密码算法

典型密码算法

14
m1 m2…………m64
初始置换
Round1
K1
迭 代
: : :
16

Round16
K16
逆初始置换
C1 C2……C64
DES加密框图
15
二 圈函数
DES算法的第 i(i=1,2, … ,15) 圈加密结构图
圈变换的数学描述如下: Li-1 (32位) Ri-1 (32位)
Li=Ri-1
F
Ri=Li-1 F(Ri-1, Ki)
8
5、典型的密码算法
序列密码:RC4、A5、E0; 分组密码:AES、DES、IDEA; 公钥密码:RSA、ECC; HASH函数:MD5、SHA-1;
9
DES分组密码算法
(Data Encipher Standard)
DES算法概述 圈函数 密钥生成算法
10
一、DES算法概述
DES算法是迭代型分组密码算法。 基本参数:
3 0 1 10 13 00 06 09 08 07 0 4 15 14 0 3 11 05 0 2 12
0 0 7 13 14 03 00 06 0 9 10 01 02 08 0 5 11 12 0 4 15
S4
1 2
13 0 8 11 05 0 6 15 00 03 04 07 0 2 12 0 1 10 14 09 10 06 09 0 0 12 11 0 7 13 15 01 0 3 14 05 02 08 04
b6
b1 b 2 b 3 b 4 b5 b6
行:b1 b6 =112=3
1100112
列:b2b3b4b5=10012=9
即: S6 (1100112)=11102

密码学3 序列密码

密码学3 序列密码

2019/1/25
35
随机性公设说明:
1)说明:序列中0、1出现的概率基本相同 2)说明:0、1在序列中每一位置上出现 的概率相同; 3)说明通过对序列与其平移后的序列作比 较,不能给出其它任何信息。
2019/1/25 36
从密码系统的角度看,一个伪随机序列还 应满足下面的条件: ① {ai}的周期相当大。 ② {ai}的确定在计算上是容易的。 ③ 由密文及相应的明文的部分信息,不能 确定整个{ai}。
2019/1/25 31
该移存器的周期是最长周期。 称能产生m序列的移存器为本原移存器,该 移存器对应的反馈多项式为本原多项式。 本原多项式所产生的序列是最长周期序列, 即 2n-1 ,称为m序列。
m序列在密码学中有广泛的应用。
2019/1/25 32
2、m序列特性
(一)基本定义
定义1:游程 若干个信号连续出现的现象称游程。
2019/1/25
37
(三)m序列的特性
性质1:“0、1”信号频次
r级m序列的一个周期中,1出现 2 r 1 r 1 2 1 个。 0出现
本原多项式
f ( x) x 4 x 1
个,
序列的一个周期:011110101100100
2019/1/25 38
性质2:在r级m序列的一个周期中,没有大于r的游程
2019/1/25
1
2. 单表代换密码 凯撒密码
c E3 (m) m 3(mod26),0 m 25 m D3 (c) c 3(mod26),0 c 25
移位变换
c Ek (m) m k (mod26),0 m, k 25 m Dk (c) c k (mod26),0 c, k 25

现代密码学第5章:序列密码

现代密码学第5章:序列密码
24
密钥流生成器的分解
k
k
驱动子 系统
非线性 组合子 系统
zi
25
常见的两种密钥流产生器
目前最为流行和实用的密钥流产生器如 图所示,其驱动部分是一个或多个线性反馈 移位寄存器。
LFSR
………
LFSR1
LFSR2 ……
F
zi
F
zi
LFSRn
26
KG的一般结构
通常,人们总是把KG设计得具有一定 的结构特点,从而可以分析和论证其强度, 以增加使用者的置信度。一般有以下模式:
23
同步序列密码密钥流产生器
由于具有非线性的υ的有限状态自动机理 论很不完善,相应的密钥流产生器的分析工 作受到极大的限制。相反地,当采用线性的 φ和非线性的ψ时,将能够进行深入的分析 并可以得到好的生成器。为方便讨论,可将 这类生成器分成驱动部分和非线性组合部分 (如下图)。 驱动部分控制生成器的状态转移,并为 非线性组合部分提供统计性能好的序列;而 非线性组合部分要利用这些序列组合出满足 要求的密钥流序列。
6
1.1 同步序列密码
根据加密器中记忆元件的存储状态σi是 否依赖于输入的明文字符,序列密码可进一 步分成同步和自同步两种。 σi独立于明文字符的叫做同步序列密码, 否则叫做自同步序列密码。由于自同步序列 密码的密钥流的产生与明文有关,因而较难 从理论上进行分析。目前大多数研究成果都 是关于同步序列密码的。
18
密钥序列生成器(KG)基本要求
人们就目前的想象和预见,对KG提出 了以下基本要求: 种子密钥k的变化量足够大,一般应 在2128以上; KG产生的密钥序列k具极大周期,一 般应不小于255; k具有均匀的n-元分布,即在一个周 期环上,某特定形式的n-长bit串与其求反, 两者出现的频数大抵相当(例如,均匀的游 程分布);

序列密码算法

序列密码算法

序列密码算法随着互联网的飞速发展,信息安全问题越来越受到人们的关注。

在信息安全领域中,密码学是一门重要的学科,其研究的对象就是如何保护信息的机密性、完整性和可用性。

密码学中的一种重要技术就是密码算法,而序列密码算法就是其中的一种。

序列密码算法是一种基于序列的密码算法,它使用一个生成器生成一个伪随机序列,然后将该序列与明文进行异或操作,得到密文。

在解密时,使用相同的生成器生成相同的伪随机序列,再将密文与该序列进行异或操作,即可得到明文。

因此,序列密码算法的安全性主要依赖于伪随机序列的质量。

序列密码算法有很多种,其中最常见的是RC4算法。

RC4算法是一种流密码(Stream Cipher)算法,它采用变长密钥,最长可达256位,但通常使用40位或128位密钥。

RC4算法的主要流程如下:1. 初始化阶段:生成一个S盒(S-Box)和一个T盒(T-Box)。

2. 密钥调度阶段:使用密钥填充S盒和T盒。

3. 伪随机数生成阶段:使用S盒和T盒生成伪随机数序列。

4. 加密阶段:将伪随机数序列与明文进行异或操作,得到密文。

5. 解密阶段:使用相同的密钥和相同的S盒和T盒生成相同的伪随机数序列,再将密文与该序列进行异或操作,即可得到明文。

RC4算法具有以下优点:1. 加密速度快:由于RC4算法采用流密码算法,每次只需要处理一位明文,因此加密速度非常快。

2. 实现简单:RC4算法的实现非常简单,只需要一些基本的位运算和数组操作即可。

3. 可逆性强:RC4算法的加密和解密使用相同的密钥和相同的算法,因此具有强的可逆性。

但是,RC4算法也存在一些缺点:1. 密钥长度较短:RC4算法的密钥长度最长只能达到256位,这使得它的安全性受到了一定的限制。

2. 安全性不足:由于RC4算法的S盒和T盒生成方式不够随机,因此可能存在安全漏洞,容易受到攻击。

为了弥补RC4算法的不足,人们提出了很多改进的序列密码算法,如Salsa20、ChaCha20等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
记帧序号为 T0 t22t21 t1 00 00 T1 t22t21 t1 00 01 …… 帧密钥参与的目的:对不同的帧设置不同的帧会话
密钥,保证对每帧以不同的起点生成乱数,尽可能避免 密钥重用。
一 A5-1序列密码算法
3、乱数生成与加脱密 A5算法中,LFSR的不规则动作采用钟控方式。
二 RC4算法
设计者:Ron Rivest 设计时间:1987年 算法公开时间:1994 密钥:支持可变的密钥长度
二 RC4算法
S盒的初始化:
线性填充:S0=0;S1=1;S255=255; 密钥key:40~256个字节 用密钥重复填充另一个256字节的数组,不 断重复密钥直到填充到整个数组,得到:K0,K 1,…,K255 对于i=0到255 j=(j+Si+Ki)mod256 交换Si和Sj
注:A5-1算法中,LFSR的移位方式是左移方式。 各寄存器的编号从第0级编号到第n-1级。
一 A5-1序列密码算法
n级左移LFSR的结构框图
cn=1
cn-1
cn-2 c2
xn-1
xn-2
x1
c1 x0
c0=1
移存器的左移和右移方式,除移位方式不同 外,其工作原理完全相同。
一 A5-1序列密码算法
加密: Ek (M ) Ek1(M1)Ek2 (M 2 )Ek3(M3) 一次通话使用一个会话密钥,对每帧使用不同的
帧密钥。 帧会话密钥:帧序号,长度为22比特。
帧会话密钥共产生228比特乱数,实现对本帧228 比特通信数据的加脱密。
明密结合方式:逐位模2加。
一次通话量:至多222帧数据,约0.89×230比特 。
序列密码算法:第一阶段共选出了6个算法,第二阶 段选出了3个算法,最终没有选定算法作为标准。
三 序列密码标准化进程
(二)ECRYPT工程简介 1、ECRYPT工程概述
ECRYPT (European Network of Excellence for Cryptology)
基金预算:560万欧元。 主要目标:促进欧洲信息安全研究人员在密码学和数字水 印研究上的交流,促进学术界和工业界的持久合作 。
(2)提交算法的类型
类型 1:适应软件快速执行; 类型 2:在有限资源下硬件能快速执行。 类型 1A:适应软件快速执行;自身带认证机制; 类型 2A:在有限资源下硬件能快速执行;带认证机制。
三 序列密码标准化进程
(3)提交算法的数据要求
类型 1: 128-bit的密钥,至少64或128bit的IV; 类型 2:80-bit的密钥,至少32或64bit的IV; 类型 1A:128-bit的密钥,至少64或128bit的IV;至少32, 64, 96或128-bit的认证码; 类型 2 A:80-bit的密钥,至少32或64bit的IV;至少32或 64bit的认证码。
一 A5-1序列密码算法
(一)基本用法
通信模式
用户A
基站1
基站2
基站n
用户B
A5-1算法用于用户的手机到基站之间的通信 加密,通信内容到基站后先脱密变成明文,然后 再进行基站到基站之间、以及基站到用户手机之 间的信息加密,完成通信内容在通信过程的加密 保护。
一 A5-1序列密码算法
1、应用环节
只需考察用户A到基站1之间通信内容的加脱密,中 间消息的传送由基站到基站之间的加密完成,而接收方 用户B对消息的加脱密与用户A到基站1之间的通信完全 类似,只不过是用户B先脱密消息。
动作14步后状态:S14 (x18, x17, , x0 ) (0,0, , k1, k2, , k13, k14 )
动作15步后状态:
S15 (x18, x17, , x0 ) (0,0, , k1, k2, , k14, k1 k15)
动作64步完成密钥参与过程。
一 A5-1序列密码算法
2、基本密钥KA1
基本密钥KA1:预置在SIM卡中,与基站1共享。 生存期:一旦植入SIM卡将不再改变。 用途:用来分配用户和基站之间的会话密钥。
一 A5-1序列密码算法
3、会话密钥k
产生方式:在每次会话时,基站产生一个64比特 的随机数k。
分配方式:利用基本密钥KA1,使用其它密码算法 将k加密传给用户手机。
三 序列密码标准化进程
2、征集算法的要求
评选准则:长期安全,市场需要,效率以及灵活性。 对序列密码算法安全性的最低要求:密钥长度至少
256比特,内部记忆至少256比特
3、评估准则 (1)安全准则:攻击的难度至少要等同最一般的攻击 。 (2)实现准则:软硬件实现的效率不低于同类已有的算法。 (3)其它准则:设计上的简单、清晰。 (4)许可要求:选中的算法将被特许为免费使用。
钟控信号x1 x2 x3的采取:x1取自LFSR-1第9级; x2取自LFSR-2第11级; x3取自LFSR-3第11级 。 控制方式:择多原则。
(X1,X2,X2) 000 001 010 011 100 101 110 111 LFSR-1 动 动 动 不动 不动 动 动 动 LFSR-2 动 动 不动 动 动 不动 动 动 LFSR-3 动 不动 动 动 动 动 不动 动
2、算法初始化 初始化是利用一次通话的会话密钥k和帧序号
设定三个移存器的起点,即初始状态。
Step 1:将三个LFSR的初态都设置为全零向量; Step 2:(密钥参与) 三个LFSR都规则动作64次, 每次动作1步。
在第i步动作时,三个LFSR的反馈内容都首先 与密钥的第i比特模2加,并将模2加结果作为LFSR 反馈的内容。
ECRYPT工程2004年2月1日启动,2006年2月结束了 第一阶段的评估,第二阶段在2006年7月到2007年9月进 行,2008年1月完成评审活动。 交流网站http://www.ecrypt.eu. org/Stream。
三 序列密码标准化进程
2、eSTREAM简介 (1)提交算法的要求
输入:消息流;密钥;初始值(IV);辅助数据(AD)。 输出:密文;认证码(AU)。
一 A5-1序列密码算法
(二)A5-1序列密码算法
1、移存器描述 算法使用3个级数为19、22和23的本原移存器。
LFSR-1 LFSR-2
f1(x) x19 x18 x17 x14 1 f2 (x) x22 x21 x17 x13 1
LFSR-3
f3 (x) x23 x22 x19 x18 1
三 序列密码标准化进程
3、eSTREAM序列密码算法的征集
第一阶段(2005年10月至2006年7月)评选结果:
三 序列密码标准化进程
第二阶段(2006年8月至2007年3月 )评选结果:
三 序列密码标准化进程
第三阶段(2007年4月至2008年4月 )评选结果:
Profile 1 (SW) Profile 2 (HW)
三 序列密码标准化进程
4、NESSIE工程进程
2000年1月 NESSE工程第一阶段开始 2000年9月 算法提交截止,共提交39个算法 2001年6月 NESSIE进行第一次评估 2001年7月 NESSIE工程第二个阶段开始 2001年9月、10月 分别召开两次NESSIE专题研讨会 2002年12月 NESSIE计划最终评选 2003年2月 公布17种推荐算法,NESSIE工程结束
连续动作114步,共输出114比特乱数,这114比特 用于对基站到用户手机传送的114比特数据的脱密。
脱密方式: mi ci di;i 115,116, ,228
一 A5-1序列密码算法
4、A5-1算法的结构框图

走 停
前馈函数 f (x1, x2 , x3 ) x1 x2 x3
001
一 A5-1序列密码算法
关于加密
Step 4:三个LFSR以钟控方式连续动作100次,但不输出 乱数; Step 5:三个LFSR以钟控方式连续动作114次,在每次动 作后,三个LFSR都将最高级寄存器中的值输出,这三个 比特的模2和就是当前时刻输出的1比特乱数。
连续动作114步,共输出114比特乱数,用于对用户 手机到基站传送的114比特数据的加密;
生存期:仅用于一次通话时间。
一 A5-1序列密码算法
4、明文处理 按每帧228比特分为若干帧后逐帧加密,每
帧处理方式相同。
M M1 || M 2 || || Mi || | M i | 228
每帧处
一 A5-1序列密码算法
5、加密方式
Step 3:(帧序号参与) 三个LFSR都规则动作22次,每次 动作1步。在第i步动作时,三个LFSR的反馈内容都首先 与帧序号的第i比特模2加,并将模2加的结果作为LFSR 反馈的内容;帧序号比特的序号是从最低位编到最高位。
帧序号参与方式:与密钥参与方式相同,不同的 明文数据帧按顺序编号,每个编号为22比特。
二 RC4算法
密钥生成算法
8×8的S盒:S0,S1,…,S255,所有项是数字0-255的 置换。两个指针(计数器)i、j的初值为0。
i=(i+1)mod256 j=(j+Si)mod256 交换Si和Sj t=(Si+Sj)mod256 K=St 加密方式:m+K=c(以字节为单位,按位异或)
三 序列密码标准化进程
一 A5-1序列密码算法
以移存器1为例的密钥参与过程:
k k64k63 k1
f1(x) x19 x18 x17 x14 1
初始状态: S0 (x18, x17, , x0 ) (0,0, ,0)
动作1步后状态: S1 (x18, x17, , x0) (0,0, , k1)
动作2步后状态: S2 (x18, x17, , x0) (0,0, , k1, k2)
相关文档
最新文档