公鑰密碼學初學者指南

已發表: 2022-09-20

在當今競爭激烈的商業環境中,數據是一種寶貴的資源。 因此,企業必須在控制對數據的訪問的同時保持數據的保密性和安全性。 此外,隨著數字化成為一種常態和組織自動化其數據處理操作,未經授權訪問敏感數據的機會增加。 因此,企業必須建立一個安全的環境來保護有價值的數據並減輕潛在的數據威脅。

密碼學在數據安全中起著至關重要的作用,以保持機密性和完整性。 密碼學的一個子類型,公鑰加密公鑰密碼學,構成了全球大多數數據安全策略的關鍵組成部分。

本文將探討密碼學中公鑰的概念及其在保護數據中的效用。

從世界頂級大學在線學習軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

目錄

什麼是數據安全中的密碼學?

密碼學是指一組通過偽裝數據來保護信息和通信的技術,以便只有預期的接收者才能處理和讀取內容。 它依靠算法來加密只有授權個人才能解密的數據。 因此,密碼學主要涉及將明文或普通文本加擾成密文(加密),然後還原(解密)。

密碼學一詞源於希臘語“Kryptos”,意思是“隱藏的”。 使用密碼學的一些最早記錄可以追溯到古埃及人和羅馬人,包括朱利葉斯·凱撒著名的凱撒密碼。 儘管過去使用的技術在當今時代顯得原始而直接,但古老的密碼是對保護敏感信息必要性的驚人提醒。 隨著技術的發展,今天的密碼學有許多應用,包括數字簽名、互聯網瀏覽、信使應用程序、電子郵件、信用卡交易、在線驗證和加密密鑰生成。

什麼是密碼學中的密鑰?

在密碼學中,密鑰是按定義順序排列的一串隨機字符,用於更改或擾亂加密算法中的數據。 換句話說,密碼學中的密鑰加密或鎖定數據,以便只有擁有有效密鑰的人才能解密或解鎖它。 明文是原始數據,密文是密鑰加密後的數據。

密碼學在數據安全系統中扮演著重要角色。 密碼算法有兩大類,對稱密鑰算法(秘密密鑰算法)和非對稱密鑰算法(公鑰算法)。

軟件工程的熱門課程和文章

熱門節目
軟件開發執行 PG 計劃 - IIIT B 區塊鏈證書課程 - PURDUE 網絡安全證書計劃 - PURDUE 計算機科學理學碩士 - IIIT B
其他熱門文章
2021-22年美國雲工程師薪水 美國 AWS 解決方案架構師薪水 美國後端開發人員工資 美國前端開發人員薪水
美國網絡開發人員的薪水 2022 年 Scrum Master 面試問題 如何在 2022 年開始網絡安全職業? 工程專業學生在美國的職業選擇

公鑰密碼學的意義

公鑰加密或非對稱密鑰加密是一種加密過程,其中使用不同的密鑰對數據進行加密和解密。 儘管密鑰不同,但它們在數學上與通過解密密文促進明文檢索有關。 最常用的公鑰加密形式是基於 RSA 算法。

在非對稱加密過程中,一個密鑰加密數據,另一個但對應的密鑰解密數據。 加密數據的密鑰是公鑰,而私鑰解密信息。

此外,公鑰是眾所周知的,而私鑰是秘密的。 這意味著雖然其他人可以使用您的公鑰向您發送加密信息,但只有您有權訪問私鑰或密鑰來解碼文本。

公鑰密碼學的優點

公鑰密碼學具有以下功能:

  • 加密和解密:加密和解密功能使雙方能夠通過偽裝他們交換的信息來相互通信。 發送者在發送前對數據進行加擾或加密,接收者在接收到數據後對其進行解擾或解密。 同時,傳輸中的加密數據對於第三方來說仍然是難以理解的。
  • 不可否認性:公鑰加密具有稱為不可否認性的安全機制,可防止數據更改並確保任何一方都無法否認他們通過加密接收/發送了消息。

公鑰密碼學與私鑰密碼學

公鑰加密系統不同,對稱或私鑰加密涉及發送者和接收者共享一個用於加密和解密消息的通用密鑰。 因此,對稱密鑰加密算法使用發送方用來加密數據和接收方用來解碼或解密數據的密鑰創建固定長度位的分組密碼。 私鑰加密的一個典型例子是美國國家標準與技術研究院 (NIST) 於 2001 年 11 月制定的 AES 或高級加密標準。

