古典密码-单表密码体制

如果明文中不同的位置的同一明文字母在密文中对应的密文字母相同,则称其为单表密码体制。

代表性的单表密码:

1.移位或加法密码

2.乘数或乘法密码

3.仿射密码

4.密钥短语密码

下面分别举一个例子:

1.加法密码算法:

P=C=K=Zm   (Zm∈{0,1,...,m-1})

Ek(x)=x+k(mod m)=y∈C

Dk(y)=y-k(mod m)=x∈P

当k=3时,该密码算法就是凯撒密码。

E3(1)=1+3(mod 26)=4   1代表A,4代表D,所以就把明文A加密成D

D3(4)=4-3(mod 26)=1  所以把密文D,解密成明文A

这种算法容易受到唯密文攻击,由算法可知,密钥的可能性个数为m,如果是英语字母表,只有26个字母,那么只要尝试25种(不包括0,因为m=0就等于是明文了)密钥,就能破解该算法。

2.乘法密码算法

P=C=Zm

K={a ∈Zm | (a, m)=1}

Ea(x)=ax (mod m) =y ∈C

Da (y)=a-1y (mod m) =x ∈P

(a-1是a对于m的乘法逆元)

当m=26,

P=C=Z26

K={a ∈Z26 | (a, 26)=1},

Ea(x)=ax (mod 26) =y ∈C

Da (y)=a-1y (mod 26) =x ∈P

(a-1是a对于26的乘法逆元)

当a=9时,

逆元a-1=3

E9(x)=9x (mod 26)=y ∈C

D9(y)=3y (mod 26)=x ∈P

加密过程:字符B,对应的X=1 y=E9(x)=9*1 (mod 26)=9 替换为字符J

解密过程:字符J,对应y=9 x=D9(x)=9*3 (mod 26)=1 还原为字符B

对于乘数密码,当且仅当a与26互素时,加密变换才是一对一映射的。

因此a的选择只有11种:3,5,7,9,11,15,17,19,21,23,25,可能的密钥只有11种!

3.仿射密码算法:

P=C=Zm

K={(a,b)∈Zm×Zm|(a,m)=1}

E(a,b) (x)=ax + b (mod m)

D(a,b) (y)=a-1(y-b)(mod m)

当a=1时,变为加法密码

当b=0时,变为乘法密码

所以,加法密码和乘法密码是仿射密码的特例。

设(a,b)=(7,3)

7-1=15

若加密明文:hot,首先转换字母h,o,t成为数字7,14,19

4.密钥短语密码算法:

一种以单词为密钥的换字表

取ATMOSPHERE为密钥

去掉重复的字母E

得ATMOSPHER

放在字母表的某个位置

KLNQUVWXYZATMOSPHERBCDFGIJ

ABCDEFGHIJKLMNOPQRSTUVWXYZ原来字母表

如果明文为APPLE,那么密文为KQQBS

如果明文字母与代替的密文字母毫无关联,那么整个换字表就是密钥,这时密钥空间为26!,用穷举法来破译几乎是不可能的。

时间: 2024-10-13 06:41:55

古典密码-单表密码体制的相关文章

古典密码-多表密码体制

如果明文中不同的位置的同一明文字母在密文中对应的密文字母不同,则称为多表密码体制. 代表性的多表密码: 1.Vigenere密码 2.Beaufort密码 3.running-key密码 4.Vernam密码 5.Hill密码 例子: 1.Vigenere密码加密: 设明文   m=m1m2...mn 密钥      k = k1k2...kn 则密文   c=Ek(m)=c1c2...cn 其中      ci=(mi+ki)(mod 26),(i=1,2,...,n) Vigenere密码解

单表代替密码原理及算法实现

   要了解单表替代密码就得先了解替代密码,在这里我就做一下简单的介绍:      替代是古典密码中用到的最基本的处理技巧之一 .      替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表.      根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多表替代密码.      单表替代密码的密码算法加解密时使用一个固定的替换表.单表替代密码又可分为一般单表替

单表代替密码

凯撒密码 Caser密码是古典加密的一种,由Julius Caser发明,当时发明的那种就是将26个英文字母按字母表循环移位,按顺序依次a -> d , b -> e , c -> f......根据移位不同统称为移位密码. 按照密码体制五元组 P = { a,b,c......z } C = { a,b,c......z } K = { 0,1,2......25 } 若是Caser密码,得到加密算法 E p = ( p + 3 ) mod 26 若移位可以是任意整数,得到加密算法 E

