流密码设计

合集下载

信息安全导论4流密码精品PPT课件

信息安全导论4流密码精品PPT课件

图)。
移位寄存器R
r r r n n1 ...
1
tn1 ... t1
tn
+
密钥序列
线性反馈移位寄存器(LFSR)
05.10.2020
17
令 Rrn,rn1, r1T 表示R的下一状态,则
ri ri1 i1,2, ,n1
n
rn T R tirim o d2t1 r1 t2r2 tnrn
9
流密码的形式化描述
流密码的基本思想是利用密钥k产生一个密钥流 zz0z1 zm,并使用如下规则加密明文 xx0x1x2 得到密文 y y 0 y 1 y 2 e z 0 (x 0 ) e z 1 (x 1 ) e z 2 (x 2 ) 。
密钥流由密钥流发生器f产生:zi f(k,i) ,这 里 i 是加密器中的记忆元件(存储器)在时刻i的
05.10.2020
12
Байду номын сангаас
同步流密码
密钥产生器最初是由 I 0 种子密钥启动的。
同步流密码体制模型
05.10.2020
13
同步流密码的密钥序列
K=k1 k2 …
是独立于消息序列产生的。产生它的算法必须是确 定性的,这样才能保证解密时可以重新产生它,如 果把K存贮起来,则没有这个要求,但存贮和传送 长密钥序列K是不切实际的。所以,不能使用计算 机的任何随机性质来设计产生密钥序列的算法。
05.10.2020
7
用一次一密的技术,间谍和总部预先生成一个 密码本(实际上,可能是很多密码本)。流密码当 且仅当需要时才生成一个密码本。在密码学界, 该“密码本”被称为密钥流(key stream)。一 个真正的密码本应是随机的,而流密码生成的 是伪随机值,所以在技术上不能称之为密码本。

混沌流密码设计研究

混沌流密码设计研究

