什麼是密碼學?

2024-09-20電腦科學65

儘管它看起來像是間諜的東西,但加密技術是一種隱藏您每天使用的資料的技術。您使用的許多應用程式(例如 WhatsApp)中都存在加密功能。

密碼學不是我們可以控制的,至少作為基本使用者是這樣。因此,如果您想了解它的工作原理,甚至如何在自己的 PC 上使用它,這是一個很好的機會。

您將在這裡找到什麼: 什麼是密碼學。密碼學演算法。密碼學的用途。密碼學的歷史。密碼學和電腦安全等等!

什麼是密碼學?

密碼學是很久以前為了滿足需求而創建的。這種需求是能夠發送和接收訊息,而無需相應的金鑰來讀取其內容。

這很可能被視為密碼學最簡單的定義。

也就是說,簡言之,密碼學的作用是確保訊息中傳遞的訊息的安全。任何沒有解密該訊息的金鑰的人都無法讀取該訊息。

目前,密碼學是保證透過電腦方式進行的任何通訊安全的基本支柱。

密碼學是以加密形式或程式碼編寫訊息的科學和藝術。 

我們稍後將討論密碼學的歷史,但由於這些進步,我們取得了非常重要的事情。如今,您可以在無人監視的情況下完全安全地進行所有類型的商業交易和通訊。

如前所述,密碼學是安全的基本支柱。如果沒有它的實施,透過 WhatsApp發送訊息甚至檢查銀行帳戶餘額都將非常危險。

例如,您可能已經了解到WhatsApp 訊息是端對端加密的。這意味著即使他們在伺服器上攔截您的訊息,也沒有人能夠讀取您的訊息。這要歸功於密碼學。

加密訊息必須遵守哪些規則?

  • 要遵循的第一條規則是訊息是保密的。這意味著只有被授權的人才能閱讀它。

  • 也必須保證發送者和接收者雙方的真實性。簡而言之,確保這些代理人是他們所說的人。

  • 最後,作為一條不可變的規則,發送的訊息完整地到達接收者。也就是說,收到的訊息與解密後發送的訊息是一樣的。

密碼學的用途

基本上密碼學就是這樣運作的。當使用者發送加密訊息時,意味著原始字元將被無意義的字元取代。

這個過程稱為「加密」。用戶發送此訊息。

當接收者拿到手中時,會發生相反的過程,即將無意義的字元改為原來的內容。這個過程稱為「解密」。

所有這一切都歸功於密鑰,它透過所謂的加密演算法起作用,我們將在稍後討論。


那麼,密碼學現在有什麼用途呢?許多年前,密碼學被用來隱藏和發送非常重要的訊息,這些訊息需要保密。

今天,它本質上仍然用於相同的目的,只是擴展到涵蓋其他活動。

當今密碼學的主要用途如下:

  • 確保個人通訊以及商業和銀行交易的隱私:密碼學是目前保證電腦網路安全的最有力方法。如您所知,網路是所有資訊(包括銀行資訊和個人通訊)移動的基礎設施。透過密碼學,可以在設計上不安全的網路中建立安全通道。然而,使用加密技術來保證這些網路的安全並不意味著對資源造成重大負擔,這主要是由於當前硬體的強大功能。如果我們再加上對稱加密演算法的實現,就可以在不降低傳輸速率的情況下獲得安全性和隱私性。

  • 驗證和驗證使用者的身份:數位簽名在所有類型的法律文件中越來越被接受。數位簽名可以可靠地識別任何個人。這會導致文件的驗證,甚至達到特定存取等級的存取權限。當然,所有這些都比傳統方法具有更高的安全性。如果您想了解有關數位簽名的更多信息,您可以在本文下面找到更多資訊。

  • 確保電子資金轉帳的完整性:有了上述的加密資源、安全通道和數位簽名,電子商務才能夠發展到現在的水平。今天,您可以進行任何銀行業務或線上購物,並保證您不會被監視或成為詐騙的受害者。

密碼學的歷史

雖然許多人可能認為密碼學是間諜電影的資源,但事實是,在您使用電腦所做的一切中,它是一個更現實的主題。

也就是說,當我們連接到 WhatsApp、Gmail 或任何其他通訊服務時,您的訊息將使用加密技術進行加密。

對我們發送的訊息保密一直是一項艱鉅的任務。然而,在實現結果方面,需求使人變得固執。

這就是為什麼自從密碼學誕生以來,人們一直在嘗試改進所使用的技術,哇,它實現了!

正如所解釋的,密碼學技術自歷史開始以來就一直在使用。而且第三方始終無法知道訊息中隱藏的秘密。