那麼,公鑰密碼學和私鑰密碼之間的主要區別是什麼下表突出了這些區別。

公鑰密碼學私鑰密碼學
涉及兩個密鑰的公鑰/雙密鑰密碼系統。 僅使用一個密鑰的秘密/單密鑰密碼系統。
任何人都可以使用公鑰來加密數據,而只有接收者知道私鑰並將其用於數據解密。 發送者和接收者共享相同的密鑰。
各方不平等,因此不對稱。 對稱,因為各方是平等的。
加密消息的一方不能解密消息。 由於各方是平等的,因此接收者可以偽造消息並錯誤地聲稱它是由發送者發送的。

公鑰加密背後的 RSA 算法

RSA算法是一種廣泛使用的非對稱密碼算法,它依靠公鑰和私鑰來加密和解密消息。 RSA 算法創建於 1978 年,以其發明者 Ron Rivest、Adi Shamir 和 Leonard Adleman 的名字命名。

以下是公鑰加密中 RSA 算法如何工作的簡化說明

1. 密鑰的生成

  • 選擇兩個大素數“p”和“q”。
  • 計算 n = p*q
  • 找出總函數:Φ(n) = (p-1)(q-1)
  • 現在,選擇一個與 Φ(n) 互質且 1 < e < Φ(n) 的整數“e”。
  • (n,e) 對是公鑰。
  • 現在,計算 'd' 使得 de = 1 mod Φ(n) 或 1 mod (p-1)(q-1)
  • 使用擴展歐幾里得算法找出 d。 私鑰是一對 (n,d)。

2. 加密

  • 給定的明文“P”是一系列小於 n 的數字。 如果密文是“C”,則使用以下數學步驟完成加密:

C = P e mod n

3.解密

  • 可以在以下步驟中使用私鑰 (n,d) 檢索明文:

P = C d mod n

以下偽代碼是 RSA 算法的一個示例:

整數 x = 61,整數 y = 53;

整數 n = x * y;

// n = 3233。

//計算totient,phi

int phi = (x-1)*(y-1);

// phi = 3120。

int e = findCoprime(phi);

// 找到一個大於 1 並且是 phi 的互質數的 'e'。

// e = 17 滿足當前值。

// 使用擴展歐幾里得算法,找到滿足的 'd'

// 這個等式:

d = (1 mod (phi))/e;

// 對於示例值,d = 2753。

public_key = (e=17, n=3233);

private_key = (d=2753, n=3233);

// 給定明文 P=123,密文 C 為:

C = (123^17) % 3233 = 855;

//解密密文C:

P = (855^2753) % 3233 = 123;

結論

私鑰密碼術是傳統的加密系統。 但是,它使傳輸的消息容易被第三方攔截,因為單個密鑰可以加密和解密數據。 因此,密碼學家開發了公鑰密碼系統來解決傳統系統的局限性。 公鑰密碼學中,發送方使用公鑰加密消息,而接收方可以使用只有接收方可用的私鑰對消息進行解碼。 結果,第三方無法讀取傳輸中的消息,因為只有接收者的私鑰才能解密它。 公鑰密碼系統大多使用 RSA 算法,在現代加密技術中發揮著至關重要的作用。

加入 upGrad 成為數據安全專家的旅程

您是否正在尋找一個全面的平台來學習數據安全? 您的搜索以upGrad 與普渡大學合作的網絡安全證書計劃結束。 為期 8 個月的在線課程適合入門級到中級 IT 專業人士、技術專業人士、技術支持專業人士、分析師、工程師和應屆畢業生。

節目亮點:

  • upGrad和普渡大學的認可證書
  • 300 多個學習時間、15 多個現場會議和四個項目
  • 涵蓋密碼學和加密的綜合課程
  • 學習相關的編程語言和工具
  • 行業和同行網絡
  • 360 度學習支持

公鑰是什麼意思?

公鑰是指密碼學中用於加密數據的大數值。 換句話說,密碼學中的公鑰將數據轉換為不可讀的格式。 一個不同但在數學上鍊接的私有然後解密數據。

密鑰與公鑰有何不同?

單個共享密鑰以秘密密鑰加密方式對消息進行加密和解碼。 相反,公鑰加密使用兩個不同但在數學上相關的密鑰(公鑰和私鑰)用於加密和解密過程。

公鑰密碼學有哪些應用?

公鑰密碼學的主要應用是數據加密和數字簽名。 公鑰加密通過身份驗證和不可否認性確保數據安全。