《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于MC9S08JS16和AES的USB Key設計
基于MC9S08JS16和AES的USB Key設計
趙明輝 張紅雨 李 亮
摘要: 提出了一種高安全、高效率、低成本USB接口密鑰的設計方法。采用8位USB微控制器MC9S08JS16,通過其內置的全速USB2.0模塊,實現與PC機的通信,并采用現在公認最安全和高效的高級加密標準(AES)算法對輸入數據進行加密,同時對AES在單片機中的加密程序進行了優化。實驗表明,USB密鑰可在短時間內完成對少量數據的加密,適用于加密數據量較小的場合,電路設計簡單,穩定性高,易于攜帶。
Abstract:
Key words :

隨著互聯網與電子商務的發展,網絡信息安全問題顯得尤為重要。數據保密變換或信息加密,成為對計算機信息進行保護的最實用和最可靠的方法。各種加密技術如軟件自校驗、密碼加密、鑰匙盤等軟加密技術和擴展卡、并行口軟件加密狗等硬加密技術應運而生,而USB接口密鑰(USB Key)憑借其獨特的優勢和極高的安全性備受青睞。
    USB Key是一種通過USB(通用串行總線)接口直接與計算機相連、具有密碼驗證功能、可靠高速的小型存儲設備。USB Key的設計小巧精致、攜帶方便。由于是USB接口設備,USB Key通過USB端口提供的電源來工作,不需要額外的電源。USB Key自身所具備的存儲器用于存儲一些個人信息或證書,USB Key的內部密碼算法可以為數據傳輸提供安全的管道,適用于單機或網絡應用的安全防護產品。

1 系統工作原理及硬件設計
    USB Key(簡稱Ukey)通過USB接口與PC機相連,用戶可以通過位于PC機的客戶端向Ukey發出命令,Ukey通過內部固件中算法實現數據加密,然后將加密后的數據返回客戶端。其工作原理如圖1所示。設計選用了8位USB微控制器(MCU)MC9S08JS16,MC9S08JS16型MCU內置全速USB2.0控制器并集成了1個USB收發器,同時含有高達16 KB的Flash和512 B的RAM。


    用戶可以通過片內專用的3.3 V穩壓器或VUSB3.3引腳外接3.3 V電源為USB收發器和上拉電阻提供電源,這里采用片內的3.3 V穩壓器為USB收發器提供電源(須使能USBCTL0寄存器的USBVREN位),硬件連接圖如圖2所示。


    USB模塊需要兩個時鐘源,分別為24 MHz總線時鐘和48 MHz參考時鐘。48 MHz時鐘源由MCGOUT直接產生,為了獲得48MHz時鐘速率,MCG(通用時鐘產生器)必須被適當配置為PLL使能的外部占用模式PEE(PLL EngagedExternal),外接一晶振。MC9S08JS16的USB模塊選擇內部上拉電阻(使能USBCTL0寄存器USBPU位)USB主機通過檢測上拉電阻檢測USB設備的聯結并確定設備速度。

2 系統軟件設計
2.1 USB設備初始化

    圖3為USB模塊初始化流程圖,固件代碼初始化USB模塊,使其準備聯結到USB主機。通過設置USBCTL0寄存器的RESET位,重置USB模塊和所有寄存器為默認狀態,完成對USB RAM,BD(buffer descriptor)寄存器的初始化,特別是對于端點0的BD,設置EPAD寄存器,指示端點寄存器在USB RAM中的存儲,為了接收DATA0數據包,狀態與控制寄存器設置為(DTS=1,OWN=1,DATAO/1=0)。使能端點0,并根據硬件設計配置USB模塊,使能上拉電阻,3.3 V穩壓器與PHY。開放USB模塊和USB中斷,設備被置為連接狀態。


2.2 AES加密算法
   
