密码学 - 古典加密

珍惜现在的资源和时间,坚持让编程改变世界

密码学

信息理论之父:克劳德 香农
论文《通信的数学理论》

如果没有信息加密,信息直接被中间人拦截查看、修改。

密码学基础概念

明文Plain text
密文Cipher text

加密Encryption/Encrypherment:将明文转化为密文
解密Decrytion/Decipherment:讲密文还原为明文

加密钥匙EK Encryption Key:加密时配合加密算法的数据
解密钥匙EK Encryption Key:解密时配合解密算法的数据

古典加密 - 凯撒密码

各个字符按照顺序进行n个字符错位的加密方法。
(凯撒是古罗马军事家政治家)

明文AKEA
密匙2.  加密算法:每位+
密文CMFC
(大忌!密文中出现重复,是一种特征,易被破解)
将123456每位数字都加1后得到234567

明文123456
密钥:1  加密算法:每位+
密文234567

多次使用恺撒密码来加密并不能获得更大的安全性,因为使用偏移量A加密得到的结果再用偏移量B加密,等同于使用A+B的偏移量进行加密的结果。

凯撒密码 - 解密

凯撒密码最多只有25个密匙 +1到+25 安全强度几乎为0
(密钥为0或26时,明文在加密前后内容不变)

暴力枚举
根据密文,暴力列出25个密匙解密后的结果。

凯撒密码的变种 - 换字式

如
原文AB..
密文BV..
  • 典型的rot13(密钥为+13的凯撒加密)
    26个字母 大小写 替换对照表
    ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm
  • 破解 rot13 再来一次rot13加密,就变回原文。

凯撒密码的变种 - 多表替代 - 维吉尼亚密码

如
明文分为5组
第1组密匙+2 第2组密匙+5
然后把密文连接起来

凯撒密码的例子是所有 单字母替代式密码 的典范,它只使用一个密码字母集。
我们也可以使用多字母替代式密码,使用的是多个密码字母集。
加密由两组或多组 密码字母集 组成,加密者可自由的选择然后用交替的密码字母集加密讯息。
(增加了解码的困难度,因为密码破解者必须找出这两组密码字母集)
另一个多字母替代式密码的例子“维吉尼亚密码”,将更难解密
(法语:Vigenère cypher),
它有26组不同用来加密的密码字母集。
每个密码字母集就是多移了一位的凯撒密码。
维吉尼亚方格(替换对照表):

                A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
                B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
                C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
                D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
                E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
                F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
                G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
                H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
                I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
                J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
                K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
                L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
                M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
                N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
                O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
                P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
                Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
                R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
                S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
                T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
                U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
                V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
                W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
                X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
                Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
                Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
维吉尼亚密码
如
明文: I LOVE CRYPTOGRAPHY
关键字(密钥):W ORDW ORDWORDWORDW
则
密文: E ZFYA QIBLHFJNOGKU


第1位密文字母结果 = 
维吉尼亚方格中W开头的那一行,与第1行中的字母I相同列位置的那个字母 = E

维吉尼亚密码 必须先选择一个关键字,接着连续“复制”这个关键字,直到和明文长度相同。
然后看明文讯息下方是哪一行(密码字母集)可供使用,就是明文的第一个字母下方对映到的关键字母。另外,每个密码字母集由它自己的第一个字母作为名称。

维吉尼亚密码引入了密匙概念。
同一明文在密文中的每个对应,可能都不一样。

凯撒密码的变种 - 移位式密码

移位式密码,明文中出现的字母依然出现在密文中,只有字母顺序是依照一个定义明确的计划改变。
许多移位式密码是基于几何而设计的。一个简单的加密(也易被破解),可以将字母向右移1位。
例如,明文"Hello my name is Alice."
将变成"olleH ym eman si ecilA."
密码棒(英语:scytale)也是一种运用移位方法工具。


明文分组,按字符长度来分,每5个字母分一组。
并将各组内的字符的顺序进行替换。

如
明文 ILOVEFISH!

假设 n = 5(每5个字母为1组)

变换规则(密匙):
第1个字母 -> 移动到位置 2
第2个字母 -> 移动到位置 4
第3个字母 -> 移动到位置 1
第4个字母 -> 移动到位置 5
第5个字母 -> 移动到位置 3

共有两组明文 加密后组合起来 得到密文:OIELVSF!IH

具体例子
纵栏式移项密码
先选择一个关键字,把原来的讯息由左而右、由上而下依照关键字长度转写成长方形。接着把关键字的字母依照字母集顺序编号,例如A就是1、B就是2、C就是3等。例如,关键字是CAT,明文是THE SKY IS BLUE,则讯息应该转换成这样:
C A T
3 1 20
T H E
S K Y
I S B
L U E

最后把讯息以行为单位,依照编号大小调换位置。呈现的应该是A行为第一行、C行为第二行、T行为第三行。然后就可以把讯息"The sky is blue"转写成HKSUTSILEYBE。
另一种移位式密码是中国式密码(英语:Chinese cipher),移位的方法是将讯息的字母加密成由右而左、上下交替便成不规则的字母。范例,如果明文是:THE DOG RAN FAR,则中国式密码看起来像这样:
R R G T
A A O H
F N D E
密码文将写成:RRGT AAOH FNDE
绝大多数的移位式密码与这两个范例相类似,通常会重新排列字母的行或列,然后有系统的移动字母。其它一些例子包括Vertical Parallel和双移位式(英语:Double Transposition)密码。
更复杂的算法可以混合替代和移位成为积密码(product cipher);现代资料区段密码像是DES反复位移和替代的几个步骤。

栅栏密码

行数=栏数
明文,分为N栏(N行) 按照明文本来的顺序,竖着从上往下填。

【实例1】
明文123456
栏数2(行数2)
密文135246

135
246
拆成2行(2栏),竖着看密文——得到明文

【实例2】明文123456789abcdefghi 栏数9 (行数)--->密文1a2b3c4d5e6f7g8h9i
拆成9行竖着看密文.

1a
2b
3c
4d
5e
6f
7g
8h
9i

古典密码【栅栏密码安全度极低】组成栅栏的字母一般一两句话,30个字母。不会太多! 加解密都麻烦

频率分析

是指研究字母或者字母组合在文本中出现的频率。应用频率分析可以破解古典密码。

工具
在线词频分析 http://textalyser.net/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容