2025-01-16
บล็อกของข้อมูลความยาวคงที่ (เช่น 128, 192 หรือ 256 บิต) ถูกแปลงเป็นชุดของการแทนที่, การหมุนเวียน, และการผสมผสานการปฏิบัติการถูกนําไปใช้ในการเข้ารหัสและแยกรหัสของข้อมูลเนื่องจากการเข้ารหัส AES ใช้รหัส symmetric, ตัวเดียวกันที่ใช้สําหรับการเข้ารหัสและถอดรหัส
กระบวนการเกิดขึ้นในระยะ:
1. การขยายหลัก. คีย์เบื้องต้นขยายเป็น 44, 52, หรือ 60 คํา 32-bit สําหรับ 128, 192, และ 256-bit คีย์. คําขยายเหล่านี้ถูกใช้ในรอบต่อมาของ AES การเข้ารหัสกระบวนการขยายกุญแจรวมถึงการสร้างกุญแจกลมเพิ่มเติมจากกุญแจเริ่มต้น.
2รอบแรก. บล็อกข้อมูลหรือข้อความธรรมดาถูกผสมผสานกับคีย์รอบแรก ก่อนที่จะดําเนินการไปยังรอบหลักของ AES การเข้ารหัส
3ทุกรอบของการเข้ารหัส AES ประกอบด้วยการแปลง 4 ครั้ง:
ซับไบท์. แต่ละไบท์ในบล็อกถูกเปลี่ยนด้วยไบท์ที่ตรงกันในกล่องการแทนที่ที่กําหนดล่วงหน้า
ShiftRows. ไบท์ในแต่ละแถวบล็อคถูกย้ายไปทางซ้ายแบบหมุนเวียนขั้นตอนนี้ทําให้แน่ใจว่าคอลัมน์แต่ละคอลัมน์ของภาวะผลิตของการปฏิบัติการ ShiftRows ประกอบด้วยไบท์ที่มาจากคอลัมน์แต่ละคอลัมน์ของภาวะ input.
MixColumns. คอลัมน์แต่ละคอลัมน์ถูกแปลงโดยใช้การคูณเมทริกซ์ ซึ่งให้การแพร่ระบายและเพิ่มความปลอดภัยของ AES. การปฏิบัติงานนี้ส่งผลต่อทั้งหมดสี่ไบท์ในคอลัมน์ด้วยกัน
AddRoundKey. บล็อคที่เกิดขึ้นจะรวมกับคีย์กลมที่มาจากตารางคีย์ ขั้นตอนนี้รวมข้อมูลกับคีย์, ให้การกระจาย
4การเสร็จสิ้นหลังจากรอบหลักทั้งหมด รอบสุดท้ายจะดําเนินการ รวมถึงทุกขั้นตอน ยกเว้น MixColumns
5. ผลิต. บิตที่เกิดขึ้นคือ ciphertext ที่ตรงกับบล็อก plaintext input
การถอดรหัสจะดําเนินการด้วยการดําเนินการกลับกันในลําดับตรงกันข้าม โปรแกรมกุญแจจะใช้โดยตรง (ไม่ถอดรหัสกลับ) เพื่อผลิตกุญแจกลมสําหรับการถอดรหัส
ส่งคำถามของคุณโดยตรงถึงเรา