用的 方 法有 线性 反 馈移 位 寄 存器 法( F R) 出 每 个 值 对 应 的 ~ 0 实 验 结 论 如 和 控参 敏 感 性 、 L S 0。 伪随 机 性 、 定 性 等使 得 基 确
【】非线 性 反馈 移位 寄 存 器法 ( L S [】 2, N F R) , 3 有限 自动 机法 和 线性 同余 法等 [】如 今 , 4。 流
( =1 2 3 …)的倍 周期 分岔 ( f r ain ,,, Bi c to ) u 区 , 而 进 入 多片 混 沌 区。 进
本 文主 要 以 非线 性 混 沌 系统 : o itc 可 知 , 本 质是 对 应 着 周 期 为 2 解 , 着 平 衡 这 一 缺 点 , 它 方 面 的 改 善 还 要 结 合 L g s i 其 的 随 其
密码 技 术 已经 广 泛 地 应 用 于 移 动 通 信 、 数 的遍 历 性 和 伪 随 机 性 越 明显 。
通过 调 整Lo itc 射 的 迭 代输 出方 gsi映
可 得 到 的 混 沌 序 列 值 一 分 为 二 , 一 步 研 究 式 , 以 改善 原 来 伪 随 机 序 列 数 值 分 布 不 进 造 增 加 , 期 数将 加 倍 , 代值 周 而 复始 地 更 多的 其 它 办 法 。 成 混 沌 流 密 码 系统 不 周 迭 在 有 限 个 周 期轨 道 之 间 重 复 , 而 进 入2 从

Q: 塑
Sci ence en Teth d nol ogy nn I ovaton i Her d 8l
技 术 创 新
混 沌 流密 码 设 计研 究①
朱 旦 晨 ( 淮安 信息职 业 技术学 院计 算机科 学与 工程系 淮安 2 3 0 ) 2 0 3

密码学课件3(流密码)

密码学课件3(流密码)

1 0 1 1 1 0
即输出序列为101110111011…,周期为4。 如果移位寄存器的反馈函数f(a1,a2,…,an)是a1,a2,…,an的 线性函数,则称之为线性反馈移位寄存器LFSR(linear feedback shift register)。此时f可写为 f(a1,a2,…,an)=cna1 cn-1a2 … c1an 其中常数ci=0或1 2加法。ci=0或1可用开关的断开 和闭合来实现,如图2.10所示。
实际使用的数字保密通信系统一般都是二元系统因而在有限域cf2上讨论的二元加法流密码如图23是目前最为常用的流密码体制其加密变换可表示为y211同步流密码常用的流密码体制图23加法流密码体制模型图23加法流密码体制模型一次一密密码是加法流密码的原型
第2章 流密码
2.1 流密码的基本概念 2.2 线性反馈移位寄存器(重点) 2.3 线性移位寄存器的一元多项式(不做要求) 2.4 m序列的伪随机性(不做要求) 2.5 m序列密码的破译(不做要求) 2.6 非线性序列(部分内容) 习题
图2.6 密钥流生成器的分解
图2.6 密钥流生成器的分解
目前最为流行和实用的密钥流产生器如图2.7所示,其驱 动部分是一个或多个线性反馈移位寄存器。
图2.7 常见的两种密钥流产生器
图2.7 常见的两种密钥流产生器
2.2 线性反馈移位寄存器
移位寄存器是流密码产生密钥流的一个主要组成部分。 GF(2)上一个n级反馈移位寄存器由n个二元存储器与一个反馈 函数f(a1,a2,…,an)组成,如图2.8所示。
2.1 流密码的基本概念
流密码的基本思想是利用密钥k产生一个密钥流z=z0z1…,并使 用如下规则对明文串x=x0x1x2…加密: y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。密钥流由密钥流发生器f产生: zi=f(k,σi),这里σi是加密器中的记忆元件(存储器)在时刻i的状 态,f是由密钥k和σi产生的函数。 分组密码与流密码的区别就在于有无记忆性(如图2.1)。流密 码的滚动密钥z0=f(k,σ0)由函数f、密钥k和指定的初态σ0完全确定。 由于输入加密器的明文可能影响加密器中内部记忆元件的存储状 态,因而σi(i>0)可能依赖于k,σ0,x0,x1,…,xi-1等参数。

密码学流密码

密码学流密码

xi
加法流密码体制模型

因此,同步流密码设计的主要目标是设计出 一个滚动密钥生成器,使得密钥 k 经其扩 展成的密钥流序列 Z 具有如下性质:极大 的周期、良好的统计特性、抗线性分析、抗 统计分析。
2. 密钥流产生器
密钥产生器由一个输出符号集 、一个状 态集 、一个状态转移函数 、一个输出 函数 以及一个初始状态 0 组成。 设计的关键在于找出合适的状态转移函数 和输出函数使得输出的密钥流序列满足应 有的性质,并要求在设备是节省的和容易 实现的。

1.
2.
M序列的伪随机性 以上我们研究了利用线性反馈移位寄存器产生 流密码的密钥流序列问题。由于流密码的安全 性取决于密钥流的安全性,密钥流序列至少应 满足:良好的统计性、周期大、抗线性分析、 抗统计分析等特征。 如果一个密钥流序列有好的随机性,使得密码 分析者对它无法预测,采用这样的密钥流无疑 会增加流密码的安全性。本节我们就来研究密 钥流序列的统计特征:随机性。
1. 同步流密码
根据加密器中的记忆元件 i 的存贮状态是 否依赖于明文字符,流密码可进一步分成同 步和自同步两种。将 i 独立于明文字符的 叫同步流密码,否则称为自同步流密码。但 是由于自同步流密码的密钥流的产生与明文 有关,因而较难从理论上进行分析。目前大 多数研究成果都是关于同步流密码的。
输出序列
a5
a4

a3
a2
a1
一个5级的线性反馈移位寄存器
线性反馈移位寄存器的输出序列的性质由其 反馈函数决定。n级的线性反馈移位寄存器 最多有 2n 个不同的状态,除去初始状态为0 的状态外,n级线性反馈移位寄存器的最多 有2n - 1个状态,因此一个n级线性反馈移 位寄存器其输出序列的周期不会超过 2n - 1 称周期为 2n - 1 的输出序列为m序列。

大学安全工程之密码学5第五章 流密码

大学安全工程之密码学5第五章 流密码

回忆:Vigenère密码•加密消息:INDIVIDUAL CHARACTER密钥:HOSTm=I ND I V I DU ALCH ARAC TERk=HOST HOST HOST HOST HOSE k(m)=P BV B C W VN HZUA HFSV ASJ1One-Time Pad•用和明文一样长的随机密钥流K •加密:M = C = K = Z2nc i = mi⊕kiOTP: 安全性分析•定理:OTP is Unconditional Security3第五章流密码•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码4流密码•一次一密(OTP): C=P⊕K ,K 是随机密钥流•流密码:–思想: 代替“随机”为“伪随机”–用Pseudorandom Number Generator (PRNG)–PRNG: {0,1}s→{0,1}n–种子是秘密密钥•C=M⊕PRNG(seed)56回忆分组密码•加密消息的方式–分组密码•c=(c 1c 2…)(c i c i+1…)... = e K (m 1m 2...) e K (c i c i+1…)…–流密码•c=c 1c 2…=e k1(m 1)e k2(m 2)…•密钥流(k 1,k 2,…)流密码:性质•数学性较好–OTP 绝对保密–伪随机有很长的研究历史•加密速度很快–基于“⊕”•密钥流只能用一次–已知明文攻击–PRNG的周期应该足够长•应用很广–Network, DVD,移动通信8第五章流密码•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码9伪随机数应用•相互认证–使用一次性随机数来防止重放攻击•会话密钥的产生–用随机数作为会话密钥•公钥密码算法中密钥的产生–用随机数作为公钥密码算法中的密钥–以随机数来产生公钥密码算法中的密钥10密码学中对伪随机数的要求•随机性–均匀分布:数列中每个数出现的频率相等或近似相等•不可预测性–密码分析者很难从数列前边的数预测出后边的数11PRNG•定义:一个伪随机序列发生器G是一个确定的多项式算法,使得–∃l(n)>n, ∀x, |G(x)| = l(|x|)–伪随机性:{G(U n); n≥1} 同一个随机序列{U l(n);n≥1}是多项式不可区分的12伪随机性•定义:两个随机序列{X n; n≥1} 和{Y n; n≥1}是多项式不可区分的,如果:∀多项式布尔函数f: {0,1}*→{0,1}∀正的多项式p(x) 和n≥N|Pr(f(X n)=1) –Pr(f(Y n)=1)| < 1/p(n)•定义:两个随机序列{X n; n≥1} 和{Y n; n≥1}是统计不可区分的,如果:∆(n) = ½Σx∈{0,1}n|Pr(X n=x) -Pr(Y n=x)| < 1/p(n)13Golomb随机性检测1)在序列的一个周期内,0和1的个数相差至多为12)在序列的一个周期内,长为1的游程占总游程数的1/2,长为2的游程占总数的1/22,…长为i的游程占游程总数的1/2i,…,且在等长的游程中,0和1游程个数至多相差为13)异自相关函数是一个常数•满足以上三个条件的序列称为伪随机序列,也称为拟噪声序列(Pseudo Noise Sequence,PN序列)15举例•讨论序列:1010111011000111110011010010000 1010111011000111110011010010000...是否满足Golomb随机性检测的前2个条件?•周期:31•0的个数15;1的个数16•0和1的1-游程个数都为4;0和1的2-游程个数都为2;0和1的3-游程个数都为1;0的4-游程个数为1 1的4-游程个数为0;0的5-游程个数为0;1的5-游程个数为1•i-游程个数占游程总数的1/2i16第五章流密码•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码17LFSR的最大长度•定理:LFSR的最大序列长度是2n-1, ( n 指寄存器个数)•Proof:–For K={k0, k1,…, k L}, there are 2L different states–The sequence for K is K1,K2,…,K2L,K i,…K i must be in K1,K2,…,K2L•So repeated–If bits in K are all zero, should be excluded–So 2L-125m-序列(m-sequence)•定义:由LFSR产生的最大长度序列是m-序列}说明:•m-序列{zi–{z} 的周期是:2n-1i–满足Golomb随机性检测•在一个周期内, 0和1的个数是2n-1-1及2n-1•其它…26m-序列内涵•定理:{ai } 是m-序列当且仅当它的特征多项式p(x)是本原多项式•定义:如果p(x)的次数是n,且其周期为2n-1,则称p(x)为本原多项式•定义:设p(x)为GF(2)上的多项式,使式子p(x)|x p-1成立的最小正整数p称为p(x)的周期2829线性复杂性•设{a i } 的线性复杂性是L •已知明文攻击:•复杂性:–L 已知: 用线性关系O(L)–L 未知:用Berlekamp-Massey 算法O(L 2)=L 21c .c c ..⎢⎢⎢⎣⎡⎢⎥⎥⎥⎥⎦⎤n+L-1n+1n a .a a ..⎢⎢⎢⎣⎡⎢⎥⎥⎥⎥⎦⎤n+L-2n n-1a .a a ..⎢⎢⎢⎣⎡⎢n+L-3n-1n-2a .a a ...…..n-1n-L +1n-L a .a a ..⎥⎥⎥⎥⎦⎤……实际应用中的非线性序列•对于非线性序列的研究还在初级阶段•实际应用中的非线性序列–用m-序列作为驱动序列–非线性混合序列–钟控序列31钟控序列•思想:用一些m-序列来驱动其它m-序列•Advantages:–Its linear complexity is exponential with the number of registers in LFSR–Its linear complexity can be controlled easily •Disadvantages:–Not good randomness–Many long runs33第五章流密码•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码35Blum Blum Shub发生器•产生伪随机序列的另一种方法:基于数论中的难题•Shamir发生器–分解问题•BBS 发生器–二次剩余问题3637Blum Blum Shub 发生器1. 产生两个大的素数p 和q (p ≡q ≡3 mod 4)2. 计算n=pq3. 选择一个随机的整数x ,gcd(x,n)=14. BBS 的初始输入是: x 0≡x 2(mod n )5. 最后,BBS 通过如下过程产生一个随机的序列b 1 b 2 b 3…:a) x j ≡x j-12(mod n )b) b j 是x j 的最低有效比特BBS发生器:举例1. 产生:p=24672462467892469787q=3967368945678345898032. 则n=97884761408531107941688552174137157819613. 选择x=8732456478884783490134. 则初始输入就是:x≡x2(mod n)≡884529871047878009708991774601012286317238BBS发生器:举例5. 由公式x j≡x j-12(mod n)可得x1,x2,…,的值:x1 ≡7118894281131329522745962455498123822408 x2 ≡3145174608888893164151380152060704518227 x3 ≡4898007782307156233272233185574899430355 x4 ≡3935457818935112922347093546189672310309 x5 ≡675099511510097048901761303198740246040 ... ...b2 b3 b4 b5 …=01110…则产生的序列是b139BBS发生器分析•Fact:If there is a distinguisher D which tells BBS from random sequence, then D can be converted into a probabilistic polynomial-time algorithm A which guess the x-1mod 2 givenx0∈Z N Q+ (D⇒A)40第五章流密码•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码41流密码设计目标•设计一个性能良好的流密码是一项困难的任务:–长周期–高线性复杂度–统计性能好–足够的“混乱”42A543A5 说明•钟控序列–由3个m-序列驱动–由3个LFSRs产生–主要函数是非线性的•应用–A5 可以在GSM中保护语音通信44了解RC4•Designed by Ron Rivest in 1987, public in 1994•Simple and effective design–Very fast and very easy to remember•Byte-oriented stream cipher–The internal states is a byte array S[0..255]–S[0..255] is a permutation of 0 to 255•Applications–In SSL to protect the Internet traffic–In WEP to protect the wireless links45RC4:初始化•Produce a initial permutation from the key K(K is divided into L bytes. In fact, this is a pad)•Initialisation:for i=0to 255 do S[i] = i;j =0;for i=0to 255 doj= (j +S[i] + K[I mod L]) mod 256;swap (S[i], S[j]);46RC4: 加密•Two indexes: i, j with i=j=0•Produce one byte of keystream Ks:i = (i + 1)mod 256;(Loop for next Ks)j = (j + S[i])mod256;swap (S[i], S[j]);t = (S[i] + S[j])mod256;Ks = S[t];•Encryption: C i= M i⊕S[t]47RC4安全•RC4的周期是:256! ≈21700•宣称可抵抗已知的所有攻击–有一些分析, 没有实践49总结•流密码总览•伪随机序列发生器(Pseudorandom Number Generation)•PRNGs-Linear Feedback Shift Register (LFSR)-Blum Blum Shub(BBS)•流密码-A5-RC450。

