- 65
- 0
- 约 12页
- 2015-10-24 发布于河南
- 举报
趣味算法实现
趣味算法实现
实验3.1 Hill密码
1. 实验目的
了解加密和解密原理,掌握模运算下的矩阵运算以及数字与字符串之间的转换。
2. 算法原理
保密通信具有悠久的历史,现在更是被广泛应用于军事、经济、商业等各行各业。在保密通信中将原信息称为明码,加密后的信息称为密码。如果不知道加密方法,一般人无法知道明文内容,这样就起到了保密的作用。加密和解密的过程可以抽象为一个数学模型。
移位加密法 移位加密法是一种简单的加密方法。它通过将明文的字母按字母表中的次序平移若干位实现加密。如加密方法是字母平移5位,则明文字母和密文字母对应关系如下:
明文字母 ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母 FGHIJKLMNOPQRSTUVWXYZABCDE
明文THEOLYMPICGAMES 加密后就成了 YMJTQDRUNHLFRJX. 一般人不知道它是什么意思,这就起到了加密的作用。如果知道它是由字母表平移5位得来的,那就很容易获得原文。数字5是解开密码的一把钥匙,称为密钥。
在移位加密法中,明文字母和密文字母之间的对应关系是固定的,这种加密方法可以通过分析词频,利用统计方法破译。
下面要介绍的Hill密码是用矩阵运算实现加密的,它不保持明文字母和密文字母之间固定的对应关系,破译起来比移位法困难。
模n运算 在模n运算下,参与运算的只有0,1,2,…n-1这n个元素。规定两个元素的和(积)是按普通加法(乘法)运算的结果减去或加上n的某个倍数后得到的在0和n-1之间的数。例如在模15运算下4+13=2,4*13=7。通常记做4+13=2(mod 15),4*13=7(mod 15)。
在模n运算下,元素m的加法负元是n-m。如果m*k=1(mod n),则称k是m的乘法逆元。如在模15运算下,13的逆元是7,4的逆元还是4。值得注意的是在模15运算下,除了0没有逆元外,3,5及3,5的倍数6,9,10,12也没用逆元。
可以证明:若m和n的最大公因子等于1,即gcd(m,n)=1,则在模n运算下元素m存在唯一的逆元。特别,当n是素数时,元素1,2,…,n-1都有逆元,此时数0,1,2…,n-1在模n下可以进行加减乘除(0除外)四则运算,它们构成一个数域,称为有限域。
模n下矩阵加法、乘法以及数乘矩阵运算与模n下数字的加法、乘法运算相似,先对矩阵做普通加法、乘法和数乘矩阵运算,然后所有数字以n取模即可。
定义 两个方阵A、B如满足AB=BA=E(mod n),则称矩阵A模n可逆,B称为A的逆矩阵,记做(mod n)。
矩阵A的逆矩阵可以利用伴随矩阵,按求得。
Hill加密法
先将英文字母变换成数字;
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 2 3 4 5 6 7 8 9 10 ………………………………24 25 0
称其为字母表的表值。
将明文按n个字母分组,并用对应的数字取代字母,构成一个个n维
向量。
取一个在模n运算下可逆的n阶矩阵A,用A左乘(2)中的向量得
到新向量;把新向量中的数字按(1)中的对应关系换回成字母即得到密文。
按例中的方法求出可逆矩阵A在模n下的逆矩阵B,用B左乘(3)
中得到的新向量则重新得到(2)的向量,从而得到原始明文。矩阵A是解密的关键,称为密钥。
3. 实例分析
3.1 在模26运算下,求矩阵的逆矩阵。
解:由于det(A)=3,且(mod 26),故
3.2 采用Hill2加密法(即明文2个2个分组),加密矩阵取,对 “THE OLYMPIC GAMES” 进行加密,再将结果解密。
解:(1)为了保留英文单词之间的空格,可以增加逗号“,”,句号“.”和空格“ ”当做字母,连同26个英文字母一起与数字1,2,…,28,0之间建立对应关系,其中1~26分别对应A~Z,“,”对应27,“.”对应28,“ ”对应0。
(2)将“THE OLYMPIC GAMES”两两分组,最后不足两个字母时用“空格”补足,并用数字代替,得
(3)取矩阵,
输入
A=[2 7;4 5];
x=[20 8; 5 0;15 12;25 13; 16 9; 3 0; 7 1;13 5; 19 0];
y=mod(A*x,29)
结果为:
y =
9 10 27 25 8 6 21 3 9
4 20 4 20 22 12 4 19 18
这个换成字母就是“IDJT,DYTHVFLUDCSIR”,这就是密文。
注意,明文中的两个“E”,在密文中分别变成了“J”和“S”;而密文中的三个“D”对应明文中的“
您可能关注的文档
- 3圆,直线与圆,圆与圆的位置关系.doc
- 任意角三角函数练习.doc
- 第五篇 圆与圆的位置关系.doc
- (2011高考备战冲刺指导)高考数学难点突破_难点28__求空间距离.doc
- 【2013年高考数学必看】8-1直线的方程与两条直线的位置关系.doc
- 7.3两条直线的位置关系.doc
- 高考数学总复习经典测试题解析版4.1 任意角、弧度制及任意角的三角函数.doc
- 三角函数任意角.doc
- 第二讲 平面直角坐标系-教师(一).doc
- 数学必修2人教A:3.3.1两条直线的交点坐标.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)