密碼學 Chapter 3 基於電腦的對稱性金鑰密碼學演算法

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

第5章 电子商务安全 学习目标: 1)了解电子商务对安全的基本需求。 2)理解防火墙的功能与技术。 3)掌握数据加密原理与技术。
密碼學與網路安全 第9章 公開金鑰密碼學與RSA
网络安全协议 Network Security Protocols
第六章 加密技術應用 6-1 建立信任關係 6-2 對稱金鑰加密技術 6-3 不對稱金鑰加密技術 6-4 雜湊加密技術 6-5 加密工具程式
走過光陰 ── 眷村 三平 2號 何苡瑄.
Chapter 6 資料加密標準. 學習目標 回顧 DES 的發展歷史。 定義 DES 的基本結構。 描述 DES 建構元件的詳細情形。 描述回合金鑰產生程序。 分析 DES 。
電子資料保護 吳啟文 100年6月7日.
06資訊安全-加解密.
計算機概論 蘇俊銘 (Jun Ming Su) 資料加密技術簡介 計算機概論 蘇俊銘 (Jun Ming Su)
目 錄 壹、緣由 貳、問題解析 參、問題歸納 肆、因應對策 伍、評鑑獎勵 陸、追蹤考核 1.
6.3 DES分析 評論者使用放大鏡來分析 DES,測量區塊加密法之某些預期特性強度的測試已經進行,DES 的元件也被仔細審查是否符合建構的準則。 本節討論主題 特性 設計準則 DES 的弱點.
魏普文 山东大学密码技术与信息安全 教育部重点实验室
密碼學簡介與簡單生活應用 Introduction to Cryptography & Simple Applications in Life 2010 Spring ADSP 05/07.
主題五 CPU Learning Lab.
第5章 高级加密标准(AES) AES的起源 AES的设计原则 AES算法描述.
記憶體的概況 張登凱.
第三章 公钥基础设施PKI 本章学习重点掌握内容: 密码学基本术语 密码体制分类 私钥密码体制的主要特点 公钥密码体制的主要特点
密码学导论˙第5章 分组密码 8学时 李卫海.
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
CH19資訊安全 認識資訊安全與其重要性 了解傳統與公開金鑰密碼系統, 以及基本的安全性觀念 了解訊息鑑別與雜湊函數 了解數位簽章法
2-3 基本數位邏輯處理※.
2.2 IDEA 1990年Xuejia Lai(来学加)& J.L.Massey提出
秘密金鑰密碼系統 (Secret Key Cryptosystems)
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
Chapter 5 現代對稱式金鑰加密法.
SSL加解密原理 姓名:林子鈞 指導老師:梁明章老師
(Circular Linked Lists)
安裝JDK 安裝Eclipse Eclipse 中文化
OpenID與WordPress使用說明
第二章 SPSS的使用 2.1 啟動SPSS系統 2.2 結束SPSS系統 2.3 資料分析之相關檔案 2.4 如何使用SPSS軟體.
Wavelet transform 指導教授:鄭仁亮 學生:曹雅婷.
雜湊與MAC演算法 Hash and MAC Algorithms
李开祥 郭雪丽 马高峰 杨洋 孙凤英 陈静 Copyright © 2007 西安交通大学电子商务系
Chap3 Linked List 鏈結串列.
Introduction to FinTech
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
密碼學 Chapter 4 基於電腦的非對稱性金鑰密碼學演算法
Topic Introduction—RMI
第一單元 建立java 程式.
Definition of Trace Function
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
CH05. 選擇敘述.
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
密碼學 Chapter 4 基於電腦的非對稱性金鑰密碼學演算法
應用加密技術 A 譚惠心 指導教授:梁明章教授.
所以我們需要     密碼學…. 每個人都有秘密….. 安俐的體重.
淺淺談密碼學 2018/12/27.
資訊安全技術 課程簡介.
MiRanda Java Interface v1.0的使用方法
函數應用(二)與自定函數.
網路安全技術 A 林建宏 指導教授:梁明章老師
黃影雯副教授講授 E_Mail Address:
Dreamweaver 進階網頁製作 B 許天彰.
資料表示方法 資料儲存單位.
期末報告第一題 通訊四甲 B 湯智瑋.
第一章 直角坐標系 1-3 函數及其圖形.
非負矩陣分解法介紹 報告者:李建德.
適用於多選一 可減少if 與 else配對混淆的錯誤.
Advanced Encryption Standard
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
Chapter 4 Multi-Threads (多執行緒).
11621 : Small Factors ★★☆☆☆ 題組:Problem Set Archive with Online Judge
應用加密技術 張維哲 指導老師:梁明章.
快取映射 之直接對映 計算整理.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Introduction to Mobile Computing
Presentation transcript:

