密碼學

資訊安全與加密技術

概述

密碼學是研究資訊保密與安全的數學分支。在現代資訊社會中,密碼學是電子商務、線上銀行、區塊鏈等一切安全通訊的基礎。密碼學的發展經歷了三個主要階段:古典密碼學、現代密碼學、公鑰密碼學。

資訊安全目標:機密性、完整性、身份驗證、不可否認性。

柯克霍夫原則:密碼系統的安全性不應該依賴於演算法的保密性,而應該僅依賴於金鑰的保密性。

對稱加密

對稱加密使用相同的金鑰進行加密和解密。分為兩類:

AES 是目前最廣泛使用的對稱加密標準,支援 128/192/256 位元金鑰。AES 的核心操作基於有限域算術 GF(2⁸),包含 SubBytes、ShiftRows、MixColumns、AddRoundKey 四種變換。

公鑰密碼學

RSA 加密系統是第一個公鑰密碼系統,安全性基於大整數分解的困難性。加密 c = mᵉ (mod n),解密 m = cᵈ (mod n)。

橢圓曲線密碼學使用橢圓曲線上的代數結構,提供與 RSA 相似的安全性但使用更短的金鑰(256 位元 ECC ≈ 3072 位元 RSA)。橢圓曲線定義在有限域上,其點構成阿貝爾群。

數位簽章與哈希函數

數位簽章提供身份驗證和不可否認性。常見的數位簽章演算法包括 RSA 簽章、DSA、ECDSA。

哈希函數將任意長度的訊息映射為固定長度的摘要,具有單向性、抗碰撞性。常見的哈希函數包括 SHA-2、SHA-3。哈希函數廣泛應用於密碼儲存、資料完整性校驗、區塊鏈等。

本課程範例

相關程式碼在 code/數學/02-代數/_ccc

相關連結