❶ 單字母替換密碼的破譯方法
加密方式無非是按照一定的數學變換進行加密,比如字母s和e日常出現概率高,那麼換過之後的加密字母概率也很高。至於加密的公式,有軟體可以專門破解。比如Hill加密,利用逆矩陣取模進行變換。相對來說這些都是比較簡單的加密方式,破解多是暴力破解.
如果是凱撒密碼,字母置換是整體位移的,那麼可以看單個成詞的,猜它是I;看3字詞,猜它是the。如果是變種凱撒密碼,字母置換不是位移而是用碼表的,要復雜一點。思路還是詞頻,比如通過上面兩個,可以先猜出3~4個字母,然後代入,代入以後繼續根據更長的單詞的詞頻來猜,循環往復,這樣全部猜完了看讀不讀的通。中間可以結合字頻,比如英文輔音字母當中C出現的比例高等等。
❷ 密碼和數學有什麼關系
很簡單,密碼是由數字組成的,這是一點,外加數學有有很多定理、定義,根據這些,能用合適的方法去推出密碼,另外設置密碼也是離不開數學的,必須用所擁有的數學思維去思考才能想出高難度的密碼。所以密碼和數學是緊密相關的。
❸ 常用的加密演算法有哪些
對稱密鑰加密
對稱密鑰加密 Symmetric Key Algorithm 又稱為對稱加密、私鑰加密、共享密鑰加密:這類演算法在加密和解密時使用相同的密鑰,或是使用兩個可以簡單的相互推算的密鑰,對稱加密的速度一般都很快。
分組密碼
分組密碼 Block Cipher 又稱為「分塊加密」或「塊加密」,將明文分成多個等長的模塊,使用確定的演算法和對稱密鑰對每組分別加密解密。這也就意味著分組密碼的一個優點在於可以實現同步加密,因為各分組間可以相對獨立。
與此相對應的是流密碼:利用密鑰由密鑰流發生器產生密鑰流,對明文串進行加密。與分組密碼的不同之處在於加密輸出的結果不僅與單獨明文相關,而是與一組明文相關。
DES、3DES
數據加密標准 DES Data Encryption Standard 是由IBM在美國國家安全局NSA授權下研製的一種使用56位密鑰的分組密碼演算法,並於1977年被美國國家標准局NBS公布成為美國商用加密標准。但是因為DES固定的密鑰長度,漸漸不再符合在開放式網路中的安全要求,已經於1998年被移出商用加密標准,被更安全的AES標准替代。
DES使用的Feistel Network網路屬於對稱的密碼結構,對信息的加密和解密的過程極為相似或趨同,使得相應的編碼量和線路傳輸的要求也減半。
DES是塊加密演算法,將消息分成64位,即16個十六進制數為一組進行加密,加密後返回相同大小的密碼塊,這樣,從數學上來說,64位0或1組合,就有2^64種可能排列。DES密鑰的長度同樣為64位,但在加密演算法中,每逢第8位,相應位會被用於奇偶校驗而被演算法丟棄,所以DES的密鑰強度實為56位。
3DES Triple DES,使用不同Key重復三次DES加密,加密強度更高,當然速度也就相應的降低。
AES
高級加密標准 AES Advanced Encryption Standard 為新一代數據加密標准,速度快,安全級別高。由美國國家標准技術研究所NIST選取Rijndael於2000年成為新一代的數據加密標准。
AES的區塊長度固定為128位,密鑰長度可以是128位、192位或256位。AES演算法基於Substitution Permutation Network代換置列網路,將明文塊和密鑰塊作為輸入,並通過交錯的若干輪代換"Substitution"和置換"Permutation"操作產生密文塊。
AES加密過程是在一個4*4的位元組矩陣(或稱為體State)上運作,初始值為一個明文區塊,其中一個元素大小就是明文區塊中的一個Byte,加密時,基本上各輪加密循環均包含這四個步驟:
ECC
ECC即 Elliptic Curve Cryptography 橢圓曲線密碼學,是基於橢圓曲線數學建立公開密鑰加密的演算法。ECC的主要優勢是在提供相當的安全等級情況下,密鑰長度更小。
ECC的原理是根據有限域上的橢圓曲線上的點群中的離散對數問題ECDLP,而ECDLP是比因式分解問題更難的問題,是指數級的難度。而ECDLP定義為:給定素數p和橢圓曲線E,對Q=kP,在已知P,Q 的情況下求出小於p的正整數k。可以證明由k和P計算Q比較容易,而由Q和P計算k則比較困難。
數字簽名
數字簽名 Digital Signature 又稱公鑰數字簽名是一種用來確保數字消息或文檔真實性的數學方案。一個有效的數字簽名需要給接收者充足的理由來信任消息的可靠來源,而發送者也無法否認這個簽名,並且這個消息在傳輸過程中確保沒有發生變動。
數字簽名的原理在於利用公鑰加密技術,簽名者將消息用私鑰加密,然後公布公鑰,驗證者就使用這個公鑰將加密信息解密並對比消息。一般而言,會使用消息的散列值來作為簽名對象。
❹ 6至12位數字和字母組成密碼怎麼設
如aabb89。6至12位數字和字母組成的密碼是位數要超過6位,然後需要由字母和數字組合。
如果你用bb99,少於6位,不能設置密碼。如果你用GGHJKL,也不行,都是字母,沒有數字。一定要用數字和字母組合。
密碼的加密方法:
1、替換加密法:用一個字元替換另一個字元的加密方法。
2、換位加密法:重新排列明文中的字母位置的加密法。
3、回轉輪加密法:一種多碼加密法,它是用多個回轉輪,每個回轉輪實現單碼加密。這些回轉輪可以組合在一起,在每個字母加密後產生一種新的替換模式。
4、多碼加密法:一種加密法,其替換形式是:可以用多個字母來替換明文中的一個字母。
5、夾帶法:通過隱藏消息的存在來隱藏消息的方法。
6、其它演算法,如XOR、CA (流加密法)、MD5、SHA1、(流加密法)ElGamal、Diffie-Hellman、新型橢圓曲線演算法ECC(數字簽名、公匙加密法)等。密碼可運用於電腦里的文件保護,防止泄露個人信息。
❺ 什麼叫多字母加密
多字母順序加密的這種演算法的每個字母的後推位次並不相同,假如D代替了A ,並不一定是E取代B。在第二次世界大戰中名聲大震的Enigma自動加密機,也基於這個原理工作。
相對而言:
羅馬的將軍們用字母後推3位的方法加密往來的信函。比如,用D來代替A,E代替B,以此類推。這個單一字母順序加密法,直到九世紀才被阿拉伯的學者通過不斷的分析破解。
http://www.chip.cn/index.php?option=com_content&view=article&id=3040:2010-09-01-07-23-41&catid=5:news-remarks&Itemid=13
時間之旅:天書奇譚-加密篇
導言:每個人都在問這個問題:你能保密碼?2500年來,統治者、保密機構和密碼破譯家一直尋找著答案。
一直以來,加密技術都應用於政治領域。現如今,每個人在網上沖浪、收發email或者使用網上銀行的時候,都要用到加密演算法。加密能避免「竊聽」事件的發生,如果沒有加密演算法,互聯網或許不會是今天這個樣子。
現代數據加密演算法的原理仍基於羅馬帝國的凱撒與他的將軍們聯系所使用的加密方法,它的原理基於凱撒時代的字母表。羅馬的將軍們用字母後推3位的方法加密往來的信函。比如,用D來代替A,E代替B,以此類推。這個單一字母順序加密法,直到九世紀才被阿拉伯的學者通過不斷的分析破解。然而,法國人Blaise de Vigenère的多字母順序加密就不那麼容易破解了,這種演算法的每個字母的後推位次並不相同,假如D代替了A ,並不一定是E取代B。在第二次世界大戰中名聲大震的Enigma自動加密機,也基於這個原理工作。
計算機時代的到來,使得這一切都發生了改變。伴隨著不斷上升的處理能力,演算法變得越來越復雜,「攻擊」也變得越來越高效。此後,密碼破譯家便遵循Kerckhoffs原則,一個密碼系統應該是安全的,即使該系統的一切,除了密鑰,都可以作為公共知識。這種「開源」理念的好處是,任何人都可以試驗這種加密演算法的優劣。
用於科學研究目的的攻擊是可取的。如果攻擊是成功的,一個更好的演算法便有了用武之地。在1998年,數據加密標准(DES)的命運便是如此,它曾是美國當局首選的加密方法。密鑰的長度只有短短的56位,如果使用強力攻擊,很快便可破解。
DES 的繼任者從競爭中勝出,Rijndael演算法贏得了最後的勝利。美國國家標准技術研究所(NIST)選擇Rijndael作為美國政府加密標准(AES)的加密演算法,該演算法使用128位密鑰,適用WLAN,能夠勝任藍光加密。然而,這么經典的對稱演算法對於網路通訊還是不夠安全。發送者和接收者使用相同的密鑰加密和解密。任何人都可以截獲密鑰,因為它並未加密。
發明於上世紀70年代的非對稱加密法幫助解決了這個問題。接收者生成公共密鑰和私人密鑰兩個部分,他將公共密鑰發送給那些需要向他發送加密信息的人。公共密鑰可以加密文件,但是這些文件需要私人密鑰才能解碼。這一演算法的缺點是:密鑰對需要兩組大的原始數字生成,非常耗時。對網路銀行等個人業務,對稱法和非對稱法組合使用的方法是有效的。信息部分使用對稱法加密,但密鑰應採用非對稱法加密。
當量子電腦有足夠的能力使用強力攻擊破解128位的密鑰的時候,非對稱加密法就不安全了。量子密碼學利用物理學原理保護信息,以量子為信息載體,經由量子信道傳送,在合法用戶之間建立共享的密鑰,它的安全性由「海森堡測不準原理」及「單量子不可復制定理」保證。
加密史
400v.Chr. Skytale(天書)
時間之旅:天書奇譚-加密篇
Skytale 就是一種加密用的、具有一定粗細的棍棒或權杖。斯巴達人把重要的信息纏繞在Skytale上的皮革或羊皮紙之後,再把皮革或羊皮紙解下來,這樣就能有效地打亂字母順序。只有把皮(紙)帶再一點點卷回與原來加密的Skytale同樣粗細的棍棒上後,文字信息逐圈並列在棍棒的表面,才能還原出本來的意思。
50v.Chr. 凱撒密碼
時間之旅:天書奇譚-加密篇
羅馬的統治者將字母後推3個位次加密,這就是今天廣為人知的單一字母加密法。
1360 Alphabetum Kaldeorum
時間之旅:天書奇譚-加密篇
奧地利的Rudolf 四世發明了中世紀最受歡迎的加密法,他甚至在墓碑上也使用它。
1467 加密碟
時間之旅:天書奇譚-加密篇
這個工具使得單一字母加密法的字母取代簡單化。
1585 維熱納爾密碼(Vigenère)
法國外交家Blaise de Vigenère發明了一種方法來對同一條信息中的不同字母用不同的密碼進行加密,這種多字母加密法在誕生後300年內都沒能被破解。
1854 Charles Babbage
時間之旅:天書奇譚-加密篇
計算機的發明者,據說是他第一個破解了維熱納爾代碼,人們在檢查他的遺物時發現了這一破解方法。
1881 Kerkhoff原則
時間之旅:天書奇譚-加密篇
這以後,加密演算法的安全性不再取決於演算法的保密,而是密鑰的保密。
1918 Enigma和一次性密鑰
時間之旅:天書奇譚-加密篇
Enigma是著名的德國加密機,為每個字母生成取代位次。在很長的一段時間內,都被認為是無法破解的。
一次性密鑰在數學上是安全的:使用編碼手冊,為每個文本使用不用的加密方式——在冷戰時期,間諜常使用此工具。
1940 Tuning-Bombe
時間之旅:天書奇譚-加密篇
這個機器由Alan Turking 發明,用於破解Enigma加密機。它包含了多個相互配合使用的Enigma設備。
1965 Fialka
時間之旅:天書奇譚-加密篇
東歐的「Enigma」,一直使用到柏林牆倒塌。自1967起被為認為不再安全。
1973 公共密鑰
英國智囊機構的3個軍官首先開發了非對稱加密。直到1997年才被揭秘。
1976 DES
時間之旅:天書奇譚-加密篇
IBM與NASA合作,為美國官方開發了數據加密標准。然而,評論家發現了將密鑰長度從128位降低到56位這一該演算法的瑕疵。
1977 RSA
時間之旅:天書奇譚-加密篇
Rivest、Shamir 和Adelman三人發明了可靠的非對稱加密法。目前,它主要用於郵件加密和數字簽名等場合。
1998 深度破解
時間之旅:天書奇譚-加密篇
電子國界基金會有一台擁有1800個處理器的計算機,它通過蠻力破解了DES加密法。
2000 AES
時間之旅:天書奇譚-加密篇
DES的繼任者,Rijndael演算法在公開競爭中取勝。高級加密標準是最為廣泛應用的對稱加密手段。
2008 量子密碼網路 DES
使用量子密碼保護的光纖網路在維也納首次展示。
2030未來趨勢:量子計算機
時間之旅:天書奇譚-加密篇
❻ 我記得有一種加密方法,就是選取一個字母組合作為開始,按照這個字母的順序,對應於,ABCDEFG等等。
是叫摩爾斯密碼(不確定誒)
❼ 數學密碼有哪些
軍事學概述、射擊學、彈道學、內彈道學、外彈道學、中間彈道學、終點彈道學、導彈彈道學、軍事地理學、軍事地形學、軍事工程學、軍事氣象學、軍事醫學、軍事運籌學、戰役學、密碼學、化學戰 密碼學(Cryptology)一字源自希臘文"krypto's"及"logos"兩字,直譯即為"隱藏"及"訊息"之意。而其使用, 可以追溯到大約四千年前。公元二千年,埃及人就將祭文刻在墓碑上。之後人們都是以書寫在紙張上的方式, 用來傳秘密訊息。在二次大戰中,密碼更是扮演一個舉足輕重的角色,許多人認為同盟國之所以能打贏這場 戰爭完全歸功於二次大戰時所發明的破譯密文數位式計算機破解德日密碼。西元1949年,Shannon提出第一篇 討論密碼系統通訊理論之論文,近代密碼學可說是濫觴於斯。直至西元1975年,Diffie與Hellman提出公開金 匙密碼系統之觀念,近代密碼學之研究方向,正式脫離秘密金匙密碼系統之窠臼,蓬勃發展,至今已近二十年。 發展至今,已有二大類的密碼系統。第一類為對稱金鑰(Symmetric Key)密碼系統,第二類為非對稱金鑰(Public Key) 密碼系統。 首先密碼學是由萬維網的嬉皮士所研究,而且涉及鑰匙傳送問題。60年代�6�8請保安傳送鑰匙;70年初,發 現這個不是好辨法,費時浪費時間。 1965年,美國史丹福大學電機工程系--默克爾、迪菲、赫爾曼等三人研究密碼學可惜並未有所發現。 另外在英國通訊電子保安組(CESG)秘密機構的切爾納姆發現了還原密碼式,但是由於屬於秘密機構,所以 不能公開。直到1977年麻省理工研究生--里夫斯,阿德曼發現和切爾曼差不多的式。他們成立RSA Security Company (RSA是他們名字的字頭)現時值25億美元,在傳送信用卡時起了很大作用。RSA已安裝了5億套產品在 IE , Netscape下的小鎖就是RSA的產品。數學掛銷第一個發現不是美國,但�是第一個公開。數學掛鎖上鎖易, 還原難,所以受廣泛使用,亦即是信息編碼保密。 數學掛鎖泛例: 數學掛鎖用單向式:N=pxq <--例子 N(合成數)=兩個質數的乘 11x17=187=N 還原單向式公式:C=Me(mod N) *e是M的次數,因為在記事本中打不到* M*13*(mod 187)=C *13是M的次數* c=165 x=88 (password kiss) 88*13*(mod 187)=165 *13是88的次數* modN=M C*1/e*mod(p-1)(q-1)=88 C=165 p=11 q=17 answer:mod 187=88 一般有兩種類型密碼學被使用: symmetric key (對稱性的鑰匙) 和 public key (公開的鑰匙)(也叫 非對稱的鑰匙) 密碼學. 舉一個簡單的對稱的鑰匙密碼學的範例, 假想從朋友處收到一個通知. 你和你的朋友同意來加解密你們的訊息, 你們將使用下列演演算法: 每個字母將會上移三個字母, 例如 A=C, B=D, 而 Y 和 Z 轉一圈回到 A 和 B, 這個方程式 ("每個字母上移三個字母") 就是送信者使用來加密訊息的鑰匙; 而收信者使用相同的鑰匙來解密 . 任何人如果沒有鑰匙就不能夠讀此訊息. 因為相同的鑰匙視同實用來加密及解密訊息, 這個方法是一個 對稱鑰匙 的演演算法. 這類的密碼學及是我們所知的秘密鑰匙密碼學,因為此鑰匙 必須被秘密保存於送信者和收信者,以保護資料的完整性. 非對稱性密碼學 非對稱性或公開的鑰匙 密碼學, 不同於對稱性的 密碼學, 在於其加密鑰匙只適用於單一使用者. 鑰匙被分為兩個部分: 一把私有的鑰匙, 僅有使用者才擁有. 一把公開的鑰匙, 可公開發行配送,只要有要求即取得. 每支鑰匙產生一個被使用來改變內文的功能. 私有的鑰匙 產生一個 私有改變內文的功能,而公開的鑰匙 產生一個 公開改變內文的功能. 這些功能是反向相關的, 例如., 如果一個功能是用來加密訊息,另外一個功能則被用來解密訊息.不論此改變內文功能的次序為何皆不重要. 公開的鑰匙系統的優勢是兩個使用者能夠安全的溝通而不需交換秘密鑰匙. 例如, 假設一個送信者需要傳送一個信息給一個收信者, 而信息的秘密性是必要的, 送信者以收信者的公開的鑰匙來加密,而僅有收信者的私有的鑰匙能夠對此信息解密. 公開的鑰匙密碼學是非常適合於提供認證,完整和不能否認的服務, 所有的這些服務及是我們所知的數位簽名. 相關網站 密碼學二 基本原理的密碼法,可以分成兩種:移位法(transposition)和替代法(substitution), 移位法就是將訊息裡面的文字,根據一定的規則改變順序,這種方法,在文字數量很大的時候, 便可以顯示出他的優勢,例如"Hello World"才不過10個字母便可以有11708340914350080000種排列的方式。 另外一種方法,就是替代法,還可以分成兩種,一種是單字替代,一種是字母替代,兩種的原理是一樣的, 就是利用文字相對順序的對應,來改變原來的文章,以英文為例,我們可以把英文字母往後移動三個位置,即: 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 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 泛例: Hello World How are you khoor zruog krz h brx 這句話就變的難以辨認了,而且如果發信人收信人有協定好的話,那還可以把文字之間的空白刪除,反正翻譯回來的時候, 可以靠文句的意思,來推測斷句斷字的時機。 而單字替代,則是以每個單字,都去換成另外一個相對應的單字,這樣來改寫原文, 變成一個無法辨認其意義的加密文件。 移位法當然不只限於一種,光是英文字母不考慮大小寫,就可以有25種互異的方法,每種密碼法,都可視為一種加密法, 我們稱為演演算法(algorithm),和一把鑰匙(KEY)的組合結果。鑰匙是用來指定加密程序的演算細節。以移位法為例, 演演算法是只以密碼字母集里的字母,取代明文字母集裡面的字母,鑰匙便是收發信人定義的密碼字母集。 整個密碼學發展的程序,辨識找尋新的演演算法,和保護鑰匙避免被解密者發現的程序,鑰匙在密碼學中非常重要,因為即使演演算法相同或太簡單, 沒有加密的鑰匙的話,我們仍然很難去破解加密的文件。以單純的英文字母,不單純的平移,而用一個字母一個字母互換的話,不考慮大小寫, 就有403291461126605635584000000種不同的鑰匙必須要去測試,才可以得到原來的明文。 密碼學的應用 1. 數位簽章(Digital Signature): 這是以密碼學的方法,根據EDI訊息的內容和發信人的私鑰(Private Key)所產生的電子式簽名。除非擁有該把私鑰,任何人都無法產生該簽名,因此比手寫式的簽名安全許多。 收信人則以發信人的公鑰進行數位簽章的驗證。 2. 數位信封(Digital Envelope): 這是以密碼學的方法,用收信人的公鑰對某些機密資料進行加密,收信人收到後再用自己的私鑰解密而讀取機密資料。除了擁有該私鑰的人之外, 任何人即使拿到該加密過的訊息都無法解密,就好像那些資料是用一個牢固的信封裝好,除了收信人之外,沒有人能拆開該信封。 3. 安全回條: 收信人依據訊息內容計算所得到的回覆資料,再以收信人的私鑰進行數位簽章後送回發信人,一方面確保收信人收到的訊息內容正確無誤, 另一方面也使收信人不能否認已經收到原訊息。 4. 安全認證: 每個人在產生自己的公鑰之後,向某一公信的安全認證中心申請注冊,由認證中心負責簽發憑證(Certificate),以保證個人身份與公鑰的對應性與正確性 量子密碼學(Jennewein et al., Quantum Cryptography with EntangledPhotons, Physical Review Letters, May 15, 2000, Vol 84, Iss 20, pp. 4729-4732) 三個獨立研究機構首次實驗證明利用量子幽靈式的特性來建構密碼之可行性, 這項研究提供未來對付電腦駭客的防犯之道. 在這個最新--也是最安全--的資料加密解密架構(即量子密碼學)中,研究者是採用一對 entangled光子, 而這對粒子即使相隔遠距離的情況下,仍有密切的互動關系. entanglement-based 的量子密碼學具有唯一的, 不可被竊聽的傳輸特性, 如果有偷聽者想竊取資料, 也很容易的可以監測出來. 簡而言之, entanglement process 可以建立完整的, 隨機的 0與 1 序列提供兩端使用者傳輸資料, 如果有駭客從中擷取資料, 那麼這個訊息序列將被改變, 用戶就會發現有竊聽者, 並授權放棄被竊聽的資料. 這種數位隨機序列, 或稱 "金鑰匙", 再和資料進行計算 (如互斥或閘 XOR), 即加密程序, 使得這資料串形成一完全隨機序列, 這方法就是已知的 one-time pad cipher. 同理, 接收端也是靠著金鑰匙來進行解密程序. 在研究中, Los Alamos 研究者模擬一位竊聽者竊取傳輸資料, 成功地被偵測出來, 並授權用戶放棄被竊取的資料. 而在澳洲的研究團隊, 則建立了一公里長的光纖來連接兩個完全獨立的傳輸, 接收站來驗證 entangled 密碼理論, 他們建立了金鑰匙並成功的傳輸 Venus 影像. 同時, 在 University of Geneva 團隊建構超過數公里的光纖, 並使用光子頻率來驗證entangled 密碼理論. 在這些實驗中, 雖然他們的傳輸速率較慢, 但 entanglement-based 密碼理論在未來極有可能超越non-entangled 量子密碼理論, 不僅是傳輸速率, 而且在預防資料被竊取方面, 所需要的額外光子也比較少.
❽ 數字與字母組合的密碼
密碼必須6-20位字母、數字結合的意思就是:大寫字元[A-Z]、小寫字元[a-z]、數字[0-9]這三組集合中選擇6到20個元素來組成密碼。
因為單純的字母或數字,密碼強度比較低,容易被破解,所以需要採用數字和字母的組合形式來提高密碼強度。「弱密碼」是指有規律、容易被猜測到的密碼,在6位密碼的情況下,弱密碼包括:6位密碼一樣、6位密碼遞減、6位密碼遞增等)。
如:密碼為某一個數字組成(例:888888或666666)或由某一組數字順序或倒序排列組成(例:012345或987654)。「12345678」、「111111」、「abcdefg」、「asdf」、「qwer」鍵盤上的相鄰字母,這樣得密碼設置強度比較低,很容易被窮舉破解。
(8)字母加密方法有哪些和數學有關擴展閱讀:
弱密碼主要有以下幾種:
1、順序或重復的字元:「12345678」、「111111」、「abcdefg」、「asdf」、「qwer」鍵盤上的相鄰字母;
2、使用數字或符號的僅外觀類似替換,例如使用數字「1」、「0」替換英文字母「i」、「O」,字元「@」替換字母「a」等;
3、登錄名的一部分:密碼為登錄名的一部分或完全和登錄名相同;
4、常用的單詞:如自己和熟人的名字及其縮寫,常用的單詞及其縮寫,寵物的名字等;
5、常用數字:比如自己或熟人的生日、證件編號等,以及這些數字與名字、稱號等字母的簡單組合。
❾ 傳統的加密方法有哪些
本文只是概述幾種簡單的傳統加密演算法,沒有DES,沒有RSA,沒有想像中的高端大氣上檔次的東東。。。但是都是很傳統很經典的一些演算法
首先,提到加密,比如加密一段文字,讓其不可讀,一般人首先會想到的是將其中的各個字元用其他一些特定的字元代替,比如,講所有的A用C來表示,所有的C用E表示等等…其中早的代替演算法就是由Julius Caesar發明的Caesar,它是用字母表中每個字母的之後的第三個字母來代替其本身的(C=E(3,p)=(p+3) mod 26),但是,這種加密方式,很容易可以用窮舉演算法來破解,畢竟只有25種可能的情況..
為了改進上訴演算法,增加其破解的難度,我們不用簡單的有序的替代方式,我們讓替代無序化,用其中字母表的一個置換(置換:有限元素的集合S的置換就是S的所有元素的有序排列,且每個元素就出現一次,如S={a,b}其置換就只有兩種:ab,ba),這樣的話,就有26!種方式,大大的增加了破解的難度,但是這個世界聰明人太多,雖然26!很多,但是語言本身有一定的特性,每個字母在語言中出現的相對頻率可以統計出來的,這樣子,只要密文有了一定數量,就可以從統計學的角度,得到准確的字母匹配了。
上面的演算法我們稱之為單表代替,其實單表代替密碼之所以較容易被攻破,因為它帶有原始字母使用頻率的一些統計學特徵。有兩種主要的方法可以減少代替密碼里明文結構在密文中的殘留度,一種是對明文中的多個字母一起加密,另一種是採用多表代替密碼。
先說多字母代替吧,最著名的就是playfair密碼,它把明文中的雙字母音節作為一個單元並將其轉換成密文的雙字母音節,它是一個基於由密鑰詞構成的5*5的字母矩陣中的,一個例子,如密鑰為monarchy,將其從左往右從上往下填入後,將剩餘的字母依次填入剩下的空格,其中I/J填入同一個空格:
對明文加密規則如下:
1 若p1 p2在同一行,對應密文c1 c2分別是緊靠p1 p2 右端的字母。其中第一列被看做是最後一列的右方。
2 若p1 p2在同一列,對應密文c1 c2分別是緊靠p1 p2 下方的字母。其中第一行被看做是最後一行的下方。
3 若p1 p2不在同一行,不在同一列,則c1 c2是由p1 p2確定的矩形的其他兩角的字母,並且c1和p1, c2和p2同行。
4 若p1 p2相同,則插入一個事先約定的字母,比如Q 。
5 若明文字母數為奇數時,則在明文的末端添加某個事先約定的字母作為填充。
雖然相對簡單加密,安全性有所提高,但是還是保留了明文語言的大部分結構特徵,依舊可以破解出來,另一個有意思的多表代替密碼是Hill密碼,由數學家Lester Hill提出來的,其實就是利用了線性代數中的可逆矩陣,一個矩陣乘以它的逆矩陣得到單位矩陣,那麼假設我們對密文每m個字母進行加密,那麼將這m個字母在字母表中的序號寫成矩陣形式設為P(如abc,[1,2,3]),密鑰就是一個m階的矩陣K,則C=P*K mod26,,解密的時候只要將密文乘上K的逆矩陣模26就可以了。該方法大大的增加了安全性。
❿ 一種普通的語言或字母加密方法
密碼的使用最早可以追溯到古羅馬時期,《高盧戰記》有描述愷撒曾經使用密碼來傳遞信息,即所謂的「愷撒密碼」,它是一種替代密碼,通過將字母按順序推後起3位起到加密作用,如將字母A換作字母D,將字母B換作字母E。因據說愷撒是率先使用加密函的古代將領之一,因此這種加密方法被稱為愷撒密碼。這是一種簡單的加密方法,這種密碼的密度是很低的,只需簡單地統計字頻就可以破譯。 現今又叫「移位密碼」,只不過移動的為數不一定是3位而已。
密碼術可以大致別分為兩種,即易位和替換,當然也有兩者結合的更復雜的方法。在易位中字母不變,位置改變;替換中字母改變,位置不變。
將替換密碼用於軍事用途的第一個文件記載是愷撒著的《高盧記》。愷撒描述了他如何將密信送到正處在被圍困、瀕臨投降的西塞羅。其中羅馬字母被替換成希臘字母使得敵人根本無法看懂信息。
蘇托尼厄斯在公元二世紀寫的《愷撒傳》中對愷撒用過的其中一種替換密碼作了詳細的描寫。愷撒只是簡單地把信息中的每一個字母用字母表中的該字母後的第三個字母代替。這種密碼替換通常叫做愷撒移位密碼,或簡單的說,愷撒密碼。
盡管蘇托尼厄斯僅提到三個位置的愷撒移位,但顯然從1到25個位置的移位我們都可以使用, 因此,為了使密碼有更高的安全性,單字母替換密碼就出現了。
如:
明碼表 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
密碼表 Q W E R T Y U I O P A S D F G H J K L Z X C V B N M
明文 F O R E S T
密文 Y G K T L Z
只需重排密碼表二十六個字母的順序,允許密碼表是明碼表的任意一種重排,密鑰就會增加到四千億億億多種,我們就有超過4×1027種密碼表。破解就變得很困難。
如何破解包括愷撒密碼在內的單字母替換密碼?
方法:字母頻度分析
盡管我們不知道是誰發現了字母頻度的差異可以用於破解密碼。但是9世紀的科學家阿爾·金迪在《關於破譯加密信息的手稿》對該技術做了最早的描述。
「如果我們知道一條加密信息所使用的語言,那麼破譯這條加密信息的方法就是找出同樣的語言寫的一篇其他文章,大約一頁紙長,然後我們計算其中每個字母的出現頻率。我們將頻率最高的字母標為1號,頻率排第2的標為2號,第三標為3號,依次類推,直到數完樣品文章中所有字母。然後我們觀察需要破譯的密文,同樣分類出所有的字母,找出頻率最高的字母,並全部用樣本文章中最高頻率的字母替換。第二高頻的字母用樣本中2號代替,第三則用3號替換,直到密文中所有字母均已被樣本中的字母替換。」
以英文為例,首先我們以一篇或幾篇一定長度的普通文章,建立字母表中每個字母的頻度表。
在分析密文中的字母頻率,將其對照即可破解。
雖然設密者後來針對頻率分析技術對以前的設密方法做了些改進,比如說引進空符號等,目的是為了打破正常的字母出現頻率。但是小的改進已經無法掩蓋單字母替換法的巨大缺陷了。到16世紀,最好的密碼破譯師已經能夠破譯當時大多數的加密信息。
局限性:
短文可能嚴重偏離標准頻率,加入文章少於100個字母,那麼對它的解密就會比較困難。
而且不是所有文章都適用標准頻度:
1969年,法國作家喬治斯·佩雷克寫了一部200頁的小說《逃亡》,其中沒有一個含有字母e的單詞。更令人稱奇的是英國小說家和拼論家吉爾伯特·阿代爾成功地將《逃亡》翻譯成英文,而且其中也沒有一個字母e。阿代爾將這部譯著命名為《真空》。如果這本書用單密碼表進行加密,那麼頻度分析破解它會受到很大的困難。
一套新的密碼系統由維熱納爾(Blaise de Vigenere)於16世紀末確立。其密碼不再用一個密碼表來加密,而是使用了26個不同的密碼表。這種密碼表最大的優點在於能夠克制頻度分析,從而提供更好的安全保障。
「愷撒密碼」據傳是古羅馬愷撒大帝用來保護重要軍情的加密系統。它是一種替代密碼,通過將字母按順序推後起3位起到加密作用,如將字母A換作字母D,將字母B換作字母E。據說愷撒是率先使用加密函的古代將領之一,因此這種加密方法被稱為愷撒密碼。
假如有這樣一條指令:
RETURN TO ROME
用愷撒密碼加密後就成為:
UHWXUA WR URPH
如果這份指令被敵方截獲,也將不會泄密,因為字面上看不出任何意義。
這種加密方法還可以依據移位的不同產生新的變化,如將每個字母左19位,就產生這樣一個明密對照表:
明: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
密:T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
在這個加密表下,明文與密文的對照關系就變成:
明文:THE FAULT, DEAR BRUTUS, LIES NOT IN OUR STARS BUT IN OURSELVES.
密文:MAX YTNEM, WXTK UKNMNL, EBXL GHM BG HNK LMTKL UNM BG HNKLXEOXL.
很明顯,這種密碼的密度是很低的,只需簡單地統計字頻就可以破譯。於是人們在單一愷撒密碼的基礎上擴展出多表密碼,稱為「維吉尼亞」密碼。它是由16世紀法國亨利三世王朝的布萊瑟·維吉尼亞發明的,其特點是將26個愷撒密表合成一個,見下表:
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
A 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
B 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 A
CC D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K K 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
L 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
M 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 L
N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z Z 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
維吉尼亞密碼引入了「密鑰」的概念,即根據密鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。假如以上面第一行代表明文字母,左面第一列代表密鑰字母,對如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
當選定RELATIONS作為密鑰時,加密過程是:明文一個字母為T,第一個密鑰字母為R,因此可以找到在R行中代替T的為K,依此類推,得出對應關系如下:
密鑰:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
歷史上以維吉尼亞密表為基礎又演變出很多種加密方法,其基本元素無非是密表與密鑰,並一直沿用到二戰以後的初級電子密碼機上。