流密码——精选推荐

流密码——精选推荐

流密码0000目前关于流密码的理论和技术已取得长足的发展。

同时密码学家也提出了大量的流密码算法,有些算法已被广泛地应用于移动通信、军事外交等领域。

流密码的原理:在流密码中,明文按一定长度分组后被表示成一个序列,并称为明文流,序列中的一项称为一个明文字。

加密时,先由主密钥产生一个密钥流序列,该序列的每一项和明文字具有相同的比特长度,称为一个密钥字。

然后依次把明文流和密钥流中的对应项输入加密函数,产生相应的密文字,由密文字构成密文流输出。

即设明文流为:M=m1m2…mi…密钥流为:K=k1k2…ki…则加密算法为:C=c1c2…ci…=Ek1(m1)Ek2(m2)…Eki(mi)…解密算法为:M=m1m2…mi…=Dk1(c1)Dk2(c2)…Dki(ci)…流密码与分组密码在对明文的加密方式上是不同的。

分组密码对明文进行处理时,明文分组相对较大。

所有的明文分组都是用完全相同的函数和密钥来加密的。

而流密码对明文消息进行处理时,采用较小的分组长度(一个分组称为一个字或一个字符),对明文流中的每个字用相同的函数和不同的密钥字来加密。

1.一次一密下面介绍一下一次一密密码体制。

