บล็อกไซเฟอร์และ AES
บล็อกไซเฟอร์เข้ารหัสบล็อกข้อมูลขนาดคงที่ภายใต้คีย์ลับ; Advanced Encryption Standard (AES) เป็นบล็อกไซเฟอร์สมัยใหม่ที่โดดเด่นและเป็นรากฐานของการเข้ารหัสแบบสมมาตรส่วนใหญ่ที่ใช้งานอยู่
Definition
บล็อกไซเฟอร์คือฟังก์ชันที่ใช้คีย์และผันกลับได้ ซึ่งแมปบล็อกบิตข้อความธรรมดาที่มีความยาวคงที่ไปยังบล็อกบิตข้อความเข้ารหัสที่มีความยาวเท่ากัน; AES เป็นบล็อกไซเฟอร์มาตรฐานที่ทำงานบนบล็อกขนาด 128 บิต ด้วยคีย์ขนาด 128, 192, หรือ 256 บิต
Scope
หัวข้อนี้ครอบคลุมโครงสร้างและความปลอดภัยของบล็อกไซเฟอร์ รวมถึงเครือข่ายการแทนที่-การเรียงสับเปลี่ยน (substitution-permutation networks) และโครงสร้างแบบ Feistel, โดยเฉพาะอัลกอริทึม AES, และโหมดการทำงาน (เช่น CBC, CTR, และ GCM) ที่เปลี่ยนพรีมิทีฟบล็อกคงที่ให้เป็นรูปแบบสำหรับข้อความที่มีความยาวตามอำเภอใจ นอกจากนี้ยังกล่าวถึงการโจมตีด้วยการวิเคราะห์รหัส (differential and linear cryptanalysis) และแนวคิดของบล็อกไซเฟอร์ในฐานะการเรียงสับเปลี่ยนแบบสุ่มเทียม (pseudorandom permutation) หัวข้อนี้ไม่รวมสตรีมไซเฟอร์และฟังก์ชันแฮชแบบไม่มีคีย์ ซึ่งจะกล่าวถึงแยกต่างหาก
Core questions
- การเรียงสับเปลี่ยนที่ปลอดภัยบนบล็อกขนาดใหญ่สร้างขึ้นจากปฏิบัติการรอบที่เรียบง่ายและวิเคราะห์ได้ได้อย่างไร?
- เหตุใด AES จึงมีโครงสร้างเป็นเครือข่ายการแทนที่-การเรียงสับเปลี่ยนแทนที่จะเป็นเครือข่าย Feistel?
- โหมดการทำงานขยายบล็อกไซเฟอร์ไปยังข้อความที่มีความยาวตามอำเภอใจได้อย่างปลอดภัยได้อย่างไร?
- การวิเคราะห์รหัสเชิงอนุพันธ์และเชิงเส้นเผยให้เห็นอะไรเกี่ยวกับการต้านทานการโจมตีของไซเฟอร์?
- การจำลองบล็อกไซเฟอร์เป็นการเรียงสับเปลี่ยนแบบสุ่มเทียมหมายความว่าอย่างไร?
Key concepts
- ขนาดบล็อกและขนาดคีย์
- เครือข่ายการแทนที่-การเรียงสับเปลี่ยน
- เครือข่าย Feistel
- S-box
- รอบและตารางคีย์
- โหมดการทำงาน (ECB, CBC, CTR, GCM)
- การวิเคราะห์รหัสเชิงอนุพันธ์และเชิงเส้น
- การเรียงสับเปลี่ยนแบบสุ่มเทียม
Key theories
- เครือข่ายการแทนที่-การเรียงสับเปลี่ยน
- AES ทำซ้ำรอบที่รวมการแทนที่ไบต์แบบไม่เชิงเส้น (SubBytes), การผสมเชิงเส้น (ShiftRows, MixColumns), และการเพิ่มคีย์; การสลับการแทนที่และการเรียงสับเปลี่ยนทำให้เกิดเป้าหมายการสับสนและการกระจายของ Shannon ด้วยการต้านทานที่พิสูจน์ได้ต่อการโจมตีเชิงอนุพันธ์และเชิงเส้น
- โหมดการทำงาน
- บล็อกไซเฟอร์เพียงอย่างเดียวเข้ารหัสได้เพียงบล็อกเดียว; โหมดต่างๆ เช่น CBC, CTR, และ GCM ที่มีการตรวจสอบสิทธิ์ ระบุวิธีการเชื่อมโยงหรือนับบล็อกเพื่อให้ข้อความยาวถูกเข้ารหัสอย่างปลอดภัย และในโหมดที่มีการตรวจสอบสิทธิ์ ก็จะมีความสมบูรณ์ของข้อมูลด้วย
Mechanisms
AES ประมวลผลบล็อก 128 บิตที่จัดเรียงเป็นเมทริกซ์ไบต์ขนาด 4x4 ผ่าน 10, 12, หรือ 14 รอบ (สำหรับคีย์ 128, 192, 256 บิต) แต่ละรอบจะใช้ SubBytes (S-box แบบไม่เชิงเส้นคงที่), ShiftRows (การเรียงสับเปลี่ยนไบต์), MixColumns (การแปลงเชิงเส้นบนฟิลด์จำกัด), และ AddRoundKey (XOR กับคีย์รอบจากตารางคีย์) การรวมกันนี้ให้การกระจายที่แข็งแกร่งภายในไม่กี่รอบและต้านทานการวิเคราะห์รหัสที่ทราบ
Clinical relevance
AES มีอยู่ทั่วไปในระบบที่ใช้งานอยู่: มันรักษาความปลอดภัยข้อมูลจำนวนมากของการรับส่งข้อมูลเว็บที่ป้องกันด้วย TLS, การเข้ารหัสทั้งดิสก์ (BitLocker, FileVault, LUKS), Wi-Fi (WPA2/WPA3), VPNs, และการส่งข้อความที่เข้ารหัส คำสั่ง AES ในฮาร์ดแวร์ (AES-NI) ทำให้มันเร็วพอที่จะเข้ารหัสลิงก์ที่มีปริมาณงานสูงได้อย่างโปร่งใส
Evidence & guidelines
AES ถูกระบุใน NIST FIPS 197 และได้รับการอนุมัติให้ปกป้องข้อมูลลับสูงสุดถึง TOP SECRET (ด้วยคีย์ 192 หรือ 256 บิต) ภายใต้ Commercial National Security Algorithm Suite ของ NSA โหมดบล็อกไซเฟอร์ได้รับการกำหนดมาตรฐานใน NIST SP 800-38 series DES รุ่นเก่าถูกยกเลิก; AES-GCM และ AES-CCM เป็นโหมดที่แนะนำสำหรับการตรวจสอบสิทธิ์
History
หลังจาก DES (1977) อ่อนแอเกินไปสำหรับคีย์ 56 บิต NIST ได้จัดการแข่งขันแบบเปิดระหว่างประเทศ (1997-2000) เพื่อเลือกผู้สืบทอด ผู้สมัครสิบห้ารายได้รับการวิเคราะห์รหัสต่อสาธารณะ; การออกแบบ Rijndael โดยนักรหัสวิทยาชาวเบลเยียม Joan Daemen และ Vincent Rijmen ได้รับเลือกและกำหนดมาตรฐานเป็น AES ใน FIPS 197 (2001) การวิเคราะห์รหัสเชิงอนุพันธ์ (Biham และ Shamir) และการวิเคราะห์รหัสเชิงเส้น (Matsui) ซึ่งพัฒนาขึ้นเพื่อต่อต้าน DES ได้กำหนดเกณฑ์การออกแบบสำหรับ AES
Key figures
- Joan Daemen
- Vincent Rijmen
- Horst Feistel
- Eli Biham
- Adi Shamir
- Mitsuru Matsui
Related topics
Seminal works
- daemen2002
- nist2001aes
- katz2020
Frequently asked questions
- เหตุใดจึงควรหลีกเลี่ยงโหมด ECB?
- ในโหมด Electronic Codebook (ECB) บล็อกข้อความธรรมดาที่เหมือนกันจะถูกเข้ารหัสเป็นบล็อกข้อความเข้ารหัสที่เหมือนกัน ซึ่งทำให้โครงสร้างในข้อมูลรั่วไหล (เห็นได้ชัดเจนเมื่อเข้ารูปภาพ) โหมดที่ปลอดภัย เช่น CTR, CBC, หรือ GCM ใช้เวกเตอร์เริ่มต้นหรือตัวนับเพื่อซ่อนการซ้ำซ้อน
- AES-256 มีความปลอดภัยมากกว่า AES-128 อย่างมีนัยสำคัญหรือไม่?
- ทั้งสองถือว่าปลอดภัยจากการโจมตีแบบคลาสสิก; AES-128 มีความปลอดภัยเกินกว่าการค้นหาแบบ brute-force ที่เป็นไปได้อยู่แล้ว AES-256 มีขอบเขตความปลอดภัยที่ใหญ่กว่าและเป็นที่นิยมสำหรับความลับระยะยาวและการป้องกันหลังยุคควอนตัม เนื่องจากอัลกอริทึมของ Grover ลดความยาวคีย์ที่มีประสิทธิภาพลงเพียงครึ่งเดียวเท่านั้น