系統采用128位高級加密標準AES(Riindael)算法進行數據加密。AES(Advanced Encxyption Standard)是美國國家標準與技術研究所用于加密電子數據的規范,用于代替現有的DES算法,AES作為新一代的數據加密標準匯聚了強安全性、高性能、高效率、易用和靈活等優點,被預期能成為公認的加密包括金融、電信和政府數字信息的方法。
    AES算法是基于置換和代替的。置換是數據的重新排列,而代替是用一個單元數據替換另一個。AES加密例程開始是拷貝16字節的輸入數組到一個名為State(態)的4x4字節矩陣中。AES算法加密過程如圖4所示。


    AES的主循環對State矩陣執行4個不同的操作,規范中被稱為SubBytes(字節替換)、ShifiRows(行位移變換)、MixColumns(列混合變換)和AddRoundKey(輪密鑰加)。AES加密算法使用了一個由種子密鑰字節數組生成的密鑰調度表,AES規范中稱之為密鑰擴展例程(KeyExpans-ion)。
    下面簡單分析AES(128 bits密鑰)的加密過程:

    SubBytes例程是一個代替操作,它將State矩陣中的每個字節替換成一個由Sbox決定的新字節,Sbox是初始化的1個16x16的矩陣。比如State[0,1]的值為0xXY,則被替換為Sbox表中Sbox[X,Y]的值。
    ShifiRows是一個置換操作,它將State矩陣中的字節向左旋轉。State的第0行向左旋轉0個位置,State的第1行向左旋轉1個位置,State的第2行向左旋轉2個位置,而第3行則向左旋轉3個位置。
    MixColumns列混合變換過程,在該變換中將狀態的每列視為有限域GF(28)中的多項式且被一個固定的多項式
    ,GF代表伽羅瓦域,將其用矩陣形式表示為:
   
    乘積矩陣中的每個元素是系數矩陣中第i行元素與State矩陣第j列元素State[j]的乘積之和。這里的加法和乘法都定義在有限域GF(28)上;加法即按位異或,乘法遵循GF(28)上的多項式乘法規則。
    AddRoundKey輪密鑰加過程,State矩陣中的元素通過與一個輪密鑰進行逐位異或而得。
    KeyExpansion密鑰擴展例程,用于產生密鑰調度表W[]。例程用到了2個子例程RotWord和SubWord以及1個輪常數表Rcon。RotWord將接收1個4字節的數組并將它們向左旋轉1位,SubWord例程使用替代Sbox對給定的一行密鑰調度表進行逐字節替換。該過程的循環為:

2.3 AES加密算法的優化
   
從式(1)矩陣函數可以看出,在軟件實現過程中,只需關注如何實現State矩陣元素在GF(28)中與OxO1,0x02,0x03的乘法和加法。GF(2 8)中用0x01的乘法相當于普通算數中用l做乘法并且結果也同樣,任何值乘以0x01等于其自身;用0x02做乘法,只要被乘的值小于0x80,這時乘法的結果就是該值左移一比特位,如果被乘的值大于或等于Ox80,這時乘法的結果就是左移一比特位再用值Ox1b異或,它防止了”域溢出”并保持乘法的乘積在范圍以內;用0x03做乘法時可以分解為2的冪之和,即0x03=0x02+Ox01。對程序進行優化,采用查表法,將16x16的Sbox表分別與Ox01,0x02,0x03相乘產生與Sbox相對應的3個256字節表:XtimeSbox[256]=Sbox[256],Xtime2Sbox[256],Xtime3Sbox[256]。將產生的表存儲于code區。MixColumns過程與SubByte操作可通過以下程序完成:


3 USB Key性能測試
   
考慮到MCU性能,將加密算法初始化所需的4個256字節的數據表存放于Code區,128 bit-AES擴展密鑰ExpendedKey=4xNbx(Nr+1)=4×4×(10+1)=176存放于data區。在保證代碼空間與運算速度的前提下,經過優化,最后AES加密程序占用3 701字節的程序存儲單元和277字節的
RAM。
    以下是2組128位數據加密測試的結果:
   

4 結束語
   
