什麼是密碼學、對稱演算法和公鑰演算法?
讓我們首先了解什麼是密碼學。
密碼學
這是一種使用秘密程式碼進行寫作的技術,這種程式碼對於第三方來說是不可讀的。明文指的是可讀格式的資料,並且未經加密。
明文藉助加密轉換為密文,密文是不可讀的格式;然後藉助解密再次轉換為明文。加密和解密都藉助密碼學方案完成。
密碼學的函式
密碼學的函式如下:
- 機密性
- 完整性
- 真實性
- 不可否認性
- 對稱演算法
對稱演算法
對稱演算法分步解釋如下:
步驟1 - 對稱演算法被稱為秘密金鑰演算法。用於加密和解密資料的金鑰在雙方都是相同的,因此速度更快,也更簡單。
步驟2 - 傳送方和接收方必須使用相同的金鑰進行加密和解密。也就是說,使用公鑰將明文轉換為密文併發送到目標端,接收方必須使用傳送方使用的相同金鑰將密文解密為明文。
步驟3 - 因此,對於解密和加密資料,傳送方和接收方都必須知道公鑰,這被稱為秘密金鑰。
步驟4 - 流密碼總是每次處理一位資料。流密碼使用相同的金鑰來加密資料。
步驟5 - 分組密碼總是每次處理一個分組資料。分組密碼使用不同的金鑰來加密資料塊。
公鑰演算法
公鑰演算法分步解釋如下:
步驟1 - 在公鑰演算法中,資料加密和資料解密使用不同的金鑰,這使得過程更加複雜。
步驟2 - 它通常使用一個金鑰將明文資料加密後傳送到目標端。
步驟3 - 在接收端,接收方使用另一個獨立的金鑰將加密資料解密為明文。因此,源端和目標端使用了兩個不同的金鑰,第三方無法識別。
數字簽名
這是一種電子文件,它提供包含數字簽名的權威認證。它有助於使用公鑰驗證一個人的身份。為數字簽名建立一個單向雜湊值,並使用私鑰加密雜湊值,從而產生唯一值。因此,加密的雜湊值和雜湊演算法的組合共同建立了一個數字簽名,其中包含了密碼學的各種功能。
RSA - 指的是Rivest-Shamir-Adleman演算法,它嵌入在SSL協議中,用於提供安全的網路通訊,其中公鑰由兩個長度為1024位或2048位的大的素數的乘積生成。
橢圓曲線密碼學 (ECC) - 它被用作RSA演算法的替代方案,用於實現公鑰,從而產生較小的金鑰,並且它是使用橢圓曲線方程生成的。破解ECC比分解素數更復雜,金鑰大小也更小。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP