999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

物聯網安全課程中的密碼學算法教學改革

2018-09-21 10:46:52余健
物聯網技術 2018年7期
關鍵詞:物聯網

余健

摘 要:針對物聯網安全課程《密碼學算法實驗》教學中存在的問題,分析目前《密碼學算法實驗》教學中采用的軟件所存在的弊病,提出以Python語言為實驗編程工具的觀點。

關鍵詞:信息安全;密碼學;Python;物聯網

中圖分類號:TP393 文獻標識碼:A 文章編號:2095-1302(2018)07-0-03

0 引 言

密碼學算法是物聯網安全等信息安全課程教學的基礎[1]。密碼學算法的教學效果直接影響到學生對物聯網安全課程的掌握程度。目前密碼學算法的實驗教學采用現成的密碼學算法軟件演示[2],或采用C,C++及Matlab等編程實現,但是密碼學算法軟件的演示只是使學生了解算法的最終結果,無法使學生理解算法原理;采用C,C++等高級語言編程實現密碼學算法,有利于學生掌握算法原理,但在實驗教學當中,學生普遍反映編程難度大,算法實現繁瑣等問題;而采用Matlab編程的優點是編程語言簡單、算法容易實現,缺點是無法直接應用于實際項目中。

因此,采用合適的編程語言對密碼學算法的實踐教學改革是極其重要的[3]。Python語言被稱為膠水語言[4],它具有Matlab語言的優點,并且應用范圍廣,采用Python語言編程可直接應用于各個領域[5]??紤]到Python語言的簡單易用性,以及包含了大量的算法包,密碼學算法實驗教學全部采用Python編程實現。這樣既能夠加深學生對密碼學算法的理解,提高學生的編程能力和應用能力,也有利于學生編寫軟件參加學科競賽及各種項目,提高學生的職業素養和職業能力。

密碼學算法實驗主要包括古典密碼學實驗、DES和AES對稱密碼學算法實驗和RSA公鑰密碼學算法實驗[6-8]。

1 古典密碼學實驗

古典密碼學算法主要包括凱撒密碼、維吉尼亞密碼和Hill矩陣加密算法。采用Python語言編程實現,以凱撒密碼為例,代碼如下所示:

def Encrypt(P,key)://加密函數

P = list(P)

P = map(ord,P)

import numpy as np

P = np.array(P)

P = P - ord(‘a)

C =(P + key)%26

C = C + ord(‘A)

C = map(chr,C)

C = ‘.join(C)

return C

def Decrypt(C,key): //解密函數

C = list(C)

D = map(ord,C)

import numpy as np

D = np.array(D)

D = D-ord(‘A)

D =(D-key)%26

D = D + ord(‘a)

D = map(chr,D)

D =‘.join(D)

return D

#主函數

user_input=raw_input(‘加密請按E,解密請按D:);

while(user_input!=‘E and user_input!=‘D):

//輸入合法性判斷

user_input=raw_input(‘輸入有誤!請重新輸入:)

key=raw_input(‘請輸入密鑰:)

while(int(key.isdigit()==0))://輸入合法性判斷

key=raw_input(‘輸入有誤!密鑰為數字,請重新輸入:)

if user_input==‘E://加密

P=raw_input(‘請輸入明文:)

C=Encrypt(P,int(key))

print ‘密文為:\n%s % C

else://解密

C=raw_input(‘請輸入密文:)

P=Decrypt(C,int(key))

print ‘明文為:\n%s % P

學生完成了凱撒密碼算法的實現之后,可讓在以上程序的基礎上,進一步實現維吉尼亞密碼。

2 DES和AES對稱加密算法實驗

數據加密標準(Data Encryption Standard,DES),除了被廣泛應用于金融交易中,它還被嵌入到許多商業應用中。1977年美國國家標準局正式公布實施了美國的數據加密標準(DES),公開了它的加密算法,并批準用于非機密單位和商業上的保密通信。高級加密標準(Advanced Encryption Standard,AES)又稱為Rijndael加密法,是美國聯邦政府采用的一種區塊加密標準。該標準用來替代日益不安全的DES算法。

