บล็อกไซเฟอร์ยอดนิยม (Popular Block Ciphers)
1. CAST (CAST-128 / CAST5)
- พัฒนาโดย Carlisle Adams & Stafford Tavares (Canada)
- Feistel Network, บล็อก 64 บิต, กุญแจ 40-128 บิต
- ใช้ใน: PGP, GPG, SSL/TLS (รุ่นเก่า)
- S-boxes 8 ตัว (32→32 บิต) ใหญ่กว่า DES
2. Blowfish
- Bruce Schneier (1993), Public Domain
- บล็อก 64 บิต, กุญแจ 32-448 บิต, 16 รอบ Feistel
- Key-dependent S-boxes (4×256×32บิต)
- เร็วในซอฟต์แวร์ 32-bit, ใช้ใน bcrypt, OpenSSL (Legacy)
- ❌ บล็อก 64 บิต → Sweet32, Key Expansion ช้า
3. IDEA (International Data Encryption Algorithm)
- Lai & Massey (1991), บล็อก 64 บิต, กุญแจ 128 บิต
- 8 รอบ, ใช้ ⊞ (mod 2¹⁶), ⊙ (mod 2¹⁶+1), ⊕
- Non-Feistel (Parallel processing)
- ใช้ใน PGP 2.x, SSH v1
- ❌ บล็อก 64 บิต, Weak Keys, ไม่มี HW Acceleration
4. RC5
- Ron Rivest (1994), บล็อก 32/64/128 บิต, กุญแจ 0-2040 บิต, รอบ 0-255
- Data-dependent Rotations (นวัตกรรมหลัก)
- Simple: XOR, ADD, ROTATE
- Memory efficient → เหมาะ Smart Cards
- ❌ มีสิทธิบัตร (หมดอายุแล้ว), นิยมน้อยกว่า AES
5. AES (Advanced Encryption Standard) - มาตรฐานปัจจุบัน
- Rijndael (Daemen & Rijmen) คัดเลือก NIST 2001
- บล็อก 128 บิต, กุญแจ 128/192/256 บิต
- Substitution-Permutation Network (SPN) ไม่ใช่ Feistel
- 10/12/14 รอบ, ใช้ GF(2⁸) Arithmetic
- ✅ Hardware Acceleration (AES-NI, ARM Crypto)
- ✅ มาตรฐานสากล (FIPS 197, ISO/IEC 18033-3)
6. Twofish
- Schneier et al. (AES Finalist)
- บล็อก 128 บิต, กุญแจ 128/192/256 บิต, 16 รอบ Feistel
- Key-dependent S-boxes, MDS Matrix, PHT
- Public Domain, เร็วในซอฟต์แวร์
7. Camellia
- Mitsubishi/NTT (Japan), บล็อก 128 บิต, กุญแจ 128/192/256 บิต
- Feistel + SPN Hybrid, 18/24 รอบ
- มาตรฐาน ISO/IEC 18033-3, ใช้ใน TLS, 日本政府
ตารางเปรียบเทียบ
| Cipher | Block | Key | Rounds | Structure | Status |
|---|---|---|---|---|---|
| DES | 64 | 56 | 16 | Feistel | Deprecated |
| 3DES | 64 | 112/168 | 48 | Feistel | Deprecated 2023 |
| AES | 128 | 128/192/256 | 10/12/14 | SPN | Standard |
| Blowfish | 64 | 32-448 | 16 | Feistel | Legacy |
| Twofish | 128 | 128/192/256 | 16 | Feistel | Recommended Alt |
| Camellia | 128 | 128/192/256 | 18/24 | Hybrid | Standard (ISO) |
| ChaCha20 | Stream | 256 | 20 | ARX | Standard (TLS 1.3) |