3.2-序列密码

合集下载

序列密码——精选推荐

序列密码——精选推荐

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

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

密码按加密形式可分为:分组密码序列密码密码按密钥分为:对称密码(私钥密码)⾮对称密码(公钥密码)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;良好的统计特征。

序列密码——精选推荐

序列密码——精选推荐

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

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。

密码学第3节(有上传各章节及目录封面,请在本人上传空间里查找

密码学第3节(有上传各章节及目录封面,请在本人上传空间里查找

第三章 序列密码在第二章中,咱们证明了理论上保密的密码体制是存在的,这种密码体制是利用随机的密钥序列∞=1}{i i k 对明文序列∞=1}{i i m 加密取得密文序列∞=1}{i i c 。

可是,由于随机的密钥序列∞=1}{i i k 必需与明文等长,因此其生成、分派、存储和利用都存在必然的困难,因这人们假想利用少量的真随机数按必然的固定规那么生成的“伪随机”的密钥序列代替真正的随机序列,这就产生了序列密码。

因此,序列密码脱胎于“一次一密”密码体制。

由于序列密码中的密钥序列是由少量的真随机数按必然的固定规那么生成的,因此不可能是真正随机的。

因此,如何刻画密钥序列的“伪随机性”,如何保证密钥序列的“伪随机性”可不能造成加密算法在实际中被破,是序列密码设计中需要解决的问题。

另外,由于序列密码只需分派和存储少量的真随机数就可对任意长度的明文加密,因此克服了完全保密的密码体制在实践中在密钥分派中碰到的难题。

序列密码中利用的少量真随机数确实是序列密码的密钥,有人也称之为“种子密钥”。

由于序列密码算法在公布资料中不多,而且所需的理论基础也较多,因此本章不对序列密码做过量介绍。

本章仅从伪随机序列的常规特性、序列密码的大体模型、理论基础、Walsh 谱理论、大体编码技术和具体实例动身,介绍序列密码的设计理论,同时也简单介绍对序列密码的分析方式。

为幸免序列密码的密钥与密钥序列的概念混淆,以下本书均称序列密码的由密钥产生的密钥序列为乱数序列。

在本书中,n Z 2和n }1,0{都表示所有二元n 维向量组成的集合和二元域上的n 维线性空间,并将12Z 简记为2Z ;)/(n Z 表示集合}1,,2,1,0{-n 和模n 剩余类环,)(q GF 表示q 元域。

本书有时也将n 维二元向量),,,(021x x x n n --不加说明地等同于)2/(n Z 中的元素011211222x x x x x n n n n ++++=---- 。

现代密码学之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,这就产生了序列密 码。

密码学(范明钰)3.2-序列密码

密码学(范明钰)3.2-序列密码
yi=zi xi。
K
K
安全信道
……
滚动密钥生成器
zi
xi
yi……滚动密钥生器ziyixi
同步序列密码
一次一密密码是加法序列密码的原型。事实上,如 果密钥使用滚动密钥流,则加法序列密码就退化成 一次一密密码。
实际使用中,密码设计者的最大愿望是设计出的滚 动密钥生成器,使得密钥经其扩展成的密钥流序列 具有如下性质:极大的周期、良好的统计特性、抗 线性分析、抗统计分析
基本概念
分组密码与序列密码的区别在于有无记忆性 序列密码的滚动密钥z0=f(k,σ0)由函数f、密钥k和指
定的初态σ0完全确定。此后,由于输入加密器的明文 可能影响加密器中内部记忆元件的存储状态,因而 σi(i>0)可能依赖于k,σ0,x0,x1,…,xi-1等参数。
同步序列密码
根据加密器中记忆元件的存储状态σi是否依赖 于输入的明(或密)文字符,序列密码可进一 步分成同步和自同步两种。
和σi产生的函数。
9
基本概念
序列密码将明文消息 M连续地分成字符
bit,并用密钥流来 加密每个字符bit
基本上,序列密码体
制只使用混乱技术,
而不使用散布技术。 这使得这种体制没有
错误扩散
基本情况
序列密码有广泛的理论基础,对于其各种设计原则已经 进行了详尽的分析。然而在公开的文献中详尽的序列密 码系统却相对较少 造成这种状况的部分原因是,在实际中使用的大部分序 列密码归私人所有或需要保密。相比之下,大量的分组 密码建议已经出版,其中的一些已经被标准化或公开
却希望它的输出(密钥序列k)对不知情的人来 说象是随机的。 到底该从哪些角度把握随机性等,才使所设计出 来的KG能够具有我们需要的安全程度?

密码技术及其应用

密码技术及其应用
密码是为网络与信息安全服务的。网络系统安 全机制的简单模型一般可分为两步:
1)身份认证与密钥交换 2)保密通信 身份认证的作用:消息的接收者能够确认消息
的来源;入侵者不可能伪装成他人。身份认证 可分为两类: (1)对称认证(即常用的口令认证) (2)非对称认证(基于数字签名算法)
3.1.2 A5算法
A5算法是由法国人设计的、欧洲数字蜂窝移 动电话系统GSM采用的加密标准。该算法由3 个稀疏本原多项式构成的LFSR组成,寄存器 级数分别为19、22和23,其输出由3个LFSR的 输出相异或产生。
(3)数据认证算法(分组密码算法的认证模式,单向 Hash函数,数字签名算法)保证完整性(消息真实 性)。
2 密码技术标准
国际标准(ISO/IEC *****) 美国国家标准(ANSI X*.**) 美国联邦标准(FIPS ***) 互联网标准(RFC ****) 国际电信标准(ITU-T X.***) RSA实验室标准(PKCS **) 美国电气电子工程师协会标准(IEEE *****) 中国国家标准(GB *****)
(1)校验值ICV = AA (P, Ka, IV); (2)密文C = EA (K, IV, P || ICV)
初始向量
IV 加密密钥K 明文P
IV 认证密钥Ka
校验值 数据认证算法 ICV
IV

加密套件

密文C