DES和AES算法的實現比較復雜,采用Python語言做實驗時,可以調用Crypto密碼學算法包的相關函數來實現,具體的編程代碼如下所示:

# DES加密解密

from Crypto.Cipher import DES

from Crypto import Random

key =‘keyskeys//必須為8 B

plaintext = ‘計算機與信息工程

print ‘明文:,plaintext

cipher = DES.new(key,DES.MODE_ECB)

ciphertext = cipher.encrypt(plaintext)

print ‘密文:,ciphertext.encode(‘hex) //16進制表示

decrypttext = cipher.decrypt(ciphertext)

print ‘解密結果:,decrypttext

# AES 加密解密

from Crypto.Cipher import AES

from binascii import b2a_hex,a2b_hex

from Crypto import Random

def encrypt(text,key,IV):

cryptor = AES.new(key,AES.MODE_CBC,IV)

length = 16

count = len(text)

add = length-(count% length)

text = text +(‘\0 * add)

ciphertext = cryptor.encrypt(text)

return b2a_hex(ciphertext)

def decrypt(text,key,IV):

cryptor = AES.new(key,AES.MODE_CBC,IV)

plain_text = cryptor.decrypt(a2b_hex(text))

return plain_text.rstrip(‘\0)//解密后,去掉補足的空格

key = ‘keyskeyskeyskeys

#初始化密鑰,密鑰長度必須16,24或32 B長

plaintext = ‘韓山師范學院

print ‘明文:,plaintext

IV = Random.new().read(AES.block_size)

//加密或解密的初始化向量

ciphertext = encrypt(plaintext,key,IV)

decrypttext = decrypt(ciphertext,key,IV)

print‘密文:,ciphertext

print‘解密結果:,decrypttext

在DES和AES對稱密碼算法實驗中,要強調DES的密鑰必須為8 B,而AES的密鑰為16,24或32 B,DES的加密文本長度必須為8 B的倍數,而AES的加密文本長度必須為16,24或32 B的倍數。

3 RSA公鑰密碼學算法實驗

RSA公鑰密碼學算法廣泛應用于信息安全領域,包括非對稱加密解密、認證技術以及數字簽名等。RSA算法主要通過求乘法逆元、加密和解密函數實現。這三個函數的Python代碼如下所示:

def multip_inverse(e,fn):

A=0; B=1; m=fn;

b=e; Q=m/b; R=m%b;

while(R>1):

X=A-Q×B; A=B;

B=X; m=b; b=R;

Q=m/b; R=m%b;

if(R == 1):

X=A-Q×B

return X% fn

if(R == 0):

print ‘乘法逆元不存在!

return ‘none

def Encrypt(P,e,n)://加密函數

C =( P×e)%n//加密得出密文C

return C

def Decrypt(C,d,n)://解密函數

D =(C×d)%n//解密得出明文P

return D

另外,學生在完成RSA公鑰密碼學算法的基礎上,讓學生完成RSA數字簽名程序,進一步提高學生的實踐能力。

4 結 語

通過以上示例,我們可以發現,使用Python語言實現密碼學算法,簡單易用,學生容易掌握,可降低使用高級語言編寫密碼學法的難度,又能提高學生的學習興趣。除了古典密碼學實驗,DES和AES對稱密碼學算法實驗和RSA公鑰密碼學算法實驗,還可布置一些趣味密碼學問題,例如分別采用蠻力破解和字典攻擊方法破解壓縮文件密碼,破解無線WiFi密碼和破解谷哥瀏覽器登錄密碼等,提高學生對這些課程的學習興趣,增強實踐能力和應用能力。通過在物聯網安全的實驗教學中采用Python編程工具,鍛煉了學生的實際編程能力。筆者指導的學生參加2106年和2017年全國信息安全競賽(作品賽),共獲得了3個三等獎。對其他高校物聯網安全課程中的密碼學算法教學改革具有一定借鑒意義。

參考文獻

[1]胡小明,楊寅春,吳秀梅,等. 信息安全專業密碼學課程教學改革[J]. 計算機教育,2014(1):49-52.

