導航:首頁 > 文檔加密 > 棋盤密碼加密的原理

棋盤密碼加密的原理

發布時間:2024-04-18 23:46:13

㈠ 請問有誰知道古代密碼學的發展過程

密碼的使用可以追朔到古埃及時期,在那時有一種現在昌吵伏被稱為「棋盤密碼」的加密方法。

其原理如下:

在通信雙方,掌握著相同的m*n列矩陣,在該矩陣中保存著所要加密的字元組成的字元集,加密時找到相應的明文字元,然後記下行號與列號。

不斷重復上述過程,直到查完所有明文字元,這樣就可以得到以行號與列號組成的一個數字序列c。

接受方接受到該數字序列c,不斷從該序列中取出行號與列號,然後在m*n列矩陣中查找出對應行、列的字元。

顯然,由於雙方擁有相同的矩陣,故能夠保證接受者可以從密文中還原出明文。

在這種加密方法中,密鑰顯然就是那個矩陣。

對於這種加密方法,相必有許多讀者已從一些小說中見到。

在計算機上又如何實現這種密碼呢?我相信不用說,大家都已想到該怎麼做了。

對,實質上就是重新映射計算機上的字元集。

而那個映射表就是密鑰。

說到底,其實這種加密方法就是一個單表置換加密(在以後會討論到這種加密方法的)。

對於單表置換加密可通過頻率統計方法進行破譯,因此,這是一種不安全的加密方法。

密碼學作為保護信息的手段,經歷了三個發展時期。

它最早應用在軍事和外交領域,隨著科技的發展而逐漸進入人們的生活中。

在手工階段,人們只需通過紙和筆對字元進行加密。

密碼學的歷史源遠流長,人類對密碼的使用可以追溯到古巴比倫時代。

下圖的Phaistos圓盤是一種直徑約為160mm的粘土圓盤,它始於公元前17世紀,表面有明顯字間空格的字母。

近年有研究學家認為它記錄著某種古代天文歷法,但真相仍是個迷。

隨著工業革命的興起,密碼學也進入了機器時代、電子時代。

與人手操作相比電子密碼機使用了更優秀復雜的加密手段,同時也擁有更高的加密解密效率。

其中最具有代表性的就是下圖所示的ENIGMA。

ENIGMA是德國在1919年發明的一種加密電子器,它被證明是有史以來最可靠的加密系統之一。

二戰期間它開始被德軍大量用於鐵路、企業當中,令德軍保密通訊技術處於領先地位。

在這個時期雖然加密設備有了很大的進步,但是密碼學的理論卻沒有多大的改變,加密的主要手段仍是--替代和換位。

計算機的出現使密碼進行高度復雜的運算成為可能。

直到1976年,為了適應計算機網路通信和商業保密要求產生的公開密鑰密碼理論,密碼學才在真正意義上取得了重大突破,進入近代密碼學階段。

近代密碼學改變了古典密碼學單一的加密手法,融入了大量的數論、幾何、代數等豐富知識,使密碼學得到更蓬勃的發展。

到了現在,世界各國仍然對密碼的研究高度重視,已經發展到了現代密碼學時期。

密碼學已經成為結合物理、量子力學、電子學、語言學等多個專業的綜合科學,出現了如「量子密碼」、「混沌密碼」等先進理論,在信息安全中起著十分重要的角色。

希臘斯巴達出現原始的密碼器,用一條帶子纏繞在一根木棍上,沿木棍縱軸方向寫好明文,解下來的帶子上就只有雜亂無章的密文字母。

解密者只需找到相同直徑的木棍,再把帶子纏上去,沿木棍縱軸方向即可讀出有意義的明文。

這是最早的換位密碼術。

公元前1世紀,著名的愷撒(Caesar)密碼被用於高盧戰爭中,這是一種簡單易行的單字母替代密碼。

