- Cryptographic concepts 密碼學概念
Encryption and Decryption 加密與解密 - Encoding and Decoding 編碼與解碼
明文(Plaintext)是未編碼的訊息
密文(Ciphertext)是編碼訊息
- 密碼分析(Cyptanalysis)是破解密碼系統
- Hashing algorithms 哈希演算法
- Encryption ciphers 加密密碼
- Symmetric 對稱
- Asymmetric 不對稱
- Symmetric encryption 對稱加密
Same secret key encrypts and decrypts 使用相同的密碼進行加密與解密
- Alice與Bob進行加密文件傳送前,需要先見面將鑰匙交給對方,之後才能使用這把鑰匙進行加密與解密。
- 缺點:傳送過程中易被串改、保管密碼不易
- 優點:快速,適合大量資料批量加密
- AES/AES256 (Advanced Encryption Standard)
- 256-bit 鑰匙比 126-bit 鑰匙強
- 密碼越長也需要更多的資源來處理加解密問題
AES-128 加密
此選項使用 128 位元金鑰,以速度和安全性之間的平衡而聞名。AES-128 為一般數據安全需求提供強大的保護,包括安全檔案共享和需要高速的應用程式中的基本數據保護。
AES-192 加密
使用 192 位元金鑰,這個版本的 AES 提供比 AES-128 更高的安全等級。雖然速度稍慢,但 AES-192 常用於需要更強加密但不希望承擔 AES-256 額外計算需求的行業。它適合用於政府或監管環境中的安全通信。
AES-256 加密
AES 最安全的版本,AES-256 使用 256 位元金鑰,對於當前技術來說幾乎不受暴力破解攻擊的影響。雖然它是計算上最密集的,但在需要最大安全性的應用中,如金融交易、雲端儲存和數據備份中被偏好使用。
AES-256 廣泛應用於需要頂級安全的行業,如醫療保健和金融服務。
更長的鑰匙長度更能防止暴力密碼攻擊
- Asymmetric encryption 非對稱加密
使用公鑰加密私鑰解密,或私要加密公鑰解密。
- Public/private key pair
- 公鑰與私鑰無法透過推導得出 (可能性非常小)
- 私鑰必須保密
- Bob 將公鑰透過網路傳送給 Alice,Alice 用此公鑰加密文件,Bob 透過私鑰進行解密
- 缺點:緩慢(不是合用於大量數據)、公鑰可能遭串改
- 優點:中間人竊取到公鑰或加密文件都無法進行解密。
- RSA 密碼 (麻省理工教授Rivest,南加大教授Shamir,以色列密碼學家Adelman 三位發明家姓氏組成)
- 2048-bit or better
- 接收端產生公鑰與私鑰,將公鑰透過網際網路傳送給傳送端,傳送端用公鑰進行加密後透過網際網路傳送給接收端,最後接收端使用私鑰進行解密。
圖片來自 https://nordvpn.com/zh-tw/blog/rsa-jiami/
- ECC 密碼 (Elliptic Curve Cryptography) 橢圓曲線密碼學
- 256-bit or better
- 相較RSA 長度較短、安全性較高,因此速度快,頻寬要求低。
- Hashing 哈希演算法
- Non-reversible 不可回朔
- 家密得出的結果是固定長度,不會因為檔案大小而有不同。
- 用於辨識文件是否有被更動過,用於識別完整性。
- SHA (Secure Hash Algorithm) 安全雜湊演算法
- MD5 (Message Digest Algorithm)
非對稱是加密與哈希演算法共用
- Alice 將傳送的訊息進行 hash 後,用Alice的私鑰進行加密,生成數位簽名。Bob 收到數位簽名與訊息後,用 Alice 的公鑰進行解密並確認 hash 結果是否一致。
- 缺點:密鑰管理、信任機構(CA)依賴性。
- 優點:防止偽造和冒充,
- 數位簽章提供完整性、身分驗證、不可否認性。
- 身分驗證 - 私鑰簽名,因此可確認身分。
- 不可否認性 - 簽名者無法否認自己簽署過文件,這在法律和商業交易中非常重要。