密码学简介展开目录
密码学(Cryptography)一般可分为古典密码学和现代密码学。
古典密码学展开目录
古典密码学作为一种实用性艺术存在,其编码和破译通常依赖于设计者和敌手的创造力与技巧,并没有对密码学原件进行清晰的定义。古典密码学主要包含以下几个方面:
- 单表替换加密(Monoalphabetic Cipher)
- 多表替换加密(Polyalphabetic Cipher)
- 奇奇怪怪的加密方式
现代密码学展开目录
现代密码学则起源于 20 世纪中后期出现的大量相关理论,1949 年香农(C. E. Shannon)发表了题为《保密系统的通信理论》的经典论文标志着现代密码学的开始。现代密码学主要包含以下几个方面:
- 对称加密(Symmetric Cryptography),以 DES,AES,RC4 为代表
- 非对称加密(Asymmetric Cryptography),以 RSA,ElGamal,椭圆曲线加密为代表
- 哈希函数(Hash Function),以 MD5,SHA-1,SHA-512 等为代表
- 数字签名(Digital Signature),以 RSA 签名,ElGamal 签名,DSA 签名为代表
其中,对称加密体制主要分为两种方式:
- 分组密码(Block Cipher),又称为块密码
- 序列密码(Stream Cipher),又称为流密码
CTF 中 Crypto展开目录
CTF 中脑洞密码题 (非现代加密方式) 一般都是各种古典密码的变形,一般出题者会对密文进行一些处理,但是会给留一些线索
1. 常见编码展开目录
- ASCII 编码
- Base64/32/16 编码
- shellcode 编码
- Quoted-printable 编码
- XXencode 编码
- UUencode 编码
- URL 编码
- Unicode 编码
- Escape/Unescape 编码
- HTML 实体编码
- 敲击码 (Tap code)
- 莫尔斯电码 (Morse Code)
2. 换位加密展开目录
- 栅栏密码 (Rail-fence Cipher)
- 曲路密码 (Curve Cipher)
- 列移位密码 (Columnar Transposition Cipher)
3. 替换加密展开目录
- 埃特巴什码 (Atbash Cipher)
- 凯撒密码 (Caesar Cipher)
- ROT5/13/18/47
- 简单换位密码 (Simple Substitution Cipher)
- 希尔密码 (Hill Cipher)
- 猪圈密码 (Pigpen Cipher)
- 波利比奥斯方阵密码(Polybius Square Cipher)
- 夏多密码 (曲折加密)
- 普莱菲尔密码 (Playfair Cipher)
- 维吉尼亚密码 (Vigenère Cipher)
- 自动密钥密码 (Autokey Cipher)
- 博福特密码 (Beaufort Cipher)
- 滚动密钥密码 (Running Key Cipher)
- Porta 密码 (Porta Cipher)
- 同音替换密码 (Homophonic Substitution Cipher)
- 仿射密码 (Affine Cipher)
- 培根密码 (Baconian Cipher)
- ADFGX 和 ADFGVX 密码 (ADFG/VX Cipher)
- 双密码 (Bifid Cipher)
- 三分密码 (Trifid Cipher)
- 四方密码 (Four-Square Cipher)
- 棋盘密码(Checkerboard Cipher)
- 跨棋盘密码 (Straddle Checkerboard Cipher)
- 分组摩尔斯替换密码 (Fractionated Morse Cipher)
- Bazeries 密码 (Bazeries Cipher)
- Digrafid 密码 (Digrafid Cipher)
- 格朗普雷密码 (Grandpré Cipher)
- 比尔密码 (Beale ciphers)
- 键盘密码 (Keyboard Cipher)
4. 其他有趣的机械密码展开目录
- 恩尼格玛密码
5. 代码混淆加密展开目录
- asp 混淆加密
- php 混淆加密
- css/js 混淆加密
- VBScript.Encode 混淆加密
- ppencode
- rrencode
- jjencode/aaencode
- JSfuck
- jother
- brainfuck 编程语言
详细的加密方式讲解将会在后面的文章给出
参考展开目录
https://www.cnblogs.com/mq0036/p/6544055.html
https://ctf-wiki.github.io/ctf-wiki/crypto/introduction/