凯撒密码位移规律表怎么用(凯撒密码后移几位)

2023-03-13 18:46:10 密码用途 思思

凯撒移位密码。

也就是一种最简单的错位法,将字母表前移或者后错几位

,例如:

明码表:ABCDEFGHIJKLMNOPQRSTUVWXYZ。

密码表:DEFGHIJKLMNOPQRSTUVWXYZABC。

这就形成了一个简单的密码表,如果我想写frzy(即明文),那么对照上面密码表编成密码也就是iucb(即密文)了。密码表可以自己选择移几位,移动的位数也就是密钥。

进制转换密码。比如给你一堆数字,乍一看头晕晕的,你可以观察数字的规律,将其转换为10进制数字,然后按照每个数字在字母表中的排列顺序,拼出正确字母。

经典密码的原理

经典密码大致上分为替代式密码和移位式密码,具体原理看下面加粗字体

凯撒密码是广为人知的替代式密码。为了用凯撒密码法加密讯息,每个密码字母集中的字母将会被其位置的后3个字母替代。因此字母A将会被字母D替代、字母B将会被字母E替代、字母C将会被字母F替代等,最后,X、Y和Z将分别的被替代成A、B和C。

例如,"WIKIPEDIA"将被加密成"ZLNLSHGLD"。凯撒把字母向后移"3"位,但其他数字也可照著作。

另一种替代式密码是使用关键字,你可以选择一个单字或是短词组并去除所有的空格和重复的字母,接着把它当作密码字母集的开头。最后记得去除掉关键字的字母把其它字母接续排序。

移位式密码,它们字母本身不变,但它们在讯息中顺序是依照一个定义明确的计划改变。许多移位式密码是基于几何而设计的。一个简单的加密(也易被破解),可以将字母向右移1位。

例如,明文"Hello my name is Alice."将变成"olleH ym eman si ecilA."。密码棒(scytale)也是一种运用移位方法工具。

一个移位式密码的具体例子columnar cipher.先选择一个关键字,把原来的讯息由左而右、由上而下依照关键字长度转写成长方形。接着把关键字的字母依照字母集顺序编号,例如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。

经典密码的破译

经典密码由于规律性很强,通常很容易被破解。许多经典密码可单单经由密文而破解,所以它们容易受到唯密文攻击法攻击(ciphertext-only attack)。

有些经典密码(像是凯撒密码)的金钥个数有限,所以这类密码可以使用暴力破解尝试所有的金钥。替代式密码有比较大的金钥数,但是容易被频率分析,因为每个密码字母各代表了一个明文字母。

另一方面,现代密码的设计可以承受更强大的ciphertext-only attacks。一个优秀的现代密码必须保证广泛潜在的攻击,包括known-plaintext attack和chosen-plaintext attack以及chosen-ciphertext attack。

对于密码破解者来说,应不能够找到关键,即使他知道明文和对应的密码文、即是他可以选择明文或密码文。经典密码再也不能满足这些强大的标准,因此,有兴趣者再也不拿它来做安全应用了。

以上内容参考 百度百科-经典密码

恺撒移位密码,将字母顺序后移5位的时候: 明文 F O R E S T 密文 K T W J X Y

如果你问的是电报码,那就还有中文电码,即用四个数字的组合代表汉字,一种无理码,差不多除了死记外无规律可循,现在基本不同了。

其实,如果是电报码,有一种就够了,何必再去发明呢?

如果您问的是密码,介绍几种常见密码形式:

1、栅栏易位法。

即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码。

举例:盗用阿洗一个例子^^

TEOGSDYUTAENNHLNETAMSHVAED

解:

将字母分截开排成两行,如下

T E O G S D Y U T A E N N

H L N E T A M S H V A E D

再将第二行字母分别放入第一行中,得到以下结果

THE LONGEST DAY MUST HAVE AN END.

2、恺撒移位密码。

也就是一种最简单的错位法,将字母表前移或者后错几位,例如:

明码表:ABCDEFGHIJKLMNOPQRSTUVWXYZ

密码表:DEFGHIJKLMNOPQRSTUVWXYZABC

这就形成了一个简单的密码表,如果我想写frzy(即明文),那么对照上面密码表编成密码也就是iucb(即密文)了。密码表可以自己选择移几位,移动的位数也就是密钥。

3、进制转换密码。

比如给你一堆数字,乍一看头晕晕的,你可以观察数字的规律,将其转换为10进制数字,然后按照每个数字在字母表中的排列顺序,拼出正确字母。

举例:110 10010 11010 11001

解:

很明显,这些数字都是由1和0组成,那么你很快联想到什么?二进制数,是不是?嗯,那么就试着把这些数字转换成十进制试试,得到数字6 18 26 25,对应字母表,破解出明文为frzy,呵呵~

4、字母频率密码。

关于词频问题的密码,我在这里提供英文字母的出现频率给大家,其中数字全部是出现的百分比:

a 8.2 b 1.5 c 2.8 d 4.3

e 12.7 f 2.2 g 2.0 h 6.1

i 7.0 j 0.2 k 0.8 l 4.0

m 2.4 n 6.7 o 7.5 p 1.9

q 0.1 r 6.0 s 6.3 t 9.1

u 2.8 v 1.0 w 2.4 x 0.2

y 2.0 z 0.1

词频法其实就是计算各个字母在文章中的出现频率,然后大概猜测出明码表,最后验证自己的推算是否正确。这种方法由于要统计字母出现频率,需要花费时间较长,本人在此不举例和出题了,有兴趣的话,参考《跳舞的小人》和《金甲虫》。

5、维热纳尔方阵。

上面所说的频率分析,很容易破解较长篇幅的密文,于是维热纳尔继承前人的经验,创造出了这个维热纳尔方阵,从而克服了词频分析轻易能够破解密码的弊端,成为一种较为强大的密码编译形式。

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

1 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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

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

以上就是维热纳尔方阵,它由明码表(第一行的字母)、密码表(下面26行)和密钥组成,下面我举个例子说明。

举例:

密钥:frzy

密码:qfuc

解:第一个字母,看以f开头第五行,对应明码表查找q字母所标示的字母为l。以此类推找出后面字母。所得明文为love。

一些新兴的密码形式:

1、利用键盘

无论是计算机键盘,还是手机键盘,都是出密码的好工具哦,可以用错位、或者排列形状等。使用手机键盘和这个同理。另外手机键盘还可以在键盘的字母上做文章,例如你可以用51表示字母j,用73表示字母r等。

举例:

r4a6

这个密码利用计算机键盘,将明文字母分别向上移动一个位置,得到密文。破解结果为frzy。

852 74123 74123698 74269 78974123456 7412369

这排数字是不是很晕?其实很简单,对照小键盘,依次打这些字母,看组成的形状就行了。答案是I L O V E U。

2、字母形状

本人曾经收到过这样一个密码短信,不幸被破解,导致发短信人被我非常严肃地奚落了一番^^!前面我不记得了,只记得后面是hep poo6。这个你可以从手机里打出来,然后把手机倒过来看,形成了密码的明文,good day~~~:)

20回答者: caibird1122 - 四级 2008-11-10 19:23

凯撒密码 C语言

#includestdio.h

#includestring.h

void main ()

{

char str[100];

char str1[100];

printf("输入字符串:");

scanf("%s",str);

int len;

len=strlen(str);

for(int i=0;i<len;i++)

{

str1[i]=(str[i]-97+3)%26+97;

}

str1[len]='\0';

printf ("密文为:%s\n",str1);

}