密碼學 Chapter 3 基於電腦的對稱性金鑰密碼學演算法 Computer-based Symmetric Key Cryptographic Algorithms(Part 2)

國際資料加密演算法 國際資料加密演算法(International Data Encryption Algorithm, IDEA) 被認為是一個強勁的密碼學演算法 發表於1990年 並沒有如DES受到廣泛的歡迎 IDEA是有專利的 商業始用需要得到授權 歷史不如DES悠久 應用範例 電子郵件隱私技術 良好隱私(Pretty Good Privacy, PGP)

IDEA的發展 1990 1991 1992 建議加密標準 (Proposed Encryption Standard, PES) Xuejia Lai和James Massey在瑞士聯邦技術組織發展 1991 改善建議加密標準 (Improved Proposed Encryption Standard, IPES) 由密碼分析者找出一些虛弱的區域,並加以改善的演算法 1992 國際資料加密演算法 (International Data Encryption Algorithm, IDEA) 沒有主要的改變,只是單純地改名

IDEA基本原理 IDEA是一種區塊密碼 使用64位元明文區塊 金鑰長度128位元 IDEA在加密中同時使用擴散和混淆

IDEA的概略步驟

變數定義 明文區塊(64 位元) 密文區塊(64位元) 回合結束產生區塊 金鑰(128位元) P1, P2, P3, P4(各16位元) C1, C2, C3, C4(各16位元) 回合結束產生區塊 R1, R2, R3, R4(各16位元) 金鑰(128位元) 子金鑰 K1, K2, K3, … , K51, K52(各16位元)

回合內的特殊運算 模數 (Mod) 加* 乘* 求餘數 兩數相加取模數216 Mod 216 = Mod 65536 兩數相乘取模數216+1 Mod 216+1 = Mod 65537

IDEA回合的細節 P1和K1相乘* P2和K2相加* P3和K3相加* P4和K4相乘* 步驟1和步驟3的結果做XOR 步驟6和步驟7的結果相加* 步驟8的結果和K6相乘* 步驟7和步驟9的結果相加* 步驟1和步驟9的結果做XOR 步驟3和步驟9的結果做XOR 步驟2和步驟10的結果做XOR 步驟4和步驟10的結果做XOR

一個IDEA回合

一個回合內的金鑰產生 原始金鑰依序每16位元產生一把子金鑰 當原始金鑰依序產生完畢,則將原始金鑰向左位移25位元產生新的原始金鑰 再從新的原始金鑰依序產生子金鑰 直到產生52把子金鑰

輸出轉換 於第8回合結束後進行 使用4把子金鑰 產生密文區塊(64位元) 由C1, C2, C3, C4結合而來

輸出轉換細節 R1和K1相乘* R2和K2相加* R3和K3相加* R4和K4相乘*

輸出轉換過程

IDEA解密 IDEA解密的過程如同加密的過程 解密的子金鑰實際上是加密子金鑰的相反

IDEA的強度 IDEA的金鑰長度為128位元,是DES金鑰的兩倍大 IDEA金鑰的安全性 2128種可能 個人電腦運算需要超過5.4*1024年

RC5 為對稱性金鑰區塊加密演算法 主要特徵為十分快速 只使用電腦的基本運算 允許變動的回合數與金鑰大小來增加彈性 加法、XOR、位移…等 允許變動的回合數與金鑰大小來增加彈性 執行時需要較少的記憶體,因此也可運用於智慧卡等記憶體容量少的裝置 已被加入RSA資料安全協會的產品中

RC5基本原理 明文區塊大小、回和數、金鑰中8位元組數目都是可以調整的

RC5基本原理 RC5-w/r/b RC5-32/16/16 建議最小安全版本 w=位元中字組的大小(一次加密2字組區塊) r =回合數 區塊大小64位元 16回合數 金鑰長度為128位元 建議最小安全版本 RC5-32/12/16

RC5操作步驟 輸入明文被分割成兩個部份,區塊A與區塊B S[0]與S[1]分別被加入A與B中,並個別產生C與D 回合運算 位元位置XOR 循環式左移 在C與D中加入下一個子金鑰,並求加法後的餘數

RC5操作步驟

一次性初始運算

