身為Java工程師多年,遇到關於密碼學的問題不勝其數,但總在一知半解中度過。希望透過這次鐵人賽的試煉不求全盤通透的了解,建立清晰的整體架構與實務概念。
一、 什麼是串流密碼? (Stream Cipher) 串流密碼的核心概念是:逐位元 (Bit) 或逐位元組 (Byte) 進行即時加密。 它利用主金鑰 (Ke...
前言 在現代密碼學中,ChaCha20(RFC 8439)已全面取代舊時代的 RC4,成為現代串流加密(Stream Cipher)的主流。今日我們就來透過使用...
為什麼需要區塊密碼? 在前一章中,我們介紹了串流密碼(Stream Cipher):透過金鑰與 Nonce/IV 產生一段與明文長度相同的「金鑰流(Keystr...
前言:為什麼需要操作模式? 在前一章我們了解到,區塊加密演算法(如 AES、DES)本質上是一個接收固定輸入長度資料的「加密引擎」(例如 AES 只能處理 16...
前言 在前一章介紹的 ECB 與 CBC 模式中,區塊加密引擎(如 AES)都是直接對明文區塊進行加密。 今天介紹的 CFB(Cipher Feedback)...
前言 在前一章中,我們介紹了 CFB 與 OFB 模式。今天討論的 CTR(Counter Mode) 與 GCM(Galois/Counter Mode) 則...
前言 DES(Data Encryption Standard,資料加密標準) 於 1977 年被美國 NIST(當時的 NBS)採納為官方聯邦標準,是密碼學史...
前言 3DES(Triple DES,正式名稱為 TDEA / Triple Data Encryption Algorithm) 是密碼學史上為了延續 DES...
前言 AES(Advanced Encryption Standard,進階加密標準) 原名 Rijndael,由比利時密碼學家 Joan Daemen 與 V...
前言 在前幾天的內容中,我們學習了 AES 與 3DES 等對稱加密演算法。許多初學者常有一種誤解:「只要資料經過加密,中間人看不懂,系統就是安全的。」 這在密...