目录

前言

一、古典密码学

1.凯撒密码加/解密

2.栅栏密码

二、对称加密算法

1.DES加密算法

2.对称加密(3DES)

3.对称加密(MD5)

总结


前言

初步了解了信息加密的相关知识,并进行了包括DES加密、3DES算法、MD5算法、RSA算法等的实践操作。


一、古典密码学

1.凯撒密码加/解密

1)对凯撒密码.cpp进行调试,完成解密部分。

2)写一个循环尝试凯撒密码25种可能的密钥破解密文“yvccfnficu”,得到结果如下。

2.栅栏密码

栅栏密码也称栅栏易位(Columnar Transposition),是一种经典的简单换位密码,其操作方式是把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码。例如:明文attackatdawn,使用栅栏密码加密后的结果为atcadwtaktan。

1)调试栅栏密码.cpp。

2)利用该程序恢复密文“hloodelwr”,结果如下。

二、对称加密算法

1.DES加密算法

1) 利用DES Tool对文本信息进行加密和解密,结果截图如下:

2)利用DES Tool对文件进行加密和解密,结果截图如下:

3)调试DES.cpp中的代码,分别对明文和轻度修改的明文进行加密,观察两个结果的差别,截图如下:

4)对重复字符进行加密,观察DES加密的分组长度

2.对称加密(3DES)

1)打开DES Tool软件,点选“使用3DES”,输入密钥1和密钥2和明文,进行3DES加密,得到密文,记录下明文、密钥1、密钥2和密文,截图如下:

2)取消点选“使用3DES”,用密钥1解密密文得到明文1,记录下明文1,截图如下:

3)利用密钥2加密明文1得到密文1,记录下密文1,截图如下:

4)利用密钥1解密密文1,得到明文。比较得到的明文和之前直接使用3DES加密的明文是否相同,体会3DES的原理和使用方法,截图如下:

3.对称加密(MD5)

1)运行Hash Tool.exe,计算实验指导书的MD5值并记录,截图如下:

2)轻微修改实验指导书,如:加一个空格,再次计算MD5值。比较两次计算出的MD5值,观察结果,截图如下:

3)利用www.cmd5.com或www.somd5.com等网站解密常见口令的MD5值,例如21232f297a57a5a743894a0e4a801fc3 e10adc3949ba59abbe56e057f20f883e 5f4dcc3b5aa765d61d8327deb882cf99,截图如下:

4)在MD5.cpp中编写程序,模拟系统口令设置与验证程序,要求对口令进行MD5加密后保存,再次登陆时进行验证,代码和运行结果图如下:

5)继续编写程序,分别采用拼接字串和嵌套两层MD5计算的方式为用户口令加盐,增强MD5的保密性,防止“碰撞”。在解密网站中对加盐的MD5进行解密,观察是否能成功解密,截图如下:


总结

今天的学习带我们走进了密码领域,也了解到了池步洲、王小云这古今两位密码学专家,也明白了密码学虽然在日常生活中我们接触不到,但如若没有密码学的存在,我们这个社会的所有人便没有秘密可言。种种实践的操作,也让我了解到了密码学的魅力。

