内容正文:
伏尼契手稿
约在15世纪初出版,被称为“世界最神秘的书”,240页篇幅记载多种复杂文字、未知语言与奇怪的插图,许多密码学家、语言学家都试图破解它的秘密,但多年来都无法解释手稿上的意涵。
1
随着人工智能的产生及不断发展,给破译伏尼契手稿重新点燃了希望。
加拿大研究人员利用AI技术,运用世界人权宣言中380种不同语言的样本,判断文本内容有较高概率是加密过。第一句意思是“她向家人、我、人民提出建议”。
这一研究为解密600年前的伏尼契手稿的秘密迈出了巨大的一步。
重燃希望
2
加
密
与
解
密
信息技术 高一年级
3
说一说
加密方式
你知道的加密方式有哪些呢?
4
看一看
古老的“隐身术”
阴符,双方事先约定,用不同长木的的木板代替不同的含义。
代码法,北宋进士曾公亮搜集常用军事短语出征前将用密码本发给将领,并约定用一首不含重复文字的40字五言律诗与密码相对应。
反切码利用诗歌声母和韵母的编号组合的一种较难破解的加密方式。
斯巴达密码棒,使用时先将纸带绕棍子一圈,然后写上需要传输的信息,接着打开纸带给送信人。
摩尔斯电码是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。
恺撒密码,是加法密码的典型代表,它只是简单地将明文中的每一个字母用字母表中该字母后的第3个字母替换。
5
探究一
人工加密凯撒密码
【自主阅读】“恺撒密码”,它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E,《高卢战记》曾有描述。
请尝试将这条短语加密:HI PYTHON
?
?
密前字母 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
密
后字
母
加密后:KL SBWKRQ
规律总结:
1)字母A-W之间,字母则直接后移三位
2)字母X-Z之间,返回字母表的开头按顺序后移
4)大小写字母加密原理相同
3)只加密英文字母,其余原样输出
密
码
表
6
议一议
加密与解密的过程
加密算法
HI PYTHON
明文数据
密钥3
KL SBWKRQ
密文数据
密钥3
HI PYTHON
明文数据
加密
解密
解密算法
发送者
接受者
加密将原始信息(数据)隐匿起来,使之在缺少特殊信息(数据)时不可读;
解密将密文还原成明文的过程。
密钥由数字、字母或特殊符号组成的字符串,控制数据加密、解密的过程
凯撒密码的原理:字符A-W:密文=明文+3 字符X-Z:密文=明文-23
【自主学习】知识小链接,了解明文、密文、密钥的概念,尝试用自然语言描述加密与解密的过程。
7
01
02
03
05
密文=明文+3
A+3=D ?
python中输入
字母根据ASCII值可转换成数字
04
要将字母转换成数字
探究二
计算机加密凯撒密码
字母不能直接加3进行算术运算
8
基础题
字符与编码的转换
ord():字符转换成对应编码值的函数
chr():编码值转换对应字符的函数
两个函数可以配对使用
ASCII美国信息交换码,仅对10个数字、26个大小写英文字母和一些符号进行编码。A-Z:65-90;a-z:97-122。
9
提高题
完善加密算法核心部分代码
def CaesarCipher(): #“加密”按钮激发函数
c = mingwen.get("0.0", "end") #获取mingwen对象的内容(明文)
b = "" #密文b置初值为空
miwen.delete("0.0", "end") #清空miwen对象的内容
for i in range( ① ): #获取明文内容的每一个字符,并加密
if 'a' <= c[i] <= 'w' or 'A' <= c[i] <= 'W' : #判断a~w或A~W间的字母
#生成密文
elif 'x' <= c[i] <= 'z' or 'X' <= c[i] <= 'Z' : #判断x~z或X~Z间的字母
#生成密文
else:
④ #字母以外的明文不变
miwen.insert(" 0.0 ",b) #在miwen对象中显示结果
mingwen
miwen
② (c[i])+3
①len(c)②b = chr(ord(c[i])+3) ③b = chr(ord(c[i])-23) ④b = c[i])
③
①len(c)②b = b+chr(ord(c[i])+3) ③b = b+chr(ord(c[i])-23) ④b = b+c[i])
穷举法暴力破解
10
挑战题
完善解密部分核心算法代码
def CaesarCipher(): #“解密”按钮激发函数
c = mingwen.get("0.0", "end") #获取miwen对象的内容(密文)
b = "" #明文b置初值为空
miwen.delete("0.0", "end") #清空mingwen对象的内容
for i in range( ① ): #获取明文内容的每一个字符,并解密
if 'a' <= c[i] <= 'w' or 'A' <= c[i] <= 'W' : #判断a~w或A~W间的字母
② (c[i])+3 #生成明文
elif 'x' <= c[i] <= 'z' or 'X' <= c[i] <= 'Z' : #判断x~z或X~Z间的字母
#生成明文
else:
④ #字母以外的密文不变
miwen.insert(" 0.0 ",b) #在mingwen对象中显示结果
mingwen
miwen
①len(c)②b = b+chr(ord(c[i])-3) ③b = b+chr(ord(c[i])+23) ④b = b+c[i])
③
挑战题
完善解密部分核心算法代码
解密是加密的逆运算
11
计算机网络
物联网
大数据、云计算
量子技术
区块链
知识延伸
数据安全保护
密码学家王小云成功破解MD5和SHA-1两大国际密码
2020年1月1日起施行《中华人民共和国密码法》密码法旨在规范密码应用和管理,促进密码事业发展,保障网络与信息安全,提升密码管理科学化、规范化、法治化水平,是我国密码领域的综合性、基础性法律。
自主密码,国之重器
12
拓展题
编写你的专属密码
密钥控制着加密和解密的过程,是保证信息安全的关键技术。
1、请你根据所学编写以你自己命名的密码程序。
2.上网搜索如何提高凯撒密码的安全性能?
13
14
$