目录
—列置换:将明文排列成多行,每行长度与密码的长度一致,一列一列的输出密文。
—周期置换:设置周期置换位置函数f(i),i=1,2,3,4,5,置换时将明文分为4个一组进行周期置换。
一、概述
1、密码学
密码理论和技术是保障网络安全的基础和核心手段。
网络安全防护的核心目标中的机密性、完整性、不可抵赖性都可以利用密码技术实现保密性。
(1)密码学:研究数据加密、解密的科学。
—加密:研究编写密码系统,把数据和信息(明文)转换为不可识别的密文的过程。
—解密:研究密码系统的加密途径,从密文中恢复出数据和信息本来面目(明文)的过程。
加密和解密是可逆的过程。
—密码分析:试图在不知道任何加密细节的前提下恢复出明文、秘钥的过程。
实际上是对加密、解密过程的研究,发现加密、解密过程中的问题,进行进一步的优化,保证密码的安全性。
(2)密码学历史
1949年之前——还不是一门真正的科学,使用的加密方法成为古典加密技术。
1949~1975——密码学成为一门独立科学,数据安全基于秘钥而不是算法的保密。
1975年之后——发送端和接收端不需要传输密钥即可实现保密通信,从而开创公钥密码的新纪元。
二、古典加密技术
1.置换密码
根据一定的规则重新安排明文字母的排列位置,常用规则包括列置换和周期置换。
—列置换:将明文排列成多行,每行长度与密码的长度一致,一列一列的输出密文。
例如:明文—youarebeautiful,秘钥35142
秘钥长度为5,则将明文每5个分为一组
3 5 1 4 2
y o u a r
e b e a u
t i f u l
则密文为uefrulyetaauobi
其中解密密钥得到方式为用密钥的顺序下方写出正常排序,得到(1-3)、(2-5)、(3-1)···
3 5 1 4 2
| | | | |
1 2 3 4 5
解密密钥:3 5 1 4 2
解密同样,先求出转换为矩阵有多少行,然后根据解密密钥得出明文;
—周期置换:设置周期置换位置函数f(i),i=1,2,3,4,5,置换时将明文分为4个一组进行周期置换。
f(1)=3,f(2)=5,f(3)=1,f(4)=4,f(5)=2
y o u a r ——> u r y a o
e b e a u ——> e u e a b
t i f u l ——> f l t u i
则密文为:uryaoeueabfltui
单纯的置换密码会导致密文中的字母频率特征与原始明文相同,一般情况下采用多步置换来提升密码的复杂度。
2.替换密码
明文中的每一个字符替换成密文的另一个字符,接收者进行逆替换即可恢复出明文。
(1)凯撒密码。
对字母表中的每个字母用其后的第N个字母代替,N取1-25中的某个值。
若p为明文,c为密文 ,则p=(c-N)mod 26, c=(p+N) mod 26。
只有25种密码, 可以利用穷举法轻易快速破解。
(2)单表替换。
将明文和密文的映射方式使用一个自定义的字母表(密码表,密码本)表示
密码有26!种可能。
(3)一次一密。
使用与明文P长度相同并且每次都不重复的随机密钥N对消息进行加密,每个密钥只用一次。
然而大规模产生完全随机的秘钥十分困难,密钥的分配和管理也十分困难。
(4)轮转机。
基于轮转概念的机械加密用于自动处理加密,每个转轮相当于一个单表替换这张表随着转轮转动而变化,实现多表替换密码。
(5)电码本。
像字典,包含单词和相应的码字,属于替换密码,但它是对整个单词或者短语进行替换,相比单表替换更为复杂。例如摩斯电码。