一、选择题
在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)2008年北京奥运会有许多赞助商,其中有12家全球合作伙伴。以下哪个IT厂商不是奥委会的全球合作伙伴
A)微软
B)三星
C)联想
D)松下
(2)在扩展的ASCII码中,每个数字都能用二进制数表示,例如l表示为00110001,2表示为00110010,那么2008可表示为
A)00110010 00000000 00000000 00110111
B)00110010 00000000 00000000 00111000
C)00110010 00110000 00110000 00110111
D)00110010 00110000 00110000 00111000
(3)关于主板的描述中,正确的是
A)按CPU芯片分类有奔腾主板、AMD主板
B)按主板的规格分类有SCSI主板、EDO主板
C)按CPU插座分类有AT主板、ATX主板
D)按数据端口分类有Slot主板、Socket主板
(4)关于奔腾处理器体系结构的描述中,错误的是
A)分支目标缓存器用来动态预测程序分支转移情况
B)超流水线的特点是设置多条流水线同时执行多个处理
C)哈佛结构是把指令和数据分别进行存储
D)现在已经由单纯依靠提高主频转向多核技术
(5)关于多媒体技术的描述中,正确的是
A)多媒体信息一般需要压缩处理
B)多媒体信息的传输需要2Mbps以上的带宽
C)对静态图像采用MPEG压缩标准
D)对动态图像采用JPEG压缩标准
(6)关于软件开发的描述中,错误的是
A)文档是软件开发、使用和维护中不可或缺的资料
B)软件生命周期包括计划、开发、运行三个阶段
C)开发初期进行需求分析、总体设计、详细设计
D)开发后期选定编程语言进行编码
(7)在广域网中,数据分组从源结点传送到目的结点的过程需要进行路由选择与
A)数据加密
B)地址编码
C)分组转发
D)用户控制
(8)如果数据传输速率为10Gbps,那么发送10bit需要用
A)1×10-6S
B)1×10-9S
C)1×10-12S
D)1×10-15S
(9)网络协议的三要素是语法、语义与时序。语法是关于
A)用户数据与控制信息的结构和格式的规定
B)需要发出何种控制信息,以及完成的动作与做出的响应的规定
C)事件实现顺序的详细说明
D)接口原语的规定
(10)关于OSI参考模型层次划分原则的描述中,错误的是
A)各结点都有相同的层次
B)不同结点的同等层具有相同的功能
C)高层使用低层提供的服务
D)同一结点内相邻层之间通过对等协议实现通信
(11)TCP/IP参考模型的主机-网络层与OSI参考模型的哪一层(或几层)对应
A)传输层
B)网络层与数据链路层
C)网络层
D)数据链路层与物理层
(12)传输层的主要功能是实现源主机与目的主机对等实体之间的
A)点-点连接
B)端-端连接
C)物理连接
D)网络连接
(13)实现从主机名到IP地址映射服务的协议是
A)ARP
B)DNS
C)RIP
D)SMTP
(14)如果不进行数据压缩,直接将分辨率为640×480的彩色图像(每像素用24bit表示),以每秒25帧显示,那么它需要占用的通信带宽约为
A)46Mbps
B)92Mbps
C)184Mbps
D)368Mbps
(15)网络层的主要任务是提供
A)进程通信服务
B)端-端连接服务
C)路径选择服务
D)物理连接服务
(16)关于QoS协议特点的描述中,错误的是
A)RSVP根据需求在各个交换结点预留资源
B)DiffServ根据IP分组头的服务级别进行标识
C)MPLS标记是一个用于数据分组交换的转发标识符
D)IP协议中增加CDMA多播协议可以支持多媒体网络应用
(17)10Gbps Ethernet的应用范围能够从局域网扩展到广域网是因为其物理层采用了
A)同轴电缆传输技术
B)光纤传输技术
C)红外传输技术
D)微波传输技术
(18)局域网参考模型将对应于OSI参考模型的数据链路层划分为MAC子层与
A)LLC子层
B)PMD子层
C)接入子层
D)汇聚子层
(19)Ethernet物理地址长度为48位,允许分配的物理地址应该有
A)245个
B)246个
C)247个
D)248个
(20)关于100BASE-T介质独立接口MII的描述中,正确的是
A)MII使传输介质的变化不影响MAC子层
B)MII使路由器的变化不影响MAC子层
C)MII使LLC子层编码的变化不影响MAC子层
D)MII使IP地址的变化不影响MAC子层
(21)10Gbps Ethernet工作在
A)单工方式
B)半双工方式
C)全双工方式
D)自动协商方式
(22)局域网交换机的帧交换需要查询
A)端口号/MAC地址映射表
B)端口号/IP地址映射表
C)端口号/介质类型映射表
D)端口号/套接字映射表
(23)关于Ethernet网卡分类方法的描述中,错误的是
A)可按支持的主机总线类型分类
B)可按支持的传输速率分类
C)可按支持的传输介质类型分类
D)可按支持的帧长度分类
(24)一种Ethernet交换机具有48个10/100Mbps的全双工端口与2个1000Mbps的全双工端口,其总带宽最大可以达到
A)1.36Gbps
B)2.72Gbps
C)13.6Gbps
D)27.2Gbps
(25)在建筑物综合布线系统中,主要采用的传输介质是非屏蔽双绞线与
A)屏蔽双绞线
B)光纤
C)同轴电缆
D)无线设备
(26)关于Windows的描述中,错误的是
A)它是多任务操作系统
B)内核有分时器
C)可使用多种文件系统
D)不需要采用扩展内存技术
(27)关于网络操作系统的描述中,正确的是
A)经历了由非对等结构向对等结构的演变
B)对等结构中各用户地位平等
C)对等结构中用户之间不能直接通信
D)对等结构中客户端和服务器端的软件都可以互换
(28)关于Windows活动目录服务的描述中,错误的是
A)活动目录存储了有关网络对象的信息
B)活动目录服务把域划分为组织单元
C)组织单元不再划分上级组织单元与下级组织单元
D)活动目录服务具有可扩展性和可调整性
(29)关于NetWare网络安全的描述中,错误的是
A)提供了三级安全保密机制
B)限制非授权用户注册网络
C)保护应用程序不被复制、删除、修改或窃取
D)防止用户因误操作而删除或修改重要文件
(30)关于Linux的描述中,错误的是
A)初衷是使普通PC能运行Unix
B)Linux是Unix的一个变种
C)Linux支持Intel硬件平台
D)Linux支持C++编程语言
(31)关于Unix版本的描述中,错误的是
A)IBM的Unix是Xenix
B)SUN的Unix是Solaris
C)伯克利的Unix是UnixBSD
D)HP的Unix是HP-UX
(32)关于TCP/IP协议特点的描述中,错误的是
A)IP提供尽力而为的服务
B)TCP是面向连接的传输协议
C)UDP是可靠的传输协议
D)TCP/IP可用于多种操作系统
(33)在TCP/IP互联网络中,为数据报选择最佳路径的设备是
A)集线器
B)路由器
C)服务器
D)客户机
(34)主机的IP地址为202.130.82.97,子网屏蔽码为255.255.192.0,它所处的网络为
A)202.64.0.0
B)202.130.0.0
C)202.130.64.0
D)202.130.82.0
(35)在TCP/IP互联网络中,转发路由器对IP数据报进行分片的主要目的是
A)提高路由器的转发效率
B)增加数据报的传输可靠性
C)使目的主机对数据报的处理更加简单
D)保证数据报不超过物理网络能传输的最大报文长度
(36)路由表通常包含许多(N,R)对序偶,其中N通常是目的网络的IP地址, R是
A)到N路径上下一个路由器的IP地址
B)到N路径上所有路由器的IP地址
C)到N路径上下一个网络的网络地址
D)到N路径上所有网络的网络地址
(37)因特网域名中很多名字含有".com",它表示
A)教育机构
B)商业组织
C)政府部门
D)国际组织
(38)用户已知的三个域名服务器的IP地址和名字分别为202.130.82.97,dns.abe.edu;�130.25.98.3,dns.abc.com;195.100.28.7,dns.abc.net。用户可以将其计算机的域名服务器设置为
A)dns.abc.edu
B)dns.abc.com
C)dns.abc.net
D)195.100.28.7
(39)将邮件从邮件服务器下载到本地主机的协议为
A)SMTP和FTP
B)SMTP和POP3
C)POP3和IMAP
D)IMAP和FTP
(40)为了屏蔽不同计算机系统对键盘输入解释的差异,Telnet引入了
A)NVT
B)VPN
C)VLAN
D)VPI
(41)关于因特网中主机名和IP地址的描述中,正确的是
A)一台主机只能有一个IP地址
B)一个合法的外部IP地址在一个时刻只能分配给一台主机
C)一台主机只能有一个主机名
D)IP地址与主机名是一一对应的
(42)为了防止第三方偷看或篡改用户与Web服务器交互的信息,可以采用
A)在客户端加载数字证书
B)将服务器的IP地址放入可信站点区
C)SSL技术
D)将服务器的IP地址放入受限站点区
(43)关于网络配置管理的描述中,错误的是
A)可以识别网络中各种设备
B)可以设置设备参数
C)设备清单对用户公开
D)可以启动和关闭网络设备
(44)SNMP协议处于OSI参考模型的
A)网络层
B)传输层
C)会话层
D)应用层
(45)计算机系统具有不同的安全等级,其中Windows NT的安全等级是
A)B1
B)C1
C)C2
D)D1
(46)凯撒密码是一种置换密码,对其破译的最多尝试次数是
A)2次
B)13次
C)25次
D)26次
(47)关于RC5加密算法的描述中,正确的是
A)分组长度固定
B)密钥长度固定
C)分组和密钥长度都固定
D)分组和密钥长度都可变
(48)在认证过程中,如果明文由A发送到B,那么对明文进行签名的密钥为
A)A的公钥
B)A的私钥
C)B的公钥
D)B的私钥
(49)公钥体制RSA是基于
A)背包算法
B)离散对数
C)椭圆曲线算法
D)大整数因子分解
(50)关于数字签名的描述中,错误的是
A)可以利用公钥密码体制
B)可以利用对称密码体制
C)可以保证消息内容的机密性
D)可以进行验证
(51)若每次打开Word程序编辑文档时,计算机都会把文档传送到另一台FTP服务器,那么可以怀疑Word程序被黑客植入
A)病毒
B)特洛伊木马
C)FTP匿名服务
D)陷门
(52)关于防火墙技术的描述中,错误的是
A)可以支持网络地址转换
B)可以保护脆弱的服务
C)可以查、杀各种病毒
D)可以增强保密性
(53)关于EDI的描述中,错误的是
A)EDI的基础是EDP
B)EDI采用浏览器/服务器模式
C)EDI称为无纸贸易
D)EDI的数据自动投递和处理
(54)关于数字证书的描述中,错误的是
A)证书通常由CA安全认证中心发放
B)证书携带持有者的公开密钥
C)证书通常携带持有者的基本信息
D)证书的有效性可以通过验证持有者的签名获知
(55)有一种电子支付工具非常适合小额资金的支付,具有匿名性、无需与银行直接连接便可使用等特点。这种支付工具称为
A)电子信用卡
B)电子支票
C)电子现金
D)电子柜员机
(56)在电子政务发展过程中,有一个阶段以政府内部的办公自动化和管理信息系统的建设为主要内容。这个阶段称为
A)面向数据处理阶段
B)面向信息处理阶段
C)面向网络处理阶段
D)面向知识处理阶段
(57)可信时间戳服务位于电子政务分层逻辑模型中的
A)网络基础设施子层
B)信息安全基础设施子层
C)统一的安全电子政务平台层
D)电子政务应用层
(58)ATM采用的传输模式为
A)同步并行通信
B)同步串行通信
C)异步并行通信
D)异步串行通信
(59)关于xDSL技术的描述中,错误的是
A)VDSL是非对称传输
B)HDSL是对称传输
C)SDSL是非对称传输
D)ADSL是非对称传输
(60)EDGE(数据速率增强型GSM)技术可以达到的最高数据传输速率为
A)64kbps
B)115kbps
C)384kbps
D)512kbps
二、填空题
请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
(1)计算机辅助工程的英文缩写是� 【1】 �。
(2)MPEG压缩标准包括MPEG� 【2】 �、MPEG音频和MPEG系统三个部分。
(3)宽带城域网方案通常采用核心交换层、汇聚层与� 【3】 �的三层结构模式。
(4)网络拓扑是通过网中结点与通信线路之间的� 【4】 �关系表示网络结构。
(5)在层次结构的网络中,高层通过与低层之间的� 【5】 �使用低层提供的服务。
(6)IEEE 802.1标准包括局域网体系结构、网络� 【6】 �,以及网络管理与性能测试。
(7)CSMA/CD发送流程为:先听后发,边听边发,冲突停止,� 【7】 �延迟后重发。
(8)无线局域网采用的扩频方法主要是跳频扩频与� 【8】 �扩频。
(9)Windows服务器的域模式提供单点� 【9】 �能力。
(10)Unix操作系统的发源地是� 【10】 �实验室。
(11)一个路由器的两个IP地址为20.0.0.6和30.0.0.6,其路由表如下所示。当收到源IP地址为40.0.0.8,目的IP地址为20.0.0.1的数据报时,它将把此数据报投递到� 【11】 �。
(12)以HTML和HTTP协议为基础的服务称为� 【12】 �服务。
(13)匿名FTP服务通常使用的账号名为� 【13】 �。
(14)故障管理的步骤包括发现故障、判断故障症状、隔离故障、� 【14】 �故障、记录故障的检修过程及其结果。
(15)网络安全的基本目标是实现信息的机密性、可用性、完整性和� 【15】 �。
(16)提出CMIS/CMIP网络管理协议的标准化组织是� 【16】 �。
(17)网络安全攻击方法可以分为服务攻击与� 【17】 �攻击。
(18)电子商务应用系统由CA安全认证、支付网关、业务应用和� 【18】 �等系统组成。
(19)电子政务的公众服务业务网、非涉密政府办公网和涉密政府办公网称为� 【19】 �。
(20)HFC网络进行数据传输时采用的调制方式为� 【20】 �调制。
这里有方法,自己看吧,比较多,呵呵
[凯撒介绍]
凯撒密码(kaiser)是罗马扩张时期朱利斯"凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令。它将字母表中的字母移动一定位置而实现加密。
[加密原理]
凯撒密码的加密算法极其简单。其加密过程如下:
在这里,我们做此约定:明文记为m,密文记为c,加密变换记为E(k1,m)(其中k1为密钥),解密变换记为D(k2,m)(k2为解密密钥)(在这里k1=k2,不妨记为k)。凯撒密码的加密过程可记为如下一个变换:
c≡m+k mod n (其中n为基本字符个数)
同样,解密过程可表示为:
m≡c+k mod n (其中n为基本字符个数)
对于计算机而言,n可取256或128,m、k、c均为一个8bit的二进制数。显然,这种加密算法极不安全,即使采用穷举法,最多也只要255次即可破译。当然,究其本身而言,仍然是一个单表置换,因此,频率分析法对其仍是有效的。
[加密算法]
我们预定义基本字符个数为 #define MAX 128
凯撒加密函数可以表示为
[Copy to clipboard]
CODE:
char cipher(char plain_char, int key)
{
return (plain_char + key) % MAX;
};
凯撒解密函数:
[Copy to clipboard]
CODE:
char decipher(char cipher_char, int key)
{
return (cipher_char - key + MAX) % MAX;
};
加密后,原所有的ASCII码偏移key位,解密则移回key位。
如果要对一个文本文件进行加密,则只要依次逐个字符逐个字符地读取文本文件,进行加密后,逐个字符逐个字符写入密文文本文件中,即可:
[Copy to clipboard]
CODE:
FILE *fp_plaintext;
FILE *fp_ciphertext;
char plain_char;
... ...
while((plain_char=fgetc(fp_plaintext))!=EOF)
{
fputc(cipher(plain_char,key),fp_ciphertext);
}
对文件的解密也同样方法。
[破解原理]
一篇包含字符的英文文章,其各ASCII码字符出现,都有一定的频率,下面是对Google上随意搜索到的英文文章进行分析的结果,见表:
QUOTE:
=================================================
FileName : 01.txt
[1] 32: times:204
[2] 101:e times:134
[3] 116:t times:91
[4] 105:i times:87
[5] 111:o times:77
[6] 108:l times:75
[7] 97:a times:75
[8] 110:n times:69
[9] 10:
times:67
[10] 115:s times:63
=================================================
FileName : php.si.source.txt
[1] 32: times:576
[2] 101:e times:162
[3] 115:s times:153
[4] 110:n times:141
[5] 114:r times:138
[6] 105:i times:135
[7] 10:
times:134
[8] 116:t times:129
[9] 42:* times:116
[10] 111:o times:103
=================================================
FileName : work.txt
[1] 32: times:51322
[2] 101:e times:30657
[3] 116:t times:23685
[4] 97:a times:19038
[5] 111:o times:17886
[6] 105:i times:16156
[7] 110:n times:15633
[8] 114:r times:15317
[9] 115:s times:15226
[10] 104:h times:12191
=================================================
FileName : 02.txt
[1] 32: times:299
[2] 101:e times:217
[3] 110:n times:136
[4] 105:i times:133
[5] 111:o times:124
[6] 116:t times:116
[7] 97:a times:110
[8] 115:s times:98
[9] 114:r times:92
[10] 108:l times:82
=================================================
FileName : 03.txt
[1] 45:- times:404
[2] 32: times:394
[3] 101:e times:237
[4] 116:t times:196
[5] 114:r times:173
[6] 97:a times:163
[7] 105:i times:161
[8] 110:n times:153
[9] 111:o times:142
[10] 115:s times:129
=================================================
FileName : 04.txt
[1] 32: times:326
[2] 101:e times:179
[3] 116:t times:106
[4] 105:i times:101
[5] 111:o times:96
[6] 110:n times:94
[7] 97:a times:92
[8] 115:s times:78
[9] 100:d times:61
[10] 114:r times:60
=================================================
FileName : 05.txt
[1] 32: times:441
[2] 101:e times:191
[3] 111:o times:151
[4] 116:t times:120
[5] 97:a times:112
[6] 110:n times:108
[7] 105:i times:91
[8] 114:r times:84
[9] 117:u times:79
[10] 115:s times:79
有此分析可知,一篇英文文章中,出现较高频率的两个字符是 ' ' (空格) 和 'e',而且它们的ASCII码分别是32和101,差值是69。
既然凯撒密码利用的是单表替换的一种简单加密算法,所以,我们的主角, ' ' 和 'e' ,在解密后,依然会保持相同的ASCII码差值,69。
|c1 - c2| = |'e' - ' '| = |101 - 32| = 69
|m1 - m2| = | ((c1 + k) mod 256)-((c2 + k) mod 256)| = |c1 - c2| = |'e' - ' '| = 69
现在可以得到破解凯撒密码的原理了,我们统计一片经过凯撒加密的密文字符信息,在出现频率较高的字符里面寻找差值是69的2个字符,这两个必定是 ' ' 和 'e' 字符的加密字符,计算偏移量(既密钥key),通过解密运算,还原出明文。
[破解算法]
任何一片英文加密后的密文,我们统计出所有字符的个数:
[Copy to clipboard]
CODE:
#define MAX 128
... ...
FILE *fp_ciphertext;
char cipher_char;
int i; //密文文件长度,包含多少字符
unsigned int size_file=0; //申明num数组,存储各个ASCII字符在密文中出现的个数
num[MAX];
... ...
for(i = 0;i MAX; i++) //初始化num数组中的值
num[i] = 0;
... ...
while((cipher_char=fgetc(fp_ciphertext))!=EOF)
{
num[cipher_char]++;
size_file++;
}
统计出现最多次数的字符,定义#define GETTOP 10,统计最多的前10位字符:
[Copy to clipboard]
CODE:
//统计前10位
#define GETTOP 10
... ...
int temp,i,j;
int maxascii[GETNUM]; //申明maxascii数组,存储统计出的概率前10位的字符ascii码
int maxtimes[GETNUM]; //申明maxtimes数组,存储统计出的概率前10位的字符的出现次数
... ...
for(i=0;iGETTOP;i++)
{
temp=0; //临时变量temp里面来存储出现最多次数的字符的ascii码
for(j=1;jMAX;j++) //依次比较所有的字符次数,获得最多字符的ascii码
{
if(num[j]=num[temp])
temp=j;
}
maxascii[i]=temp; //把出现最多次数字符的ascii存储到相应的maxascii数组中
maxtimes[i]=num[temp]; //把最多次数字符的出现次数存储到相应的maxtimes数组中
num[temp]=0; //把最多次数字符的次数赋值成0,
//进行循环运算,同样的算法,第二次循环得到的值,肯定是出现第二多的字符
//避免了对256或128个字符进行排序的复杂运算
//当年我用汇编编写成绩排序的程序时,也用这套排序算法:-)
}
找出出现最多字符中,ASCII码差别是69的两个字符,计算出密钥key的长度:
[Copy to clipboard]
CODE:
for(i=0;iGETTOP;i++)
{
for(j=0;jGETTOP;j++)
{
if((max[i]-max[j])==69)
{
key=(max[j] - 32 + MAX ) % MAX;
printf("Key : %d\n",key);
break;
}
}
}
既然得到了密钥长度,算完成了对凯撒密码的破解了,那就进行解密吧,大功告成!
凯撒密码是罗马扩张时期朱利斯• 凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令。它将字母表中的字母移动一定位置而实现加密。例如如果向右移动 2 位,则 字母 A 将变为 C,字母 B 将变为 D,…,字母 X 变成 Z,字母 Y 则变为 A,字母 Z 变为 B。
因此,假如有个明文字符串“Hello”用这种方法加密的话,将变为密文: “Jgnnq” 。而如果要解密,则只要将字母向相反方向移动同样位数即可。如密文“Jgnnq”每个字母左移两位 变为“Hello” 。这里,移动的位数“2”是加密和解密所用的密钥。
该程序既可用于加密又可用于解密。只要传入明文和偏移量即可加密,解密需要传入密文和负的偏移量就可以解密。
输出的结果:
凯撒密码由于加解密比较简单,密钥总共只有 26 个,攻击者得到密文后即使不知道密钥,也可一个一个地试过去,最多试 26 次就可以得到明文。
这里不光根据 offset 偏移进行加密,还加上了字符所在的下标进行混合加密。
输出的结果:
信息理论之父:克劳德 香农
论文《通信的数学理论》
如果没有信息加密,信息直接被中间人拦截查看、修改。
明文Plain text
密文Cipher text
加密Encryption/Encrypherment:将明文转化为密文
解密Decrytion/Decipherment:讲密文还原为明文
加密钥匙EK Encryption Key:加密时配合加密算法的数据
解密钥匙EK Encryption Key:解密时配合解密算法的数据
各个字符按照顺序进行n个字符错位的加密方法。
(凯撒是古罗马军事家政治家)
多次使用恺撒密码来加密并不能获得更大的安全性,因为使用偏移量A加密得到的结果再用偏移量B加密,等同于使用A+B的偏移量进行加密的结果。
凯撒密码最多只有25个密匙 +1到+25 安全强度几乎为0
(密钥为0或26时,明文在加密前后内容不变)
暴力枚举
根据密文,暴力列出25个密匙解密后的结果。
凯撒密码的例子是所有 单字母替代式密码 的典范,它只使用一个密码字母集。
我们也可以使用多字母替代式密码,使用的是多个密码字母集。
加密由两组或多组 密码字母集 组成,加密者可自由的选择然后用交替的密码字母集加密讯息。
(增加了解码的困难度,因为密码破解者必须找出这两组密码字母集)
另一个多字母替代式密码的例子“维吉尼亚密码”,将更难解密
(法语:Vigenère cypher),
它有26组不同用来加密的密码字母集。
每个密码字母集就是多移了一位的凯撒密码。
维吉尼亚方格(替换对照表):
维吉尼亚密码引入了密匙概念。
同一明文在密文中的每个对应,可能都不一样。
移位式密码,明文中出现的字母依然出现在密文中,只有字母顺序是依照一个定义明确的计划改变。
许多移位式密码是基于几何而设计的。一个简单的加密(也易被破解),可以将字母向右移1位。
例如,明文"Hello my name is Alice."
将变成"olleH ym eman si ecilA."
密码棒(英语:scytale)也是一种运用移位方法工具。
如
明文分组,按字符长度来分,每5个字母分一组。
并将各组内的字符的顺序进行替换。
具体例子
纵栏式移项密码
先选择一个关键字,把原来的讯息由左而右、由上而下依照关键字长度转写成长方形。接着把关键字的字母依照字母集顺序编号,例如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。
另一种移位式密码是中国式密码(英语:Chinese cipher),移位的方法是将讯息的字母加密成由右而左、上下交替便成不规则的字母。范例,如果明文是:THE DOG RAN FAR,则中国式密码看起来像这样:
R R G T
A A O H
F N D E
密码文将写成:RRGT AAOH FNDE
绝大多数的移位式密码与这两个范例相类似,通常会重新排列字母的行或列,然后有系统的移动字母。其它一些例子包括Vertical Parallel和双移位式(英语:Double Transposition)密码。
更复杂的算法可以混合替代和移位成为积密码(product cipher);现代资料区段密码像是DES反复位移和替代的几个步骤。
行数=栏数
明文,分为N栏(N行) 按照明文本来的顺序,竖着从上往下填。
【实例1】
明文123456
栏数2(行数2)
密文135246
135
246
拆成2行(2栏),竖着看密文——得到明文
【实例2】明文123456789abcdefghi 栏数9 (行数)---密文1a2b3c4d5e6f7g8h9i
拆成9行竖着看密文.
1a
2b
3c
4d
5e
6f
7g
8h
9i
古典密码【栅栏密码安全度极低】组成栅栏的字母一般一两句话,30个字母。不会太多! 加解密都麻烦
是指研究字母或者字母组合在文本中出现的频率。应用频率分析可以破解古典密码。
工具
在线词频分析
一、 恺撒密码
1.简单介绍
凯撒密码是古时候欧洲常用的一种加密方式:英文一共26个字母,它的加密方式是将这26个字母分别平移固定的位数,
假设位数=3,那么A=D,B=E,如下图:
如果想加密一个单词HELLO,根据上面的唯一对比,加密后的结果应该是LHOOR。颠倒字母后的顺序,使得常人无法读懂这些语句或者单词。如何解密呢,也很简单,只需要将收到的单词向前平移3个位置,就可以恢复到加密前的单词HELLO了。
2.破解
破解凯撒密码的方法很多,有一种暴力破解的方式,就是“遍历”。根据凯撒密码的加密方式,平移固定的位数,26个英文字母总共可以平移的方式是26种,假如位数n=26,其实相当于没有平移,A=A,循环了一次。
进行暴力破解:
n=1:LHOOR=KGNNQ
n=2:LHOOR=JFMMP
n=3:LHOOR=HELLO
这样就破解了,可以推算发位数n=3,其实就是秘钥=3,
最多尝试25次即可推算出加密的n值等于多少(当然这里只是讨论原理,不排除真实情况,可能凑巧某一个错误的n值解密出来的也是一个完整的单词或一段话的情况)。
二、 替换密码
1.简单介绍
替换密码和恺撒密码原理有些类似,个人感觉相当于恺撒密码的变种,替换密码增加了字母替换的随机性.
举个简单的例子,A=G,B=X,C=K
这里ABC..等26个字母都随机指向了“密码”本上的另一个随机的字母,这下就比较难反向推算出“秘钥”是多少了,数量级完全不一样。
简单的算一下可能存在的情况:
A=有25种表示方式BCD…
B=有除A以外24种方式表示CDE..
…
那么秘钥的存在情况是:
N=25!种方式,远远大于恺撒密码的26。
2.破解
面对25!数量级的加密方式,使用暴力破解的方式不再实用了,但是可以使用另一种方法,统计学
通过大量扫描英文书籍,可以得出如下结果(,这里只探究原理,并不追究这个统计的准确性):
26个字母在日常用语中的使用频率并不一样,比如字母E的使用频率遥遥领先,字母Z使用频率最低,这个相当于语言所残留在文字中的指纹,很难察觉但是真实存在。
根据这个原理,扫描“随机密码”文本,统计出各个字母的使用频率分布,找出使用频率最高的那个字母,极可能就是加密后的字母E。
3.随机加密还有很多变种,双重加密,擦掉“指纹”使得加密方式更进一步加固,不得不感叹古人的智慧,数学之美真奇妙。