法 加密ICV
Message
1.2 保密通信 ——加密过程(续)
{ j = ( j + s[i] + k[i]) mod 256; i0 = (i0+s[i]) mod 256; j0 = ( j0+s[j]) mod 256;

(完整word)密码学原理与应用复习大纲

(完整word)密码学原理与应用复习大纲

密码学原理与应用复习大纲第一部分古典密码1.1 密码学的五元组(明文,密文,密钥,加密算法,解密算法)及各部分的含义1.2 密码体制什么是密码体制?完成加密和解密的算法.通常,数据的加密和解密过程是通过密码体制(cipher system) +密钥(keyword)来控制的。

密码体制必须易于使用,特别是应当可以在微型计算机使用。

密码体制的安全性依赖于密钥的安全性,现代密码学不追求加密算法的保密性,而是追求加密算法的完备,即:使攻击者在不知道密钥的情况下,没有办法从算法找到突破口。

1。

3 代替密码体制:(单表代替密码多表代替密码)就是明文中的每一个字符被替换成密文中的另一个字符.接收者对密文做反响替换就可以恢复出明文.(在这里具体的代替方案称为密钥)单表代替密码明文的相同字符用相应的一个密文字符代替.(移位密码,乘数密码,仿射密码,多项式密码,密钥短语密码)单表代替密码的特点:▲密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试一个密钥,遍历全部密钥需要1013 年。

▲移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。

密钥π不便记忆。

▲针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密码。

单表代替密码的弱点:▲密钥量很小,不能抵抗穷尽搜索攻击▲没有将明文字母出现的概率掩藏起来,很容易受到频率分析的攻击▲不具备雪崩效应▲加解密数学表达式简单多表代替密码是以一系列(两个以上)代换表依次对明文消息的字母进行代换的方法。

(维吉尼亚Vigenere密码,Hill密码,Playfair密码)多表代替密码的特点:使用了两个或两个以上的替代表。

Vegenere密码算法(分析类)15分,参考第一讲课件第二部分对称密码体制2.1 对称密码体制(分组密码,序列密码)的概念对称密钥密码体制,对于大多数算法,解密算法是加密算法的逆运算,加密密钥和解密密钥相同,同属一类的加密体制。

3.2传统加密方法(补充)

3.2传统加密方法(补充)

2 密码学发展--第三阶段大事记
80年代出现“过渡性”的“Post DES”算法,如 IDEA,RCx,CAST等 90年代对称密钥密码进一步成熟 Rijndael,RC6, MARS, Twofish, Serpent等出现 90年代逐步出现椭圆曲线等其他公钥算法 2001年Rijndael成为DES的替代者 2004年著名的MD5算法被中国的王小云破译
3 密码学的基本概念--加密函数分析
----从加密函数的角度理解密码体制的概念----
加密函数: Eke : M C 将明文m加密为密文c,即 其 (1) 定义域c 是E明ke文(m空) 间M;
(2) 值域是密文空间C; (3) 加密函数就是加密算法;
(4) 控制参数 ke 就是加密密钥
3 密码学的基本概念--脱密函数分析
(可信、不可信第三方)、敌手也叫攻击者
3 密码学的基本概念--信息传输过程中的攻击例子
窃听:对传输的信息的攻击
A:信源 发送方
C:敌手 攻击者
B:信宿 接收方
3 密码学的基本概念--信息传输过程中的攻击例子
对窃听的防护:加密技术
加密
脱密
A:信源 C:敌手
B:信宿
3 密码学的基本概念--基本概念
(1) 简单替代密码 ❖ 简单替代的就是明文的一个字母,用相
应的密文字母代替。规律是根据密钥形 成一个新的字母表,与原明文字母表有 相应的对应关系。
❖ 典型的一种替代密码是凯撒密码,又叫循环移 位密码。其加密方法就是将明文中的每个字母 都用其右边固定步长的字母代替,构成密文。
❖ 例如:步长为4,则明文A、B、C、…、Y、Z 可分别由E、F、G、…、C、D代替。如果明 文是“about”,则变为密文“efsyx”,其密 钥k=+4。两个循环的字母表对应。

《现代密码学》教学大纲

《现代密码学》教学大纲

H
的复杂工程问题;
3.2 能够设计满足信息获取、传输、处理或使用等需求的系统,并能够 L
在设计环节中体现创新意识;
3.4 熟悉信息安全专业相关技术标准、知识产权、产业政策和法规,并
能在其现实约束条件下,通过技术经济评价对设计方案进行可行性研
M
究;
2.1 能够应用信息安全的基本原理,研究分析信息安全领域复杂工程问
6.4 消息认证
6.5 生日攻击
第 7 章 公钥密码体制(支撑教学目标 6)
7.1 公钥密码体制的基本概念
7.2 RSA 算法
7.3 椭圆曲线加密算法
第 8 章 数字签名技术(支撑教学目标 6)
8.1 数字签名简介
8.2 基于 RSA 数字签名
8.3 基于 ECC 数字签名
第 10 章 密钥管理(支撑教学目标 6)
闭卷笔试,课程作业、实验成绩、课堂表现、考勤。
七、成绩评定方法
期末笔试成绩占 80%,平时成绩占 20%(根据课程作业、实验成绩、课堂表现、 考勤等代密码学教程. 北京邮电大学出版社,2015.3 (教材)。
2.B. Schneier. Applied cryptograghy second edition: protocols, algorithms, and source code in C. NewYork: John Wiley & Sons, 1996. 中译本: 吴世忠, 祝世雄, 张文
专业的学生实际动手能力、设计能力、创新能力的培养。 4.专门的课程建设网站 5.由于《现代密码学》主要是讲解算法、模型及协议,比较抽象,因此课程
组开发了一些辅助教学软件(见课程建设网站),用以提高教学效果。
6.下一步拟在专门的课程建设网站中开发《现代密码学》课程教学的师生互 动、答疑模块。

《现代密码学》教学大纲

《现代密码学》教学大纲

动、答疑模块。
六、考核方式
闭卷笔试,课程作业、实验成绩、课堂表现、考勤。
七、成绩评定方法
期末笔试成绩占 80%,平时成绩占 20%(根据课程作业、实验成绩、课堂表现、
考勤等)。
八、主要参考书籍
1.谷利泽,郑世慧,杨义先. 现代密码学教程. 北京邮电大学出版社,2015.3
(教材)。
2.B. Schneier. Applied cryptograghy second edition: protocols, algorithms, and
题;
1.2 具有扎实的专业基础理论,包括信息论与编码、密码学原理、信息
目标 5 安全数学基础、计算机网络技术等,能够用其解决信息安全相关领域
H
的复杂工程问题;
4.5 能正确采集、整理实验和模拟数据,对实验及模拟结果进行关联、 M
建模、分析处理,获取果进行关联、 H
source code in C. NewYork: John Wiley & Sons, 1996. 中译本: 吴世忠, 祝世雄, 张文
政译。
3.马春光. 现代密码学教程, 哈尔滨工程大学自编讲义。
大纲编写者:方贤进,xjfang@, /~xjfang/crypto/
一、教学目标
通过本课程的理论教学及实验训练,使学生具备以下知识和能力:
目标 1:掌握密码学与信息安全的关系、信息安全的目标(5 要素);掌握现代
密码学的研究内容与体系结构;掌握保密系统的模型及安全性、认证系统的模型及
安全性。
目标 2:掌握古典密码体制中的两种方法:置换密码与代换密码;掌握古典密
码分析方法,能使用“拟重合指数法”对“多表代换加密”实行“唯密文攻击”。

第五讲序列密码

第五讲序列密码

[c1 , c2 , L cn ]
结构常数
例:
x1
x2
c1
x3
c2
c3 = 0
x4
c4


反馈函数为 f () = x1 + x2 + x 4
[c1 , c2 , c3 , c4 ] = [1,1,0,7 初始状态:(0010),输出序列:(0010111)∞,周期为7 初始状态:(0110),输出序列:(0110100)∞,周期为7
称为 f(x) 对应的移位寄存器的序列空间。 定理:a ∈ S ( f ( x )) 的充要条件是
~
~ a 的形式幂级数表示为
证明:
g ( x) a ( x) = f ( x)
∞ n =0
g(x)是次数小于n的多项式。
a ( x) = ∑ a n x n = a0 + a1 x + a 2 x 2 + a3 x 3 + L + ai x i + L
状态转换可以用生成矩阵实现,新状态等于 前一状态乘以生成矩阵。
t+1时刻的状态 :
st +1 = (at +1 , at + 2 ,L, at + n ), at + n = −cn at − cn−1at +1 − L − c1at + n−1
所以:
st +1 = st T f , st + 2 = st +1T f = st T ,L
y = y0 y1 y 2 L,
yi = xi ⊕ ri ,
yi ∈ GF (2)
解密为: xi
= yi ⊕ ri
如果每隔固定的r个字符或比特,以后密钥重复使用, 则为周期序列密码;密钥不重复的为非周期序列密码。

软考信息安全工程师大纲(打印版)

软考信息安全工程师大纲(打印版)

信息安全工程师考试大纲一、考试说明1.考试目标通过本考试的合格人员能掌握信息安全的知识体系;能够根据应用单位的信息安全需求和信息基础设施结构,规划设计信息安全方案,并负责单位信息系统安全设施的运行维护和配置管理;能够对信息系统运行安全风险和信息设备的安全风险进行监测和分析,并处理一般的安全风险问题,对于重大安全风险问题能够提出整改建议;能够协助相关部门对单位的信息系统进行安全审计和安全事件调查;能够对信息系统和网络安全事件进行关联分析、应急处理,并撰写处理报告;具有工程师的实际工作能力和业务水平。

2.考试要求(1)熟悉信息安全的基本知识;(2)熟悉计算机网络、操作系统、数据库管理系统的基本知识;(3)熟悉密码学的基本知识与应用技术;(4)掌握计算机安全防护与检测技术;(5)掌握网络安全防护与处理技术;(6)熟悉数字水印在版权保护中的应用技术;(7)了解信息安全相关的法律法规、管理规定;(8)了解信息安全标准化知识;(9)了解安全可靠的软硬件平台的基础知识、集成技术和基础应用;(10)了解云计算、物联网、互联网、工业控制、大数据等领域的安全管理、安全技术集成及应用解决方案;(11)熟练阅读和正确理解相关领域的英文资料。

3.考试科目设置(1)信息安全基础知识,考试时间为150 分钟,笔试,选择题;(2)信息安全应用技术,考试时间为150 分钟,笔试,问答题。

二、考试范围考试科目1:信息安全基础知识1.信息安全基本知识1.1 信息安全概念了解网络空间的概念、网络空间安全学科的内涵、网络空间安全学科的主要研究方向与研究内容1.2 信息安全法律法规1.2.1 我国立法与司法现状了解中华人民共和国国家安全法、保密法、网络安全法熟悉中华人民共和国计算机信息系统安全保护条例1.2.2 计算机和网络安全的法规规章熟悉我国《刑法》对计算机犯罪的规定熟悉我国网络与信息安全相关的法律责任1.3 信息安全管理基础1.3.1 信息安全管理制度与政策熟悉我国计算机信息系统等级保护制度了解我国涉及国家秘密的信息系统分级保护制度了解我国密码管理政策了解我国信息安全产品管理政策了解我国互联网信息服务管理政策1.3.2 信息安全风险评估与管理了解风险分析、评估和风险管理的基本知识1.4 信息安全标准化知识1.4.1 熟悉信息安全技术标准的基本知识1.4.2 了解标准化组织1.4.3 信息安全系列标准了解信息安全管理体系标准了解信息安全技术与工程标准1.5 信息安全专业英语阅读信息安全有关英文资料掌握本领域的基本英语词汇2.计算机网络基础知识2.1 计算机网络的体系结构2.2 Internet 协议2.2.1 网络层协议掌握IP、ICMP、OSPF、RIP、ARP 和IGMP协议熟悉BGP 协议2.2.2 传输层协议掌握TCP 和UDP 协议2.2.3 应用层协议掌握DNS、SMTP、POP3、PGP、FTP、HTTP和DHCP 协议3.密码学3.1 密码学的基本概念3.1.1 密码学定义掌握密码的安全目标3.1.2 密码体制掌握密码技术的基本思想掌握基本的密码体制了解密码分析3.1.3 古典密码熟悉古典密码的主要编制方法3.2 分组密码3.2.1 分组密码的概念3.2.2 DES熟悉DES 和3DES 密码算法了解DES 和3DES 的应用3.2.3 AES熟悉AES 密码算法了解AES 密码的应用3.2.4 SM4熟悉SM4 密码算法了解SM4 密码的应用3.2.5 分组密码工作模式熟悉分组密码工作的ECB/CBC/CFB/OFB/CTR模式3.3 序列密码3.3.1 序列密码的概念3.3.2 线性移位寄存器序列熟悉线性移位寄存器序列的概念了解线性移位寄存器序列的应用3.3.3 RC4熟悉RC4 密码算法了解RC4 密码的应用3.3.4 ZUC熟悉ZUC 密码了解ZUC 密码的应用3.4 Hash 函数3.4.1 Hash 函数的概念掌握Hash 函数的概念熟悉Hash 函数的应用3.4.2 SHA 算法了解SHA 算法系列了解SHA 算法的安全性3.4.3 SM3 算法熟悉SM3 算法了解SM3 算法的应用3.4.4 HMAC熟悉消息认证码的概念及应用熟悉使用HMAC 的消息认证码熟悉基于SM3 的HMAC3.5 公钥密码体制3.5.1 公钥密码的概念3.5.2 RSA 密码熟悉RSA 密码算法了解RSA 密码的特点与应用3.5.3 ElGamal 密码熟悉ElGamal 密码算法了解ElGamal 密码的特点与应用3.5.4 椭圆曲线密码了解椭圆曲线的概念了解椭圆曲线上的ElGamal 密码体制3.5.5 SM2 椭圆曲线公钥加密算法了解SM2 椭圆曲线公钥加密算法、特点和应用3.6 数字签名3.6.1 数字签名的概念掌握数字签名的概念和应用3.6.2 典型数字签名体制熟悉RSA 签名算法熟悉ElGamal 签名算法了解椭圆曲线密码数字签名3.6.3 SM2 椭圆曲线数字签名算法了解SM2 椭圆曲线数字签名算法和应用3.7 认证3.7.1 认证的概念3.7.2 身份认证熟悉口令和指纹识别3.7.3 报文认证熟悉报文源和报文宿的认证熟悉报文内容的认证3.8 密钥管理3.8.1 密钥管理的概念3.8.2 对称密码的密钥管理熟悉对称密钥的生成、分发和存储3.8.3 非对称密码的密钥管理熟悉非对称密钥的生成熟悉公钥基础设施(PKI)熟悉公钥证书4.网络安全4.1 网络安全的基本概念熟悉基本安全属性了解网络安全事件了解影响网络安全的因素4.2 网络安全威胁4.2.1 威胁来源和种类了解网络安全威胁的来源了解网络安全的基本攻击面熟悉网络监听熟悉口令破解熟悉网络钓鱼熟悉网络欺骗了解社会工程熟悉漏洞攻击熟悉恶意代码攻击(僵尸网络)了解供应链攻击4.2.2 网站安全威胁熟悉SQL 注入攻击熟悉XSS熟悉CSRF熟悉目录遍历威胁了解文件上传威胁4.2.3 无线网络安全威胁了解无线网络安全威胁的来源熟悉无线网络安全的基本攻击面4.3 网络安全防御4.3.1 网络安全防御原则了解最小权限原则、纵深防御原则、防御多样性原则、防御整体性原则、安全性与代价平衡原则、网络资源的等级性原则等4.3.2 基本防御技术熟悉防火墙技术熟悉入侵检测技术熟悉VPN 技术熟悉网络容错技术熟悉安全漏洞扫描技术了解网络蜜罐技术了解匿名网络4.3.3 安全协议熟悉IPSec 协议、SSL 协议、PGP 协议、TLS 协议、IEEE802.1x 协议、RADIUS 协议、Kerberos协议、X.509 协议、S/MIME 协议、SSH 协议等4.4 无线网络安全4.4.1 无线网络基本知识了解无线广域网、无线城域网、无线局域网和无线个域网概念了解无线传感器网络概念了解无线网状网概念4.4.2 无线网络安全威胁及分析了解无线网络安全威胁熟悉无线网络安全需求分析熟悉无线网络安全方案设计策略4.4.3 无线网络安全机制熟悉无线公开密钥体系(WPKI)熟悉有线等效保密协议(WEP)熟悉Wi-Fi 网络安全接入协议(WPA/WPA2)熟悉无线局域网鉴别与保密体系(WAPI)熟悉802.11i 协议了解移动通信系统安全机制了解无线传感器网络安全机制了解无线个域网安全机制5.计算机安全5.1 计算机设备安全5.1.1 计算机安全的定义熟悉计算机安全的属性了解可靠性度量方法5.1.2 计算机系统安全模型与安全方法熟悉系统安全的概念熟悉系统安全策略的基本模型了解系统安全的实现方法5.1.3 电磁泄露和干扰了解电磁泄露检测方法和安全防护了解电磁泄露的处理方法5.1.4 物理安全了解场地安全、设备安全和介质安全5.1.5 计算机的可靠性技术熟悉容错的基本概念了解硬件容错、软件容错和数据容错5.2 操作系统安全5.2.1 操作系统安全基本知识熟悉安全操作系统概念熟悉操作系统安全概念熟悉操作系统的安全性概念5.2.2 操作系统面临的安全威胁5.2.3 安全模型掌握BLP 模型熟悉Biba 模型、Clark-Wilson 模型、RBAC 模型、DTE 模型、BN 模型5.2.4 操作系统的安全机制熟悉标识与鉴别机制熟悉访问控制机制熟悉最小特权管理机制熟悉可信通路机制熟悉安全审计机制熟悉存储保护、运行保护和I/O 保护机制5.2.5 操作系统安全增强的实现方法了解安全操作系统的设计原则、实现方法和一般开发过程了解操作系统的安全增强技术5.3 数据库系统的安全5.3.1 数据库安全的概念5.3.2 数据库安全的发展历程5.3.3 数据库访问控制技术熟悉数据库安全模型熟悉数据库安全策略的实施5.3.4 数据库加密熟悉数据库加密概念熟悉数据库加密技术的基本要求掌握数据库加密技术与访问控制技术的关系5.3.5 多级安全数据库了解安全数据库标准了解多级安全数据库的体系结构5.3.6 数据库的推理控制问题了解推理通道分类、产生的原因和解决手段5.3.7 数据库的备份与恢复熟悉数据库备份了解数据库恢复5.4 恶意代码5.4.1 恶意代码定义与分类掌握恶意代码的定义和特征5.4.2 恶意代码的命名规则了解常用恶意代码前缀解释了解CARO 命名规则5.4.3 计算机病毒掌握计算机病毒的定义和特点熟悉计算机病毒的生命周期和传播途径5.4.4 网络蠕虫掌握网络蠕虫的定义5.4.5 特洛伊木马掌握特洛伊木马的定义熟悉远程控制型木马的连接方式及其特点熟悉远程控制型木马的常见控制功能、具体用途及其自我隐藏方式5.4.6 后门掌握后门的定义5.4.7 其他恶意代码熟悉DDos、Bot、Rootkit、Exploit 黑客攻击程序、简单软件、广告软件的定义5.4.8 恶意代码的清除方法熟悉恶意代码对主机的篡改行为熟悉恶意代码的清除步骤5.4.9 典型反病毒技术熟悉特征值查毒法熟悉校验和技术熟悉启发式扫描、虚拟机技术、行为监控技术、主动防御技术5.5 计算机取证5.5.1 计算机取证的基本概念熟悉计算机取证的定义、作用与目的5.5.2 电子证据及特点熟悉电子证据的定义和特征5.5.3 计算机取证技术熟悉计算机取证步骤熟悉计算机取证分析技术5.6 嵌入式系统安全5.6.1 智能卡安全基础知识掌握智能卡的基本概念了解智能卡相关标准掌握智能卡安全问题与应对策略5.6.2 USB Key 技术掌握USB Key 身份认证原理熟悉USB Key 身份认证的特点掌握USB Key 的安全问题与应对策略5.6.3 移动智能终端了解移动智能终端软硬件系统熟悉移动智能终端面临的安全问题及解决途径5.6.4 熟悉工控系统安全问题及解决途径5.7 云计算安全5.7.1 云计算安全基础知识掌握云计算的基本概念了解云计算的SPI 模型了解云计算面临的信息安全威胁掌握云计算安全的基本概念熟悉云计算安全的相关标准5.7.2 IaaS 层安全技术掌握虚拟机监控器的概念了解虚拟机监控器和虚拟机实例的安全风险及相关安全技术熟悉虚拟网络的安全熟悉数据存储的安全5.7.3 PaaS 层安全技术掌握容器的概念了解容器安全技术5.7.4 SaaS 层安全技术掌握多租户的概念了解应用安全隔离技术6.应用系统安全6.1 Web 安全6.1.1 Web 安全威胁掌握Web 安全概念熟悉Web 安全分类6.1.2 Web 安全威胁防护技术熟悉Web 访问安全和Web 内容安全熟悉网页防篡改技术6.2 电子商务安全6.2.1 电子商务安全基础知识熟悉电子商务安全概念、特点和需求6.2.2 电子商务的安全认证体系熟悉身份认证技术和数字证书技术6.2.3 电子商务的安全服务协议了解SET 协议熟悉SSL 协议6.3 信息隐藏6.3.1 信息隐藏基础知识掌握信息隐藏定义、分类和特点熟悉信息隐藏模型了解信息隐藏常用算法(空域算法、Patchwork算法、频域算法、压缩域算法、NEC 算法、生理模型算法)了解信息隐藏技术的发展和应用领域6.3.2 数字水印技术掌握数字水印概念熟悉数字水印的基本原理、分类及模型了解数字水印常用实现方法与算法了解视频水印概念了解数字水印攻击方法和对抗策略6.4 网络舆情6.4.1 网络舆情的基本概念掌握网络舆情的定义和意义熟悉网络舆情的表现方式和特点6.4.2 网络舆情的基本技术熟悉网络舆情的诱发因素、监测技术和预警措施6.5 隐私保护6.5.1 隐私保护基础知识掌握隐私保护的基本概念了解隐私保护目标熟悉隐私泄露方式6.5.2 数据挖掘和隐私保护了解数据挖掘与隐私保护的关系6.5.3 隐私度量与评估标准了解隐私的度量方法了解隐私保护算法的评估标准考试科目2:信息安全应用技术1.密码学应用1.1 密码算法的实现了解DES/3DES 密码算法的软件实现了解AES 密码算法的软件实现了解SM4 密码算法的软件实现了解RC4 密码算法的软件实现了解SM3 算法的软件实现了解HMAC 算法的软件实现1.2 密码算法的应用1.2.1 典型密码算法的应用熟悉数据加密的基本方法熟悉文件加密的基本方法熟悉通信加密的基本方法1.2.2 分组密码工作模式熟悉分组密码工作的ECB/CBC/CFB/OFB/CTR模式熟悉填充法1.2.3 公钥密码应用熟悉公钥密码的加密应用了解SM2 公钥密码在加密和数字签名方面的应用熟悉数字签名的应用1.3 认证协议的应用1.3.1 身份认证掌握安全口令技术1.3.2 典型认证协议的应用熟悉站点认证技术熟悉报文源和报文宿的认证技术熟悉报文内容的认证技术熟悉消息认证码的应用1.4 密钥管理技术熟悉对称密码会话密钥的产生和分发掌握公钥基础设施和数字证书的应用2.网络安全工程2.1 网络安全需求分析与基本设计熟悉网络安全需求分析熟悉网络安全设计原则2.2 网络安全产品的配置与使用2.2.1 网络流量监控和协议分析熟悉网络流量监控的工作原理掌握网络协议分析工具的基本配置2.2.2 网闸的配置与使用熟悉安全网闸的工作原理掌握安全网闸的基本配置掌握安全网闸的功能配置与使用2.2.3 防火墙的配置与使用熟悉防火墙的工作原理掌握防火墙的基本配置熟悉防火墙的策略配置2.2.4 入侵检测系统的配置与使用熟悉入侵检测系统的工作原理掌握入侵检测系统的基本配置熟悉入侵检测系统的签名库配置与管理2.3 网络安全风险评估实施2.3.1 基本原则与流程熟悉基本原则和基本流程2.3.2 识别阶段工作熟悉资产识别熟悉威胁识别熟悉脆弱性识别2.3.3 风险分析阶段工作熟悉风险分析模型熟悉风险计算方法熟悉风险分析与评价熟悉风险评估报告2.3.4 风险处置熟悉风险处置原则熟悉风险整改建议2.4 网络安全防护技术的应用2.4.1 网络安全漏洞扫描技术及应用熟悉网络安全漏洞扫描的工作原理熟悉网络安全漏洞扫描器分类掌握网络安全漏洞扫描器的应用熟悉网络安全漏洞的防御2.4.2 VPN 技术及应用熟悉基于虚拟电路的VPN熟悉应用层VPN熟悉基于隧道协议的VPN熟悉基于MPLS 的VPN2.4.3 网络容灾备份技术及应用熟悉网络容灾备份系统的工作原理熟悉网络容灾备份系统的分类掌握网络容灾备份系统的应用2.4.4 日志分析熟悉日志分析的基本原理掌握日志分析方法掌握日志分析应用3.系统安全工程3.1 访问控制3.1.1 访问控制技术掌握基于角色的访问控制技术熟悉Kerberos 协议3.1.2 身份认证技术熟悉口令猜测技术了解常用网站口令强度分析技术3.2 信息系统安全的需求分析与设计3.2.1 信息系统安全需求分析熟悉信息系统安全需求熟悉安全信息系统的构建过程3.2.2 信息系统安全的设计熟悉信息系统安全体系掌握信息系统安全的开发构建过程和设计方法3.3 信息系统安全产品的配置与使用3.3.1 Windows 系统安全配置熟悉用户管理配置、系统管理配置和网络管理配置3.3.2 Linux 系统安全配置熟悉用户管理配置、系统管理配置和网络管理配置3.3.3 数据库的安全配置熟悉用户管理配置熟悉数据库管理配置3.4 信息系统安全测评3.4.1 信息系统安全测评的基础与原则熟悉信息系统安全测评的内容熟悉信息系统安全测评的基本原则熟悉信息系统安全的分级原则3.4.2 信息系统安全测评方法熟悉模糊测试熟悉代码审计3.4.3 信息系统安全测评过程熟悉测评流程熟悉安全评估阶段、安全认证阶段和认证监督阶段的工作内容4.应用安全工程4.1 Web 安全的需求分析与基本设计4.1.1 Web 安全威胁熟悉OWASP Top 10 Web 安全分类4.1.2 Web 安全威胁防护技术掌握注入漏洞防护技术掌握失效的身份认证和会话管理防护技术掌握跨站脚本(XSS)防护技术熟悉其余常见Web 安全威胁防护技术4.2 电子商务安全的需求分析与基本设计熟悉电子商务系统的体系架构熟悉电子商务系统的需求分析熟悉电子商务系统的常用安全架构掌握电子商务系统的常用安全技术4.3 嵌入式系统的安全应用4.3.1 嵌入式系统的软件开发熟悉嵌入式的交叉编译环境配置方法了解嵌入式C 语言的编程方法和编译方法熟悉IC 卡的安全配置和应用4.3.2 移动智能终端掌握移动智能终端的主流OS 的安全防护和配置方法掌握移动智能终端应用安全4.4 数字水印在版权保护中的应用熟悉数字版权保护系统的需求分析熟悉基于数字水印的数字版权保护系统体系架构掌握数字版权保护系统的常用数字水印技术了解数字版权保护系统的技术标准4.5 位置隐私保护技术的应用4.5.1 位置隐私安全威胁熟悉位置隐私保护的需求分析了解位置隐私保护的体系架构掌握位置隐私保护的常用方法4.5.2 位置隐私k-匿名模型的算法和应用了解基于空间划分的匿名算法了解基于Hilbert 值的k-匿名算法了解基于用户位置的动态匿名算法三、题型举例(一)选择题BLP 模型的设计目标是解决信息系统资源的_(1)__保护。

序列密码——精选推荐

序列密码——精选推荐

序列密码序列密码内容提要(或本章引⾔)使⽤流密码对某⼀消息 m 执⾏加密操作时⼀般是先将 m 分成连续的符号(⼀般为⽐特串),m=m1m2m3……;然后使⽤密钥流k=k1k2k3……中的第 i 个元素 ki 对明⽂消息的第 i 个元素 mi 执⾏加密变换,i=1,2,3,……;所有的加密输出连接在⼀起就构成了对 m 执⾏加密后的密⽂。

序列密码以其易于实现、加解密快速、⽆错误传播、应⽤协议简单等优点,在政府、军事、外交等重要部门的保密通信以及各种移动通信系统中被⼴泛使⽤。

本章重点⼀次⼀密加密体制;线性反馈移位寄存器;基于线性反馈移位寄存器的伪随机序列⽣成器;伪随机序列的安全性; m 序列; RC4、A5 算法。

第2章序列密码2.1概述(2 级标题)按照对明⽂消息加密⽅式的不同,对称密码体制⼀般可以分为两类:分组密码(block cipher)和流密码(stream cipher) 分组密码:对于某⼀消息 m,使⽤分组密码对其执⾏加密操作时⼀般是先对 m 进⾏填充得到⼀个长度是固定分组长度 s 的整数倍的明⽂串 M;然后将 M 划分成⼀个个长度为 s 的分组;最后对每个分组使⽤同⼀个密钥执⾏加密变换。

流密码(也称序列密码):使⽤流密码对某⼀消息 m 执⾏加密操作时⼀般是先将 m 分成连续的符号(⼀般为⽐特串), m=m1m2m3……;然后使⽤密钥流 k=k1k2k3……中的第 i 个元素 ki 对明⽂消息的第 i 个元素 mi 执⾏加密变换, i=1,2,3,……;所有的加密输出连接在⼀起就构成了对 m 执⾏加密后的密⽂。

与分组密码相⽐,序列密码受政治的影响很⼤,⽬前应⽤领域主要还是在军事、外交等部门。

虽然也有公开设计和研究成果发表,但作为密码学的⼀个分⽀,流密码的⼤多设计与分析成果还是保密的。

⽬前可以公开见到、较有影响的流密码⽅案包括 A5、SEAL、RC4、PIKE 等。

本章主要讨论流密码加密体制,关于分组密码的知识将在下⼀章给出。

第三章 密码学概论PPT课件

第三章 密码学概论PPT课件
用私人密钥加密的消息,任何人可以用公开 钥解密,此时说明消息来自持有私人密钥的人。 (实现对消息的数字签名)
密写术
用另外的某种东西把信息本身隐蔽起来。(隐蔽书写)
历史应用
情报写在绸布上再卷起来塞入小球,由信使吞入腹中。
近代应用
被铅笔芯重写,只有按一定的角度对光才能被看见。
秘密信息被照相后缩微一点,嵌入到覆盖信息中以取代普通 句点。
伊夫 爱丽丝
明文
以前的对
鲍勃
分析
密文
密文
密文
选择明文分析:攻击者得到自己选择的明文
从选择明文 中创建的对
以及对应的密文。
伊夫 爱丽丝
明文
分析
鲍勃
密文
密文
密文
选择密文攻击:攻击者可以选择不同的密 文来解密,以得到相对应的明文。
伊夫 从选择密文
中创建的对
密文
明文
分析
密文
鲍勃 密文
2、密码算法的安全性
现代应用
文本覆盖
用词语之间的单倍行距代表二进制的0,用双倍行距代表二进
This book制的is m1。ostly about cryptography, not about steganography.
□ □□□ □ □
□ □ □□
0
10
00
00
1
3.1.2 密码分析
密码分析是研究密钥未知的情况下恢复 明文的科学。密码分析的前提是攻击者已知 密码体制。通常假设攻击者知道正在使用的 密码体制。
这里加密算法便是将明文先分组再逆序书写,密钥是每组的 字符长。本例k=5。若不知道加密算法,这密文相对于明文面目 全非,从而达到加密的目的。
例2 最早的一种密码是在公元前两世纪,由一位希腊 人提出来的。他将26个字母排列在一个5×5的方格 里,其中i和j填在同一格,见表:

【密码学】序列密码

【密码学】序列密码

【密码学】序列密码序列密码就是对密⽂进⾏逐⼀的加密或者解密和分组密码⽐起来,分组密码是⼀组⼀组加密,序列密码就是逐个加密序列密码的安全性能主要取决于密钥流或者密钥流产⽣器的特性。

优点:实现简单、加密和解密速度快、安全性能较好、没有或少有差错传播序列密码的基本结构1.同步序列密码 同步序列密码的原理: 种⼦密钥k经过由安全信道传送给收、发双⽅后,由密钥流产⽣器⽣成加密和解密所需要的密钥流,⽽加、解密本⾝就是简单的模2加法运算。

同步序列密码的特点: ①密钥流仅仅依赖于种⼦密钥和密钥流产⽣器的结构,⽽与明⽂流(或密⽂流)⽆关。

②如果密钥流完全随机产⽣且长度⾄少和明⽂流⼀样长,则可实现绝对安全的“⼀次⼀密”。

但实际上,这很难做到。

③⽆差错传播。

因为密钥流独⽴于密⽂流,所以⼀个密⽂的传输错误不会影响下⼀个密⽂的解密。

④为了保障接收端能够正确解密,要求收、发双⽅必须严格同步。

2.⾃同步序列密码 ⾃同步序列密码的简介: 与同步序列密码需要收、发双⽅严格同步不同,⾃同步序列密码能够依靠⾃⾝的能⼒“⾃动地”实现收、发双⽅的同步,因⽽是⼀种不需要外部同步的序列密码系统。

⾃同步序列密码的特点: ①密钥流不仅依赖于种⼦密钥和密钥流产⽣器的结构,还与密⽂流(或明⽂流)有关。

初始向量IV在这⾥相当于初始密⽂的作⽤,要求收、发双⽅必须相同。

②⾃同步。

解密只取决于先前特定数量的密⽂字符,因此,即使出现删除、插⼊等⾮法攻击,收⽅最终都能够⾃动重建同步解密,因⽽收、发双⽅不再需要外部同步。

③有差错传播。

因为密钥流与密⽂流有关,所以⼀个密⽂的传输错误会影响下⾯有限个密⽂的解密。

密钥流产⽣器密钥流产⽣器是决定序列密码安全性能的主要因素,因⽽线性反馈寄存器是密钥流产⽣器最基本也是最重要的部件。

1.线性反馈移位寄存器定义:如果将移位寄存器的某些级的输出通过异或(模2加)运算函数运算后反馈回它的第⼀级输⼊端,便构成了线性反馈移位寄存器。

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


提问: (1) (1) (1) (1) (1) (1) A3 A 如果上面的输入序列变为: 1 A2 A 1 A 3 A2 则上面的结果是什么,为什么?
20
同步序列密码密钥流产生器
设计关键是密钥流产生器。一般可将其看成一个参数为k的有 限状态自动机,由一个输出符号集Z、一个状态集∑、两个函 数φ和ψ以及一个初始状态σ0组成 状态转移函数φ:σi→σi+1,将当前状态σi变为一个新状态σi+1 输出函数ψ:σi→zi,当前状态σi变为输出符号集中的一个元素zi


有限状态机
范明钰 2019 年本科密码学
状态转移图 密钥序列生成器
17
有限状态自动机

有限状态自动机是具有离散输入和输出(输入集和输出 集均有限)的一种数学模型,由以下3部分组成:
范明钰 2019 年本科密码学

① 有限状态集 S {si | i 1,2,....l}
(1) A { A ② 有限输入字符集 1 j | j 1,2,..., m} 和有限输出字
(1) ( 2) (A ) 1 , A 3
(1) ( 2) ( A3 , A2 )
S2
(1) ( 2) ( A2 ,A ) 1
(1) ( 2) (A ) 1 , A 2
S3
(1) ( 2) ( A2 , A2 )
(1) ( 2) ( A3 ,A ) 1
19
例子
(1) (1) (1) S {s1 , s2 , s3 }, A1 { A1 , A2 , A3 }, ( 2) ( 2) ( 2) A2 { A1 , A2 , A3 }
范明钰 2019 年本科密码学
列密码体制的模型如下图。
K 安全信道 K
……
滚动密钥生成 器
……
滚动密钥生成器
zi
zi
xi
E zi ( xi )
yi
yi
D zi (y i )
xi
14
同步序列密码:运算



同步序列密码的加密变换Ezi可以有多种选择,只需要保 证变换是可逆的。 实际使用的,一般都是二元系统,因而在有限域CF(2)上 讨论的二元加法序列密码。其加密变换可表示为 yi=zi xi。 K K
顶点对应于自动机的状态,若状态si在输入A(1)i时转为状态
sj,且输出一字符A(2)j,则在转移图中,从状态si到状态sj有
范明钰 2019 年本科密码学
一条标有(A(1)i,A(2)j)的弧线。
(1) ( 2) ( A2 , A3 )
(1) ( 2) ( A3 , A3 )
S1
(1) ( 2) (A ) 1 , A 1
3
序列密码加密方式举例
编码:明文转换为bit,例如采用ASCII编码,明文为TV (T=19=10011,V=21=10101),则编码为1001110101
范明钰 2019 年本科密码学
密钥流:给定伪随机生成器,通信双方约定初态和起点,得到伪 随机bit流,假定为1100000110,称为密钥流 运算:异或

转移函数由上一页图给出 若输入序列为
(1) (1) (1) (1) (1) (1) A 1 A 2 A 1 A 3 A 3 A 1
写成表
范明钰 2019 年本科密码学


初始状态为s1,则得到状态序列: s 1 s2 s2 s3 s2 s1 s2 输出字符序列为
( 2) ( 2) ( 2) ( 2) ( 2) ( 2) A A A A A A 1 1 2 1 3 1
范明钰 2019 年本科密码学
基本概念

序列密码的基本思想是,利用密钥k产生一个密钥流
范明钰 2019 年本科密码学
z=z0z1…,并使用如下规则对明文串x=x0x1x2…加密:

y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)… 换言之:密钥流由密钥流发生器f产生, zi=f(k, σi),σi是加 密器中的记忆元件(存储器)在时刻i的状态,f是由密钥k
范明钰 2019 年本科密码学
混乱性:k的每一bit均与k的大多数bit有关;
扩散性:k任一bit的改变要引起k在全貌上的变化。
24
常见的两种密钥流产生器
目前最为流行和实用的密钥流产生器如图所示,其驱
动部分是一个或多个线性反馈移位寄存器
范明钰 2019 年本科密码学
范明钰 2019 年本科密码学
……
滚动密钥生成器
zi
xi
安全信 道
……
滚动密钥生成器
zi
yi
yi
xi
15
同步序列密码:设计

要求: 设计出的滚动密钥生成器,使得密钥经其扩展成的密 钥流序列具有如下性质:
范明钰 2019 年本科密码学

极大的周期、良好的统计特性、抗线性分析、抗统计
分析……
16
补充:同步序列密码的数学基础之一
Βιβλιοθήκη f —— 一般由m-序列(或M-序列)生成器构成,提供若干周期 大、统计特性好的序列 (称为驱动序列) x1 , x2 , , xm F —— 是把驱动序列综合在一起的非线性编码手段,目的是 有效地破坏和掩盖多条驱动序列中存在的规律或关系,提高 线性复杂度
23
密钥序列生成器(KG)基本要求
和σi产生的函数。
10
基本概念
范明钰 2019 年本科密码学
序列密码将明文消息 M连续地分成字符 bit,用密钥流来加 密每个字符bit
基本上,序列密码体 制只使用混乱技术, 而不使用散布技术。 这使得这种体制没有 错误扩散
11
基本概念


分组密码与序列密码的主要区别,在于有无记忆 序列密码的滚动密钥zi=f(k,σ0)由函数f、密钥k和指定的初 态σ0完全确定。 由于输入的明文,可能影响内部记忆元件的状态σi,因而 σi(i>0)可能依赖于(k,σ0,x0,x1,…,xi-1)等参数。
的征集准则而最终全部落选
8
发展状况


2003.3,日本密码研究与评估委员会(CRYPTREC)推荐了3个 流密码算法:MUGI、MULTI-S01和RC4-128。 2004.2,ECRYPT欧洲第6框架研究计划(FP6)下IST基金支持 的一个为期4年的项目,同年10.14—15在比利时举行了一个 名为SASC的特别会议,引发了流密码算法的征集活动,并于 2004.11发布征集公告,也是对NESSIE没有征集到流密码算 法的补充。征集活动到2005.4.29结束,根据4个征集原则, 一共征集到34个流密码算法 2007年4月进入第三轮评估,针对软件设计的候选算法有 CryptMT(Version3)、Dragon、Rabbit、HC(HC-128和HC-256)、 LEX(LEX-128、LEX-192和LEX-256)、NLS(NLSv2加密)、 Salsa20和SOSEMANUK。针对硬件设计的候选算法有 DECIM(DECIMv2和DECIM-128)、F-FCSR(F-FCSR-Hv2和 F-FCSR-16)、Edon80、Grain(Grainv1和Grain-128)、 MICKEY(MICKEY2.0和MICKEY-1282.0)、Moustique、 Trivium和Pomaranch (Version 3) 9
范明钰 2019 年本科密码学
7
应用背景

最初主要用于政府、军方等国家要害部门,因此,不像分
组密码那样有公开的国际标准,大多数设计、分析成果都
范明钰 2019 年本科密码学
是保密的。但是随着序列密码的应用需求越来越广泛,从
NESSIE工程开始,序列密码算法的设计与分析也列上了公
开征集评测的日程

2000年1月欧洲启动的NESSIE工程中,有6个序列密码算 法(Leviathan、UIi-128、BMGL、SOBER-t32、SNOW、 SOBER-tl)进入了第二阶段评估,但是因为不符合NESSIE
2
常见的序列密码算法

Chameleon、FISH、Helix、ISAAC、MUGI、Panama、
Phelix、Pike、SEAL、SOBER、SOBER-128、WAKE等
范明钰 2019 年本科密码学

RC4, used in Netscape‘s Secure Socket Layer (SSL)
protocol

A5, in the Global System for Mobile Communication (GSM)
E0,Bluetooth stream cipher, standard for wireless shortrange connectivity, specified by the Bluetooth Special Interest Group

符集 A2 { Ak( 2) | k 1,2,..., n}。

③ 转移函数 Ak( 2) f 1( s , A(j1) ), sk f 2 ( si , A(j1) )
i
即在状态为si,
输入为Aj(1)时,输出为Ak(2),而状态转移为sk。
18
状态转移
有限状态自动机可用有向图表示,称为转移图。转移图的
就目前的研究和预见,对KG提出了以下基本要求:
种子密钥k的变化量足够大,一般应在2128以上;
KG产生的密钥序列k具有极大周期,一般应不小于255; k具有均匀的n-元分布,即在一个周期环上,某特定形式的n长bit串与其求反,两者出现的频数大抵相当(例如,均匀的游 程分布);k不可由一个低级(比如,小于106级)的LFSR产生, 也不可与一个低级LFSR产生的序列只有比率很小的相异项; 利用统计方法由k提取关于KG结构或k的信息在计算上不可行;
相关文档
最新文档