信息安全实训周——五月四日学习记录相关推荐

  1. 实训项目——多语言学习app 总结报告

    文章目录 实训项目--多语言学习app 总结报告 1. app 介绍 1. 运行app 2. 界面效果 2. 开发过程 1. 开发环境 2. 项目结构 3. 欢迎界面 4. 用户与学习界面 5. 语言 ...

  2. python实训报告50000_Python实训周总结

    Python 实训周总结 Python 的学习到现在已经有半个月了, 通过讲解与企业化标准的培训, 使我 加深了对 python 的认识. 因为之前有学 Java 的基础, 所以这次实训入门时也相 对 ...

  3. 金融信息安全实训——利用常见的网络命令获取网络信息

    实训2 金融信息安全实训--利用常见的网络命令获取网络信息 实训目的 掌握常见网络命令使用方法. 学习使用网络命令嗅探网络信息. 学习使用网络命令判断和处理网络问题. 实训准备及注意事项 1.装有Wi ...

  4. 计算机CAD专业实训周志,cad实训报告总结(共7篇).doc

    cad实训报告总结(共7篇) cad实训报告总结(共7篇) 按照课程按排,我们进行了两周的CAD实训. 从上个学期的手工画图,到这个学期的电脑画图,感觉到先进的技术人们带来了快速和方便.上个学期的手工 ...

  5. python实训主要成果_Python实训周总结

    - 精品 -- Python 实训周总结 Python 的学习到现在已经有半个月了,通过讲解与企业化标准的培训,使我 加深了对 python 的认识.因为之前有学 Java 的基础,所以这次实训入门时 ...

  6. 实训小结---Java框架学习心得

    学习小结 为期两个星期的实训结束了,在这两周的时间里,我学到了不少之前没有接触过的知识,这也是我第一次正式接触前端后端的开发.在学习开发的过程中,出现过不少问题,自己能够解决的.自己不能解决的都有,下 ...

  7. 第一周前端web学习记录

    第一周前端web学习记录 #什么是HTML.CSS? 如何写代码以及在哪里写 vs code 的基本使用方法 浏览器 网站开发 HTML 的结构基础和属性 创建标签 嵌套 HTML标签 设置属性 HT ...

  8. 机器学习-周志华-学习记录-第一章绪论

    文章目录 绪论 一.什么是机器学习 二.基本术语 三.假设空间 四.归纳偏好 总结 参考链接 绪论 为了更早地适应研究生的生活,我决定重新学习周志华老师的机器学习这本书.同时也为了能够养成博客记录的习 ...

  9. kettle大于0的转换成1_第一期实训周:基于Python+MySQL+Kettle+R的某网站数据采集分析...

    ↓ 基于Python+MySQL+Kettle+R的 某网站数据采集分析 哈喽!各位学员们 咱们第一期课程就要开始了 下面划重点! 一 高校院系 齐鲁工业大学数学与统计学院应用统计系 二 实训日期 2 ...

最新文章

  1. 有没有一段代码,让你觉得人类的智慧也可以璀璨无比?
  2. 托管代码与非托管代码
  3. 统计输入的汉字,数字,英文,other数量
  4. 在前端中如何在表格中最后一行加入输入框_UI设计进阶干货 — 如何制定UI规范...
  5. 老板眼中理想的“数据中台”,是不是真的存在?
  6. java中的链接之其他窗体_两个窗体之间的链接
  7. java 2017腾讯面试题_腾讯2017刁难面试题,是不是大神就看你会做几题
  8. Okhttp之CacheInterceptor简单分析
  9. Canvas坐标轴中的Y轴距离是X轴的两倍
  10. 追加文件内容的三种方法
  11. Spring整合FreeMarker生成静态页面(静态模板)
  12. 洛谷P1512 伊甸园日历游戏
  13. Python中使用snip问题
  14. 拳皇觉醒服务器维护,拳魂觉醒活动什么时候开 服务器开区活动时间顺序
  15. 一个完整的研发体系应该包括的内容
  16. 录屏软件 OBS 入门笔记
  17. 矩阵初等行变换的技巧
  18. 05.OpenWrt-写入mac地址
  19. 一步步写嵌入式操作系统 arm相关知识
  20. 2021年5月程序员工资统计,平均14926元。996程序员被当成外国人

热门文章

  1. A-level经济难,但是想学好应该怎么做?
  2. Java的生成随机数
  3. 祝女生节快乐的c语言,女生节祝福语:3月7日女生节到了,祝福送给娇滴滴的你...
  4. 关于安卓自定义进度条(二)
  5. Fluent流体材料——NIST Real Gas模型
  6. 计算机负数的绝对值,负数的绝对值是什么
  7. 《聆听宇宙的歌唱》——超越故乡
  8. 2022全球程序员薪资排行:中国倒数
  9. 对图像处理中的面向对象和基于基元的理解
  10. 《你曾说,你喜欢篮球》