身為Java工程師多年,遇到關於密碼學的問題不勝其數,但總在一知半解中度過。希望透過這次鐵人賽的試煉不求全盤通透的了解,建立清晰的整體架構與實務概念。
【經歷】那些年,被密碼學折磨的開發日常 不知道你有沒有遇過這些讓人想翻白眼的現場: SFTP 莫名猝死:對方主機一升級,原本順暢的 SFTP Client...
為什麼要學密碼學 在古早時代,我們將寫好的信放入信封寄給對方。如果在傳送途中有人偷拿走信件,打開看完再封回去,甚至偷偷篡改裡面的內容,後果將不堪設想。 設想一下...
如何達成「機密性」? 前一天我們聊到了四大安全目標中的「機密性(Confidentiality)」,但究竟要如何做到「只有該看的人才看得到」?核心答案就是加解密...
前言 了解了加解密的基本流程後,今天就讓我們來看看古人是如何對訊息進行加解密的。透過了解古典密碼學的演進與破綻,我們能更直觀地理解現代密碼學是為了拯救哪些安全漏...
前言 綜合前幾天的內容:為避免第三方窺探,我們會對訊息進行加密。對 Alice 與 Bob 而言,必須事先約定加密方式,並安全共享對應的金鑰,才能正確解密。倘若...
前言 你可能聽過有人把Base64當作資料庫密碼加密來用這樣的鬼故事,記住它只是改變字串表示方式,改變字串表示方式,改變字串表示方式,很重要所以說三次。 文字編...
一、 二進位 (Binary) 電腦的世界本質上是由 0 與 1 構成的高低電位訊號。我們在螢幕上看到的文字、圖片或加密後的密文,在底層運算時都只是一連串的二進...
一、 前言 在 Day 04 中我們建立了密碼學的核心觀念: 「演算法是公開的,安全性的關鍵全在於金鑰」 (Kerckhoffs's principle)。既然...