以逐比特加密的一次一密为例,它要求对明文消息的每个比特做一次加密,而且加密每个明文比特时,都要独立随机地选取一个密钥比特。

无论明文的统计分布如何,一次一密都是无条件安全的,并且它使用的密钥量在所有无条件安全的密码体制中是最小的,因此,从这个意义上来说,一次一密无疑是最优的。

一次一密的一个明显缺点就是它要求密钥与明文具有相同长度,这增加了密钥分配与管理的困难,这一缺陷极大地限制了它在实际中的应用。

流密码采用了类似于一次一密的思想,但加密各明文字的密钥字不是独立随机选取的,而是由一个共同的较短的主密钥按一个算法产生的。

因此,它不具有一次一密的无条件安全性,但增加了实用性,只要算法设计得当,其安全性可以满足实际应用的需要。

流密码通常分为同步和自同步两类。

密码学课件3(流密码)

密码学课件3(流密码)

1 0 1 1 1 0
即输出序列为101110111011…,周期为4。 如果移位寄存器的反馈函数f(a1,a2,…,an)是a1,a2,…,an的 线性函数,则称之为线性反馈移位寄存器LFSR(linear feedback shift register)。此时f可写为 f(a1,a2,…,an)=cna1 cn-1a2 … c1an 其中常数ci=0或1 2加法。ci=0或1可用开关的断开 和闭合来实现,如图2.10所示。
流密码与分组密码的比较:
流密码的特点: 优点:处理速度快,实时性能好,错误传播小 缺点:明文扩散性差,密钥须同步 分组密码的特点:
优点:明文扩散性好,不需密钥同步
缺点:加密速度慢,错误易扩散和传播
图2.1 分组密码和流密码的比较
图2.1 分组密码和流密码的比较
2.1.1 同步流密码
根据加密器中记忆元件的存储状态σi是否依赖于输入的明文 字符,流密码可进一步分成同步和自同步两种。σi独立于明文 字符的叫做同步流密码,否则叫做自同步流密码。由于自同 步流密码的密钥流的产生与明文有关,因而较难从理论上进 行分析。目前大多数研究成果都是关于同步流密码的。在同 步流密码中,由于zi=f(k,σi)与明文字符无关,因而此时密文字 符yi=Ezi(xi)也不依赖于此前的明文字符。因此,可将同步流密 码的加密器分成密钥流产生器和加密变换器两个部分。如果 与上述加密变换对应的解密变换为xi=Dzi(yi),则可给出同步 流密码体制的模型如图2.2所示。
1
从而得到
0 1 c5 c4 c3 c2 c1 0 1 0 0 0 0 0 1
1 0 0 1 0 0 1 0 0 0 0 1 1 0 11 0 11 0

