原创 數字簽名

一、數字簽名簡介 數字簽名過程的一般模型: 在收發雙方不能完全信任的情況下,需要除認證之外的其他方法來解決他人僞造或當事人否認的問題。 數字簽名是解決這個問題最好的方法。 數字簽名必須具有的特徵: 驗證簽名者、簽名日期和時間

原创 密鑰管理和分發

一、基於對稱加密的對稱密鑰分發 對於對稱加密來說,通信雙方必須使用相同的密鑰,並且該密鑰對其他人保密,在限制攻擊者攻陷密鑰所需要的數據總數時,頻繁的密鑰交換是安全的。 任何密碼系統的強度取決於密鑰分發技術,即在想要交換數據的兩者之

原创 密碼學Hash函數

在安全應用中使用的Hash函數稱爲密碼學Hash函數 密碼學Hash函數要求兩種情況在計算上不可行(即沒有攻擊方法比窮舉更有效): 對預先指定的Hash值找到對應的數據塊(單向性) 找到兩個不同的數據塊對應相同的Hash值(抗

原创 消息認證碼

消息認證函數: 1.消息加密 消息加密本身提供了一種認證手段。對稱密碼和公鑰密碼體制中,對消息加密的分析是不同的。 對稱加密 公鑰加密 直接使用接收方公鑰加密可提供保密性,但不能提供認證 發送方私鑰加密消息(數字簽名)

原创 用戶認證

一、雙向認證(Mutual Authentication) 使通信雙方互相認證彼此身份並交換會話密鑰。 已認證的密鑰交換主要關注兩個問題:保密性和實效性 重放攻擊的例子: 防止重放攻擊的方法: 爲每一個用於認證交互的消息附

原创 密碼編碼學與網絡安全——第九章 公鑰密碼學與RSA

公鑰算法是基於數學函數而不是基於替換和置換 公鑰密碼是非對稱的 公鑰密碼僅用於密鑰管理和簽名 關於公鑰密碼的誤解: 從密碼分析的角度看,公鑰密碼比傳統密碼更安全 公鑰密碼是一種通用的方法,所以傳統密碼已經過時 用公鑰密碼實現密鑰

原创 密碼編碼學與網絡安全——第五章 高級加密標準

一、AES的結構(AES structure) 明文分組的長度爲128位即16字節 密鑰長度可以爲16、24、32字節(128、192、256位),根據密鑰的長度,算法被稱爲AES-128,AES-192,AES-256 輪數依賴

原创 密碼編碼學與網絡安全——第三章 分組密碼和數據加密標準

一、流密碼(Stream Cipher) 每次加密數據流的一位或一個字節 古典流密碼的例子有:密鑰自動產生的Vigenère密碼和Vernam密碼。 理想情況下,可以使用一次一密版本的Vernam密碼,其中密鑰流和明文位流一樣長。

原创 分治算法的應用

一、二分搜索技術 給定已按升序排列的n個元素a[0:n-1],現要在這n個元素中找出一個特定元素x。 搜索範圍越小,越容易確定解; 該問題可以分解爲若干個規模較小的相同問題; 分解出的子問題的解就是原問題的解; 分解出的各個子問題

原创 密碼編碼學與網絡安全——第一章 概覽

討論兩大領域 密碼算法和協議 又可以分爲4個主要的領域: 對稱加密(Symmetric encryption):用於加密任意大小的數據塊或數據流的內容(消息、文件、加密密鑰和口令) 非對稱加密(Asymmetric encry

原创 密碼編碼學與網絡安全——第七章 僞隨機數的產生和流密碼

一、隨機數 大量的基於密碼學的網絡安全算法和協議都使用了二進制隨機數。 密鑰分發和相互認證方案 會話密鑰的產生 RSA公鑰加密算法中密鑰的產生 用於對稱流密碼加密的位流的產生 這些應用對隨機數序列產生提出了兩個不同且未必兼容的

原创 密碼編碼學與網絡安全——第六章 分組密碼的工作模式

一、多重加密與三重DES 1.雙重DES的加解密 密鑰長度爲56X2=112位 C=E(K2,E(K1,P)) P=D(K1,D(K2,C)) 已知明文攻擊可以成功對付密鑰長度爲112位的雙重DES 2.使用兩個密鑰的三重DE

原创 分治算法

一、分治算法 將較大規模的問題分解爲若干個較小規模的子問題,每個子問題的求解過程與原問題一樣,並利用自底向上的求解策略得到最終的解。 將原始問題分解爲規模較小的子問題 遞歸或迭代求解每個子問題 將子問題的解合併得到原問題的解 要點

原创 密碼編碼學與網絡安全——第十章 密鑰管理和其他公鑰密碼體制

一、Diffie-Hellman密鑰交換 目的是使兩個用戶能安全地交換密鑰,以便在後續的通信中用該密鑰對消息加密。 算法本身僅限於進行密鑰交換 算法的有效性建立在計算離散對數是很困難的這一基礎上 中間人攻擊: 二、ElGama