與通用磁盤介質相比,UKev數據只在UKeY內留存,可以防止被非法復制,保證了數據的唯一性,有利于在公共場所使用。
    該方案設計的UKey可完成短時間內對少量數據的加密,適用于對數據量要求較小的場合,安全性高,攜帶方便。在與電子商務以及各種以PC為基礎的安全應用上具有其他產品不可替代的優越性。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久xxx| 欧美激情久久久| 午夜精品网站| 亚洲福利视频在线| 国产精品久久激情| 欧美不卡高清| 久久国产精品亚洲77777| 亚洲精品小视频在线观看| 午夜精品久久久久| 日韩视频中文字幕| 国内外成人免费激情在线视频网站| 欧美精品色网| 乱码第一页成人| 欧美一区二区免费| 一本色道久久综合亚洲二区三区 | 亚洲国产免费| 国产在线精品二区| 国产精品三级久久久久久电影| 欧美经典一区二区三区| 久久夜色精品亚洲噜噜国产mv| 午夜在线视频观看日韩17c| 99在线观看免费视频精品观看| 亚洲国产导航| 久久精品国产久精国产一老狼| 亚洲欧美福利一区二区| 亚洲婷婷免费| 一区二区三区av| 亚洲人成在线影院| 亚洲国产一区在线| 亚洲电影av| 尤物99国产成人精品视频| 国产一区二区三区在线免费观看| 国产精品扒开腿做爽爽爽软件| 欧美日韩国产三区| 欧美日韩dvd在线观看| 欧美成人精精品一区二区频| 久热国产精品视频| 欧美一区二区三区四区高清| 亚洲欧美日韩一区二区| 99精品国产高清一区二区 | 亚洲欧美日韩精品在线| 亚洲私人影吧| 亚洲天堂免费观看| 亚洲婷婷国产精品电影人久久| 亚洲免费观看在线观看| 日韩午夜电影在线观看| 99国产精品视频免费观看一公开 | 亚洲一区二区网站| 亚洲一区日韩在线| 亚洲欧美乱综合| 校园春色综合网| 欧美伊人久久久久久久久影院| 午夜欧美不卡精品aaaaa| 午夜在线播放视频欧美| 午夜精品在线| 久久国产黑丝| 麻豆91精品| 欧美黄色一级视频| 欧美日韩精品中文字幕| 欧美天天在线| 欧美日韩在线播放三区四区| 欧美性猛交xxxx乱大交蜜桃| 欧美日韩在线免费| 欧美日韩一区二区三区| 国产精品国产三级国产a| 久久精品国产69国产精品亚洲| 久久精品99国产精品日本| 久久精品国产免费观看| 美女网站在线免费欧美精品| 欧美好骚综合网| 国产精品成人在线| 国产农村妇女精品| 樱桃国产成人精品视频| 亚洲另类一区二区| 亚洲在线播放电影| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲人成欧美中文字幕| 在线视频免费在线观看一区二区| 亚洲欧美国产三级| 久久久亚洲国产天美传媒修理工 | 日韩视频免费观看高清完整版| 在线亚洲伦理| 久久国产精品99精品国产| 久热精品在线视频| 欧美日韩高清在线播放| 国产精品一区二区视频| 精品999网站| 日韩一级裸体免费视频| 小黄鸭精品密入口导航| 亚洲国产欧洲综合997久久| 日韩小视频在线观看| 亚洲一区二区av电影| 久久久久99| 欧美日韩亚洲激情| 国产专区欧美精品| 亚洲精品欧美日韩专区| 香蕉乱码成人久久天堂爱免费| 亚洲精品乱码久久久久久日本蜜臀| 亚洲一区国产| 女生裸体视频一区二区三区| 国产精品第一区| 精品福利电影| 亚洲一区三区视频在线观看| 最新中文字幕一区二区三区| 午夜精品久久久久久久白皮肤| 每日更新成人在线视频| 国产精品乱人伦中文| 亚洲电影在线看| 亚洲免费一区二区| 日韩视频在线观看| 欧美一级片久久久久久久| 久久野战av| 欧美日韩性视频在线| 韩国免费一区| 亚洲一区二区三区影院| 99国产精品| 久久夜色精品一区| 国产精品亚洲综合天堂夜夜| 亚洲精品乱码久久久久久日本蜜臀| 亚洲韩国一区二区三区| 欧美在线播放一区| 亚洲一区二区三区中文字幕在线| 欧美刺激性大交免费视频 | 国产性色一区二区| av成人免费在线观看| 亚洲精品极品| 久久中文欧美| 国产亚洲欧美日韩美女| 亚洲午夜日本在线观看| 一本综合久久| 欧美激情一区二区三区蜜桃视频 | 亚洲一区中文| 亚洲一区免费观看| 欧美日韩视频一区二区| 亚洲国产一区二区三区高清| 亚洲国产精品成人| 久久精品五月婷婷| 国产欧美午夜| 亚洲一区二区四区| 亚洲在线观看视频| 欧美揉bbbbb揉bbbbb| 亚洲欧洲精品成人久久奇米网| 亚洲第一福利社区| 久久久免费精品视频| 国产精品自拍三区| 亚洲少妇一区| 亚洲午夜精品一区二区| 欧美屁股在线| 亚洲欧洲精品一区二区精品久久久| 亚洲国产精品黑人久久久| 久久国产综合精品| 国产美女搞久久| 亚洲欧美日韩国产中文 | 午夜久久99| 国产精品无人区| 亚洲女爱视频在线| 午夜欧美不卡精品aaaaa| 国产精品欧美日韩一区二区| 亚洲午夜性刺激影院| 午夜精品理论片| 国产欧美va欧美不卡在线| 午夜精品影院| 欧美一区二区三区免费视| 欧美午夜视频在线| 在线一区二区日韩| 亚洲无玛一区| 国产精品影院在线观看| 亚洲欧美视频在线| 久久精品视频在线看| 激情国产一区| 亚洲激情第一页| 欧美国产精品中文字幕| 亚洲精品国产精品乱码不99按摩| 日韩视频―中文字幕| 欧美日本在线| 中文久久乱码一区二区| 欧美一级在线亚洲天堂| 国产一区二三区| 亚洲国产精品一区在线观看不卡| 欧美激情精品久久久久久蜜臀| 99综合视频| 久久综合九色九九| 一区二区三区日韩精品| 久久久久久日产精品| 亚洲精品字幕| 久久久久国产精品一区三寸| 亚洲精品亚洲人成人网| 欧美在线视频一区二区| 亚洲欧洲精品成人久久奇米网 | 欧美中文在线视频| 亚洲精品免费看| 久久久久久日产精品| 这里只有精品在线播放| 毛片一区二区三区| 亚洲自啪免费| 欧美日韩国产影片| 亚洲国产精品成人| 国产美女一区二区| 亚洲视频在线观看视频| 在线成人激情视频|