流密码中密码函数的设计与分析

流密码中密码函数的设计与分析

流密码中密码函数的设计与分析流密码中密码函数的设计与分析流密码是一种在加密和解密过程中,使用连续的密钥流与明文流进行按位异或操作的加密算法。

密码函数是流密码中的核心部分,它负责生成复杂的密钥流,以保证加密的安全性和强度。

本文将讨论流密码中密码函数的设计原则和分析方法,并以一些常用的密码函数为例进行深入讨论。

密码函数的设计原则有两个关键要素:复杂性和非线性。

复杂性要求密码函数设计要足够复杂,以保证生成的密钥流不可预测,从而增加破解的难度。

非线性则要求密码函数必须有足够的非线性特性,以避免产生线性关系,从而增强密码的强度。

常见的密码函数设计包括置换密码函数、混沌密码函数和伪随机数生成器(PRNG)密码函数等。

置换密码函数通过对原始数据进行块置换来生成密钥流,其原理是通过将输入数据的某些位进行调换来生成密钥流,使得生成的密钥流与明文流在位级上具有复杂的关系。

混沌密码函数则利用非线性动力学系统的混沌特性,通过陷入混沌运动的系统来生成密钥流。

伪随机数生成器(PRNG)密码函数则是基于随机数生成器的算法,通过伪随机数序列来生成密钥流。

