密鑰加密
密鑰加密是發送和接收數據的雙方,使用相同的或對稱的密鑰對明文進行加密解密運算的加密方法。 若加密算法是公開的,那麼真正的秘密就在於密鑰了,密鑰必須是保密的,它通常是一個字符串,並且可以按需頻繁更換。因此,密鑰的長度很重要,因為一旦找到解密密鑰也就破譯了密碼,而密鑰的長度越長,密鑰空間就越大,遍歷密鑰空間所花費的時間就越長,破譯的可能性也就越小。
目錄
基本簡介
傳統加密技術
傳統加密方法可以分為兩種:替代密碼和換位密碼。
替代密碼
用一組密文字母來代替一組明文字母以隱藏明文,但保持明文字母的位置不變。最古老的替代密碼是凱撒密碼。
較為複雜的密碼,是使明文字母和密文字母之間的映射關係無規律可循,比如將26個英文字母隨意映射到其他字母上,這種方法稱為單字母表替換,其密鑰是對應於整個英文字母表的26個字母。 換位密碼
換位有時也稱為排列,他不對明文字母進行變換,只是將明文字母的次序重新進行排列。
其破譯的第一步是判斷密碼類型,檢查文中e、t、o、a、u、i等字母的出現頻率,如果符合自然語言特徵,則說明密文是用換位密碼寫的。第二步是猜測密鑰的長度,即列數。第三步是確定各列的順序。
秘密密鑰算法
使用極其複雜的加密算法,即使破譯者能夠對選擇的任意數量的明文進行加密,也無法找出破譯密文的方法。秘密密鑰的一個弱點是解密密鑰必須和加密密碼相同,這就產生了如何安全地分發密鑰的問題。
公開密鑰算法
滿足三個條件:第一個條件是指將解密算法作用於密文後就可以獲得明文;第二個條件是指不可能從密文導出解密算法;第三個條件是指破譯者即使能加密任意數量的選擇明文,也無法破譯密碼。如果滿足以上條件,則可以公開加密算法。