資源簡介 (共23張PPT)數據加密與安全1.打開“注冊賬號”文件夾中“主程序.py”(見左圖),按F5運行該程序。2.代碼運行成功后,通過瀏覽器訪問http://127.0.0.1:5000(見右圖),可以輸入用戶名“小林”,密碼“Xinxi12”,然后點擊“注冊”按鈕。實踐活動:注冊賬號賬號注冊成功,如下圖所示:問題:users和users*哪個更安全?Users*經過加密處理的密文更安全!密文:加密處理后的文本明文:未加密處理的文本實踐活動:注冊賬號(可直接登錄賬號,造成個人信息泄露)當今社會,信息系統中的數據面臨著一系列的安全問題。保密性不可否認性完整性加密措施數字簽名容災備份和恢復數據加密與安全這是密碼學要實現的主要目標。QQ密碼WiFi密碼取款密碼密碼無處不在,它是保證數據安全的一道重要屏障。密碼的概念但從嚴格意義上講,這里所謂的密碼應該被稱之為口令,用于認證用戶身份。口令密碼的概念密碼是指按特定的編碼規則,對通信雙方的數據信息進行從明文到密文變換的技術方法。這種獨特的信息編碼算法就是密碼。密文明文那什么是密碼呢?——教材P105密碼最早起源于古希臘,通常是密碼算法的簡稱,它由加密算法和解密算法組成。加密算法解密算法逆序法,就是將明文中的字符倒過來輸出。探究活動——加密算法1①換位密碼法:將明文中的字符位置通過一定的規則重新排列。最簡單的換位就是逆序法。Python代碼實現:p="Xinxi12"c=p[::-1]Xinxi12 → X12inxi換位密碼,但不是逆序法。如何加密?密文明文探究活動——加密算法2如何加密?密文明文賬號密碼 (明文) 加密算法2(密文)【任務】注冊多個賬戶,使用不同的密碼,記錄明文和密文,填寫在在表格中,并寫出明文到密文的變換規則。ABCDEF DEFGHI探究活動——加密算法2賬號密碼 (明文) 加密算法2(密文)ABCDEF DEFGHIUVWXYZ XYZABCabcdef defghi67890 67890①只對字母進行處理②不改變字母的大小寫③明文字母被其他字母替代了,明文字母右移3位即為替代字母明文中的所有字母被右移3位后的字母替代。②替代加密法:將明文中每個位置的字符用其它字符替代。簡單加密算法23 24 25 0 1 2 3 4 5 …… 0 1 2 3 4 5 6 7 8①字母A~Z的編號依次為0~25提問:Python如何實現?明文"Y" 密文"B"ASCII碼值(65~90),ord()函數②由n1算得n2,調用chr()函數p="Y"n1=ord(p)-ord("A")=89-65=24n2=(n1+3)%26=1c=chr(n2+ord("A"))="B"編號n1=24 編號n2=1 滿足等式:n2=(n1+3)%2688 89 90 65 66 67 68 69 70 …簡單加密算法p="Y"n1=ord(p)-ord("A")=89-65=24n2=(n1+3)%26=1#由密文編號n2,得到對應字符Bc=chr(n2+ord("A"))="B"明文"Y"→密文"B"明文"y"→密文"b" Python如何實現?c=chr((ord(p)-ord("A")+3)%26+ord("A"))簡單加密算法mingwen=input("請輸入明文:")n=len(mingwen)miwen=""for i in range(n):ch=mingwen[i]if "A"<=ch<="Z": #大寫字母ch=chr((ord(ch)-ord("A")+3)%26+ord("A"))elif "a"<=ch<="z": #小寫字母________________________________________miwen=miwen+chprint("加密后的密文為:",miwen)ch=chr((ord(ch)-ord("a")+3)%26+ord("a"))打開jiami.py文件,填寫代碼并進行調試。課堂任務——數字的加密1.某加密算法能將數字字符前移2位(例如"5"→"3","0"→"8"),以下python程序能實現該功能的有( )(填字母,多選)A.c=chr((ord(p)-ord("A")-2)%26+ord("A"))B.c=chr((ord(p)-ord("A")-2)%10+ord("A"))C.c=chr((ord(p)-ord("0")-2)%10+ord("0"))D.c=str((int(p)-2)%10)課堂任務——數字的加密1.某加密算法能將數字字符前移2位(例如"5"→"3","0"→"8"),以下python程序能實現該功能的有( )(填字母,多選)A.c=chr((ord(p)-ord("A")-2)%26+ord("A"))B.c=chr((ord(p)-ord("A")-2)%10+ord("A"))C.c=chr((ord(p)-ord("0")-2)%10+ord("0"))D.c=str((int(p)-2)%10)C、D簡單加密算法右移11位,ABC→LMN右移3位,ABC→DEF密鑰為3的凱撒密碼密鑰為11的凱撒密碼偏移位數就是密鑰密碼系統包括明文P、密文C、密鑰K和密碼算法四個方面。密鑰(Key,簡稱K)是指在密碼算法中引進的控制參數,對一個算法采用不同的參數值,其解密結果就不同。加密算法中的控制參數稱加密密鑰,解密算法中的控制參數稱解密密鑰。密鑰的概念3 簡單加密算法加密代碼:ch="Y"c=chr((ord(ch)-ord("A")+3)%26+ord("A"))解密代碼:ch="B"?c="A"p=chr((ord(pord("A")%26+ord("A"))p=chr((ord(ch)-ord("A")-3)%26+ord("A"))密文C明文P加密:右移3位,密鑰K1為3解密:?左移3位,密鑰K2為3加密密鑰K1==解密密鑰K2,對稱加密算法③簡單異或法:將明文轉為二進制數再按位進行異或運算,數學符號為“ ”。異或運算規則:0 0=00 1=11 0=11 1=0明文(P):01011000(大寫字母X)密鑰(K):00100101密文(C):011111013 簡單加密算法P K = CC K =01111101 (密文)00100101 (密鑰) 01011000P(明文)簡單異或加密,就是將明文與密鑰進行異或運算;解密,則是對密文用同一密鑰進行異或運算。3 簡單加密算法加密算法 基本思想替代密碼 將明文中的每個位置的字符用其他字符替代,如凱撒密碼換位密碼 將明文中字符位置通過一定的規則重新排列。最簡單的換位就是逆序法簡單異或 將明文與密鑰進行異或運算,解密則是對密文用同一密鑰進行異或運算簡單異或替代密碼換位密碼以下3種加密算法分別對應哪一種加密算法?明文用一種或多種簡單加密算法,設計一個自己的加密算法。(1)明文與密文明文:XYZdef67密文:___________________(2)編寫python程序(參考文件jiami.py)課堂任務——設計加密算法用一種或多種簡單加密算法,設計一個自己的加密算法。(1)明文與密文明文:XYZdef67密文:___________________(2)編寫python程序(參考文件jiami.py)課堂任務——設計加密算法54ihgCBA替代密碼+換位密碼課堂任務mingwen=input("請輸入明文:")n=len(mingwen)miwen=""for i in range(n):ch=mingwen[i]if "A"<=ch<="Z": #大寫字母ch=chr((ord(ch)-ord("A")+3)%26+ord("A"))elif "a"<=ch<="z": #小寫字母ch=chr((ord(ch)-ord("a")+3)%26+ord("a"))miwen=miwen+chprint("加密后的密文為:", miwen[::-1] )elif "0"<=ch<="9": #數字字符ch=chr((ord(ch)-ord("0")-2)%10+ord("0"))①②1. 密碼的概念2. 密鑰的概念3. 簡單加密算法4. 設計加密算法課堂小結(1)替代密碼(2)換位密碼(3)簡單異或 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