上节课,我们已经初步学习了凯撒密码和一些密码学的概念。今天,我们来学习破译和简单替换密码。

一.凯撒密码

凯撒密码是将字母往后平移3个,(列如apple加密的方式为:
a–>a+3–>d
p–>p+3–>s
p–>p+3–>s
l–>l+3–>o
e–>e+3–>h
apple–>dssoh)
用图画表示为:

@思考:如果不知道密钥呢?
可以通过暴力破解(brute-force attack)进行破译。

将所有可能的密钥全部尝试一遍,这种称为暴力破解,也被称为穷举搜索(exhanstive search)

二.简单替换密码

1.基本概念
如果将字母表中的26个字母,分别与26个字母一一对应。这种将明文中使用的字母表替换成另一套字母表的密码称为**简单替换密码(simple substitution cipher)**凯撒密码也可以说是简单替换密码的一种。

a可以对应A,B,C,D,E,F,G,H,J…
b可以对应A,B,C,D,E,F,G,H,J…
c可以对应A,B,C,D,E,F,G,H,J…
以此类推。。。。

想一想,简单替换密码有多少种可能性???
a可以对应A,B,C,D,E,F,G…中的任意一个,b可以对应除A对应的以外25个字母表中的任意一个,c可以对应除A,B对应的以外24个字母表中的任意一个…
以此类推,我们可以计算出简单替换密码的密钥总数为:
26×25×24×23×22×21×20×19…×3×2×1=403291461126605635584000000=4×10的26次方。约为2的88次方
这么大数字,平均来说,要找到正确的密钥至少要100亿年以上!!!
但实际上,我们可以用频率分析的密码破解方式来破解简单替换密码!!!
因篇幅较大,这里就不做介绍了,大家可以自己了解一下。
1.简单替换密码的特点是密码越长越容易破解。
2.破译速度会越来越快。
@思考:
用自己的语言的随机利用“函数简单替换密码”将apple进行加密。

总结:简单替换密码并不安全!!!
那么什么密码较安全呢?

@作业:
了解什么是XOR(异或)。尝试计算:5XOR3是多少???

异或,英文为exclusive OR,缩写成xor
异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为"⊕",计算机符号为"xor"。其运算法则为:
a⊕b = (¬a ∧ b) ∨ (a ∧¬b)。

密码学(第二讲)---凯撒密码破译和简单替换密码相关推荐

  1. 实验吧-密码学-杯酒人生(特殊凯撒--维吉尼亚密码)(凯撒加解密脚本、维吉尼亚密码加解密脚本)...

    题目: 使用古典密码 一喵星人要想喵星发送一段不知道干什么用的密码"BLOCKCIPHERDESIGNPRINCIPLE", 但是它忘记了密钥是什么, 手头(爪头)只有它自己加密过 ...

  2. 密码学学习笔记(一)——凯撒密码及简单替换密码

    文章目录 1. 凯撒密码 1.1 加解密方式 1.1.1 加密 1.1.2 解密 1.2 暴力破解 2. 简单替换密码 2.1 加解密方式 2.1.1 加密 2.1.2 解密 2.2 频率分析法破解 ...

  3. 历史著名密码(凯撒密码、简单替换密码、Enigma)

    凯撒密码 公元前100多年凯撒发明的一种密码,简单来说是平移密码,也就是将字母位置向后移动一定位数. 如原文是ABCDEFG,密钥为3,加密后就是DEFGHIJ. 以密钥的数字向后平移了三位,如果密钥 ...

  4. 凯撒加密Caesar cipher与古典密码

    凯撒加密的由来 凯撒加密正是凯撒大帝发明的,是一种古典的加密 凯撒率军征服高卢,袭击日耳曼和不列颠,古罗马开启了走出意大利,征服全欧洲的征程 仅用8年时间征服高卢后,凯撒率军越过卢比孔河,驱赶政敌,成 ...

  5. 使用爬山法实现简单替换密码的破译

    使用爬山法实现简单替换密码的破译 本来我没有这个作业,看到有人在群里问这个作业,就顺手写出来了,感觉收获挺大的,就写成个博文和大家一起交流. 欢迎来我网站:www.xuanworld.top 一.题目 ...

  6. Python 暴力破解zip文件密码(相对简单的密码)

               Python 暴力破解zip文件密码(相对简单的密码) 密码的使用范围很广,首先,我们要明确密码的作用,其次要明白密码的类型. 密码的作用是进行权限的限制,判断用户的合法性,(不 ...

  7. 密码学入门1——凯撒密码和三重DES加解密

    实验目的 1.完成第一个入门加解密--凯撒密码 2.完成当下较为流行的三重DES加解密技术 3.熟悉所学的实际运用方向 实验准备 硬件:计算机或笔记本电脑 操作系统:Mac操作系统 IDE环境:Ecl ...

  8. Python密码学入门:凯撒密码

    1 什么是密码学 自古以来,间谍.士兵.黑客.海盗.商人等人,大多依靠密码学来确保他们的秘密不会人尽皆知.密码学是一门使用秘密编码的学科.想要明白密码长什么样,看一看下面两段文本. nyr N.vNw ...

  9. 凯撒密码加密算法python_Python密码学入门:凯撒密码

    1 什么是密码学 自古以来,间谍.士兵.黑客.海盗.商人等人,大多依靠密码学来确保他们的秘密不会人尽皆知.密码学是一门使用秘密编码的学科.想要明白密码长什么样,看一看下面两段文本. nyr N.vNw ...

最新文章

  1. 用 Dubbo 传输文件?被老板一顿揍
  2. 基于JWT(Json Web Token)的ASP.NET Web API授权方式
  3. C语言实验——打印数字图形(JAVA)
  4. php session mysql_php session mysql存储
  5. @Component 和 @Bean 的区别
  6. 8 包含min函数的栈
  7. 如何让开关打开_安卓手机如何打开USB调试模式
  8. 一、AJAX学习笔记——原生AJAX (ajax简介、XML简介、ajax优缺点、ajax的使用)
  9. 数据库工作笔记003---在Centos中导入sql文件的方法
  10. 如何禁止Chrome浏览器版本自动更新的方法
  11. 在 vmware ESXi上安装mac系统虚拟机
  12. 如何设计群发系统消息表
  13. 2022年“研究生科研素养提升”系列公益讲座在线测评题目
  14. 各版本Qt下载传送门
  15. 查看服务器配置以及常用命令
  16. SQL 常用基础语句
  17. 实现1V1音视频实时互动直播系统 十二、第九节 直播客户端的实现
  18. C++: 情侣最美身高差(团体程序设计天梯赛)
  19. 设计模式期末考试复习客观题
  20. A CLOSER LOOK AT DEEP LEARNING HEURISTICS: LEARNING RATE RESTARTS, WARMUP AND DISTILLATION

热门文章

  1. 兴趣部落打通微信公众号,两大平台联手优化兴趣社交体验
  2. 深度学习笔记 6 卷积神经网络
  3. Java基础+框架 面试题
  4. Flask使用bootstrap为HttpServer添加上传文件功能 #华为云·寻找黑马程序员#
  5. 爱奇艺VR获数亿元B轮融资,中国VR行业迎来特殊时期
  6. python 保存本地乱码,解决python保存数据到csv文件中文乱码的方法
  7. 如何取消在GitHub Pages绑定的自定义域名
  8. Greater and Greater
  9. 重装完的win10卡“请稍等”,然后电脑不断自动重启还是卡在“请稍等”?
  10. 开源分布式ID生成器UidGenerator的技术实现