這種隱藏訊息的需要促使科學家、數學家和學者一直在尋找加密訊息的確定方法。

由於這個原因,多年來出現了越來越多的安全方法和機器,使訊息真正難以破解。

作為例子,我們可以引用大約 2500 年前斯巴達使用的系統,即希臘人使用的波利比奧密碼系統,或羅馬人使用的稱為凱撒的替代密碼系統。

所有這些密碼系統都隨著時間的推移而發展,直到達到許多人認為的樞紐點:恩尼格瑪機。

但為了了解歷史的這一點,您進一步了解密碼學的起源將會很有趣。

密碼學的起源

要理解密碼學,首先要知道它起源於何時何地。

透過偽裝秘密發送和接收訊息的技術稱為「隱寫術」。這個術語源自希臘語“στεγανο”或“steganpos”,意思是“隱藏”和“γραπτοze”或“gráphos”,意思是書寫。

基本上,密碼學是密碼學的一個分支,密碼分析也來自密碼學。密碼學一詞源自希臘語“krypto”和“logos”,是一門研究訊息中的系統、密鑰和隱藏或秘密語言的科學。

儘管大多數人在想到密碼學時都會想到艾倫·圖靈,但事實是他出生的時間要早得多。訊息加密技術的歷史可以追溯到大約 4,000 年前。

密碼學的歷史是如此悠久、重要和豐富,以至於大多數學者將其分為幾個階段:

  • 經典密碼學

  • 中世紀密碼學

  • 1800 年至第二次世界大戰期間的密碼學

  • 第二次世界大戰密碼學

  • 現代密碼學

經典密碼學

古埃及的象形文字通常被認為是密碼學的起源。這些行為無意隱瞞軍事或國家機密,可以被視為某種勾心鬥角的行為。

《聖經》中也提到了 Atbash,這是一個可以追溯到公元前 600 年的字母替換系統。

然後在古希臘,我們可以找到對訊息加密的某些參考,更準確地說是在荷馬的《伊利亞德》中:梯林斯國王普雷圖斯加密的一封信。

其他也涉足密碼學的人是斯巴達人,他們使用了一種換位密碼技術,其中包括在鐮刀上滾動羊皮紙。這對於整理信件和揭示資訊具有決定性作用。

古羅馬也使用了密碼學,更準確地說是透過稱為「凱撒密碼」的方法。

這種加密由字母的位移組成。也就是說,原始訊息的每個字母都被字母表中後面的固定數量的位置所取代。

中世紀密碼學

中世紀密碼學技術的領導者是阿拉伯人。在這個意義上引領潮流的人是 Al-Kindi,他在 9 世紀透過對《古蘭經》的研究,成功地為頻率分析奠定了基礎。

該技術基於分析加密訊息中的模式以查找重複項。

然後,更準確地說,在文藝復興時代,鼓勵使用加密訊息的是教皇國。從這個意義上說,萊昂·巴蒂斯塔·阿爾貝蒂最終開發了一種稱為阿爾貝蒂密碼的機械編碼系統。

從 18 世紀到第二次世界大戰的密碼學

顯然,當時密碼學最廣泛的用途是軍事和國家。然而,它實施最多的地方是在軍事領域。基於這個原因,密碼學在 18 世紀這個充滿衝突的世紀中佔有非常重要的地位。

從這個意義上說,密碼學在美國獨立戰爭中非常有用,托馬斯·傑斐遜的密碼輪在這場戰爭中特別突出。

同樣在克里米亞戰爭中,也出現了密碼學。這要歸功於英國數學家查爾斯·巴貝奇,他致力於破譯所謂的“維吉尼亞密碼”,這給英國帶來了很好的優勢。

然後我們來到了第一次世界大戰,這是一場武裝衝突,密碼學也得到了大力實施。從那時起到第二次世界大戰只是一步,並且有大量的密碼學有待發展。

第二次世界大戰密碼學

毫無疑問,第二次世界大戰是密碼學使用最密集的時期,也是對該主題進行最多研究和學習的時期。事實上,密碼學在這場武裝衝突中的作用是如此重要,以至於它甚至成功地改變了事件的進程。

此時,德國能夠憑藉其在北大西洋的潛艦艦隊獲得一些優勢。這支潛艦艦隊的運作方式一直是個秘密,因為它們的通訊是用恩尼格瑪密碼機加密的。而且它們是難以辨認的。

出於這個原因,一個由物理學家、數學家和工程師組成的團隊受委託試圖揭示其秘密。其中包括阿蘭·圖靈。他們做到了,這改變了戰爭的進程。

