Advanced Encryption Standard

Slides:



Advertisements
Similar presentations
工職數學 第四冊 第一章 導 數 1 - 1 函數的極限與連續 1 - 2 導數及其基本性質 1 - 3 微分公式 1 - 4 高階導函數.
Advertisements

第三章 對稱式金鑰密碼系統 - 資料加密標準.  1970 年代 Horst Feistel 為美國 IBM 電腦公司研發出 “Lucifer” 系統。  美國國家標準局 (NBS, 現為 NIST) 在 1973 年徵求構想 書,希望能訂定國際加密標準。  DES 最後在 1997 年 1.
第一單元 建立java 程式.
Author : Hyesook Lim, Changhoon Yim, and Earl E. Swartzlander, Jr., Fellow Publisher : IEEE TRANSACTIONS ON COMPUTERS, VOL. 59, NO. 6, JUNE 2010 Presenter.
LinkIt ONE開發板的簡介.
資訊安全 Security 陳以德 助理教授: 濟世CS 轉
數位邏輯設計與實習 Ch02基本邏輯閘與布林代數.
Chapter 6 資料加密標準. 學習目標 回顧 DES 的發展歷史。 定義 DES 的基本結構。 描述 DES 建構元件的詳細情形。 描述回合金鑰產生程序。 分析 DES 。
第四章 數列與級數 4-1 等差數列與級數 4-2 等比數列與級數 4-3 無窮等比級數 下一頁 總目錄.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
主題五 CPU Learning Lab.
網路與多媒體實驗 第一組報告 B 鄧鎮海 B 葉穎達
第5章 高级加密标准(AES) AES的起源 AES的设计原则 AES算法描述.
Differentiation 微分 之一 微分的基本原理.
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
第三章 公钥基础设施PKI 本章学习重点掌握内容: 密码学基本术语 密码体制分类 私钥密码体制的主要特点 公钥密码体制的主要特点
Cryptography and Network Security - 2
密码学导论˙第5章 分组密码 8学时 李卫海.
Chapter 1 Introduction.
CH19資訊安全 認識資訊安全與其重要性 了解傳統與公開金鑰密碼系統, 以及基本的安全性觀念 了解訊息鑑別與雜湊函數 了解數位簽章法
2-3 基本數位邏輯處理※.
電子商務基本概念 電子商務的定義 1-1 電子商務的特性 1-2 電子商務的演進 1-3.
使用VHDL設計—4位元加法器 通訊一甲 B 楊穎穆.
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
Differentiation 微分 之一 微分的基本原理.
MIFARE 建國科大資管 饒瑞佶.
Chapter 5 現代對稱式金鑰加密法.
SQL Stored Procedure SQL 預存程序.
SSL加解密原理 姓名:林子鈞 指導老師:梁明章老師
(Circular Linked Lists)
第1章 單晶片微電腦概論.
雲端運算的基石(2) 虛擬化技術實作(XP篇─上)
第二章 SPSS的使用 2.1 啟動SPSS系統 2.2 結束SPSS系統 2.3 資料分析之相關檔案 2.4 如何使用SPSS軟體.
雜湊與MAC演算法 Hash and MAC Algorithms
Chap3 Linked List 鏈結串列.
虎克定律與簡諧運動 教師:鄒春旺 日期:2007/10/8
Topic Introduction—RMI
第一單元 建立java 程式.
實驗十二: 紅綠燈控制電路設計 規格: Due: Jan. 3, 2008 Tvrl = Thgl + Thgf + Thyl
密碼學 Chapter 3 基於電腦的對稱性金鑰密碼學演算法
大綱:加減法的化簡 乘除法的化簡 去括號法則 蘇奕君 台灣數位學習科技股份有限公司
挑戰C++程式語言 ──第8章 進一步談字元與字串
如何使用Gene Ontology 網址:
產品設計與流程選擇-服務業 等候線補充資料 20 Oct 2005 作業管理 第六章(等候線補充資料)
淺淺談密碼學 2018/12/27.
雲端計算.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
Department of Electrical Engineering Kun Shan University
函數應用(二)與自定函數.
11058: Encoding ★☆☆☆☆ 題組:Problem Set Archive with Online Judge
一、簡介 電腦硬體設計:純硬體電路(hardware)及韌體電 路(firmware)兩種方式。
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
1757: Secret Chamber at Mount Rushmore
資料表示方法 資料儲存單位.
MultiThread Introduction
補充 數值方法 數值方法.
張仁俊 (Jen-Chun Chang) 國立台北大學 資訊工程學系 通訊工程研究所 電機工程研究所
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
Chapter 4 Multi-Threads (多執行緒).
應用加密技術 張維哲 指導老師:梁明章.
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
快取映射 之直接對映 計算整理.
JUDGE GIRL 使用介紹 & 常見問題 TAs :
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Introduction to Mobile Computing
InputStreamReader Console Scanner
Presentation transcript:

