DES (มาตรฐานการเข้ารหัสข้อมูล) และ AES (มาตรฐานการเข้ารหัสขั้นสูง) เป็นรหัสศูนย์บล็อกแบบสมมาตร AES ได้รับการแนะนำให้รู้จักกับการเอาชนะอุปสรรคของ DES เนื่องจาก DES มีขนาดของคีย์ที่เล็กกว่าซึ่งทำให้ความปลอดภัยน้อยกว่าในการเอาชนะ DES สามตัวนี้ได้ถูกนำเสนอ แต่มันกลับกลายเป็นว่าช้าลง ดังนั้นภายหลัง AES ได้รับการแนะนำโดยสถาบันมาตรฐานและเทคโนโลยีแห่งชาติ ความแตกต่างพื้นฐานระหว่าง DES และ AES คือใน DES plaintext block แบ่งออกเป็นสองส่วนก่อนที่อัลกอริทึมหลักจะเริ่มต้นในขณะที่ AES บล็อกทั้งหมดจะถูกประมวลผลเพื่อให้ได้ ciphertext
ให้เราคุยความแตกต่างเพิ่มเติมระหว่าง DES กับ AES ด้วยความช่วยเหลือของแผนภูมิเปรียบเทียบที่แสดงด้านล่าง
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | DES (มาตรฐานการเข้ารหัสข้อมูล) | AES (มาตรฐานการเข้ารหัสขั้นสูง) |
---|---|---|
ขั้นพื้นฐาน | ใน DES บล็อกข้อมูลจะแบ่งออกเป็นสองส่วน | ใน AES บล็อกข้อมูลทั้งหมดจะถูกประมวลผลเป็นเมทริกซ์เดียว |
หลัก | DES ทำงานบนโครงสร้าง Feistel Cipher | AES ทำงานบนหลักการทดแทนและการเปลี่ยนรูป |
ข้อความธรรมดา | ข้อความธรรมดาคือ 64 บิต | ข้อความธรรมดาสามารถเป็น 128, 192 หรือ 256 บิต |
ขนาดปุ่มกด | DES เปรียบเทียบกับ AES มีขนาดของคีย์ที่เล็กกว่า | AES มีขนาดแป้นที่ใหญ่กว่าเมื่อเทียบกับ DES |
รอบ | 16 รอบ | 10 รอบสำหรับอัลโก 128- บิต 12 รอบสำหรับอัลโก้แบบ 192 บิต 14 รอบสำหรับอัลโก 256 บิต |
รอบชื่อ | การเปลี่ยนแปลงการขยายตัว, Xor, S-box, P-box, Xor และ Swap | Subbytes, Shiftrows, คอลัมน์ Mix, Addroundkeys |
ความปลอดภัย | DES มีคีย์ที่เล็กกว่าซึ่งปลอดภัยน้อยกว่า | AES มีรหัสลับที่มีขนาดใหญ่จึงมีความปลอดภัยมากกว่า |
ความเร็ว | DES ค่อนข้างช้ากว่า | AES เร็วขึ้น |
คำจำกัดความของ DES (มาตรฐานการเข้ารหัสข้อมูล)
Data Encryption Standard (DES) เป็น รหัสคีย์บล็อคแบบสมมาตร ที่นำมาใช้โดย สถาบันมาตรฐานและเทคโนโลยีแห่งชาติ ในปี 1977 DES ขึ้นอยู่กับ โครงสร้าง Feistel ที่แบ่งออกเป็นสองส่วน DES รับอินพุตเป็นข้อความธรรมดา 64 บิตและคีย์ 56 บิตเพื่อสร้าง Ciphertext 64 บิต
ในรูปด้านล่างคุณสามารถดูการเข้ารหัสของธรรมดาโดยใช้ DES ในขั้นต้นเท็กซ์เท็กซ์ 64 บิตผ่านการเปลี่ยนแปลงครั้งแรกซึ่งจัดเรียงบิตใหม่เพื่อรับอินพุตที่เปลี่ยนรูปแบบ 64 บิต ตอนนี้อินพุตที่ปรับเปลี่ยนขนาด 64 บิตจะถูกแบ่งออกเป็นสองส่วนคือส่วนที่เหลือ 32 บิตและส่วนที่ถูกต้อง 32 บิต ทั้งสองส่วนนี้ผ่านรอบสิบหกรอบซึ่งแต่ละรอบจะทำหน้าที่เหมือนกัน หลังจากเสร็จสิ้นรอบสิบหกรอบจะมีการเปลี่ยนแปลงครั้งสุดท้ายและได้รับ ciphertext 64 บิต
- การขยายตัวของการขยายตัว : ที่นี่ส่วนขวา 32 บิตถูกขยายเป็นรูปแบบส่วนขวา 48 บิต
- Xor : ส่วนที่ถูกต้อง 48 บิตคือ Xor พร้อมคีย์ย่อย 48 บิตที่ได้รับจากคีย์ 56 บิตซึ่งส่งผลให้เอาต์พุต 48- บิต
- S-box : เอาต์พุต 48- บิตที่ได้รับจากขั้นตอน Xor ลดลงเป็น 32 บิตอีกครั้ง
- P-box : ที่นี่ผลลัพธ์แบบ 32 บิตที่ได้รับจาก S-box จะถูกเรียงลำดับอีกครั้งซึ่งส่งผลให้มีผลลัพธ์แบบ 32 บิต
คำจำกัดความของ AES (มาตรฐานการเข้ารหัสขั้นสูง)
มาตรฐานการเข้ารหัสขั้นสูง (AES) เป็น รหัสศูนย์บล็อกคีย์แบบสมมาตร AES ถูกตีพิมพ์ใน ปี 2544 โดย สถาบันมาตรฐานและเทคโนโลยีแห่งชาติ AES ถูกนำมาใช้เพื่อแทนที่ DES เนื่องจาก DES ใช้รหัสตัวเลขขนาดเล็กมากและอัลกอริทึมค่อนข้างช้า
- Subbytes: มันใช้ S-box ซึ่งมันจะทำการแทน byte byte ของทั้งบล็อก (เมทริกซ์)
- Shift Rows: แถวของเมทริกซ์ถูกเลื่อน
- คอลัมน์ผสม: คอลัมน์เป็นเมทริกซ์ที่มีการสับจากขวาไปซ้าย
- เพิ่มปุ่มกลม: ที่ นี่ Xor ของบล็อกปัจจุบันและคีย์ที่ขยายจะดำเนินการ
และรอบที่ 10 ที่ผ่านมานั้นเกี่ยวข้องกับ Subbytes, Shift Rows, และ Add round keys stage เท่านั้นและมี ciphertext 16 ไบต์ (128- บิต)
ความแตกต่างที่สำคัญระหว่าง DES และ AES
- ความแตกต่างพื้นฐานระหว่าง DES และ AES คือบล็อกใน DES แบ่งออกเป็นสองส่วนก่อนที่จะดำเนินการต่อไปในขณะที่ในบล็อก AES ทั้งหมดจะได้รับการประมวลผลเพื่อให้ได้ไซเฟอร์เท็กซ์
- อัลกอริทึม DES ทำงานบนหลักการ Feistel Cipher และอัลกอริทึม AES ทำงานบนหลักการทดแทนและการเปลี่ยนรูป
- ขนาดคีย์ของ DES คือ 56 บิตซึ่งค่อนข้างเล็กกว่า AES ซึ่งมีคีย์ลับ 128, 192 หรือ 256 บิต
- การปัดเศษใน DES รวมถึง Expansion Permutation, Xor, S-box, P-box, Xor และ Swap ในทางกลับกันการปัดเศษใน AES ได้แก่ Subbytes, Shiftrows, คอลัมน์ Mix, Addroundkeys
- DES มีความปลอดภัยน้อยกว่า AES เนื่องจากขนาดของคีย์ขนาดเล็ก
- AES ค่อนข้างเร็วกว่า DES
สรุป:
DES เป็นอัลกอริธึมรุ่นเก่าและ AES เป็นอัลกอริธึมขั้นสูงซึ่งเร็วกว่าและปลอดภัยกว่า DES