iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

我是Java工程師,關於密碼學我想懂的不多 系列

身為Java工程師多年,遇到關於密碼學的問題不勝其數,但總在一知半解中度過。希望透過這次鐵人賽的試煉不求全盤通透的了解,建立清晰的整體架構與實務概念。

參賽天數 8 天 | 共 8 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day00 - 開賽

【經歷】那些年,被密碼學折磨的開發日常 不知道你有沒有遇過這些讓人想翻白眼的現場: SFTP 莫名猝死:對方主機一升級,原本順暢的 SFTP Client...

2026-09-15 ‧ 由 James 分享
DAY 2

Day01 - 為什麼要學密碼學?

為什麼要學密碼學 在古早時代,我們將寫好的信放入信封寄給對方。如果在傳送途中有人偷拿走信件,打開看完再封回去,甚至偷偷篡改裡面的內容,後果將不堪設想。 設想一下...

2026-09-16 ‧ 由 James 分享
DAY 3

Day02 - 加解密流程與密碼學基本用語

如何達成「機密性」? 前一天我們聊到了四大安全目標中的「機密性(Confidentiality)」,但究竟要如何做到「只有該看的人才看得到」?核心答案就是加解密...

2026-09-17 ‧ 由 James 分享
DAY 4

Day03 - 古典密碼學

前言 了解了加解密的基本流程後,今天就讓我們來看看古人是如何對訊息進行加解密的。透過了解古典密碼學的演進與破綻,我們能更直觀地理解現代密碼學是為了拯救哪些安全漏...

2026-09-18 ‧ 由 James 分享
DAY 5

Day04 - 現代密碼學

前言 綜合前幾天的內容:為避免第三方窺探,我們會對訊息進行加密。對 Alice 與 Bob 而言,必須事先約定加密方式,並安全共享對應的金鑰,才能正確解密。倘若...

2026-09-19 ‧ 由 James 分享
DAY 6

Day05 - 現代密碼學基礎 -- Base64與Hex Code

前言 你可能聽過有人把Base64當作資料庫密碼加密來用這樣的鬼故事,記住它只是改變字串表示方式,改變字串表示方式,改變字串表示方式,很重要所以說三次。 文字編...

2026-09-20 ‧ 由 James 分享
DAY 7

Day06 - 現代密碼學基礎 -- XOR 運算與可逆性

一、 二進位 (Binary) 電腦的世界本質上是由 0 與 1 構成的高低電位訊號。我們在螢幕上看到的文字、圖片或加密後的密文,在底層運算時都只是一連串的二進...

2026-09-21 ‧ 由 James 分享
DAY 8

Day07 - 現代密碼學基礎 -- 亂數產生器 (RNG)

一、 前言 在 Day 04 中我們建立了密碼學的核心觀念: 「演算法是公開的,安全性的關鍵全在於金鑰」 (Kerckhoffs's principle)。既然...

2026-09-22 ‧ 由 James 分享