Advanced Encryption Standard 第5章 高階加密標準 Advanced Encryption Standard

AES的起源 DES應只用在舊系統,新系統應改用3DES (第六章),但3DES的軟體實作效能低落 為了要取代DES/3DES,NIST在1997年徵求新的AES計畫書,並要求新標準的安全強度要等同或強過3DES,而且也要大幅加強效能 NIST是在2001年11月完成整個評估,並且發表最終的標準(FIPS PUB 197) NIST最終選擇Rijndael作為AES演算法的建議規格 AES最終會取代3DES,但這個過程需要好幾年。在可預見的未來,NIST預期3DES仍會是美國政府公認的演算法標準

評選AES 安全性 實際的安全性:以相同長度的金鑰及區塊,和其他送交的演算法相互比較 隨機性(randomness):隨機重排輸入區塊而讓演算法的輸出無法辨識的程度 強固性健全性(soundness):演算法安全性的數學基礎 其他安全因素:在評選過程公開接受挑戰,包括任何能證明演算法實際的安全性並不如提交者所宣稱

評選AES 成本 授權要求:讓全世界都能非獨佔、免權利金的使用AES所指定的演算法 計算效率:計算效率的評估結果將同時適用於硬體和軟體的實作 記憶體需求:評選過程也會考慮以硬體和軟體實作演算法所需要的記憶體 記憶體需求的考量因素包含硬體實作所需要的邏輯閘數量,以及軟體實作所需要的RAM

評選AES 演算法和實作特性 彈性:演算法越彈性,就越能符合更多人的需求,但有些極端的功能並不實用 硬體和軟體適用性:不應將演算法實作限制在硬體,如果可以有效的以韌體實作,就是演算法彈性的一大優點 簡易性:演算法應該以設計的簡易程度而評斷其優劣

AES加密法 - Rijndael 由比利時的 Rijmen-Daemen 所設計 金鑰長度 128/192/256 位元,區塊長度 128 位元 不採用菲仕托架構,而是在每回合以取代和重排來平行處理整個資料區塊 每回合的回合金鑰由4個不同的字組(一字組為4bytes,共128位元)組成 有4種不同的階段,其一是重排,其他則是取代 特性: 能抵抗所有已知的攻擊 能在各種平台上快速執行,且程式碼小巧緊湊 •簡明易懂的設計 The Rijndael proposal for AES defined a cipher in which the block length and the key length can be independently specified to be 128,192,or 256 bits. The AES specification uses the same three key size alternatives but limits the block length to 128 bits. Rijndael is an academic submission, based on the earlier Square cipher, from Belgium academics Dr Joan Daemen and Dr Vincent Rijmen. It is an iterative cipher (operates on entire data block in every round) rather than feistel (operate on halves at a time), and was designed to have characteristics of: Resistance against all known attacks, Speed and code compactness on a wide range of platforms, & Design simplicity.

圖解AES的加密與解密過程

AES的資料結構 byte

第一階段:位元組的替代 位元組的正向取代方式稱為SubBytes 位元組的反向取代稱為InvSubBytes 稱為S-boxes的16 × 16 位元組矩陣,包含了所有8 位元數值(256個) 每個位元組最左邊的4 個位元所形成的數值,會當成列編號,而最右邊的4 個位元所形成的數值,則當成行編號 例如16進位數值{95}參照到S-boxes第9列、第5行的值{2A} 因此{95}就對映到{2A}