回合運算 C和D做XOR E做循環式左移 E和下一個子金鑰相加 D和F做XOR 循環式左移G G和下一個子金鑰相加 其餘工作 i值遞增 是否所有回合完成 回合未完成則F與H重新命名為C與D並回到步驟1

回合運算 步驟 1 步驟 2

回合運算 步驟 3 步驟 4

回合運算 步驟 5 步驟 6 S[2i+1]

回合運算 步驟 7

RC5加密數學表示式 加密 <<< 表示左循環 >>> 表示右循環 解密

子金鑰的製造 RC5子金鑰的產生需要兩個步驟 子金鑰S[0],S[1],…被產生 子金鑰與原始金鑰L相對應的部份L[0],L[1],…混和

子金鑰產生 產生子金鑰序列S = S[0],S[1],… 使用兩個常數P, Q S[0] = P 下個金鑰(S[1],S[2],…)則是前一金鑰與Q相加取模數232 (模數由區塊大小決定) 需產生2(r + 1) + 1,r為回合數

子金鑰產生

子金鑰混和 子金鑰S[0],S[1],…與原始金鑰的子部份L[0],L[1],…,L[c]混合

Blowfish 布魯斯‧施奈爾於1993年開發 屬於對稱金鑰區塊加密演算法 區塊長度為64位元 金鑰為1至448位元的可變長度 處理數度比DES快 無須授權即可使用 廣泛用於檔案加密軟體與 SSH 上

Blowfish設計目標 快速 緊密 簡單 安全 在32位元的微處理器上,加密速率為每位元組26個時脈週期 可在少於5kb的記憶體中執行 只使用基本運算如:加法、XOR、查表 安全 具有最大448位元的可變金鑰長度,兼顧彈性與安全性

Blowfish運算 使用一個可變長度的金鑰來加密64位元區塊 包含兩個部份 金鑰擴增 資料加密 可轉換金鑰長度到448位元和子金鑰的總長度為4168位元 資料加密 對一個簡單的函數疊代16次 每一回合包含金鑰相依排列、金鑰相依替代和資料相依替代

Blowfish流程

高等加密標準 Advanced Encryption Standard, AES 為比利時密碼學家 Joan Daemen 和 Vincent Rijmen 所設計 結合兩位作者名字以 Rijndael 命名 區塊大小為128位元 金鑰大小為128位元 (後來有192、256位元版本)

AES發展歷史 1990年 1998年6月 1999年8月 2000年10月 美國政府想要提出一個新的標準化密碼學演算法,取代DES Rijndael於被提交到NIST 1999年8月 為競爭中剩下的5個演算法之一 2000年10月 Rijndael被公佈成為AES的最後選擇

AES發展歷史 2001年11月 2002年5月 2006年 發佈於 FIPS PUB 197 成為有效標準 已經成為對稱金鑰加密中最流行的演算法之一

AES的特徵 對稱性和平行架構 符合現代處理器 適合智慧卡 這給予演算法實現諸多的彈性,也能嚴密地對抗密碼分析攻擊 演算法能在現代處理器中執行 Pentium, RISC, 平行 適合智慧卡 演算法能在智慧卡中執行

Rijndael的運作 明文區塊與金鑰區塊可以被排列成各種未定的大小 可含有多種回合 每回合的步驟 16、24或32位元組 10、12或14個回合 每回合的步驟 位元組替代 位移列 混合行 金鑰加法

初始明文/金鑰區塊

Rijndael步驟

位元組替代

位移行

金鑰加法

差分密碼分析和線性密碼分析 差分密碼分析 線性密碼分析攻擊 由Eli Biham和Adi Shamir提出 專注於成對的密文,其明文有著特殊的差異 線性密碼分析攻擊 Mitsuru Matsui發明 基於線性近似值

章節總結 密碼學演算法有兩個主要的觀點 兩個主要的演算法型態 鏈結模式使區塊密碼更安全 四個鏈結模式是 型態 模式 串流密碼 區塊密碼 電子碼冊(ECB) 密文區塊鏈結(CBC) 密碼回饋(CFB) 輸出回饋(OFB)

章節總結 資料加密標準(DES)是一個非常受歡迎的對稱性金鑰演算法。 DES 的變化,亦即雙重 DES 和三重 DES 很受歡迎。 其他受歡迎的對稱性金鑰演算法是:IDEA、RC5、Blowfish。 美國政府已經證明一個演算法,稱為 Rijndael,就像高等加密標準(AES)一樣。 差分密碼分析專注於明文中具有特殊差異的密文對。 線性密碼分析攻擊是基於線性近似的基礎上。

The End