在這場衝突中,美國也實施了基於美洲原住民語言的密碼系統。他們完全成功了!

另一個需要考慮的非常重要的歷史點是日本海軍密碼JN-25 的破壞,這也將改變太平洋戰線的戰局。

由於了解了這一情況,日本的中途島計劃才為人所知。這是美國、荷蘭和英國的共同努力。

現代密碼學

1949 年,克勞德·香農 (Claude Shannon) 發表了題為「保密系統的通訊理論」的文章,通常被認為是現代密碼學時代的開始。

這項嚴格的工作被認為是現代密碼學的基石。事實上,該條約中研究的大部分內容至今仍用於創建日益安全和高效的加密演算法。

密碼學和電腦安全

 透過密碼學方法 編碼的訊息必須 是私有的,也就是只有發送者和接收者才能存取訊息的內容。除此之外,訊息必須是可訂閱的。

換句話說,接收者也必須能夠驗證寄件者是否確實是他們所說的人。您還應該能夠識別訊息是否已被修改。

目前的加密方法安全  且高效,並且其使用基於一個或多個金鑰。密鑰是一個字元序列,可以包含字母、數字和符號(如密碼),並轉換為數字。

密碼學方法使用該數字 來編碼和解碼訊息。

密碼演算法

在電腦科學和密碼學中,據說密碼演算法是一種能夠修改文件中的資料的演算法。這是為了獲得隱私、完整性和身份驗證等安全功能。

如您所知,演算法在各種任務中都很常見,甚至早在計算機和計算出現之前。然而,幾乎所有這些對於安全應用程式的開發都是不安全的。

隨著數學的新研究和發展,這種情況發生了變化。目前,可以開發在安全系統中實施的演算法。

現代加密演算法旨在抵禦試圖破壞它們的攻擊。為此,它們基於兩種操作方法:

  • 分組密碼。它在連續的區塊或資料緩衝區中加密

  • 流密碼。連續的資料流被加密。最常見的用途是傳輸視訊或音訊。

加密演算法也可以根據金鑰的管理方式來分類:非對稱加密演算法和對稱加密演算法。

  • 對稱金鑰演算法:這些類型的演算法使用相同的金鑰來加密和解密訊息。顯然,所使用的密鑰必須安全地發送,以維護訊息的隱私。

  • 非對稱金鑰演算法:此類演算法使用相同的金鑰來加密和解密訊息。

密碼學中使用的演算法列表

對稱演算法

  • 3DES

  • AES

  • 河豚

  • 主意

  • DES

  • RC2

  • RC4

  • RC5

非對稱演算法

  • 橢圓曲線密碼學

  • 迪菲赫曼

  • DSA

  • 埃爾加馬爾

  • 哈希函數

  • MD5

  • RSA

  • SHA-1

密碼學:對稱和非對稱金鑰

在開始之前,有必要澄清一個非常重要的觀點。為了透過加密來保護訊息,必須進行金鑰交換。

這是一種稱為「密鑰建立協定」的加密技術。

基本上,這是一種加密協議,其中在參與者之間建立了一系列步驟。

此密鑰建立協定分兩步驟工作。

第一步,在對等點之間建立經過驗證的通訊通道。這是透過使用 Diffie-Hellman 等演算法來完成的。這會產生一個共享密鑰。

所形成的認證通道具有雙向通道的特殊性。

然後透過使用共用金鑰、簽章或公鑰加密來實現通道身份驗證。

加密金鑰基本上可以有兩種類型:

  • 對稱: 是利用一定的 演算法對文件進行解密和加密 (隱藏)。 它們是相互關聯的不同演算法組,以維護 資訊的機密連接 。

  • 非對稱: 它是一種使用兩個金鑰的數學公式,一個是公鑰,另一個是私鑰。 公鑰是任何人都可以存取的金鑰, 而私鑰是只有接收者才能解密的金鑰。

值得注意的是,還有第三種方法,稱為「混合密碼術」。這是一種同時使用對稱和非對稱加密的加密技術。

目前,密碼方法可以分為兩大類。這是根據所使用的金鑰類型而定的: 單密鑰密碼術 以及 公鑰和私鑰密碼術。

加密金鑰的類型

單密鑰密碼學

單密鑰加密使用相同的密鑰來加密和解碼訊息。此方法相對於處理時間(即用於 編碼和解碼的時間)非常有效,但它有一個缺點。

這就需要使用安全介質,以便可以在希望交換加密資訊的人或實體之間共用金鑰。

公鑰和私鑰加密

