中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

3.4 加密與解密——愷撒密碼 課件(10張PPT)+素材

資源下載
  1. 二一教育資源

3.4 加密與解密——愷撒密碼 課件(10張PPT)+素材

資源簡(jiǎn)介

(共10張PPT)
一、加密
【搜】活動(dòng)1
古老的“隱身術(shù)”,填表3.4.3
時(shí)間
加密方式
683年
拆字法。將明文中的文字進(jìn)行組合生成新的字,即為密文,比如“十二月”合起來(lái)為“青”
北宋
代碼法。北宋進(jìn)士曾公亮曾搜集了40個(gè)常用軍事短語(yǔ),然后對(duì)其進(jìn)行順序編碼:一、請(qǐng)弓;二、請(qǐng)箭;三、請(qǐng)刀;四、請(qǐng)甲;五、請(qǐng)槍旗;六、請(qǐng)鍋幕;七、請(qǐng)馬;八、請(qǐng)衣賜;九、請(qǐng)糧料……四十、戰(zhàn)小勝。軍隊(duì)出征前,指揮機(jī)關(guān)將用上述短語(yǔ)編碼的密碼本發(fā)給將領(lǐng),并約定用一首不含重復(fù)文字的40字五言律詩(shī)與密碼相對(duì)應(yīng)。
公元前五世紀(jì)
移位法。希羅多德(Herodotus)的《歷史》中記載了公元前五世紀(jì),希臘城邦和波斯帝國(guó)發(fā)生多次沖突和戰(zhàn)爭(zhēng)。這些戰(zhàn)爭(zhēng)中希臘城邦中廣泛使用了移位法進(jìn)行加密處理戰(zhàn)爭(zhēng)通訊信息,使波斯帝國(guó)難以獲得希臘城邦的軍事情報(bào),也就無(wú)法提前做軍事部署。希臘城邦用來(lái)傳輸軍事信息、命令的每段文字都有固定的字?jǐn)?shù),接密者手中會(huì)有一份文字移位說(shuō)明。解密者拿到密文后,根據(jù)文字移位說(shuō)明進(jìn)行解密,從而破解其中的軍事命令或消息。
古羅馬時(shí)期
《高盧戰(zhàn)記》有描述愷撒曾經(jīng)使用密碼來(lái)傳遞信息,即所謂的“愷撒密碼”,它是一種替代密碼,通過(guò)將字母按順序推后起3位起到加密作用,如將字母A換作字母D,將字母B換作字母E。因據(jù)說(shuō)愷撒是率先使用加密函的古代將領(lǐng)之一,因此這種加密方法被稱(chēng)為愷撒密碼。
第二次世界大戰(zhàn)
密碼機(jī)。在第二次世界大戰(zhàn)期間,德國(guó)軍方啟用“恩尼格瑪”密碼機(jī),密碼學(xué)在戰(zhàn)爭(zhēng)中起著非常重要的作用。
一、加密
加密就是將原始信息(數(shù)據(jù))隱匿起來(lái),使之在缺少特殊信息(數(shù)據(jù))時(shí)不可讀。
原始信息(數(shù)據(jù))稱(chēng)為明文,加密后的信息(數(shù)據(jù))稱(chēng)為密文。
將密文還原成明文的過(guò)程稱(chēng)為解密(或解碼)。
【悟】加密與解密
愷撒在征服高盧、襲擊日耳曼和不列顛的多次戰(zhàn)斗中頻繁使用加密技術(shù)。蘇托尼厄斯在公元2世紀(jì)寫(xiě)的《愷撒傳》中對(duì)愷撒用過(guò)的一種加密技術(shù)進(jìn)行了詳細(xì)的介紹。愷撒只是簡(jiǎn)單地將明文中的每一個(gè)字母用字母表中該字母后的第3個(gè)字母替換。例如,將明文中的a
用d替換,b用e替換,……,z用c替換,這就是愷撒密碼。
【搜】活動(dòng)2
揭秘“隱身術(shù)”
二、愷撒密碼的加密算法
明文c
a~w
A~W
x~z
X~Z
其他
密文b
d~z
D~Z
a~c
A~C
不變
規(guī)律
ASCII碼+3
ASCII碼+3
ASCII碼-23
ASCII碼-23
不變
公式
'a'<=c[i]<='w'
or
'A'<=c[i]<='W'
'x'<=c[i]<='z'
or
'X'<=c[i]<='Z'
chr(ord(c[i])+3)
chr(ord(c[i])-23)
c[i]
chr(ord(c[i])+3)
b=b+
b=b+
'x'<=c[i]<='z'
or
'X'<=c[i]<='Z'
chr(ord(c[i])-23)
二、愷撒密碼的加密算法
def
CaesarCipher():
#“加密”按鈕激發(fā)函數(shù)
c=mingwen.get('0.0','end')[:-1]
#獲取mingwen對(duì)象的內(nèi)容(明文)
b=''
miwen.delete('0.0','end')
#清空miwen對(duì)象的內(nèi)容
for
i
in
range(len(c)):
#獲取明文內(nèi)容的每一個(gè)字符,并加密
if
'a'<=c[i]<='w'
or
'A'<=c[i]<='W':
#判斷a~w或A~W間的字母
b=b+chr(ord(c[i])+3)
#生成密文
elif
'x'<=c[i]<='z'
or
'X'<=c[i]<='Z':
#判斷x~z或X~Z間的字母
b=b+chr(ord(c[i])-23)
#生成密文
else:
b=b+c[i]
#字母以外的明文不變
miwen.insert("0.0",b)
#在miwen對(duì)象中顯示結(jié)果
二、愷撒密碼的加密算法
愷撒密碼的加密算法程序
【悟】愷撒密碼的加密算法核心代碼
明文c
a~w
A~W
x~z
X~Z
其他
密文b
d~z
D~Z
a~c
A~C
不變
規(guī)律
ASCII碼+3
ASCII碼+3
ASCII碼-23
ASCII碼-23
不變
公式
'a'<=c[i]<='w'
or
'A'<=c[i]<='W'
'x'<=c[i]<='z'
or
'X'<=c[i]<='Z'
chr(ord(c[i])+3)
chr(ord(c[i])-23)
c[i]
密文b
d~z
D~Z
a~c
A~C
其他
明文c
a~w
A~W
x~z
X~Z
不變
規(guī)律
ASCII碼-3
ASCII碼-3
ASCII碼+23
ASCII碼+23
不變
公式
'd'<=b[i]<='z'
or
'D'<=b[i]<='Z'
'a'<=b[i]<='c'
or
'A'<=b[i]<='C'
chr(ord(b[i])-3)
chr(ord(b[i])+23)
b[i]
加密
解密是加密的逆運(yùn)算
三、愷撒密碼的解密算法
def
CaesarCipher2():
#“解密”按鈕激發(fā)函數(shù)
c=miwen.get('0.0',
'end')[:-1]
#獲取miwen對(duì)象的內(nèi)容(密文)
b=''
mingwen2.delete('0.0',
'end')
#清空mingwen2對(duì)象的內(nèi)容
for
i
in
range(len(c)):
#獲取密文內(nèi)容的每一個(gè)字符,并解密
if
'd'<=c[i]<='z'
or
'D'<=c[i]<='Z':
#判斷d~z或D~Z間的字母
b=b+chr(ord(c[i])-3)
#生成明文
elif
'a'<=c[i]<='c'
or
'A'<=c[i]<='C':
#判斷a~c或A~C間的字母
b=b+chr(ord(c[i])+23)
#生成明文
else:
b=b+c[i]
#字母以外的密文不變
mingwen2.insert('0.0',b)
#在mingwen2對(duì)象中顯示解密結(jié)果
愷撒密碼的加密及解密算法程序
三、愷撒密碼的解密算法
【悟】愷撒密碼的解密算法核心代碼
【劃重點(diǎn)】本內(nèi)容學(xué)科核心素養(yǎng)之三層架構(gòu)
學(xué)科知識(shí)層:數(shù)據(jù)類(lèi)型(字符串、字符),字符與ASCII
碼,函數(shù)ord()與chr(),循環(huán)語(yǔ)句,分支語(yǔ)
句,條件(邏輯)表達(dá)式
問(wèn)題解決層:算法(加密與解密都是對(duì)字符的替換),測(cè)

