计算机密码学实验报告,[计算机]2011秋数学实验实验报告4密码学初步.doc

[计算机]2011秋数学实验实验报告4密码学初步.doc

年级、专业 姓名 学号名单序号 实验时间 MATLAB版本 PC 注实验报告的最后一部分是实验小结与收获 实验报告(4)密码学初步1 编一个函数统计一段英文文章中各字母出现的频率。返回值是一个元胞数组,第二个值是文章中按A到Z的顺序各个字母出现的频率。function y myStatfilenamech textreadfilename,c;y; total 0;y1 char6590;freq zeros1, 26;n numelch;for i 1n for j 025 if chi j 65 chi j 97 freqj1 freqj1 1; total total 1; end endendy2 freq/total;2 编一个函数,在已知密钥的情况下,用加法密码进行加密和解密。加密算法function y encryptorigin, keyn numelorigin;for i 1n if origini A origini Z origini rem26 origini key - A, 26 A a origini z origini rem26 origini key - a, 26 a解密算法function y decryptcryptograph, keyn numelcryptograph;for i 1n if cryptographi A cryptographi Z cryptographi rem26 cryptographi - key - A, 26 A a cryptographi z cryptographi rem26 cryptographi - key - a, 26 a3编一个函数,在已知密钥的情况下,对维吉尼亚密码进行加密和解密。加密函数function y encryptorigin, keyn numelorigin;m numelkey;for i 1n if origini A origini Z index remi, m; if index index m; end origini rem26 origini MyOffsetkeyindex - A, 26 A a origini z index remi, m; if index index m; end origini rem26 origini MyOffsetkeyindex - a, 26 a解密函数function y decryptcryptograph, keyn numelcryptograph;m numelkey;for i 1n if cryptographi A cryptographi Z index remi, m; if index index m; end cryptographi rem26 cryptographi - MyOffsetkeyindex - A, 26 A a cryptographi z index remi, m; if index index m; end cryptographi rem26 cryptographi - MyOffsetkeyindex - a, 26 a辅助函数function y MyOffsetxif x A x Z y x - A a x z y x - a输入的密钥有误end2011秋 数学实验实验报告(4)密码学初步 3 / 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值