公鑰和私鑰加密使用兩種不同的金鑰,一種用於加密,另一種用於解碼訊息。透過這種方法,每個人或實體都維護兩個金鑰:一個是公共的,可以自由公開,另一個是私有的,必須由其所有者保密。

 用公鑰加密的訊息 只能用對應的私鑰解密。

舉個例子,約瑟夫和瑪麗想偷偷地溝通。然後,他們必須執行以下程序:

  1. 約瑟夫使用瑪麗的公鑰加密訊息,任何人都可以使用該公鑰。

  2. 加密後,何塞透過網路將訊息發送給瑪麗亞。

  3. 瑪麗亞使用她的私鑰接收並解碼該訊息,而這只有她自己知道。

  4. 如果 María 想要回覆該訊息,她必須執行相同的流程,但使用 José 的公鑰。

儘管與單密鑰加密方法相比,該方法在處理時間方面的性能要低得多 , 但它具有重要的優點。

這是公鑰的自由分發,不需要預先組合金鑰的安全方法。

什麼是數位簽章?

數位簽名包括透過使用私鑰創建程式碼。透過這種方式,接收包含此程式碼的訊息的個人或實體可以 驗證發送者是否是他們所說的人。

這可以識別任何可能已被修改的訊息。

這樣, 就使用了公鑰和私鑰加密方法, 但過程與前面範例中介紹的過程相反。

如果約瑟夫想向瑪麗發送訂閱的訊息,他會用他的私鑰加密訊息。在此過程中,將產生數位簽名, 該數位簽名將添加到發送給 María 的訊息中。

收到訊息後,瑪麗將使用約瑟夫的公鑰來解碼該訊息。在此過程中,將產生第二個數位簽名,並將其與第一個數位簽名進行比較。

如果簽名相同,María 將確定訊息的發送者是 José 並且訊息未被修改。需要強調的是,該方法的安全性是基於私鑰只有其所有者知道的事實。同樣重要的是要注意,簽署訊息並不意味著秘密訊息。

對於前面的範例,如果 José 想要對訊息進行簽署並確保只有 María 可以存取其內容,則需要在簽名後使用 María 的公鑰對其進行加密。

單密鑰以及公鑰和私鑰加密的範例

結合 使用單密鑰以及公鑰和私鑰加密方法的 範例是安全連接。這些是透過網路在商業或銀行交易中在使用者瀏覽器和網站之間建立的。

這些安全性 Web 連線使用單金鑰加密方法,由 SSL(安全通訊端層)協定實作。 在啟動秘密資料傳輸之前,使用者的瀏覽器需要通知網站哪個會是安全連線中使用的唯一金鑰。

為此,瀏覽器從維護網站的機構的憑證中取得公鑰。然後,它使用此 公鑰進行加密並向網路發送訊息, 其中包含要在安全連接中使用的唯一密鑰。該網站使用您的 私鑰來解碼訊息 並識別將使用的唯一密鑰。

從此,使用者的瀏覽器和網站可以透過使用 單密鑰加密方法秘密且安全地傳輸訊息。

透過重複上述過程,可以以一定的時間間隔改變唯一金鑰,從而提高了整個過程的安全等級。


應使用什麼大小的密鑰?

目前使用的加密方法具有  良好的安全性,是眾所周知的且安全的。這是由於他們的演算法的穩健性和他們使用的密鑰的大小。

對於某人來說,要發現密鑰,他們需要使用某種強力方法,即嘗試密鑰組合,直到發現正確的密鑰。

因此, 密鑰越大,需要測試的組合數量就越多, 因此無法在正常時間內發現密鑰。

最重要的是,金鑰可以定期更改,使加密方法更加安全。

目前,為了在使用單密鑰加密方法時 獲得良好的安全級別,建議使用至少 128 位元的密鑰。

對於公鑰和私鑰加密方法,建議使用 2048 位元金鑰, 可接受的最小長度為 1024 位元。

根據加密方法的使用目的,應考慮使用更大的金鑰:

  • 單密鑰 256 或 512 位

  • 公鑰和私鑰的 4096 或 8192 位元。

什麼是加密電話?

這些類型的設備也稱為 加密電話。這些基本上是經過修改以包含極其先進的安全功能和選項的手機。

這是為了防止語音或資料傳輸被 不同形式的電子情報監視攔截。

這使得它們非常適合在商業、情報和政治領域使用。從這個意義上說,人們首先想到的肯定是巴拉克·歐巴馬和他的黑莓手機。

然而,不僅高級政府官員使用這項技術,因為如上所述, 加密電話也是一種可以在商業環境中使用的設備。

