传统加密技术

密码编码学与网络安全讨论两大领域

  • 密码算法和协议
    又可以分为4个主要的领域:
    • 对称加密(Symmetric encryption):用于加密任意大小的数据块或数据流的内容(消息、文件、加密密钥和口令)
    • 非对称加密(Asymmetric encryption):用于加密小的数据块(加密密钥、数字签名中使用的Hash函数值)
    • 数据完整性算法(Data integrity algorithms):用于保护数据块的内容免于被修改
    • 认证协议(Authentication protocols):用于认证实体的真实性
  • 网络和Internet安全
    阻止、防止、检测和纠正信息传输中出现的安全违规行为的措施

计算机安全

1.定义
NIST的《计算机安全手册》对计算机安全的定义为:
对于一个自动化的信息系统,采取保密措施确保信息系统资源(包括硬件、软件、固体、信息/数据和通信)的完整性、可用性和保密性

2.计算机安全的关键目标
保密性(Confidentiality)

  • 数据保密性(Data confidentiality):确保隐私或者秘密信息不向非授权者泄露,也不被非授权者所使用
  • 隐私性(Privacy):确保个人能够控制或确定与其自身相关的哪些信息是可以被收集、被保存的、这些信息可以由谁来公开以及向谁公开

完整性(Integrity)

  • 数据完整性(Data integrity):确保信息和程序只能以特定和授权的方式进行改变
  • 系统完整性(System integrity):确保系统以一种正常的方式来执行预定的功能,免于有意或无意的非授权操作

可用性(Availability):确保系统能工作迅速,对授权用户不能拒绝服务

这三个目标形成了CIA三元组
在这里插入图片描述
其他概念:真实性(Authenticity)可追溯性(Accountability)

OSI安全架构

主要关注安全攻击安全机制安全服务

1.安全攻击

  • 被动攻击(Passive attacks):对传输进行窃听和监测,不涉及对数据的更改,目的是获取传输的信息。处理被动攻击的重点是预防,不是检测。
    包括信息内容的泄露(Disclosure of message content)、流量分析(Traffic analysis)
  • 主动攻击(Active attack):对数据流进行修改或伪造数据流,难以绝对地预防,但容易检测,重点在于检测并从破坏或造成的延迟中恢复过来。
    包括伪装(Masquerading)、重播(Replay)、消息修改(Modification of messages)、拒绝服务(Denial of service)

2.安全服务
X.800将服务分为5类共14个特定服务。

  • 认证(Authentication)
  • 访问控制(Access control)
  • 数据保密性(Data confidentiality)
  • 数据完整性(Data integrity)
  • 不可否认性(Non-repudiation)

3.安全机制(X.800)
特定安全机制、普遍的安全机制
X.800还区分可逆和不可逆加密机制。
可逆加密机制只是一种加密算法,数据可以加密和解密。
不可逆加密机制包括Hash算法和消息认证码,用于数字签名和消息认证。

网络安全模型

在这里插入图片描述


一、密码系统

1.传统密码的安全使用要满足两个要求:

  • 加密算法必须足够强
  • 发送者和接收者必须在某种安全的形式下获得密钥并且必须保证密钥安全

2.密码编码学系统具有以下3个独立的特征:

  • 转换明文为密文的运算类型
    所有的加密算法都基于代替和置换
    代替是将明文中的每个元素映射成另一个元素
    置换是将明文中的元素重新排列

    上述运算的基本要求是不允许有信息丢失(即所有的运算是可逆的)。大多数密码体制,也称为乘积密码系统,都使用了多层代替和置换。
  • 所用的密钥数
    发收双方使用相同的密钥对称密码,单密钥密码,秘密钥密码或传统密码
    发收双方使用不同的密钥非对称密码,双钥或公钥密码
  • 处理明文的方法
    分组密码每次处理输入的一组元素,相应地输出一组元素
    流密码则是连续地处理输入元素,每次输出一个元素

二、对称密码模型