公元9世紀, *** 的密碼學家阿爾·金迪(al' Kindi 也被稱為伊沙克 Ishaq,(801?~873年),同時還是天文學家、哲學家、化學家和音樂理論家)提出解密的頻度分析方法,通過分析計算密文字元出現的頻率破譯密碼。

公元16世紀中期,義大利的數學家卡爾達諾(G.Cardano,1501—1576)發明了卡爾達諾漏格板,覆蓋在密文上,可從漏格耐攜中讀出明文,這是較早的一種分置式密碼。

公元16世紀晚期,英國的菲利普斯(Philips)利用頻度分析法成功破解蘇格蘭女王瑪麗的密碼信,信中策劃暗殺英國女王伊麗莎白,這次解密將瑪麗送上了斷頭台。

幾乎在同一時期,法國外交官維熱納爾(或譯為維瓊內爾) Blaise de Vigenere(1523-1596)提出著名的維熱納爾方陣密表和維熱納爾密碰睜碼(Vigenerecypher),這是一種多表加密的替代密碼,可使阿爾—金迪和菲利普斯的頻度分析法失效。

公元1863,普魯士少校卡西斯基(Kasiski)首次從關鍵詞的長度著手將它破解。

英國的巴貝奇(Charles Babbage)通過仔細分析編碼字母的結構也將維熱納爾密碼破解。

公元20世紀初,第一次世界大戰進行到關鍵時刻,英國破譯密碼的專門機構「40號房間」利用繳獲的德國密碼本破譯了著名的「齊默爾曼電報」,促使美國放棄中立參戰,改變了戰爭進程。

大戰快結束時,准確地說是1918年,美國數學家吉爾伯特·維那姆發明一次性便箋密碼,它是一種理論上絕對無法破譯的加密系統,被譽為密碼編碼學的聖杯。

但產生和分發大量隨機密鑰的困難使它的實際應用受到很大限制,從另一方面來說安全性也更加無法保證。

第二次世界大戰中,在破譯德國著名的「恩格瑪(Enigma)」密碼機密碼過程中,原本是以語言學家和人文學者為主的解碼團隊中加入了數學家和科學家。

電腦之父亞倫·圖靈(Alan Mathison Turing)就是在這個時候加入了解碼隊伍,發明了一套更高明的解碼方法。

同時,這支優秀的隊伍設計了人類的第一部電腦來協助破解工作。

顯然,越來越普及的計算機也是軍工轉民用產品。

美國人破譯了被稱為「紫密」的日本「九七式」密碼機密碼。

靠前者,德國的許多重大軍事行動對盟軍都不成為秘密;靠後者,美軍炸死了偷襲珍珠港的元兇日本艦隊總司令山本五十六。

同樣在二次世界大戰中,印第安納瓦霍土著語言被美軍用作密碼,從吳宇森導演的《風語者》Windtalkers中能窺其一二。

所謂風語者,是指美國二戰時候特別征摹使用的印第安納瓦約(Navajo)通信兵。

在二次世界大戰日美的太平洋戰場上,美國海軍軍部讓北墨西哥和亞歷桑那印第安納瓦約族人使用約瓦納語進行情報傳遞。

納瓦約語的語法、音調及詞彙都極為獨特,不為世人所知道,當時納瓦約族以外的美國人中,能聽懂這種語言的也就一二十人。

這是密碼學和語言學的成功結合,納瓦霍語密碼成為歷史上從未被破譯的密碼。

1975年1月15日,對計算機系統和網路進行加密的DES(Data Encryption Standard數據加密標准)由美國國家標准局頒布為國家標准,這是密碼術歷史上一個具有里程碑意義的事件。

1976年,當時在美國斯坦福大學的迪菲(Diffie)和赫爾曼(Hellman)兩人提出了公開密鑰密碼的新思想(論文"New Direction in Cryptography"),把密鑰分為加密的公鑰和解密的私鑰,這是密碼學的一場革命。

1977年,美國的里維斯特(Ronald Rivest)、沙米爾(Adi Shamir)和阿德勒曼(Len Adleman)提出第一個較完善的公鑰密碼體制——RSA體制,這是一種建立在大數因子分解基礎上的演算法

1985年,英國牛津大學物理學家戴維·多伊奇(David Deutsch)提出量子計算機的初步設想,這種計算機一旦造出來,可在30秒鍾內完成傳統計算機要花上100億年才能完成的大數因子分解,從而破解RSA運用這個大數產生公鑰來加密的信息。

同一年,美國的貝內特(Ben)根據他關於量子密碼術的協議,在實驗室第一次實現了量子密碼加密信息的通信。

盡管通信距離只有30厘米,但它證明了量子密碼術的實用性。

㈡ 十大常見密碼加密方式

一、密鑰散列

採用MD5或者SHA1等散列演算法,對明文進行加密。嚴格來說,MD5不算一種加密演算法,而是一種摘要演算法。無論多長的輸入,MD5都會輸出一個128位(16位元組)的散列值。而SHA1也是流行的消息摘要演算法,它可以生成一個被稱為消息摘要的160位(20位元組)散列值。MD5相對SHA1來說,安全性較低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。

二、對稱加密

採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密。對稱加密演算法中常用的演算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。

三、非對稱加密

非對稱加密演算法是一種密鑰的保密方法,它需要兩個密鑰來進行加密和解密,這兩個密鑰是公開密鑰和私有密鑰。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密。非對稱加密演算法有:RSA、Elgamal、背包演算法、Rabin、D-H、ECC(橢圓曲線加密演算法)。

四、數字簽名

數字簽名(又稱公鑰數字簽名)是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。它是一種類似寫在紙上的普通的物理簽名,但是在使用了公鑰加密領域的技術來實現的,用於鑒別數字信息的方法。

五、直接明文保存

早期很多這樣的做法,比如用戶設置的密碼是「123」,直接就將「123」保存到資料庫中,這種是最簡單的保存方式,也是最不安全的方式。但實際上不少互聯網公司,都可能採取的是這種方式。

六、使用MD5、SHA1等單向HASH演算法保護密碼

使用這些演算法後,無法通過計算還原出原始密碼,而且實現比較簡單,因此很多互聯網公司都採用這種方式保存用戶密碼,曾經這種方式也是比較安全的方式,但隨著彩虹表技術的興起,可以建立彩虹表進行查表破解,目前這種方式已經很不安全了。

七、特殊的單向HASH演算法

由於單向HASH演算法在保護密碼方面不再安全,於是有些公司在單向HASH演算法基礎上進行了加鹽、多次HASH等擴展,這些方式可以在一定程度上增加破解難度,對於加了「固定鹽」的HASH演算法,需要保護「鹽」不能泄露,這就會遇到「保護對稱密鑰」一樣的問題,一旦「鹽」泄露,根據「鹽」重新建立彩虹表可以進行破解,對於多次HASH,也只是增加了破解的時間,並沒有本質上的提升。

八、PBKDF2

該演算法原理大致相當於在HASH演算法基礎上增加隨機鹽,並進行多次HASH運算,隨機鹽使得彩虹表的建表難度大幅增加,而多次HASH也使得建表和破解的難度都大幅增加。

九、BCrypt

BCrypt 在1999年就產生了,並且在對抗 GPU/ASIC 方面要優於 PBKDF2,但是我還是不建議你在新系統中使用它,因為它在離線破解的威脅模型分析中表現並不突出。

十、SCrypt

SCrypt 在如今是一個更好的選擇:比 BCrypt設計得更好(尤其是關於內存方面)並且已經在該領域工作了 10 年。另一方面,它也被用於許多加密貨幣,並且我們有一些硬體(包括 FPGA 和 ASIC)能實現它。 盡管它們專門用於采礦,也可以將其重新用於破解。

㈢ 加密解密工具 之 波利比奧斯方陣密碼

波利比奧斯方陣密碼(Polybius Square Cipher或稱波利比奧斯棋盤)是棋盤密碼的一種,是利用波利比奧斯方陣進行加密的密碼方式,簡單的來說就是把字母排列好,用坐標(行列)的形式表現出來。字母是密文,明文便是字母的坐標。

工具鏈接: http://www.atoolbox.net/Tool.php?Id=913

閱讀全文

與棋盤密碼加密的原理相關的資料

熱點內容
游戲aoi演算法 瀏覽:842
phpmysqlint 瀏覽:910
怎麼從appstore商城買東西 瀏覽:182
大秀直播平台源碼 瀏覽:418
java視屏 瀏覽:932
電腦中如何給程序加密 瀏覽:238
java排序容器 瀏覽:942
職稱證書在哪個app下載 瀏覽:362
四九演算法算男女 瀏覽:659
javawindows8 瀏覽:496
2021世界程序員節 瀏覽:484
php翼支付 瀏覽:882
盈通伺服器ip地址 瀏覽:789
3des演算法的c語言實現 瀏覽:873
網上怎樣購買伺服器地址 瀏覽:813
新氧app都在哪個城市 瀏覽:731
十二大加密貨幣圖片 瀏覽:315
資料庫日誌自動壓縮 瀏覽:929
手機表格文檔用哪個app 瀏覽:77
找人開發app的公司怎麼樣 瀏覽:653