學(xué)科思維層:抽象(愷撒密碼抽象為字符串的替換操作)
、建模(把明文、密文當(dāng)作字符串處理,字
符串就是一種模型)
四、小結(jié)
五、練習(xí)
【思與做】愷撒密碼的安全性如何?你能提出一種改進(jìn)方案嗎?
一種可行的改進(jìn)方案是,建立一個(gè)明文字符與密文字符之間的一一映射表,即“密表”,如:
明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文:QWERTYUIOPASDFGHJKLZXCVBNM
加密時(shí),A→Q,B→W,…,解密時(shí)Q→A,W→B,…,小寫(xiě)字母對(duì)應(yīng)法則也相同,即a→q,b→w,…。
原先愷撒密碼只有一個(gè)“密鑰”,現(xiàn)在好比有25個(gè)“密鑰”,這樣,保密性能大大提升,破解難度大大增加,另外,這個(gè)“密表”也是可以按需要改變的。
你能寫(xiě)出這種改進(jìn)的愷撒密碼的加密與解密算法嗎?試一試。
參考程序

展開(kāi)更多......

收起↑

資源預(yù)覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 安塞县| 涟水县| 开原市| 勐海县| 南通市| 东台市| 灯塔市| 梨树县| 孝义市| 银川市| 巴南区| 灌阳县| 盐山县| 都昌县| 满洲里市| 内江市| 视频| 石城县| 长宁县| 施甸县| 广灵县| 容城县| 普兰店市| 青浦区| 斗六市| 仁布县| 三台县| 罗山县| 呼伦贝尔市| 哈尔滨市| 彭水| 长丰县| 喜德县| 托克托县| 安龙县| 历史| 固安县| 赤峰市| 巴彦淖尔市| 瑞金市| 文安县|