密鑰是一種參數(它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的數據),加密演算法是明文轉換成密文的變換函數,同樣的密鑰可以用不同的加密演算法,得到的密文就不一樣了。
舉個很簡單的例子,比如凱撒密碼,就是將字母循環後移n位,這個n就是一個密鑰,循環後移的方法叫做演算法,雖然用的是相同的演算法,但是對明文用不同的密鑰加密的結果不一樣。
比如Run用Key=1(密鑰)的凱撒密碼,變成Svo,用Key=2(密鑰)加密就成了Twp,所以密鑰和演算法是明顯不同的,再比如現在公鑰密碼體系大多用的RSA演算法,但每個人的密鑰不一樣,密文才不同,一般來說,演算法是公開的,而密鑰是不公開的一個加密演算法正好包含兩個輸入參數,一個是明文,一個是密鑰。
1,秘密密鑰演算法:
使用極其復雜的加密演算法,即使破譯者能夠對選擇的任意數量的明文進行加密,也無法找出破譯密文的方法。秘密密鑰的一個弱點是解密密鑰必須和加密密碼相同,這就產生了如何安全地分發密鑰的問題。
2,公開密鑰演算法:
滿足三個條件:第一個條件是指將解密演算法作用於密文後就可以獲得明文;第二個條件是指不可能從密文導出解密演算法;第三個條件是指破譯者即使能加密任意數量的選擇明文,也無法破譯密碼。如果滿足以上條件,則可以公開加密演算法。
⑵ 凱撒密碼對應表內容是什麼
根據蘇維托尼烏斯的記載,愷撒曾用此方法對重要的軍事信息進行加密: 如果需要保密,信中便用暗號,也即是改變字母順序,使局外人無法組成一個單詞。如果想要讀懂和理解它們的意思,得用第4個字母置換第一個字母,即以D代A,余此類推。
同樣,奧古斯都也使用過類似方式,只不過他是把字母向右移動一位,而且末尾不折回。每當他用密語寫作時,他都用B代表A,C代表B,其餘的字母也依同樣的規則;用A代表Z。
(2)凱撒加密演算法密鑰擴展閱讀:
密碼的使用最早可以追溯到古羅馬時期,《高盧戰記》有描述愷撒曾經使用密碼來傳遞信息,即所謂的「愷撒密碼」,它是一種替代密碼,通過將字母按順序推後起3位起到加密作用,如將字母A換作字母D,將字母B換作字母E。因據說愷撒是率先使用加密函的古代將領之一,因此這種加密方法被稱為愷撒密碼。這是一種簡單的加密方法,這種密碼的密度是很低的,只需簡單地統計字頻就可以破譯。 現今又叫「移位密碼」,只不過移動的為數不一定是3位而已。
⑶ 凱撒演算法是屬於對稱加密演算法嗎
最早的公鑰演算法是有凱撒大帝發明的,所以也叫凱撒演算法,凱撒演算法是很簡單的演算法,它的學名是「單表替換演算法」。就如同這個演算法名稱的字面意思一樣,他把一個字母替換成另一個字母,比如:把 "a" 替換成 "b", "c" 替換成 "d" 以此類推, 直到把 "z" 替換成 "a",這里每個字母都備下一個字母替換,所以密鑰就是1(如果密鑰是2則把 "a" 替換成 "c")。
它不是對稱加密演算法!
⑷ 凱撒加密演算法(最簡單的對稱加密)
凱撒密碼是羅馬擴張時期朱利斯• 凱撒(Julius Caesar)創造的,用於加密通過信使傳遞的作戰命令。它將字母表中的字母移動一定位置而實現加密。例如如果向右移動 2 位,則 字母 A 將變為 C,字母 B 將變為 D,…,字母 X 變成 Z,字母 Y 則變為 A,字母 Z 變為 B。
因此,假如有個明文字元串「Hello」用這種方法加密的話,將變為密文: 「Jgnnq」 。而如果要解密,則只要將字母向相反方向移動同樣位數即可。如密文「Jgnnq」每個字母左移兩位 變為「Hello」 。這里,移動的位數「2」是加密和解密所用的密鑰。
該程序既可用於加密又可用於解密。只要傳入明文和偏移量即可加密,解密需要傳入密文和負的偏移量就可以解密。
輸出的結果:
凱撒密碼由於加解密比較簡單,密鑰總共只有 26 個,攻擊者得到密文後即使不知道密鑰,也可一個一個地試過去,最多試 26 次就可以得到明文。
這里不光根據 offset 偏移進行加密,還加上了字元所在的下標進行混合加密。
輸出的結果:
⑸ 加密演算法和密鑰的作用
一、加密演算法:將原有的明文信息轉化為看似無規律的密文。收信方需要對應的解密密鑰,採用對應的解密方法將密文還原為明文(能看懂有意義的信息)。
二、密鑰分為加密密鑰和解密密鑰,對於「對稱加密演算法」,這兩者是一樣的;而「非對稱加密演算法」的密鑰分為「公開密鑰」和「私有密鑰」,用公開密鑰加密,則需要私有密鑰解密;反之用私有密鑰加密,則需要公開密鑰解密,是可以互換的。
三、現代的計算機加密演算法比較復雜,要弄懂是需要離散數學、高等代數等知識,不可能在這里講明白。
四、以「凱撒移位密碼」這種最古來的簡單密碼來講解什麼是加密演算法和密鑰:
4.1)「凱撒密碼」在《愷撒傳》中有記載,凱撒密碼是將每一個字母用字母表中的該字母後的第三個字母代替。盡管歷史記載的凱撒密碼只用了3個位置的移位,但顯然從1到25個位置的移位我們都可以使用, 因此,為了使密碼有更高的安全性,單字母替換密碼就出現了。
若用每個字母的後11位替換當前字母,可以認為密鑰=11。
如此得到的密碼表為:
明碼表 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z(即26個字母表)
密碼表 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
加密的方法很簡單,就是講明碼字母換成對應的密碼表字母。
如:明文 I LOVE YOU
密文 T WZGP JZF
在當時,這樣簡單的密碼就足夠起到保密作用;但到近代都已經很容易被破解了,更不用說現代有計算機秒破了!
4.2)其他加密演算法
有興趣可以了解更復雜的加密演算法:如近代的「維吉尼亞演算法」,還屬於字母位移加密,好懂!而現代計算機文件深度加密常用的「AES加密演算法」,原理很復雜,需要高等數學等知識才能讀懂。