在這些空間中,資料的隱私和所進行的對話必須保持最高機密。

同樣, 密碼電話是情報領域廣泛使用的工具。

世界各地的許多安全部隊特工都使用它們來防止他們的通信或報告被攔截,當然也被抵消或廢除。

簡單來說, 設計加密手機時有多種觀點。 然而,許多這些安全電話都使用資料加密技術。

這使得在有人竊聽設備的情況下無法解密發送或接收的資料。這是透過安裝在手機本身的加密晶片來完成的。

另一種廣泛使用的加密電話技術是同時使用兩個保護系統的技術。

該系統基本上包括在離開設備之前使用多種演算法保護資料的發送, 然後在到達接收者之前執行相同的過程。

這使得攻擊中使用的任何 通訊攔截技術都無法觸及這些訊號。

雖然其中一個加密代碼有可能被破解,但事實是每次在訊息路徑中應用此保護時都不可能做到這一點。

至此, 確保加密電話對話和訊息安全的目標 已經達成。有了這個,用戶可以完全不用擔心自己可能受到監視,能夠訪問互聯網執行所有類型的任務。

加密電話的優點和缺點

然而,使用加密電話也有其缺點。 其中之一是發送者和接收者都必須擁有能夠了解對方提供的安全等級的設備。

這意味著它們必須使用類似的加密技術。

簡而言之,為了使對話或資料交換完全安全, 雙方必須擁有相同類型的加密電話 和加密協定。

加密電話的另一個缺點是,如果該設備用於與另一部電話保持通話,但不受保護。

在加密電話方面,將保持保護,但在標準電話方面,通訊將不受保護。

因此 可以 截獲訊號以監聽資料交換或對話。

我可以擁有加密電話嗎?

 正如世界許多國家的立法所理解的那樣,使用 加密電話作為確保對話安全的工具對公司和政府至關重要。

因此,透過這種 加密手機進行通訊的方式 日益普及,使得目前市場上出現了價格非常適中的加密手機。任何有必要需求和預算的人都可以購買它們。

什麼是網路密碼學?

 如您所知,密碼學是一門科學,研究和實施在安全至關重要的環境中進行 加密通訊的協定。

從這個意義上說,我們可以將密碼學分為四個不同的目的:

  • 確保隱私

  • 確保資料完整性

  • 檢查身份

  • 確保寄件者的真實性

所有類型的密碼學都符合這四個前提。此時 密碼學有很多種類型, 如本文所提到的。

但其中,所謂的 網路加密技術脫穎而出,是 最重要的技術之一,正如其名稱所示,它用於加密透過電腦網路傳輸的通訊和資料。

基本上,網路加密中使用兩種類型的加密。從這個意義上說,它們可以是:

  • 對稱密鑰加密系統,也稱為 “秘密密鑰密碼術(SKC)”

  • 非對稱或公鑰加密系統,更廣為人知的名稱是 「公鑰加密 (PKC)」。

這兩種網路加密系統之間最重要的區別在於,第一種方法, 密鑰加密使用單一密鑰來加密和解密所有資料。

另一方面,公鑰加密方法使用兩個金鑰而不是一個。第一個密鑰用於加密訊息,第二個密鑰用於解密訊息。

多年來,網路加密系統( 資料加密系統或 DES) 的安全性已被更安全的高級加密標準(AES)所取代 。

然而,公鑰加密系統也透過數位憑證的使用得到了加強,數位憑證目前是網路密碼系統中極其重要的一部分。

如前所述,在 網路中實現的公鑰加密系統中,數位憑證扮演著非常重要的角色。

這意味著,如果沒有主管機關頒發的數位證書,您可以向網路節點發送或從網路節點接收的資料的安全性太弱。

目前, 使用數位憑證可以完全安全地存取網站或網路節點, 因為您可以確保與他們交換的資訊(無論是發送的資訊還是接收的資訊)在整個過程中都將被加密。

結論

今天,您的所有數據,以及來自銀行和公司的數據,即所有大數據,使世界運轉。如果沒有這些數據流量,我們幾乎不可能進行任何我們習慣的活動。

這就是為什麼密碼學在這一切中具有非常重要的價值。如果沒有加密技術,任何有能力提取資料並將其用於自己目的的人都可以使用所有資料。

由於這種重要性,如果您正在學習與計算相關的職業,那麼學習密碼學原理及其用途至關重要。有了這個,您將為遇到的任何情況做好準備。


標籤: 密碼

發表評論

訪客

看不清,換一張

◎歡迎參與討論,請在這裡發表您的看法和觀點。