对称加密,也称传统加密单钥加密,是一种加解密使用相同密钥的密码体制,是20世纪70年代公钥密码产生之前唯一的加密类型。
五个基本成分为:明文M、密文C、密钥K、加密算法E、解密算法D。

1.传统密码的简化模型:在这里插入图片描述
2.对称密码体制的模型:
在这里插入图片描述

3.对称密码分为两类分组密码流密码
分组密码也称为块密码,它将信息分成一块(组),每次操作(如加密和解密)是针对一组而言。
流密码也称序列密码,它每次加密(或者解密)一位或者一个字节。

4.采用对称密码,首要的安全问题是密钥的保密性

5.攻击传统密码体制的两种通用方法:

  • 密码分析学:密码分析学攻击依赖算法的性质、明文的一般特征或某些明密文对,这种形式的攻击企图利用算法的特征来推导出特定的明文或使用的密钥。
  • 穷举攻击:攻击者对一条密文尝试所有可能的密钥直到把它转化为可读的有意义的明文。平均而言,获得成功至少需要尝试所有可能密钥的一半

6.对加密信息的攻击类型
在这里插入图片描述
7.安全性

  • 无条件安全:一次一密
  • 计算上安全
    破译密码的代价超出密文信息的价值
    破译密码的时间超出密文信息的有效生命期

三、代替技术(Substitution Ciphers)

代替技术是将明文字母替换成其他字母、数字或符号的方法。如果把明文看成是二进制序列的话,那么代替就是用密文位串来代替明文位串。

**1.**Caesar密码
原理:对字母表中的每个字母,用它之后的第三个字母来代替(字母表是循环的,即认为紧随Z后的是字母A)。字母编号对照表如下:在这里插入图片描述
加密算法可以表示为:C=E(3,p) = (p+3)mod26,其中的位移量3
位移量可以是任意整数k,这样得到一般的Caesar算法:
加密算法是:C=E(k,p)=(p+k)mod26
解密算法是:p=D(k,C)=(C-k)mod26

(这里K的取值范围从1到25)
例:
明文: pa r t y
密文:SDUWB
若已知Caesar密码,只要测试所有的25种可能的秘钥即可破译。

2. 单表代换密码(Monoalphabetic Cipher)
采用简单重新排列明文字母表来作为密码表且每个相同的明文字母总是被同一个密文字母所替换的被称作单表替换密码。
密钥空间十分巨大,可以抵御穷举攻击,但是可以根据语言出现的频率和特性破解

3.Playfair密码
是最著名的多字母代替密码,它把明文中的双字母音节作为一个单元并将其转换成密文的“双字母音节”。Playfair算法基于一个由密钥词构成的5*5字母矩阵。仍然完好地保留了明文语言的大部分结构特征。

填充矩阵的方法是:

  • 首先将密钥词去掉重复字母从左到右,从上至下填在矩阵格子中
  • 再将剩余的字母按字母表的顺序从左至右、从上至下填在矩阵剩下的格子里。字母I和J暂且当做一个字母

对明文按如下规则一次加密两个字母:

  • 如果该字母对的两个字母是相同的,那么在它们之间加一个填充字母,比如x。例如先把ballon变成ba lx lo on这样的4个字母对。
  • 落在矩阵同一行的明文字母对中的字母,由其右边的字母来代替,每行中最右边的一个字母就用该列中最左边的第一个字母来代替。
  • 落在矩阵同一列的明文字母对中的字母,由其下面的字母来代替,每行中最下面的一个字母就用该列中最上面的第一个字母来代替。
  • 其他的每组明文字母对中的字母按如下方式代替:该字母所在行为密文所在行,另一字母所在列为密文所在列。 (其实说白了就是看成对角线)

例:密钥为MONARCHY

hs——BP
ea——IM / JM
balloon——ba lx lo on——IB SU PM NA
ar——RM
mu——CM

4.Hill 密码
是一种多字母代替密码
Hill 密码要求首先将明文分成同等规模的若干个分组(最后一个分组不足时需要填充),每一个分组被整体加密变换,即 Hill 密码属于分组加密
Hill 密码算法将每一个分组中的 d 个连续的明文字母通过线性变换(与密钥矩阵相乘),转换为 d个密文字母。
在这里插入图片描述

