好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

西北农林科技大学信息安全实验一古典加密算法 (2).doc

8页
  • 卖家[上传人]:m****
  • 文档编号:538771392
  • 上传时间:2024-01-24
  • 文档格式:DOC
  • 文档大小:182KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 一、实习名称古典加密算法二、实习目的⒈ 熟悉Java平台开发环境;⒉ 理解常见古典加密算法如:凯撒密码、多码替代密码、多字母替代密码、多表代替密码;⒊ 理解古典加密中的替换、置换技术三、实习内容⒈ [问题描述]凯撒密码是把字母表中的每个字母用该字母后的某个字母进行替代凯撒密码的通用加密算法是:C=E(p)=(p+k) mod (26) 0’z’)则减去26四、测试数据和预期结果1 按照规定,密钥输入移位的数字,明文输入字母,如下图所示,加密成功2 密钥输入移位的数字,明文输入数字(按照要求,明文应该输入字母),如下图所示,加密失败3密钥输入移位的数字,明文输入字母,但是加了标点符号,由于在最初考虑时没有顾及标点,所以无法识别,加密失败4结合图3,去掉标点符号后,加密成功5按照规定,密钥输入移位的数字,明文输入字母,如下图所示,解密成功6按照规定,密钥输入移位的数字,明文输入字母,在字母之间加入空格,计算机只能识别空格之前的明文,如下图所示,解密7去掉空格后五、算法分析和流程图已知的最早的代换密码是由Julius Caesar发明的Caesar密码。

      他非常简单,就是对字母表中的每个字母用它之后的第3个字母来代换例如: 明文:abcdefghijklmnopqrstuvwxyz 密文:defghijklmnopqrstuvwxyzabc 加密:C=E(p)=(p+k) mod (26) 0='A'&& c<='Z') { c=(char)((c-65+key)%26+65); } else if (c>='a'&&c<='z') { c=(char)((c-97+key)%26+97); } else { System.out.println("请输入字母!"); return null; } temp+=c; } return temp; } public String decode(int key,String s) { char c; String temp=""; for(int i=0;i='A'&& c<='Z') { c=(char)((c-65+key)%26+65); } else if (c>='a'&&c<='z') { c=(char)((c-97+key)%26+97); } else { System.out.println("请输入字母!"); return null; } temp+=c; } return temp; } public int OPKey (int Key) { while(Key<0) { Key+=26; } Key=Key%26; return Key; }}七、实习体会这次实习花了很久的时间,记得在实习过程中,刚开始忘记了强制类型转换,operate=Integer.parseInt(scan.nextLine());//Java中强制类型转换,String转为Integer,后来百度之后才记起来,在后续的测试数据中才知道起初没有考虑周全,比如输入的明文或者密文里面含有标点符号或者空格时应该出现什么情况,在测试中,输入的明文是hello world,只对hello进行加密,空格后面的字符串完全忽略了。

      在截止时间前,会了一些在my eclipse中界面编辑,不过时间问题没有做,界面比较简单,直接截屏的第一次实习花的时间还是比较长,以后得加快进度。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.