单表替换密码统计分析

上一篇文章提到一个任意单表替换密码算法如果k=n,那么密钥空间为k! 假设是英文字母表,密钥空间为26!,用穷举法破解不可行. 那么有其他办法吗?答案是肯定的. 我们知道语言具有一定特征的 1.偏用现象:在各种语言中,各个字母的使用次数是不一样的,有的偏高,有的偏低 2.频数:一个字母在一篇文章中出现的次数 3.使用频率:一个字母的频数除以文章的字母总数 英文字母的使用频率分布 统计分析上表得到: 某些特定的文章会含有这样的特征: 开头结尾特征,开头和结尾受到固定格式的限制. (在电影模仿游戏中

1.密码学概念及古典密码

一.前言 信息安全面临的威胁无处不在,多为人为威胁,也就是对信息的人为攻击,人为攻击可分为被动攻击和主动攻击. 被动攻击:即为窃听,分为两类:一类是消息内容获取:另一类是业务流分析,如获取消息的格式,长度及位置等敏感信息.该攻击因为对消息没有做出变动,难以检测,所以被动攻击重点在于预防而不是检测. 主动攻击:为对数据流的改动或产生假的数据流,分为三类:①中断,对系统可用性进行攻击,如破坏管理系统等:②篡改,对系统的完整性攻击,如修改传送的消息内容等:③伪造,对系统真实性攻击,如插入伪造的消息.

密码学基础知识(三)古典密码

说完了前面那些,想起个事,本系列依据内容主要来自<现代密码学>马春光编著.我就是学这本书的. 好了,古典密码就是古时候的密码,哈哈,逗你玩的,shannon的保密系统的通信理论发表前的都是古典密码,会在密码学简史中介绍这位牛人的. 学习古典密码学的意义:学习设计原理和分析方法 古典密码也是,俩门派:置换和代换,顾名思义,一个是换了个原来有的,一个是换了个原来没有的.学术点讲就是前者明文和密文空间一样,后者 不一样.你要是问我啥是明文空间和密文空间啊,我就呵呵.是M 和 C.m明文的集合,c密文

古典密码(Hill加密算法)

"Hill的加密与解密" Hill加密是另一种多字母代替密码,与多表代替密码不同的是,Hill密码要求将明文分成同等规模的若干个分组(最后一个分组涉及到填充),每一个分组被整体的加密代换,即希尔密码属于分组加密.Hill密码的算法思想是:将一个分组中的d个连续的明文字母通过线性变换转换为d个密文字母.这种变换由d个线性方程决定,其中每个字母被分配一个数值(0,1,...,25).解密只需要做一次逆变换就可以了,密钥就是变换矩阵本身. 设明文为一维矩阵m,密文为一维矩阵c,密钥用k矩阵表

古典密码

古典密码是对字母间相互代替或相互换位来进行加密.分代替密码和换位密码两种. 代替指将明文中的字符用其它字符代替,分单表代替和多表代替.代替方案称为秘钥. 单表代替密码的安全性不高,一个原因是一个明文字母只由一个密文字母代替.可以利用频率分析来破译. 多表代换密码,即构造多个密文字母表,在密钥的控制下用以一系列代换表依次对明文消息的字母序列进行代换. Playfair密码,用密钥控制生成矩阵,然后每两个字符为单位进行代换.若相邻字符相同要插入一个特殊的字符隔开,若最终字符数为奇数也要填充一个特殊的

古典密码简介

从密码学发展历程来看,可分为古典密码(以字符为基本加密单元的密码)以及现代密码(以信息块为基本加密单元的密码)两类.而古典密码有着悠久的历史,从古代一直到计算机出现以前,古典密码学主要有两大基本方法: ①置换密码(又称易位密码):明文的字母保持相同,但顺序被打乱了. ②代替密码:就是将明文的字符替换为密文中的另一种的字符,接收者只要对密文做反向替换就可以恢复出明文. 古典密码是密码学的根源,虽然都比较简单而且容易破译,但研究古典密码的设计原理和分析方法对于理解.分析以及设计现代密码技术是十分有益