幾種經典密碼(classic cipher)
凱撒密碼(Caesar Cipher)
Alice和Bob通訊,Alice和Bob共享一個移位數字,所有的明文都移動相同的位置。
最早的置換密碼(substitution cipher)
原理:簡單的將字母移位
例如:
位移k=3時,對應的置換表如下:
明文 | A | B | C | … | X | Y | Z |
---|---|---|---|---|---|---|---|
密文 | D | C | D | … | A | B | C |
分析:該加密方式能被頻率分析(frequency analysis)所破解
多表密碼(維吉尼亞密碼, Vigenere Cipher)
Alice和Bob共享一個私密的移位單詞
原理:將明文以移位單詞迴圈移位
例子:
如果移位單詞為:HELLO
明文為:NICETOMEETYOU
加密方式為:
注意:結果需要mod26
所以Alice要傳送的密文為:UMNPHVQPPHFSF
Bob收到密文解密:將對應的密文減去移位單詞就可以還原明文
分析:該方式的加密使得簡單的頻率分析不能再使用;Eve要破解密文,首先得知道移位單詞的長度,然後破解移位單詞本身(相當於多個Caesar cipher)
移位單詞越長,破解越困難
一次一密(One Time Pad-OTP)
隨機生成每個數的移位數字
(隨機序列的長度與資訊序列的長度相同)
原理:每個字母的移位都是隨機生成的
分析:一次一密具有完美安全(又叫絕對安全,perfect security)
相關文章
- 密碼學系列之:feistel cipher密碼學
- 幾種經典的排序演算法排序演算法
- PHP處理密碼的幾種方式PHP密碼
- MySQL修改root密碼的幾種方法MySql密碼
- Python學習——Caesar Cipher密碼破解(加密)方法Python密碼加密
- 經典星號檢視器檢視密碼密碼
- 神經網路之卷積篇:詳解經典網路(Classic networks)神經網路卷積
- Windwos密碼匯出的幾種姿勢密碼
- PHP生成隨機密碼的幾種方法PHP隨機密碼
- 思科路由器密碼恢復的經典方案路由器密碼
- 分組密碼演算法工作模式(block cipher operation mode)密碼演算法模式BloC
- 幾道經典的幾何作圖趣題
- 原始碼防洩密幾種技術原理總結原始碼
- vue專案中mapboxgl的幾個經典操作程式碼示例Vue
- RC4演算法:流密碼演算法的經典之作演算法密碼
- 幾個常用經典演算法總結演算法
- 經典T-SQL程式碼SQL
- 【Java】經典示例程式碼Java
- 八數碼 經典問題
- 只要一行程式碼,實現五種 CSS 經典佈局行程CSS
- PHP面試高薪寶典系列: 幾種常見的設計模式(附完整程式碼)PHP面試高薪設計模式
- Linux 【Shell指令碼經典案例】Linux指令碼
- Swift實現八種經典排序演算法Swift排序演算法
- Python 機器學習 HMM模型三種經典問題Python機器學習HMM模型
- 手機的各種密碼密碼
- 演算法設計幾個經典思維題目演算法
- Java Cipher初探Java
- 四種古典密碼的C++實現(3)-----Playfair密碼密碼C++AI
- 四種古典密碼的C++實現(4)-----Caesar密碼密碼C++
- mysql報關於使用者密碼1045(28000),幾種處理方法MySql密碼
- Linux篇一:經典指令碼scriptLinux指令碼
- SQLite是一種經典的無伺服器ServerlessSQLite伺服器Server
- JDBC連線各種資料庫的方法(經典)JDBC資料庫
- 程式碼迭代的幾種方式
- 幾種常用的排序程式碼排序
- MySQL亂碼的幾種原因MySql
- oracle密碼幾點基礎知識Oracle密碼
- EBS密碼安全的幾個引數密碼