文档介绍:第二讲:密码学与计算机安全-----密码学历史
密码学的历史已有4000多年
古埃及人曾把象形文字写在石碑上
Cipher-恺撒密码
2千年前,Julius Ceasar 使用了一种简单的替换密码- ——后被人称为恺撒密码(Caesar cipher )
首先被应用于军事上(cf Gallic Wars)
替换方法,每个字母用其后的第三个字母替换
eg. L FDPH L VDZ L FRQTXHUHG
-> I CAME I SAW I CONQUERED
Caesar cipher 可以描述如下:
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
练习解密"RPQLD JDOOLD HVW GLYLVD LQ SDUWHV WUHV"
一般形式,可以把Caesar cipher 中字母移动的位数由3变为1-25中的任何一个
可以指定一个密钥字母作为字母A的密文。
例如:密钥字母F表示:
A F, B — G, ... Y — D, Z — E
即每个字母移动5位
共有26种可能的密码算法(25种可用)
不仅仅是移位变换
每个字母可以用其它任何一个字母替换(不能重复)
每个字母可以随机的映射到其它一个
因此密钥长度是26个字母
单字母替换密码( Monoalphabetic Substitution Cipher )
例如:
明文: ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文: DKVQFIBJWPESCXHTMYAUOLRGZN
Plaintext: IFWEWISHTOREPLACELETTERS
Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
the Mixed Monoalphabetic Cipher has a 26 letter key
需要一种简单方法指定密钥
有多种方法,一种简单方法是写没有重复字母的“密钥字”,其它字母按顺序写在密钥字最后字母后面
例如, 给定密钥字"JULIUSCAESAR"
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: JULISCASRTVWXYZBDFGHKMNOPQ
不同种类的替换密码用在政府和军事上
频率攻击方法由阿拉伯科学家提出
"A Manuscript on Deciphering Cryptographic Messages", published in the 9th century
stronger monoalphabetic ciphers with several replacement symbols for each letter, mon words, and nulls were developed in middle ages
eventually all were susceptible to analysis
cf. execution of Mary Queen of Scots, Great Cipher of Louis XIV
8. Vigenère Cipher
Blaise de Vigenère 发明了多字母替换密码(polyalphabetic substitution cipher)
使用多个单字母替换表
因此一个字母可以被多个字母替换
方法,用一个密钥选择对每个字母使用哪个字母表
密钥的第I个字母表示使用第 ith 个字母表
依次使用每个字母表
当密钥的字母使用完后,在从头开始
9. Vigenère Example
例:
写出明文
在明文下重复写出密钥字
依次使用每个字母作为caesar cipher 的密钥
加密对应的明文字母
Plaintext THISPROCESSCANALSOBEEXPRESSED Keyword CIPHERCIPHERCIPHERCIPHERCIPHE Plaintext VPXZTIQKTZWTCVPSWFDMTETIGAHLH
Vigenère Example (续)
C -> CDEFGHIJKLMNOPQRSTUVWXYZAB
I -> IJKLMNOPQRSTUVWXYZABCDEFGH
P -> PQRSTUVWXYZABCDEFGHIJKLMNO
H -> HIJKLMNOPQRSTUVWXYZABCDEFG
E -> EFGHIJKLMNOPQRSTUVWXYZABCD
R -> RSTU