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

浙教版(2019)高中信息技術必修二 2021—2022學年 數據加密與安全導學案

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

浙教版(2019)高中信息技術必修二 2021—2022學年 數據加密與安全導學案

資源簡介

數據加密與安全導學案
知識目標:
1、了解數據安全的必要性,區分口令與密碼。
2、了解密碼、秘鑰概念
3、了解常用加密算法(凱撒密碼是重點)
4、區分對稱與非對稱密碼體制
課前自學:
1、通常說的無線網絡密碼;從銀行ATM機取款時需要輸入的密碼;從嚴格意義上講,這里的密碼應該稱為 口令
2、密碼通常是指按特定的編碼規則,對通信雙方的數據信息進行從 明文 到 密文 變換的一種技術方法。就是把用公開的、標準的信息編碼表示的信息,通過一種 變換手段將其變為通信雙方外其他人所不能讀懂的信息編碼,這種獨特的信息編碼算法就是密碼
3、密碼最早起源于 古希臘,通常是 密碼算法 的簡稱,它由加密算法 和解密算法組成
4、秘鑰 是指在密碼算法中引進的控制參數,對一個算法采用不同的參數值,其解密結果就不同。加密算法中的控制參數稱加密密鑰,解密碼算法中的控制參數稱解密密鑰
5、簡單加密算法有替代密碼 換位密碼,簡單異或密碼,凱撒密碼屬于:替代密碼
替代密碼 的基本思想是將明文中的每個位置的字符用其他字符替代
換位密碼 將明文中的字符通過一定的規則重新排列
簡單異或加密:明文與密鑰異或運算,解密則對密文用同一密鑰進行異或運算
6、根據加密密鑰(通常記為Ke)和解密密鑰(通常記為Kd)的關系,密碼體制可以分為 對稱 密碼體制(即 ke=kd) 和 非對稱密碼體制(即 ke=kd)。 DES屬于 對稱密碼體制 ,RAS 屬于 非對稱密碼體制
課中探究:
(1)、請猜一猜以下三組字符串的原文是什么?(按小組分開猜)
1、RQ VXQGDB 2、SR WYRHEC 3、中傳信泄輸被露在息
給出解密信息:
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
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
1、解密方法:每個字符在按字母表順序向左移3位
解密密鑰是:-3
2、解密方法:每個字符在按字母表順序向左移4位
解密密鑰是:-4
3、 解密方法:按【2 8 7 1 4 0 5 3 6】位置重排
中 傳 信 泄 輸 被 露 在 息
0 1 2 3 4 5 6 7 8
解密密鑰是:2 8 7 1 4 0 5 3 6
給出解密方法并較對答案:
1、ON SUNDAY (改動過)
2、ON SUNDAY (改動過)
3、信息在傳輸中被泄露
(二)、初識密碼 (以下內容PPT展示)
密碼的概念:
明文:
密文:
秘鑰:
加密算法與解密算法
第1,2題的算屬于 替代密碼,又稱 凱撒密碼 ,第三題屬于:換位密碼
(三):
1、換位密碼法:
1、逆序:l[::-1] 或l[-1::-1]
(
def encrypt(code,key):
s=[]
for i in range(len(key)): #循環key列表的長度
t=key[i] #列表里的值
s.append(
code[t]
) # code中第t個數加入到s中
return s
code="除了奮斗別無選擇"
key=[5, 3, 0, 7, 4, 6, 2, 1]
result=encrypt(code,key)
print(result)
#['無', '斗', '除', '擇', '別', '選', '奮', '了']
)2、一般換位密碼
設計加密密碼(以凱撒密碼為例)
1、凱撒密碼是一種簡單的置換密碼,通過替代方法來實現加密碼。
學生活動:
明文:ON SUNDAY
加密過程:用正常順序的明文字母表右移3個字母得到密文
密鑰:+3 得到密文為
密 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
明 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
d 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
得出:e[i]=chr((ord(c[i])-97+m) %26+97) 與e[i]=chr((ord(c[i])-65+m) %26+65)
(
自定義函數開始
encrpt()
自定義函數結束
輸入明文c與移位長度
密文b置初值為空
c是否遍歷完成
當前元素c是否是小寫
b=
b+chr((t-97+m_length) % 26+97
)
遍歷下一個
b=
b+chr((t-65+m_length)% 26+65)
b=b+c
輸出密文b
當前元素c是否是
大寫






t=ord(char)
)2、流程圖填空:
(
def main():
#code=input("請輸入加密字符串:")
code="ON SUNDAY"
mlength=int(input("請輸入移位長度:"))
result=encrypt(code,mlength)
print(result)
if __name__=='__main__':
main()
) (
def encrypt(code,m_length):
b=""
for char in code: #獲取明文內容的每一個字符,并加密
t=ord(char)
if
'a'<=char<='z':
#判斷a~z字母
b=
b+chr((t-97+m_length) % 26+97
)
elif 'A'<=char<='Z':
b=
b+chr((t-65+m_length) % 26+65)
else:
b=b+char
#字母以外的明文不變
return b
)代碼3、
三:對稱與非對稱密碼體制
1、模型:
1、1
2、簡單異或算法:
異或運算,是一種邏輯運算,其數學符號為“ ”。運算時要求把參與運算的數轉換為二進制數再進行按位運算。如果兩個值不相同,那么異或結果為1。如果兩個值相同,那么異或結果為0。異或運算具有如下特點:
0 0=0,0 1=1,1 0=1,1 1=0
01001000 10110001=11111001
11111001 10110001=01001000
例1:已知字符“H“的8位二進制為01001000,密鑰A的8位二進制為01000001,則異或結果為:_00001001__換成10進制為_9____
代碼如下,請填空,并運行驗證
(
#方法2:直接用PYTHON的

^

#此結果為10進制
c1=

H

key=

A

print(ord(c1)^ord(A))
) (
#方法1:原理型
def xor(a,b): #每位異或
return (int(a)+int(b)) %2
code="01001000"
key
=
"01000001"
c=""
for i in range(len(code)):
c+=str(xor(code[i],key[i]))
print(c)
)
綜合異或代碼:
(
def xor(a,b):
#每位異或
return (int(a)+int(b)) %2
def ten2two(a):
# 10進制轉二進制
w=""
while a>0:
w=w+str(a%2)
a//=2
while len(w)<8:
#不足補成8位
w=w+'0'
return w[::-1]
#倒一下
def MXor(w1,w2):
# 字符串異或
w=""
for i in range(len(w1)):
w=w+str(xor(w1[i],w2[i]))
return w
)
代碼:
(
if __name__=="__main__":
code="Hello"
key="1011000110110001101100011011000110110001"
w1,s2=[],""
for i in code:
w1.append(ord(i)) #取Ascii
for i in w1:
s2=s2+ten2two(i) #轉二進制
c=MXor(s2,key) #異或
print(c)
)
課堂練習:
1、若用簡單異或對明文轉換的ASCII碼的二進制“11001100”進行加密,得到密文為“01000011”,則密鑰可能為:B
A、11110000 B、10001111 C、01001100 D、01000011
2、已知明文為code="除了奮斗別無選擇",采用換位密碼法進行加密,結果為:”別選無擇了奮斗除”,請問加密密鑰與解密密鑰分別為:
4, 6, 5, 7, 1, 2, 3, 0與7,4,5,6,0,2,1,3
(
def encrypt(c):
b=""
for i in range(len(c)): #獲取明文內容的每一個字符,并加密
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] #字母以外的明文不變
return b
def main():
#code=input("請輸入加密字符串:")
code="GOOD STUDENT"
result=encrypt(code)
print(result)
if __name__=='__main__':
main()
)3、已知明文為“Good Student”,采用凱撒密碼法進行加密,加密碼的過程為:Ci=Ek(Pi)=(Pi+5),則可得密文為:Ltti Xyzijsy
4、自主完成
(
def encrypt(code,m_length):
b=""
for char in code:
#獲取明文內容的每一個字符,并加密
t=ord(char)
#取Ascii碼
if 'a'<=char<=chr(ord('z')-m_length) or 'A'<=char<=chr(ord('Z')-m_length):
b=b+chr(t+m_length)
elif chr(ord('z')-m_length+1)<=char<='z' or chr(1+ord('Z')-m_length)<=char<='Z' :
b=b+chr(t-(26-m_length))
else:
b=b+char
#字母以外的明文不變
return b
def main():
#code=input("請輸入加密字符串:")
code="GOOD STUDENT"
mlength=int(input("請輸入移位長度:"))
result=encrypt(
code,mlength
)
print(result)
if __name__=='__main__':
main()
)

展開更多......

收起↑

資源預覽

<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. 主站蜘蛛池模板: 亳州市| 图木舒克市| 石屏县| 广河县| 平塘县| 莱西市| 瑞昌市| 灵武市| 榆树市| 宜丰县| 邵东县| 玉林市| 钟山县| 鄄城县| 博爱县| 伊金霍洛旗| 蓬莱市| 铁岭市| 柯坪县| 萨迦县| 井冈山市| 墨江| 贺州市| 贺兰县| 长泰县| 钦州市| 旬邑县| 邳州市| 福安市| 南江县| 乐都县| 清涧县| 岚皋县| 璧山县| 台前县| 南投市| 夏邑县| 宾川县| 二连浩特市| 太谷县| 辉县市|