การเข้ารหัส AES กำหนดระยะของการซ่อนข้อมูลอิเล็กทรอนิกส์โดยใช้อัลกอริทึมการเข้ารหัสแบบสมมาตร 128 บิต 192 บิตหรือ 256 บิตที่ได้รับอนุมัติจาก Advanced Encryption Standard (AES) หรือที่เรียกว่า FIPS 197
ในปี 1990 รัฐบาลสหรัฐฯ จำเป็นต้องสร้างมาตรฐานอัลกอริธึมการเข้ารหัสซึ่งจะนำไปใช้ทั่วโลกโดยพวกเขา เป็นที่รู้จักกันในชื่อ Advanced Encryption Standard (AES)
มีการส่งข้อเสนอหลายฉบับและหลังจากการถกเถียงหลายครั้ง อัลกอริทึมที่เรียกว่า Rijndael ก็ได้รับการยอมรับ Rijandael ถูกคิดค้นโดย Joan Daemen และ Vincent Rijmen ความจำเป็นในการแสดงอัลกอริธึมใหม่เป็นเพราะจุดอ่อนที่เป็นที่รู้จักใน DES
คีย์ 56 บิตของ DES ไม่ถือว่าปลอดภัยต่อการโจมตีอีกต่อไป ขึ้นอยู่กับการค้นหาคีย์อย่างละเอียด และบล็อก 64 บิตยังถือว่าอ่อนแอ AES ใช้บล็อก 128 บิตพร้อมคีย์ 128 บิต
มีจุดต่อไปนี้ในขณะที่กำหนดโครงสร้าง AES มีดังนี้ -
-
จุดเด่นของโครงสร้างนี้คือไม่ใช่โครงสร้างแบบไฟสเทล ในโครงสร้าง feistel ครึ่งหนึ่งของ data block ถูกใช้เพื่อเปลี่ยนอีกครึ่งหนึ่งของ data block และทำให้มีการแลกเปลี่ยน thehalves
-
ผู้เข้ารอบสุดท้ายของ AES สองคน เช่น Rijandael ไม่ต้องการโครงสร้าง Feistel แต่ประมวลผลบล็อกข้อมูลทั้งหมดแบบคู่ขนานกันในแต่ละรอบโดยใช้การแทนที่และการเรียงสับเปลี่ยน
-
คีย์ที่รองรับเป็นอินพุตถูกขยายเป็นอาร์เรย์ของ 32 บิตคำสี่สิบสี่ w [i] มีคำที่แตกต่างกันสี่คำ (128 บิต) ทำหน้าที่เป็นแป้นกลมสำหรับแต่ละรอบ
-
มีหลายขั้นตอนที่ใช้ หนึ่งในการเปลี่ยนแปลงและสามของการแทนที่ -
-
ไบต์ทดแทน − มันถูกใช้เป็น S-box เพื่อปรับใช้การแทนที่บล็อกแบบไบต์ต่อไบต์
-
เปลี่ยนแถว − การเรียงสับเปลี่ยนอย่างง่าย
-
ผสมคอลัมน์ − การแทนที่ที่สร้างการใช้เลขคณิตเหนือ GF (28)
-
เพิ่มแป้นกลม − XOR ระดับบิตที่ราบรื่นของบล็อกสมัยใหม่ที่มีส่วนของปุ่มกระจาย
-
-
สำหรับการเข้ารหัสและการถอดรหัส การเข้ารหัสเริ่มต้นด้วยขั้นตอนการเพิ่มคีย์ ตามด้วยเก้ารอบที่มีทั้งสี่ขั้นตอน ตามด้วยรอบที่ 10 ในสามขั้นตอน
-
เพิ่มได้เฉพาะสเตจคีย์กลมที่สร้างการใช้คีย์ ด้วยเหตุผลนี้ การเข้ารหัสจึงเริ่มต้นและสิ้นสุดด้วยขั้นตอนการเพิ่มคีย์แบบกลม ระยะอื่นๆ ที่นำไปใช้เมื่อเริ่มต้นหรือสิ้นสุด สามารถย้อนกลับได้โดยไม่ต้องมีความรู้เกี่ยวกับคีย์ ดังนั้นจึงไม่มีการรักษาความปลอดภัยเพิ่มเติม
-
ระยะเพิ่มรอบคีย์เป็นรูปแบบของรหัสเวอร์นัมและโดยตัวมันเองจะไม่เป็นอันตราย อีกสามขั้นตอนรองรับ confusin, diffusion และ non-linearity แต่โดยตัวมันเองจะไม่รองรับการรักษาความปลอดภัยเพราะไม่ต้องการคีย์