S-box

位元組的取代

第二階段:列的移位 列的正向移位稱為ShiftRows 列的反向移位稱為InvShiftRows 第1列並未改變 第2列的每個元素向左循環位移1個位元組 第3列向左循環位移2個位元組 第4列向左循環位移3個位元組 列的反向移位稱為InvShiftRows 讓後三列以反方向循環位移 也就是第2列向右循環位移l個位元 完整移位之後,一行裡的4位元組會分散到不同的四行

第二階段:列的移位

第三階段:行的混合 行的正向混合稱為MixColumns,是在每一行個別運作 每行裡的每個位元組會對映到新的數值,而此數值是行內所有4個位元組的函數 乘積矩陣是以質數多項式 m(x) =x8+x4+x3+x+1 在GF(28)執行

行的混合

行的混合 行的反向混合稱為InvMixColumns,是以下列的矩陣乘法定義: 因為

第四階段:新增回合金鑰 新增回合金鑰的正向轉換稱為AddRoundKey 狀態裡的128個位元會和回合金鑰的128個位元進行逐一位元的XOR運算 此運算能視為狀態裡某一行的4個位元組,和回合金鑰裡一個字元組的交互運算 也能視為位元組層級的運算 新增回合金鑰的反向轉換,與新增回合金鑰的正向轉換相同 因為XOR運算是其本身的反向運算

新增回合金鑰

AES的加密回合

AES的金鑰擴充 將128位元 (4字組) 金鑰擴充成 44/52/60 字組的陣列 金鑰擴充演算法的虛擬程式碼如下: 

AES的金鑰擴充 RotWord:左移旋轉1byte SubWord:使用S-box替代 Rcon:回合常數 Rcon[j] = (RC[j], 0, 0, 0) RC[1] = 1 RC[j] = 2 RC[j1] (乘法定義在GF(28)中,m(x)=x8+x4+x3+x+1) 若Round key of Round 8為: EA D2 73 21 B5 8D BA D2 31 2B F5 60 7F 8D 29 2F 請求出round 9 的KEY之前8個byte。

AES的金鑰擴充

金鑰擴充的基本原理 設計的足以抵抗已知的攻擊 採用的特定規範 知道部分的加密金鑰或回合金鑰,也無法完全計算出其他的回合金鑰位元 可反向的轉換 在不同處理器皆能維持速度 藉由回合常數排除對稱性 將加密金鑰的差異擴散到回合金鑰 足夠的非線性 簡明易懂

習題5.4 明文:{01 02 03 … 0E 0F} 金鑰:{01 01 01 … 01 01} 以4*4矩陣列出原始明文內容 列出起始新增回合金鑰後之狀態值 列出替代位元組後之狀態值。 列出列的移位後之狀態值 列出行的混合後之狀態值

AES解密 AES的解密與加密不完全相同 但還是有解密演算法與和加密演算法轉換順序相同的版本 儘管加密和解密的金鑰排程形式相同,但是解密的轉換順序卻與加密不同 缺點是軟體或韌體模組需分別實作加密和解密功能 但還是有解密演算法與和加密演算法轉換順序相同的版本 需要改變金鑰排程 解密架構和加密架構要一致,必須交換解密回合的前兩階段和後兩階段

AES解密

實作的觀點( 8位元處理器) AES能夠很有效率的在8位元處理器實作 AddRoundKey是逐一位元的XOR運算 ShiftRows是簡單的位元組移位運算 SubBytes是位元組層級的運算,而且只需要256位元組的表格 MixColuITins的轉換需要 GF(28) 的矩陣乘法 MixColumns只要求乘以{02}和{03},只需要簡單的移位、條件式XOR、以及XOR運算

實作的觀點( 32位元處理器) 如果運算單位是32位元字組,32位元處理器的實作就能更有效率 重新定義步驟來使用32位元字組 事先計算256字組的4個表格 每回合的每一行只需要4個查表動作和4個XOR運算 儲存4K位元組的表格 Rijndael的開發人員相信,這簡潔效率的實作,是Rijndael被選為AES的最主要因素

總結 AES的: 起源 評選的標準 每一回合步驟的細節 金鑰擴充 實作的觀點