密码学的做2个题目

作者&投稿:秦刮 (若有异议请与网页底部的电邮联系)

问题2的答案

CAESAR体制;双字的Playfair体制;维吉尼亚体制;Hill体制

具体:

1、CAESAR体制 CAESAR 体制是一种单表加性密码体制,其明文字母表、密文字母表和密钥字母表相同,比如英文字母表。

加密步可由如下简单的式子表示:y=x+k,其中x∈X, y∈Y,k∈K。

最简单的一种就是第一个明文字母由其右边的第三个字母代替,由D代替,B由E代替,…,Y,由B代替,Z由C代替。

广义的CAESAR体制引入两个密钥参数,加密步变为y=k1x+k2,其中x∈X,y∈Y,k1,k2∈K。

2、双字的Playfair体制 1854 年,查尔斯.惠斯通(Charles Wheatstone)发明了一种特殊的双叶双码代替密码,他的朋友莱昂.普莱弗尔(Lyon Playfair)将其推荐给 *** 和军界的高层人士。

这种体制的首次使用是在克里米亚战争期间,正式报道的使用是在Boer战争中,其名称也就以 Playfair命名。

军队很看重它的一点就是此方法既不需要表也不需要器械,易作为战地密码。

英国军队差不多用了一个世纪,而且保证它一直是保密的。

然而在一次世界大战中的1915年,德国人将其破译了。

PLAYFAIR加密步按如下方式进行:由一个口令字开始,将一个Z25上的置换表(省去了Z26中的Z)排成5×5方阵。

P A L M E

R S T O N

B C D F G

H I K Q U

V W X Y Z

T O M R S

D F G B C

K Q U H I

X Y Z V W

L M E P A

加密步没有定义双字母是同一字母的情况,还有最后一个字母不成对的情况。

上述两个例子的结果是相同的。

如果一个双字母的两个字母在同一行(或一列),则它们就用其右边(相应地,底下)的字母所代替,比如:am→LE ,dl→KT。

另一种情况是,两个字母不在同一行或同一列,则第一个字母由同一行中且在第二个字母的那一列的字母代替;第二个字母则由同一行中,且是第一个字母所在那一列的字母所代替,比如:ag→EC ,ho→QR。

3、维吉尼亚体制

维吉尼亚体制是最古老而且最著名的多表密码体制之一,它以法国密码学家Blaise de Vigenere(1523--1596)命名。

与CAESAR密码体制相似,其密钥是逐步变化的。

一般是用维吉尼亚方阵来进行加密和解密的。

每列都可以看成是一个CAESAR体制,其中密钥是0、1、2...25。

加密时,将在方阵中查找明文字母所在的行及CAESAR体制密钥所在的列,来确定密文字符。

通常CAESAR体制的密钥用密钥字来表示。

比如,用KEYSTREAM来加密TWOPERSONS,首先在方阵中查找第T行第K列的字母,则得到T 对应的密文字母D,以此类推。

解密时,则查找D在K列的行位置。

通常密钥字要重复使用,特别是对较长的明文。

加密方阵作为多表体制的基础,它具有多样性,即可选择其它容易记忆的方阵。

这里值得一提的就是Beaufort方阵,它的行是维吉尼亚方阵行的逆序。

4、Hill体制 在Hill 密码体制中,明文空间和密文空间是相同的,比如英文字母集。

首先对字母集中的字母进行编号,比如A为0号,B为1号,Z为25号,后面所有的运算都要模 26。

然后选择一个可逆的d维方阵M,其元素是介于0和25之间的整数。

加密过程为MP=C,当然这里的P和C都是d维列向量。

更确切地说,每个d元明文字符定义了列向量P,分量是d元明文字符的编号。

计算得到的列向量C再被译为d元密文字符。

尽管希尔密码体制看起来几乎没有实用价值,但它对密码学的发展却产生了深刻的影响。

希尔发明的重要性在于它无可辩驳地表明:数学方法在密码学中的地位是不容置疑的。

随后在30年代,大批数学家投身于密码学研究。

尽管古典密码体制受到当时历史条件的限制,没有涉及到非常高深或者复杂的理论,但在其慢长的发展演化过程中,已经充分表现出了现代密码学的两大基本思想-代替和换位,而且还将数学的方法引入到密码分析和研究中。