这些密码函数设计的关键在于如何利用复杂性和非线性的特性来生成高强度的密钥流。

在密码函数设计中,分析密钥流的统计特性是非常重要的。

常见的统计特性包括平衡性、独立性和非相关性。

平衡性是指密钥流中0和1出现的概率应该接近于均等,以保证密钥流的统计性质。

独立性是指密钥流的各个位应该是独立的,即每一位的取值不会受到前一位或后一位的影响。

非相关性是指密钥流中各个位之间应该没有相关性,即每一位的取值不会受到其他位的影响。

通过分析这些统计特性,可以评估密码函数的安全性和强度。

为了提高密码函数的强度,设计者还可以采用一些增强技术。

一种常见的增强技术是使用密钥编排算法,即将初始密钥通过一系列的置换和替换操作得到更复杂的密钥流。

另一种增强技术是引入扩散机制,即通过复杂的运算使得输入的微小变化能够在输出中得到明显的扩散效果,增加密钥流的随机性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验 2 流密码设计
成绩
专业班级信息111 学号201112030208 姓名王昕报告日期.
实验类型: ○验证性实验○综合性实验●设计性实验
实验目的:学会设计流密码,同时理解流密码生成的原理。

理解线性反馈移位寄存器的序列与本源多项式的关系。

实验要求:设计流密码,密码生成器包括两部分:包括驱动部分和线性组合部分。

驱动部分由LFSR实现,线性组合部分由相关原理实现。

用软件实现LFSR线性反馈移位寄存器,同时要按获取m序列。

线性组合部分,实现Geffe序列生成器,J-K触发器,Pless生成器。

实验内容:
对于流密码实验,我基本使用java开发。

自己设计了工具箱,然后实现LFSR,最后线性组合为相应密钥流生成器。

1,工具箱集中在Mathtools类中。

包括一些最基本的运算,比如模2加减乘除,包括单个数的模2加减乘除还有多位数的模2加减乘除。

模2加法:
模2乘法:
模2除法:
判断是否为本源多项式:
2,对于线性反馈移位寄存器的实现有两种初始值,一种是本源多项式,另一种是不确定是否为本源多项式。

初始值为本源多项式:
不确定是否为本源多项式:
3,基本工具设计完成后就开始实现线性组合部分,同时生成相应生成器。

不同生成器,采用不同的逻辑,但都会调用LfsrMax(初始值为本源多项式)或LFSR (初值不确定是否为本源多项式)函数。

在实现线性组合时,还是建了一个新类,StreamCode,线性组合分别用相应方法实现。

Geffe生成器:
JK触发器:
Pless生成器如下:
函数调用举例
结果如下:
实验总结:
流密码的基本思想是利用密钥k产生一个密钥流Z=Z0Z1...,并使用如下规则对明文串X=X0X1X2…加密:Y=Y0Y1Y2…=E Z0(X0)E Z1(X1)E Z2(X2)…。

密钥流由密钥流发生器f产生:z i=f(k,σi),这里σi是加密器中的记忆元件(存储器)在时刻i的状态,f是由密钥k和σi产生的函数。

流密码是对称密码算法的一种。

序列密码具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信、外交通信。

相关文档
最新文档