恺撒密码的原理
密码的使用最早可以追溯到古罗马时期,《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒密码”,它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。因据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。这是一种简单的加密方法,这种密码的密度是很低的,只需简单地统计字频就可以破译。现今又叫“移位密码”,只不过移动的位数不一定是3位而已。密码术可以大致分为两种,即移位和替换,当然也有两者结合的更复杂的方法。在移位中字母不变,位置改变;替换中字母改变,位置不变。将替换密码用于军事用途的第一个文件记载是恺撒著的《高卢记》。恺撒描述了他如何将密信送到正处在被围困、濒临投降的西塞罗。其中罗马字母被替换成希腊字母使得敌人根本无法看懂信息。苏托尼厄斯在公元二世纪写的《恺撒传》中对恺撒用过的其中一种替换密码作了详细的描写。恺撒只是简单地把信息中的每一个字母用字母表中的该字母后的第三个字母代替。这种密码替换通常叫做恺撒移位密码,或简单的说,恺撒密码。尽管苏托尼厄斯仅提到三个位置的恺撒移位,但显然从1到25个位置的移位我们都可以使用, 因此,为了使密码有更高的安全性,单字母替换密码就出现了。如:明码表 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密码表 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明文 T H E F A U L T, D EAR BRUTUS, L I ES N OT I N OUR ST ARS B UT I N OURSELVES.密文 M A X Y T N EM, WX TK UKNMNL, EBX L GHM BG HN K LMT KL U NM BG HNK LXEOXL.(空格是为了和上排对齐)只需重排密码表二十六个字母的顺序,允许密码表是明码表的任意一种重排,密钥就会增加到四千亿亿亿多种,我们就有超过4×1027种密码表。破解就变得很困难。如何破解包括恺撒密码在内的单字母替换密码?方法:字母频度分析尽管我们不知道是谁发现了字母频度的差异可以用于破解密码。但是9世纪的科学家阿尔·金迪在《关于破译加密信息的手稿》对该技术做了最早的描述。“如果我们知道一条加密信息所使用的语言,那么破译这条加密信息的方法就是找出同样的语言写的一篇其他文章,大约一页纸长,然后我们计算其中每个字母的出现频率。我们将频率最高的字母标为1号,频率排第2的标为2号,第三标为3号,依次类推,直到数完样品文章中所有字母。然后我们观察需要破译的密文,同样分类出所有的字母,找出频率最高的字母,并全部用样本文章中最高频率的字母替换。第二高频的字母用样本中2号代替,第三则用3号替换,直到密文中所有字母均已被样本中的字母替换。”以英文为例,首先我们以一篇或几篇一定长度的普通文章,建立字母表中每个字母的频度表。在分析密文中的字母频率,将其对照即可破解。虽然设密者后来针对频率分析技术对以前的设密方法做了些改进,比如说引进空符号等,目的是为了打破正常的字母出现频率。但是小的改进已经无法掩盖单字母替换法的巨大缺陷了。到16世纪,最好的密码破译师已经能够破译当时大多数的加密信息。局限性:短文可能严重偏离标准频率,假如文章少于100个字母,那么对它的解密就会比较困难。而且不是所有文章都适用标准频度:1969年,法国作家乔治斯·佩雷克写了一部200页的小说《逃亡》,其中没有一个含有字母e的单词。更令人称奇的是英国小说家和评论家吉尔伯特·阿代尔成功地将《逃亡》翻译成英文,而且其中也没有一个字母e。阿代尔将这部译著命名为《真空》。如果这本书用单密码表进行加密,那么频度分析破解它会受到很大的困难。一套新的密码系统由法国外交家维热纳尔(Blaise de Vigenère)于16世纪末确立。其密码不再用一个密码表来加密,而是使用了26个不同的密码表。这种密码表最大的优点在于能够克制频度分析,从而提供更好的安全保障。
1. 恺撒移位密码问题描述:
(1)将字母A转换为ASCII (65,10100101),字母D(68,10101000),后移N位,加N(比如加3,00000011),10100101+00000011=10101000,
(2)对于重复码,可按特定字符(ASCII特定,比如11111111)处理,表示同前一个字符。第二个重复字母,则用11111110标示,依此类推。当然这个重复数是有限的,为了扩展编码,可采用4位数。
恺撒密码的加密方法是什么?
根据苏维托尼乌斯的记载,恺撒曾用此方法对重要的军事信息进行加密: 如果需要保密,信中便用暗号,也即是改变字母顺序,使局外人无法组成一个单词。如果想要读懂和理解它们的意思,得用第4个字母置换第一个字母,即以D代A,余此类推。同样,奥古斯都也使用过类似方式,只不过他是把字母向右移动一位,而且末尾不折回。每当他用密语写作时,他都用B代表A,C代表B,其余的字母也依同样的规则;用A代表Z。扩展资料:密码的使用最早可以追溯到古罗马时期,《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒密码”,它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。因据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。这是一种简单的加密方法,这种密码的密度是很低的,只需简单地统计字频就可以破译。 现今又叫“移位密码”,只不过移动的为数不一定是3位而已。参考资料来源:百度百科-凯撒密码
给我凯撒密码的方法
恩~ 你都给了明文和密钥…不知道你还要什么方法啊?
如果你不知道凯撒,可以去百度一下,我给你简单说一下吧~
英文26个字母(不分大小写)可以由数字01~26来代替(有人也用00~25来代替,不过不常见~)
凯撒全称叫凯撒位移加密法,顾名思义啊~
比如A是01,你用n=4加密之后就是01+4=05,05在字母表里是E,所以A加密之后就是E~
CHINA用n=4加密之后就是GLMRI~ 明白没?
对了,需要说明一下,上面举的例子是字母表向右移动4位,n=4也可以理解为向左移动4位,那么CHINA加密之后就变成YDEJW~ 不过不用担心,一般情况下都是向右移的,当然也不排除某些变态向左移(强烈鄙视这种人!!!)…
恩~ 废话说了好多,给你密文吧~说明一下,我是用01~26和右移的方法加密的~
Glmri Girwvep Vehms erh XZ Yrmzivwmxc~ 完毕~(我加的有点快,不保证全对,你自己检查一下哈~)
再补一句,字母表可以循环用的,比如Z用完了就回到ABC…,这时候A就相当于27~ 明白否?
嘿嘿… 我腹黑一下下~ 如果你想用密码去虐一个人的脑细胞的话,推荐你用00~25和左移的方法,保证他能死至少一半的脑细胞~
嘿嘿嘿嘿……