云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数学实验—Hill密码的加密、解密与破译(DOC)

数学实验—Hill密码的加密、解密与破译(DOC)

  • 62 次阅读
  • 3 次下载
  • 2025/12/12 3:10:18

Hill密码的加密、解密与破译

三、 问题求解和程序设计流程

2、1分别计算4个矩阵行列式的值为:3,22,4,21 可以判断,A1和A4能作为加密矩阵。 2、2

求倒数的程序:

function b=Hill2_countdown(a) %在mod 26情况下求倒数 % if a==1 b=1; elseif a==3 b=9; elseif a==5 b=21; elseif a==7 b=15; elseif a==9 b=3; elseif a==11 b=19; elseif a==15 b=7; elseif a==17 b=23; elseif a==19 b=11; elseif a==21 b=5; elseif a==23 b=17;

黔南民族师范学院数学实验报告

elseif a==25; b=25;

else error('该数在mod 26下没有倒数') end end

判断矩阵A是否为加密矩阵并求其逆矩阵:

function A1=Hill2_key(A)

%判断A矩阵是否能作为加密矩阵并求逆矩阵 a=mod(det(A),26); if a==13|rem(a,2)==0

error('A矩阵不能作为加密矩阵') end

b=Hill2_countdown(a);

A1=mod((b*[A(2,2) -A(1,2);-A(2,1) A(1,1)]),26); end

将字母转化为数字: function Y=letter_num(X)

%按照数学实验书P111表10.4将字母转化为数字 %参数说明,输入项:X由每个字母组成的字符串 % 输出项:Y由每个数字组成的行向量 %例如A B C D 对应的数字是5 23 2 20 %其调用格式为:Y=letter_num('ABCD').

n=length(X); if rem(X,2)~=0 X(n+1)=X(n); n=n+1; end

Y=zeros(1,n); for i=1:n

if X(i)=='A' Y(i)=5; elseif X(i)=='B' Y(i)=23; elseif X(i)=='C'

- IV -

Hill密码的加密、解密与破译

Y(i)=2; elseif X(i)=='D' Y(i)=20; elseif X(i)=='E' Y(i)=10; elseif X(i)=='F' Y(i)=15; elseif X(i)=='G' Y(i)=8; elseif X(i)=='H' Y(i)=4; elseif X(i)=='I' Y(i)=18; elseif X(i)=='J' Y(i)=25; elseif X(i)=='K' Y(i)=0; elseif X(i)=='L' Y(i)=16; elseif X(i)=='M' Y(i)=13; elseif X(i)=='N' Y(i)=7; elseif X(i)=='O' Y(i)=3; elseif X(i)=='P' Y(i)=1; elseif X(i)=='Q' Y(i)=19; elseif X(i)=='R' Y(i)=6; elseif X(i)=='S' Y(i)=12; elseif X(i)=='T' Y(i)=24; elseif X(i)=='U' Y(i)=21; elseif X(i)=='V' Y(i)=17; elseif X(i)=='W' Y(i)=14;

黔南民族师范学院数学实验报告

elseif X(i)=='X' Y(i)=22; elseif X(i)=='Y' Y(i)=11; elseif X(i)=='Z' Y(i)=9;

else error('请正确输入A到Z的字母') end end end

function Y=letter_num(X)

%按照数学实验书P111表10.4将字母转化为数字 %参数说明,输入项:X由每个字母组成的字符串 % 输出项:Y由每个数字组成的行向量 %例如A B C D 对应的数字是5 23 2 20 %其调用格式为:Y=letter_num('ABCD').

n=length(X); if rem(X,2)~=0 X(n+1)=X(n); n=n+1; end

Y=zeros(1,n); for i=1:n if X(i)=='A' Y(i)=5; elseif X(i)=='B' Y(i)=23; elseif X(i)=='C' Y(i)=2; elseif X(i)=='D' Y(i)=20; elseif X(i)=='E' Y(i)=10; elseif X(i)=='F' Y(i)=15; elseif X(i)=='G'

- VI -

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
本文作者:...

共分享92篇相关文档

文档简介:

Hill密码的加密、解密与破译 三、 问题求解和程序设计流程 2、1分别计算4个矩阵行列式的值为:3,22,4,21 可以判断,A1和A4能作为加密矩阵。 2、2 求倒数的程序: function b=Hill2_countdown(a) %在mod 26情况下求倒数 % if a==1 b=1; elseif a==3 b=9; elseif a==5 b=21; elseif a==7 b=15; elseif a==9 b=3; elseif a==11 b=19; elseif a==15 b=7; elseif a==17 b=23; elseif a==19 b=11; elseif a==21 b=5; elseif a=

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com