这为后来密码学成为系统的学科以及相关学科的发展奠定了坚实的基础,如计算机科学、复杂性理论等等。



~

c语言程序设计题。实验报告。高分。
答:2.界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。1.根据自己实际情况,选择与实际应用结合紧密的较综合性的题目 2.设计和调试过程的规范化要求 1)对每个题目要有需求分析(上网查询)2)对每个题目要有相应的源程序3)最后提供的主程序要象一个应用系统一样有主窗口,通过主菜单和分级...

数学题目
答:20. 甲、乙、丙三台车床加工方形和圆形的两种零件,已知甲车床每加工3个零件中有2个是圆形的;乙车床每加工4个零件中有3个是圆形的;丙车床每加工5个零件中有4个是圆形的.这天三台车床共加工了58个圆形零件,而加工的方形零件个数的比为4:3:3,那么这天三台车床共加工零件几个? 小学数学应用题综合训练(03) ...

C++。编程题,题目如下。
答:void CopyRec(Student* , Student* ); /* 复制一条记录 到 另一个记录中 *//* 题目中要求的...case 2: Add(); break; /* 用户选择 2 号菜单,程序执行 添加记录的函数 */ case 3: Delete(...while(ReadData(fp , &rec)) /* ReadData() 函数出错或到文件末尾时返回 0,可以做循环条件 */...

计算机基础知识简答题题库
答:多媒体制作28、将Word表格中两个单元格合并成一个单元格后,单元格中的内容( )。 求计算机基础试题及答案大全 一、单项选择题(每小题 1 分,共60 分)1. 在计算机内部,一切信息的存取、处理和传送都是以( )形式进行的。 A )EBCDIC码 B )ASCII码 C )十六进制 D )二进制2. 目前,被人们称为“3C”技术...

free pascal题目
答:(2)你猜一个数A; (3)若A>X,则输出“Gao”;(4)若A<X,则输出“Di”;(5)若A=X则输出“Ok”;(6)重复(2)(3)(4)(5)直到A=X。31、小会议...你可以上www.vijos.cn,然后在题目分类里面选择难度为0或1的来做。在上面注册以后,如果你不会解某个题目,可以在“题解”里面看到别人的思路,非常适合小...

请教2个vb的基础问题,只学了java,别人又问我vb的问题,有些语法不懂...
答:第一个问题,textbox框相对复杂一些便写了textbox框的,inputbox的更好写,就是稍加改动即可,困了,你自己看看改一下吧。第二个问题,刚刚在你的另一个帖子里回答了。窗体代码如下,可直接粘贴重命名为from1.frm:VERSION 5.00 Begin VB.Form Form1 BorderStyle = 3 'Fixed Dialog Capti...

Euclidea里2-2的题目,要完成E,怎么做?
答:1、首先我们以B点为圆心,以AB为半径画圆,交直线CB于D,具体操作如下图。2、然后我们分别以A点为圆心,D点为圆心,线段AB,线段DB为半径画圆,具体如下图。3、然后连接上图两个红色圆的交点。这条线为角B的角平分线,这里涉及到的是角平分线的尺规作图。4、同样的道理我们再以A为圆心,AB为...

几个java小题目,想请教大家
答:我来解释一下吧,我不知道你的水平,所以可能讲的比较罗嗦了点,希望你能有所收获:1 java程序的运行原理和编译执行一个java程序的步骤:java程序是通过java虚拟机解释,将其中的代码(字节码)翻译为具体的操作指令来执行的。假设要编译并执行位于d:\javademo目录中的Test.java:一、首先设置classpath...

离散数学题目求解。由0,1,2,3,4,5这6个数字构成的五位码中,各数字之...
答:275种 6、4、0的组合有32种 2、3、5、0和1、3、6、0和1、4、5、0的组合各有81种 一共是275种组合

三个菜鸟的C语言问题
答:直接用两个for循环遍历矩阵 然后用if判断在i=j的时候把该元素加到sum里面 3:什么迭代求法,有什么规则。距离用法(例如3次函数)=== 迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(...