什麼是公鑰密碼術? 詳細信息中要知道的一切。
已發表: 2022-08-02數據對於通過 Internet 連接的每個人來說都是必不可少的。 在互聯網上或通過互聯網發布的每一條信息都有被洩露的風險。 企業集團和個人使用某些措施來保護他們的數據並在通過 Internet 傳輸期間保護數據。 每天都使用 TCP/IP、數據加密、散列和密碼學等技術來保護通過 Internet 傳輸的數以億計的數據。
密碼學通過更改數據格式來保護通過 Internet 傳輸的數據,使未經授權的用戶無法訪問它。 對稱和非對稱密碼學是兩種類型的密碼學技術。 對稱密碼術是一種僅使用單個密鑰來加密和解密傳輸數據的密碼術。 非對稱加密是一種有一對密鑰的加密技術,一個用於加密數據,另一個用於解密數據。 該對包含公鑰和私鑰。
從世界頂級大學在線學習軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
探索我們流行的軟件工程課程
LJMU & IIITB 計算機科學碩士 | 加州理工學院 CTME 網絡安全證書課程 |
全棧開發訓練營 | 區塊鏈中的 PG 程序 |
軟件開發行政研究生課程 - DevOps 專業化 | 全棧開發中的執行 PG 計劃 |
在下面查看我們的所有課程 | |
軟件工程課程 |
本文包含密碼學中公鑰的基礎知識。
數據安全中的密碼學定義
密碼學是研究用於通過加密和解密在互聯網上傳輸數據的技術,以防止未經授權的用戶訪問。 密碼學主要使用算法來執行加密和解密,例如三重數據加密標準(aka 3DES – Symmetric cryptography)或數字簽名算法(a.ka.DSA – Asymmetric Cryptography)。
密碼學的根源可以追溯到羅馬將軍凱撒大帝的時代。 凱撒密碼是密碼學中最簡單的技術之一。 一旦對明文(表示未受保護的數據)執行,加密過程會將字符相移“n”,使其成為密文(表示加密的數據),可以通過將密文相移“n”再次將其轉換為明文' 在解密過程中。
這是一個凱撒密碼的例子:
讓'P'代表明文,'C'代表密文。
P = 大家好
C = KL HYHUBRQH
明文: ABCDEFGHIJKLMNOPQRSTU VWXYZ
密文: DEFGHIJKLMNOPQRSTUVWX YZABC
C = (P + 3) mod 26
P = (C – 3) 模 26
密碼學中的“密鑰”代表什麼?
與現實世界中用於鎖門的物理鑰匙類似,密碼學中的鑰匙代表一組字符,用於鎖定(加密)通過 Internet 傳輸的數據。 這個相同的密鑰可用於解鎖(解密)數據。 請注意,相同的密鑰僅在對稱密碼算法的情況下用於解密。 在非對稱加密算法中,一對密鑰用於加密/解密過程——公鑰和私鑰。 這兩個鍵在數學上相互關聯。
公鑰密碼術是如何工作的?
為了保護數據免遭不必要的訪問或使用,公鑰密碼術利用一對密鑰對其進行加密和解碼。 認證機構通過網絡向用戶提供公鑰和私鑰對。 其他用戶可以通過從公眾可用的目錄中獲取預期接收者的公鑰來加密數據。 在將消息傳輸到預期的接收者之前使用這種公鑰加密技術。 當通信被傳遞時,接收者使用其他人沒有的私鑰對其進行解密。
公鑰密碼學相對於對稱密碼學的優勢
公鑰密碼術仍然是通過 Internet 傳輸數據的最安全方法之一。 以下是公鑰加密相對於對稱加密的優勢:
- 公鑰加密的根本好處是增強了安全性:私鑰永遠不會發送或暴露給任何人。
- 它可以生成無法撤銷的數字簽名,因此任何一方都無法否認他們收到的信息。 這稱為不可否認性,可防止一方更改傳輸給他們的數據。
公鑰密碼學中最常用的算法
使用最廣泛的公鑰密碼算法是 RSA,代表其發明者的名字,Ron Rivest – Adi Shamir – Leonard Adleman。 儘管 RSA – 4096 中的額外位提供了更高的安全性,但它比 RSA – 2048 相對慢,因此公司選擇選擇後者。
讓我們在具有 OpenSSL 的命令行 shell 的幫助下生成我們自己的密鑰對。
命令行代碼:
$openssl genrsa -out private.pem 2048
// 這將生成一對密鑰,並且是一個 2048 位的 RSA 密鑰對
$ openssl rsa -in private.pem -pubout -out public.pem
// 對於給定的私鑰,上面的代碼會將公鑰派生到“public.pem”中
// 這個私鑰和公鑰對現在可用於使用 RSA-2048 算法加密文件
閱讀我們與軟件開發相關的熱門文章
如何在 Java 中實現數據抽象? | Java中的內部類是什麼? | Java 標識符:定義、語法和示例 |
通過示例了解 OOPS 中的封裝 | C 中的命令行參數解釋 | 2022 年雲計算的 10 大特點和特點 |
Java 中的多態性:概念、類型、特徵和示例 | Java 中的包以及如何使用它們? | Git 初學者教程:從零開始學習 Git |
結論
經典的加密方法是基於單個密鑰密碼術(對稱密碼術)。 但是,由於單個密鑰對數據進行加密和解密,因此傳輸的通信會被第三方竊聽。 為了解決經典方法的局限性,創建了公鑰密碼系統。 在公鑰密碼學中,發送者使用公鑰加密對通信進行加密,接收者使用只有接收者知道的私鑰對其進行解密。 密碼學中的公鑰允許在沒有任何第三方訪問的情況下共享信息。
通過註冊 upGrad 的網絡安全計劃成為網絡安全專家
您是否正在尋找最佳計劃來加速您在網絡安全領域的學習? upGrad與班加羅爾印度信息技術學院合作,為您帶來網絡安全高級證書課程。
本課程包括:
- 250 多個學習小時,涵蓋網絡安全、應用程序安全、密碼學和數據保密方面的網絡安全。
- IIIT Bangalore 和 upGrad 的高級課程證書
- 由 AI 提供支持的個人資料生成器
- 為您的職業生涯提供一對一指導
- 一對一輔導
- IIIT班加羅爾的校友身份
- 獨家職位空缺門戶
- 幫助準備面試
什麼是公鑰?
密碼學中的公鑰是一組用於加密數據的隨機數,以便只有有權訪問私鑰的接收者才能解密它。
哪個更安全:公鑰加密或秘密密鑰加密?
公鑰密碼術更安全,因為它包含一對密鑰、公鑰和私鑰,而不是可用於解密數據的單個密鑰。
使用公鑰加密的主要好處是什麼?
使用公鑰加密的主要好處是私鑰的機密性、數據簽名和不可否認性。