[2]李曦. 密碼學課程實踐教學存在的問題及改進措施[J]. 高等教育研究:成都,2011(2):23-24.

[3]王少輝,王志偉. 密碼學課程設計探索與實踐[J]. 課程教育研究,2013(1):15-16.

[4]嵩天,黃天羽,禮欣. Python語言:程序設計課程教學改革的理想選擇[J]. 中國大學教學,2016(2).

[5]葉磊,文濤,劉立亮,等. 基于Python的網絡及信息系統安全過程管理工具[J]. 數字技術與應用,2011(9):293.

[6]徐鵬,薜偉.抗差分功耗攻擊的DES算法研究[J]. 計算機仿真,2018(1)282-286.

[7]付春燕,宋英雄,郭鵬程,等. 基于AES數據加密的網關通信設計[J]. 電子測量技術,2018(2):55-60.

[8]石井,吳哲,譚璐,等. RSA數據加密算法的分析與改進[J]. 濟南大學學報(自然科學版),2013(3):66-69.

猜你喜歡
物聯網
基于物聯網的煤礦智能倉儲與物流運輸管理系統設計與應用
基于高職院校物聯網技術應用人才培養的思考分析
基于LABVIEW的溫室管理系統的研究與設計
論智能油田的發展趨勢及必要性
中國或成“物聯網”領軍者
環球時報(2016-08-01)2016-08-01 07:04:45
主站蜘蛛池模板: 青青热久麻豆精品视频在线观看| 欧美影院久久| 国产乱人激情H在线观看| 国产精品美女自慰喷水| 四虎影视永久在线精品| 日本妇乱子伦视频| 黄色在线不卡| 亚洲成年人网| 欧美日本在线一区二区三区| 久久国产精品嫖妓| 午夜天堂视频| 亚洲第一区欧美国产综合| 精品成人一区二区三区电影 | 日本国产精品一区久久久| 午夜一级做a爰片久久毛片| 国产导航在线| 国产第一页亚洲| 国产第一页免费浮力影院| 国产簧片免费在线播放| 国精品91人妻无码一区二区三区| 2021国产乱人伦在线播放| 欧美在线伊人| 五月六月伊人狠狠丁香网| 欧美精品导航| 国产精品播放| 国产小视频免费| 欧美一级在线播放| 久久99精品久久久久纯品| 激情国产精品一区| 国产精品蜜芽在线观看| 日韩欧美国产另类| 一级做a爰片久久毛片毛片| 日韩欧美网址| 人妻丰满熟妇啪啪| 99热最新网址| 久久成人免费| 亚洲精品图区| 国产打屁股免费区网站| 日韩国产另类| 在线色综合| 人妻夜夜爽天天爽| 亚洲精品中文字幕午夜| 成人精品视频一区二区在线| 国产成人综合日韩精品无码不卡 | 亚洲AV无码乱码在线观看代蜜桃 | 日日摸夜夜爽无码| 69av在线| av在线手机播放| 欧美精品色视频| 成人亚洲天堂| 国产福利影院在线观看| 欧美亚洲第一页| 欧美日韩在线亚洲国产人| 午夜天堂视频| 少妇高潮惨叫久久久久久| 午夜啪啪福利| 国产在线精品香蕉麻豆| 自慰网址在线观看| 国内精品久久久久鸭| 精品亚洲麻豆1区2区3区| 欧美中文字幕在线视频| 第一区免费在线观看| 国产99在线观看| 99热这里只有精品2| 国产偷国产偷在线高清| 国产精品七七在线播放| 黄色网页在线观看| 免费观看精品视频999| 最新国产高清在线| 国产性生大片免费观看性欧美| 青草国产在线视频| 亚洲精品无码日韩国产不卡| 国产特级毛片aaaaaaa高清| 蜜臀av性久久久久蜜臀aⅴ麻豆| 亚洲无码精彩视频在线观看| 欧美爱爱网| 国产精品人成在线播放| 91青青在线视频| 国产精品v欧美| 久久不卡国产精品无码| 97久久免费视频| 又猛又黄又爽无遮挡的视频网站|