---
# System prepended metadata

title: 古典加密
tags: [crypto]

---

---
title: 古典加密
tags: crypto
lang: zh_tw
---

* [筆記總覽](https://hackmd.io/@LJP/rkerFdnqS)

[TOC]

# 古典加密
## [Caeser Cipher (Shift Cipher)](https://en.wikipedia.org/wiki/Caesar_cipher)
key 為 offset
密文 = 明文字母同移 key

## [Monoalphabetic Cipher (Substitution Cipher)](https://en.wikipedia.org/wiki/Substitution_cipher)
key 為字母對應表
密文 = 明文字母照表替代成對應的字母

## [Playfair Cipher](https://en.wikipedia.org/wiki/Playfair_cipher)
Wiki 寫蠻好的

## [Vigenère Cipher](https://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher)
明文的每一個字都有一個對應要 shift 的 offset

首先將 key repeat 成跟明文一樣長
- 這個行為又稱 autokey

明文對應的 key 是 A~Z，就 shift 0 ~ 25

## [Vernam Cipher](https://en.wikipedia.org/wiki/Gilbert_Vernam)
一樣用上 autokey，將明文與 key 做 xor

## [One-Time Pad](https://en.wikipedia.org/wiki/One-time_pad)
key 為跟明文一樣長的亂碼，並只使用一次

## [Rail Fence Cipher](https://en.wikipedia.org/wiki/Rail_fence_cipher)
Wiki 寫蠻好的

## [Row Trasposition](https://en.wikipedia.org/wiki/Transposition_cipher)
Wiki 寫蠻好的