写成矩阵形式:
在这里插入图片描述
例:用 Hill 密码加密明文 “Pay more money”,d=3,密钥是
在这里插入图片描述
求对应的密文。

解:明文对应字母表为 15 0 24 12 14 17 4 12 14 13 4 24
在这里插入图片描述
故对应的密文为:RRLMWBKASPDH。
Hill密码完全隐藏了单字母频率特性。

5.多表代替加密(Polyalphabetic Ciphers)
多表代换密码是以两个以上代换表依次对明文消息的字母进行代换的加密方法。

Vigenère密码是多表密码中最知名和最简单的密码,选择某一关键词并重复(与明文等长)而得到密钥,用数字0-25代替字母A-Z。
例:明文:ATTACKATDAWN,关键词为LEMON
明文:ATTACKATDAWN
密钥:LEMONLEMONLE。
A在字母表中对应0,L在字母表中对应11
(0+11)mod26=11,所以加密后为L,
以此类推得到密文:LXFOPVEFRNHR
C=(P+K)mod26
P=(C-K)mod26

每个明文字母对应对个密文字母,每个密文字母使用唯一的密钥字母,字母出现的概率信息被隐藏了,但并非所有的都隐藏了。

Vigenère Autokey System
例:关键词:deceptive,明文:wearediscoveredsaveyourself
明文:w e a r e d i s c o v e r e d s a v e y o u r s e l f
密钥:d e c e p t i v e w e a r e d i s c o v e r e d s a v
密文:Z I C VTWQNG K Z E I I G A S XST S L V V W L A
易受密码分析攻击

Vernam密码
密钥与明文等长,使用周期很大的循环密钥,如果有足够的密文,使用已知或可能的明文序列,或者联合使用二者,可被破解。
在这里插入图片描述

6. 一次一密
每一条新消息都需要一个与其等长的新密钥,它产生的随机输出与明文没有任何统计关系,密文不包括明文的任何信息,无法攻击。
一次一密的安全性完全取决于密钥的随机性。
一次一密存在两个基本难点: 产生大规模随机密钥、密钥的分配和保护
实际上很少使用它,主要用于安全性要求很高的低带宽信道。
一次一密是唯一的具有完善保密的密码体制。

四、置换技术(Transposition cipher)

改变明文出现的相对位置。

栅栏技术(Rail Fence Cipher)
按照对角线的顺序写出明文, 按行的顺序读出作为密文,
例: i’m growing like a seed, rains been falling on me. (栅栏为2)
栅栏1:i g o i g i e s e r i s e n a l n o m
栅栏2: m r w n l k a e d a n b e f l i g n e
密文:igoigieserisenalnommrwnlkaedanbefligne

Row Transposition Cipher
更复杂的方案:把消息一行一行地写成矩阵块,然后根据密钥的顺序按列读出。
在这里插入图片描述
密文:TTNAAPTMTSUOAODWCOIXKNLYPETZ

单纯的置换密码因为有和明文相同的字母频率特征而易被破解,密码分析可以直接从将密文排列成矩阵入手,再来处理列的位置。双字母音节和三字母音节分析办法可以派上用场。若根据置换算法,对明文进行多次置换,就不容易破解了,这就是安全性更高的多步置换密码。

五、转轮机

转轮机是代替计算机加密解密的硬件设备。采用一系列转轮,每一个都是一个代替表,转轮可以依次旋转加密每个字母, 在现代密码之前,转轮密码是最广泛使用的复杂的密码。转轮机的意义在于它曾经给数据加密标准(DES)指明了方向。

六、隐写术(Steganography)

隐写术不是加密技术
需要通过额外的开销隐藏相对较少的信息
其他技术:字符标记、不可见墨水、针刺、打字机的色带校正

发布了32 篇原创文章 · 获赞 23 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_35443700/article/details/101171287