Diffusion (การกระจาย) คืออะไร?
Diffusion เป็นกระบวนการเข้ารหัสที่กระจายอิทธิพลของสัญลักษณ์ Plaintext หนึ่งตัวไปยังหลายสัญลักษณ์ Ciphertext เพื่อปิดบังคุณสมบัติทางสถิติของ Plaintext ตัวอย่างง่ายคือ Bit Permutation (ใช้ใน DES) AES ใช้ Mix-column Process ที่ซับซ้อนกว่า
หลักการสำคัญ
- ถ้าเปลี่ยน 1 บิตของ Plaintext → (ทางสถิติ) ครึ่งหนึ่งของบิตใน Ciphertext ต้องเปลี่ยน
- ถ้าเปลี่ยน 1 บิตของ Ciphertext → ประมาณครึ่งหนึ่งของบิต Plaintext ควรเปลี่ยน
- เนื่องจากบิตมีได้แค่ 2 สถานะ การคำนวณใหม่และย้ายตำแหน่งจะทำให้ครึ่งหนึ่งของบิตเปลี่ยนสถานะ
วัตถุประสงค์
ปิดบังความสัมพันธ์ระหว่าง Ciphertext และ Plaintext ทำให้โจมตีหา Plaintext ยากขึ้น เพิ่ม Redundancy ของ Plaintext โดยกระจายไปตามแถวและคอลัมน์ ทำได้ผ่าน Transposition Algorithm ใช้ได้กับ Block Ciphers เท่านั้น
คุณสมบัติสมัยใหม่
Block Cipher สมัยใหม่มีคุณสมบัติ Diffusion ดีเยี่ยม: เปลี่ยน 1 บิต Plaintext → เปลี่ยนเฉลี่ยครึ่งหนึ่งของ Output bits Ciphertext ที่สองดูเหมือนอิสระทางสถิติจาก Ciphertext แรก คุณสมบัติสำคัญในการทำงานกับ Block Ciphers
ทฤษฎี Diffusion of Innovations
ในงานวิจัยความปลอดภัยข้อมูล ใช้ทฤษฎี Diffusion of Innovations ประเมินความสำเร็จของเทคโนโลยีความปลอดภัย เช่น Digital Signatures, Privacy-enhancing Technologies, Federated Identity Management ประกอบด้วย Relative Advantage, Compatibility, Complexity, Trialability, Observability