移动互联网安全课件第2章

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

2.2.1 分组密码
分组密码的加密过程如下:
①将明文分成m个明文组M1,M2, …,Mi,…,Mm。
②对每个明文分组分别作相同的加 密变换,从而生成m个密文组C1, C2,…,Ci,…,Cm。在上图所示 的加密过程中,分组密码以32位为 一个分组对明文进行划分,明文单 词“this”经过加密变换后得到密文 “}kc{”。这些加密算法是对整个明文 进行操作的,即除了其中的文字以 外,还包括空格、标点符号和特殊 字符等。
2.1.3 古典密码简介
2. 置换密码 置换密码是通过简单的换位来达成加密 比如,Alice想用置换密码来加密与Bob传递信息,事先约定密钥为一 串字母“KEYWORD”。如图2-3所示,把A到Z中前面的字母用KEYWORD 替换,后面又补充了A到Z(去掉了KEYWORD中重复的字母)。这样就 形成了加解密的字母置换表,实际中A到Z可以置换成任意的字母。这 个字母置换的过程其实就是加密。 相应地,解密过程的字母置换表就如图2-4所示,将A替换成H,B替换 成I,依此类推即可实现解密。
2.1.4 密码算法的安全性
密码算法还有一种安全称为“计算上是安全的”,即指破解此密 码系统是可行的,但是使用已知的算法和现有的计算工具不可能完成 攻击所需的计算量。计算安全性是将密码算法的安全性问题与公认的 数学难题挂钩,例如,密钥求解问题和某个NP问题。在实际场景中考 虑密码算法安全性时,还需考虑破解一个密码系统所花费的成本不能 超过被加密信息本身的价值,且破译的时间不能超过被加密信息的有 效生命周期。
因此,在实际应用中,特别是在专用或机密机构中,序列密码 保持着一定的优势。序列密码典型的应用领域包括无线通信、外交 通信。
2.2.2 序列密码
序列密码一般包含以下几个组 成部分: 明文序列mi、 密钥序列ki、 用于控制密钥序列产生器的种 子密钥K 密文序列ci。
在序列密码中,加解密运算是 简单的模2加运算,其安全性强 度主要取决于密钥序列的随机 性。序列密码的加解密过程如 图2-6所示。
2.2.2 序列密码
在图2-6中, KG是密钥流生成器,它主要分为两部分:
驱动部分: 驱动部分一般使用线性反馈移位寄存器(Linear Feedback Shift Register,LFSR),用于产生控制生成器的状 态序列,并控制生成器的周期和统计特性。 组合部分: 组合部分主要负责对驱动部分的各个输出序列进行 非线性组合。
2.2.2 序列密码
图2-8是一个n级线性反馈移位寄存器的模型,移位寄存器中存储器的 个数称为移位寄存器的级数,移位寄存器存储的数据是寄存器的状态 ,状态的顺序从左到右依次为从最高位到最低位。在所有状态中, 叫 初态,并且从左到右依次称为第一级、第二级、…、第n级,也称为抽 头1、抽头2、抽头3、….、抽头n。n级线性反馈移位寄存器主要是用 来产生周期大、统计性能好的序列,可以产生2n-1个有效状态.
2.1.3 古典密码简介
加密过程如下: Alice先将明文“mobile internet security”中的字母根据图2-2的映射 关系转换为数字:(12,14,1,8,11,4,8,13,19,4,17,13 ,4,19,18,4,2,20,17,8,19,24)。 加密之前,双方需要协商一个密钥。于是Alice与Bob商定加密方式 为明文字母后移6位,即加密密钥及解密密钥同为K=6。 开 始 加 密 : 将 明 文 字 母 映 射 得 到 的 数 字 代 入 加 密 函 数 E(m)=m+6 ( mod 26)中计算得到:(18,20,7,14,17,10,14,19,25,10 ,23,19,10,25,24,10,8,0,23,14,25,4),然后把这些 数字根据图2-2的映射关系替换成字母即可得到密文“s,u,h,o,r ,k,o,t,z,k,x,t,k,z,y,k,i,a,x,o,z,e”。这就是加 密后的结果。
2.1 密码学的基本概念
➢ 2.1.1 保密通信模型 ➢ 2.1.2 密码算法分类 ➢ 2.1.3 古典密码简介 ➢ 2.1.4 密码算法的安全性
2.1.1 保密通信模型
在不安全的信道上实 现安全的通信是密码学研 究的基本问题。消息发送 者对需要传送的消息进行 数学变换处理,然后可以 在不安全的信道上进行传 输,接收者在接收端通过 相应的数学变换处理可以 得到信息的正确内容,而 信道上的消息截获者,虽 然可能截获到数学变换后 的消息,但无法得到消息 本身。图2-1展示了一个 最基本的保密通信模型。
2.1.3 古典密码简介
解密过程如下: 解 密 其 实 就 是 上 述 加 密 过 程 的 逆 过 程 : Bob 收 到 密 文 “suhorkotzkxtkzykiaxoze”,然后将密文按照图2-2的映射关系转换为 :(18,20,7,14,17,10,14,19,25,10,23,19,10,25, 24,10,8,0,23,14,25,4)。使用解密函数D(c)=c-6(mod 26) 将密文转换后的数字代入计算,得到(12,14,1,8,11,4,8,13 ,19,4,17,13,4,19,18,4,2,20,17,8,19,24),即可 还原出明文“mobile internet security”。
2.1.4 密码算法的安全性
对于所有的密码算法,安全性都是其最重要的评价标准。这里所 说的“安全性”,是指该密码系统对于破译攻击的抵抗力强度。目前 评价密码算法安全性的方法有两种:无条件安全和有条件安全,无条 件安全又称为理论上安全,有条件安全又称为实际安全性。很多密码 算法的安全性并没有在理论上得到严格证明,只是在算法思想得到实 现之后,经过众多密码专家多年来的攻击都没有发现其弱点,没有找 到破译它的有效方法,从而认为它在实际上是安全的。
2.1.2 密码算法分类 单向函数密码算法
是否能进行可逆 的加密变换
双向函数密码算法
密码算法
对明文信息的处 理方式不同
序列密码算法 分组密码算法
按照密钥的使用 策略的不同
对称密码算法 非对称密码算法
2.1.3 古典密码简介
密码学的发展历史大致分为三个阶段:古典密码时期、近代密码 时期和现代密码时期。古典密码历史悠久,主要分为替换密码和换位 密码两种。替换密码,即明文中每一个字符被替换成密文中的另外一 个字符。换位密码也称为置换密码,即明文的字母保持不变,但打乱 其顺序。
2.2.2 序列密码
前馈模型
Geffe 发生器是前馈序列的 一种典型模型,如图2-10所 示,其前馈函数g(x)=(x1 x2)⊕(x2 x3)为非线性函数,即 当LFSR-2输出1时, g(x)的 输出位是LFSR-1的输出位 ;当LFSR-2输出0时, g(x) 的输出位是LFSR-3的输出 位。
我们将举例介绍两种典型的古Biblioteka Baidu密码: 1.凯撒密码 2.置换密码
2.1.3 古典密码简介
1. 凯撒密码 基本思想是:通过把字母移动一定的位数来实现加密和解密 比如,Alice要将明文“mobile internet security”加密成密文,传送给
Bob。为了运算方便,先把字母进行数字化。图2-2展示了字母与 数字的映射关系。
2.2.2 序列密码
移位寄存器用来存储数据,当受 到脉冲驱动时,移位寄存器中所 有位右移一位,最右边移出的位 是输出位,最左端的一位由反馈 函数的输出来填充,此过程称为 进动一拍。
反馈函数f(a1, …, an)是n元(a1, …, an)的布尔函数。
如图2-7所示,移位寄存器根据 需要不断地进动m拍,便有m位 的输出,形成输出序列o1 o2 … om。
2.2.2 序列密码
非线性组合部分主要是增加密钥流的复杂程度,使密钥流能够抵 抗各种攻击。以线性反馈移位寄存器产生的序列为基序列,经过不规 则采样、函数变换等操作(即非线性变换),就可以得到安全又实用 的密钥流。
不规则采样是在控制序列作用下,对被采样序列进行采样输出, 得到的序列称为输出序列。控制序列的控制方式有钟控方式和抽取方 式等,函数变换有前馈变换和有记忆变换等。
第2章 密码学基础知识
2.1 密码学的基本概念 2.2 对称密码算法 2.3 公钥密码算法
2.1 密码学的基本概念
密码学是一个非常庞大而复杂的信息处理系统,涉及信息的机密 性、完整性、认证性、不可否认性等许多方面。密码学中加密和解密 信息的主要目的是使得授权人员以外的人无法读取信息。
被加密的消息称为明文,明文经过加密变换成为另一种形式,称 为密文。对明文进行加密操作时所采用的一组规则称为加密算法,对 密文进行解密操作时所采用的一组规则称为解密算法。加密算法和解 密算法都依赖于一组秘密参数,分别称为加密密钥和解密密钥。加密 算法和解密算法统称为密码算法。
2.2.1 分组密码
分组密码的解密过程和加密过程类似,进行的操作和变换也只是对 应于加密过程的逆变换。 首先将收到的密文分成m个密文分组C1,C2,…,Ci,…,Cm, 在相同的密钥作用下,对每个分组执行一个加密的逆变换,解密得 到对应的明文分组M1,M2,…,Mi,…,Mm。
2.2.1 分组密码
2.2 对称密码算法
➢ 2.2.1 分组密码 ➢ 2.2.2 序列密码 ➢ 2.2.3 密码的工作模式
2.2.1 分组密码
分组密码(Block Cipher),也称块密码,是将明文消息编码表示 后的数字序列划分成固定大小的分组,然后在密钥的控制下对各组分别 进行加密变换,从而获得等长的二进制序列的一类算法。
2.2.2 序列密码
自同步序列密码:
如图2-12所示,自同步流密 码的每一个密钥字符是由前 面n个密文字符参与运算推导 出来的,其中n为定值。如果 在传输过程中丢失或更改了 一个字符,那么这一错误就 要向前传播n个字符。因此, 自同步流密码会出现错误传 播现象。不过,在收到n个正 确的密文字符之后,密码自 身会实现重新同步。
2.2.2 序列密码
典型的序列密码算法: A5算法
A5算法是GSM系统中主要使用的序列密码加密算法,用于加密移动 终端与基站之间传输的信息。该算法可以描述为由22bit长的参数
2.2.2 序列密码
下面简单介绍两种具有代表性的序列模型。
钟控模型 图2-9展示了一种钟控发生器的模型。当LFSR-1输出1时,时钟信号 被采样,即能通过“与门”,并驱动LFSR-2进动一拍;当LFSR-1 输出0时,时钟信号不被采样,即不能通过“与门”,此时LFSR-2 不进动,重复输出前一位。
在现代分组密码中,两个最重要的思想就是扩散和混乱。 扩散,是指要将算法设计成明文中每一比特的变化尽可能多地影响到 密文输出序列的变化,以便隐藏明文的统计特性,我们可以形象地将其 描述为“雪崩效应”。 混乱,是指在加解密变换过程中明文、密钥以及密文之间的关系要尽 可能地复杂化,以防密码破译者通过建立并求解一些方程来进行破译。
2.2.2 序列密码
序列密码通常分为两类:
同步序列密码:若密钥序列的产生独立于明文消息和密文消息,这样 的序列密码称为同步序列密码。
自同步序列密码: 若密钥序列的产生是密钥及固定大小的以往密文 位的函数,这样的序列密码称为自同步序列密码或非同步序列密码.
2.2.2 序列密码
同步序列密码:
如图2-11所示, ki表示密钥 流, ci 表示密文流, mi表示 明文流。在同步序列密码中 ,密钥流的产生完全独立于 消息流(明文流或密文流)。 在这种工作方式下,如果传 输过程中丢失一个密文字符 ,发送方和接收方就必须使 他们的密钥生成器重新进行 同步,这样才能正确地加/解 密后续的序列,否则加/解密 将失败。
典型的分组密码算法:
DES算法 AES算法 IDEA算法 有兴趣的读者可翻阅相关密码学书籍查看分组密码的详细设计
2.2.2 序列密码
序列密码又称为流密码,它的起源可以追溯到20世纪20年代的 Vernam 密码,是对称密码算法的一种。
序列密码将明文消息字符串在密钥流的控制下逐位进行加密和 解密,所以具有加解密速度快、实现简单、便于硬件实施、没有或 只有有限的错误传播的特点。
相关文档
最新文档