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

การเข้ารหัสและถอดรหัส AES ในความปลอดภัยของข้อมูลคืออะไร


การเข้ารหัส 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 แต่โดยตัวมันเองจะไม่รองรับการรักษาความปลอดภัยเพราะไม่ต้องการคีย์