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

ส่วนประกอบของ Modern Block Cipher ในความปลอดภัยข้อมูล

Modern Block Cipher

เข้ารหัส Plaintext บล็อก m-bit ถอดรหัส Ciphertext บล็อก m-bit ใช้ K-bit Key อัลกอริทึมถอดรหัสต้องเป็น Inverse ของเข้ารหัส ใช้คีย์เดียวกัน

โหมดการทำงาน (Modes of Operation)

ป้องกันการเข้ารหัสบล็อกเหมือนกันด้วยวิธีเดียวกัน ใช้ Ciphertext บล็อกก่อนหน้ามาป้อนบล็อกถัดไป ใช้ Initialization Vector (IV) ให้ Ciphertext ต่างกันแม้ Plaintext และ Key เหมือนกัน

ส่วนประกอบหลัก

1. D-boxes (Permutation Boxes)

คล้าย Transposition Ciphers แบบดั้งเดิม สลับตำแหน่งบิต 3 ประเภท:

  • Straight D-box: n Input → n Output สลับตามลำดับ (เช่น Input ตัวที่ 2 → Output ตัวแรก) มี n! วิธี Mapping
  • Compression D-box: n Input → m Output (m < n) บล็อกบาง Input ไม่ไปถึง Output ใช้เมื่อต้องการสลับบิตและลดจำนวนบิต
  • Expansion D-box: n Input → m Output (m > n) Input บางตัวเชื่อมหลาย Output ใช้เมื่อต้องการสลับบิตและเพิ่มจำนวนบิต

2. S-boxes (Substitution Boxes)

คล้าย Substitution Cipher Input n-bit → Output m-bit (m, n ไม่จำเป็นต้องเท่ากัน)

3. Circular Shift

Left-shift หรือ Right-shift ใน Circular Left Shift: เลื่อนบิต m ตำแหน่งซ้าย บิตซ้ายสุด m ตัวกลายเป็นบิตขวาสุด