Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ตัวอย่างยอดนิยมของ Block Cipher มีอะไรบ้าง?

บล็อกไซเฟอร์ยอดนิยม (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, 日本政府

ตารางเปรียบเทียบ

CipherBlockKeyRoundsStructureStatus
DES645616FeistelDeprecated
3DES64112/16848FeistelDeprecated 2023
AES128128/192/25610/12/14SPNStandard
Blowfish6432-44816FeistelLegacy
Twofish128128/192/25616FeistelRecommended Alt
Camellia128128/192/25618/24HybridStandard (ISO)
ChaCha20Stream25620ARXStandard (TLS 1.3)