一文让你理解什么是古典密码学

0x01 引言

我们都知道,在当今社会,为了保证无论是我们的数据还是我们的财产的安全,我们总是会在做一些事情的时候校验我们的密码,密码成为了我们身边无处不在却又不可缺失的一部分。


我们大多数人所知道的密码仅仅是一串自己所设置的一串数字、字母、字符罢了,实际上密码的定义远远不止如此。

密码专业的定义是这样的:密码是一种用来混淆的技术,使用者希望将正常的(可识别的)信息转变为无法识别的信息。但这种无法识别的信息部分是可以再加工并恢复和破解的。密码在中文里是“口令”(password)的通称。

其中提到了密码是一种用来混淆的技术,将不愿意别人轻易识别的内容进行转变,将其变得难以辨别。

我们如今能够接触到的银行的加密系统、社交软件密码登陆系统等无一不是将你的个人信息通过只有你自己知道的口令进行加密处理的。我们也知道在发送信息时,如果像古人一样,将书信直接递交出去,那么在中途被人截获信息就不好了,所以我们在使用QQ等一系列工具进行交流时,软件也会将我们发送的信息进行加密处理。

我们在日常生活中经常会遇到一种加密,就是我提前告知某人,我某个动作的意思,比如说我吹口哨就意味着行动开始了,这也是一种暗号,这种在广泛意义上已经称作为了加密处理。

所以,我们引入古典密码这个概念,因为古典密码正是基于置换和代换所产生的。

0x02 古典密码史

古典密码(classical cryptography)

把明文中的字母重新排列,字母本身不变,但其位置改变了,这样编成的密码称为置换密码。最简单的置换密码是把明文中的字母顺序倒过来,然后截成固定长度的字母组作为密文。

古典密码的产生是在很久很久以前了,其发展历程大致分为三个阶段:

1、 古典密码阶段(1949年前)

在这个阶段算法和秘钥都是保密的,秘钥空间较小,信息的安全性主要依赖于对于加密和解密算法的保密。

2、 对称密码阶段(1949-1975年)

在这之后就进入到了现代密码学的阶段,和古典密码阶段的主要区别在于这个阶段的加密和解密算法无需保密,信息的安全性主要依赖于对秘钥的保密。需要解决的主要问题是在不可信信道下的秘钥传输问题。

3、 公钥密码阶段(1976年-至今)

在公钥密码阶段,加密秘钥(公钥)可以公开,仅对解密秘钥(私钥)保密,基于一些数学难题保证很难通过公钥推出私钥。

我们今天将会给大家介绍几种常见的古典密码加密和解密的方式,当然这些密码也是比较出名的。

0x03 经典示例

首先我们来介绍最为简单的编码型密码。

Base64

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,base64就是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应4个base64单元,即3个字节可表示4个可打印字符。它可用来作为电子邮件的传输编码。在base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同系统中而不同。

例如:编码‘Man'

在此例中,base64算法将3个字符编码转为4个字符

base64索引表:

如果要编码的字节数不能被3整除,最后会多出1个或2个字节,那么可以使用下面的方法进行处理:

先使用0字节值在末尾补足,使其能够被3整除,然后再进行base64的编码。在编码后的base64文本后加上一个或两个“=”号,代表补足的字节数。

也就是说,当最后剩余一个八位字节(一个byte)时,最后6位的base64字节块有四位是0值,最后附加上两个等号;如果最后剩余两个八位字节(2byte)时,最后一个6位的base字节块有两位是0值,最后附加一个等号

例如:

当看到==号的加密方式时,可以考虑base64。例:cTZ1NQ==解码之后为q5u5。

我们再看看替换型密码

凯撒密码

凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。现今又叫“移位密码”,只不过移动的位数不一定是3位而已。

下面我们总结一下:

明密对照表:

明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ

密文:TUVWXYZABCDEFGHIJKLMNOPQRS

注:广义上的凯撒是位移的。

凯撒是没有密匙的,即使没有密匙也能将它破解出来,因为凯撒移位密码只有25种密匙,最多就是将这25种可能性挨个检测一下可以了,这就是我们所说的暴力破解法。也可在用软件破解,不过我提倡用人工的。

这里给出在线凯撒密码解密网址:

https://www.qqxiuzi.cn/bianma/kaisamima.php

当然还有分组型密码

栅栏密码

栅栏密码(Rail-fence Cipher)就是把要加密的明文分成N个一组,然后把每组的第1个字符组合,每组第2个字符组合…每组的第N(最后一个分组可能不足N个)个字符组合,最后把他们全部连接起来就是密文,这里以2栏栅栏加密为例。

明文:The quick brown fox jumps over the lazy dog

去空格:Thequickbrownfoxjumpsoverthelazydog

分组:Th eq ui ck br ow nf ox ju mp so ve rt he la zy do g

第一组:Teucbonojmsvrhlzdg

第二组:hqikrwfxupoeteayo

密文:Teucbonojmsvrhlzdghqikrwfxupoeteayo

例:

一只小羊翻过了2个栅栏KYsd3js2E{a2jda}解密后为KEY{sad23jjdsa2}

这里提供一个在线解栅栏密码的地址:

http://www.practicalcryptography.com/ciphers/classical-era/rail-fence/

还有我们众所周知的摩尔斯电码也是一种密码

摩斯密码

摩尔斯电码(英语:Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。是由美国人艾尔菲德·维尔(Alfred Lewis Vail)与萨缪尔·摩尔斯(Samuel Finley Breese Morse)在1836年发明。摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用0和1两种状态的二进制代码,它的代码包括五种:

1.点(.)

2.划(-)

3.每个字符间短的停顿(在点和划之间的停顿)

4.每个词之间中等的停顿

5.以及句子之间长的停顿

摩尔斯电码字母与数字对应表:

例如:

原文本:I LOVE YOU TOO

加密后:../.-../---/...-/./-.--/---/..-/-/---/---

其实古典密码的世界很丰富,上面只是给大家介绍了3种最常规和基础的密码,以便大家对古典密码有一个初步的认识,我们在后续也会给大家带来更多的古典密码学介绍的。谢谢大家的阅读。

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

推荐阅读更多精彩内容

  • 地址、交易、区块、网络是区块链数据里面最基本最重要的概念。地址用来标示一笔交易的支出方和接收方。所有的交易最终需要...
    右象限阅读 890评论 0 1
  • 前言 最近在学习java编程,在学习到编码一块时,想着系统的学习并整理一下java和密码学这块的知识点。密码学大概...
    CSeroad阅读 831评论 0 2
  • 总是习惯性将所有事情拖到ddl前一天晚上......(这是病,得治!!!!)实在是困得不行了&_&,好多内容还没写...
    小小怪吃吃吃阅读 12,504评论 0 5
  • base64 字符选用了"A-Z、a-z、0-9、+、/" 64个可打印字符。数值代表字符的索引,这个是标准Bas...
    Zero_0_0阅读 594评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,522评论 16 22