AES คืออะไรและทำไมคุณถึงชอบมัน

เผยแพร่แล้ว: 2019-03-12
สารบัญ
  • มันเริ่มต้นอย่างไร

  • AES คืออะไร?

  • ตัวอย่างการเข้ารหัส AES

  • การดำเนินการ

  • AES ปลอดภัยหรือไม่?

  • คุณอาจเคยเจอตัวย่อ AES มากกว่าหนึ่งครั้ง บางทีคุณอาจเคยสงสัยด้วยซ้ำว่า AES คืออะไร ? อะไรทำให้มันพิเศษมาก? ถ้าใช่ คุณมาถูกที่แล้ว ในบทความนี้ เราจะบอกทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับ AES ซึ่งเป็น Advanced Encryption Standard

    โดยสังเขป:

    เราสามารถกำหนด AES เป็น รหัสบล็อก สมัยใหม่ที่รองรับการเข้ารหัสแบบ 128, 192 และ 256 บิตได้ สามคีย์ มันให้การรักษาความปลอดภัยระยะยาวที่ยอดเยี่ยมต่อการโจมตีแบบเดรัจฉาน

    นี่คือสิ่งที่:

    ในปี 2010 AES เป็นตัว เข้ารหัสไฟล์ที่ได้ รับความนิยมมากที่สุด ในโลก มีการใช้กันอย่างแพร่หลายใน โปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัย เช่น FTPS, HTTPS (ซึ่งเรามีในเว็บไซต์นี้), SFTP, AS2, WebDAVS และ OFTP บริการ VPN ส่วนใหญ่ที่ตรวจสอบบน TechJury ใช้การเข้ารหัส AES ระดับสูงสุด สิ่งที่ชอบของ ExpressVPN และ CyberGhost ใช้ AES 256 บิตตามความเป็นจริง

    แต่:

    ศาสตราจารย์ Christof Paar จาก Ruhr University of Bochum ประเทศเยอรมนี ซึ่งเป็นผู้เชี่ยวชาญที่มีชื่อเสียงระดับโลกด้านการ เข้ารหัส AES ได้คาดการณ์ว่า ตัวเลขเฉพาะเกี่ยวกับการนำไปใช้นั้นหาได้ยาก ประมาณว่ามีการใช้เพื่อเข้ารหัสข้อมูล มากกว่า 50% ของข้อมูลทั้งหมดทั่วโลก ฟังดูน่าประทับใจใช่มั้ย

    รอ - ยังมีอีก:

    สำนักงานความมั่นคงแห่งชาติของสหรัฐอเมริกาอนุญาตให้ส่งข้อมูลลับในระดับ TOP SECRET ผ่าน AES เรากำลังพูดถึงความลับทางการของที่นี่ สไตล์เจมส์ บอนด์ เขย่าไม่กวน

    แล้วเรื่องใหญ่ล่ะ?

    มันเริ่มต้นอย่างไร

    เริ่มต้น Let 's กับบิตของข้อมูลพื้นฐานเกี่ยวกับมาตรฐานการเข้ารหัส มาตรฐานการเข้ารหัสข้อมูล (DES) ก่อนหน้านี้ซึ่งพัฒนาขึ้นในช่วงกลางทศวรรษ 1970 และนำมาใช้อย่างเป็นทางการในปี 2520 ได้กลายเป็นสิ่งที่ล้าสมัยและอ่อนไหวต่อการโจมตีทางอินเทอร์เน็ตมากขึ้นในช่วงทศวรรษ 1990 ดังนั้น สถาบันมาตรฐานและเทคโนโลยีแห่งชาติของสหรัฐอเมริกา (NIST) จึงตัดสินใจแทนที่ด้วยมาตรฐานขั้นสูงใหม่

    NIST ร้องขอและพิจารณาข้อเสนอหลายข้อในท้ายที่สุด หนึ่งชนะส่งสอง cryptologists เบลเยียมหนุ่ม - วินเซ็นต์ริจเมนและโจนเดเมน - ถูกเรียก Rijndael เราใช้ตรงกันกับ AES NIST นำระบบเข้ารหัสใหม่มาใช้อย่างเป็นทางการในเดือนพฤศจิกายน 2544 และมีผลบังคับใช้ในเดือนพฤษภาคม 2545 ส่วนอื่นๆ ของโลกก็ปฏิบัติตามอย่างรวดเร็ว

    แต่พอกับสิ่งที่น่าเบื่อ มาดูข้อมูลเฉพาะกัน

    AES คืออะไร?

    ที่ง่ายที่สุด AES คือ อัลกอริธึมการเข้ารหัสที่ ใช้เพื่อปกป้องข้อมูลอิเล็กทรอนิกส์ เป็น รหัสบล็อกสมมาตร ที่สามารถเข้ารหัสและถอดรหัสข้อมูลได้ การเข้ารหัสจะแปลงข้อมูลให้อยู่ในรูปแบบที่ไม่สามารถเข้าใจได้ซึ่งเรียกว่า ciphertext การถอดรหัสจะแปลงข้อมูลกลับเป็นรูปแบบเดิมที่เรียกว่า ข้อความธรรมดา

    นี่คือสิ่งที่ทำให้มันพิเศษมาก:

    ประการแรก AES มีความยาวคีย์การเข้ารหัสที่ 128, 192 และ 256 บิต ซึ่งสามารถเข้ารหัสและถอดรหัสข้อมูลใน บล็อกขนาด 128 บิต อาการไม่พึงประสงค์ยาวคีย์การเข้ารหัสที่ยาวที่สุดที่รู้จักกันว่าการเข้ารหัสทหารชั้น แม้ว่าจะปลอดภัยที่สุดและซอฟต์แวร์ป้องกันไวรัสและโซลูชันการจัดการรหัสผ่านส่วนใหญ่ใช้ 256 บิต แต่คุณควรจะใช้อีกสองอย่างที่เหลือได้ เว้นแต่คุณจะกลัวการโจมตีในอนาคตจากคอมพิวเตอร์ควอนตัม เช่นเดียวกับสำนักงานความมั่นคงแห่งชาติของสหรัฐอเมริกา!

    ประการที่สอง มันสามารถต้านทานการโจมตีได้มากที่สุดหากไม่ใช่การโจมตีที่รู้จักทั้งหมด (เพิ่มเติมในภายหลัง)

    ประการที่สาม มีความรวดเร็วและกะทัดรัดบนแพลตฟอร์มที่หลากหลาย ด้วยการใช้ประสิทธิภาพสูงสุด คุณสามารถบรรลุ 1.3 รอบ/ไบต์บนโปรเซสเซอร์ single-core Intel Core i7 Extreme Edition, i7-980X สำหรับ AES-128 ในโหมดคู่ขนาน ไม่เลวเลย

    ทั้งหมดนี้ทำให้เป็นที่นิยมอย่างมาก ซึ่งนำเราไปสู่:

    AES ทำงานอย่างไร

    เช่นเดียวกับหลายยันต์บล็อกอื่น ๆ AES ใช้รอบของการเข้ารหัสที่ดำเนินการแปลงเลขศูนย์ โดยทั่วไป แต่ละรอบประกอบด้วยบล็อคการสร้างหลายแบบที่ออกแบบร่วมกันเพื่อสร้างฟังก์ชัน ซึ่งเรียกใช้หลายครั้ง จำนวนรอบที่ AES ดำเนินการขึ้นอยู่กับความยาวของคีย์ ที่ 128 บิต ทำได้ 10 ที่ 192 – 12 และที่ 256 – 14

    ซึ่งแตกต่างจากรุ่นก่อน – DES ดังกล่าว – ซึ่งสามารถเข้ารหัสได้เพียงครึ่งหนึ่งของเส้นทางข้อมูลในแต่ละรอบ AES สามารถเข้ารหัสเส้นทางข้อมูลทั้งหมดในรอบเดียว

    แต่ละรอบประกอบด้วยสี่ชั้น:

    1) SubBytes ทำให้เกิดความสับสนอย่างยอดเยี่ยม – “ความสับสน” ที่เกี่ยวข้องกับ AES เป็นคุณสมบัติของการดำเนินการของการเข้ารหัสที่ปลอดภัย ทำให้ความสัมพันธ์ระหว่างไซเฟอร์เท็กซ์ กับคีย์สมมาตร ซับซ้อนที่สุด การทำเช่นนี้จะสร้างตารางที่ไม่เป็นเชิงเส้น ซึ่งช่วยขจัดรูปแบบได้ดีมาก

    2) ShiftRows ให้การแพร่กระจาย - โดยที่ "การแพร่กระจาย" เป็นคุณสมบัติอื่นของการทำงานของ รหัส AES ที่ปลอดภัย เป้าหมายในที่นี้คือการ กระจายโครงสร้างทางสถิติของข้อความธรรมดาเหนือข้อความเข้ารหัสโดยกระจายทุกส่วนของอินพุตไปยังทุกส่วนของเอาต์พุต

    3) MixColumns ให้การแพร่กระจายต่อไปเพื่อให้เกิดประสิทธิภาพเพิ่ม

    4) AddRoundKey ผสมคีย์ ทำให้ผู้โจมตีไม่สามารถคำนวณว่ารหัสทำอะไรได้บ้าง

    ที่น่าสนใจคือรอบที่แล้วไม่มีเลเยอร์ MixColumns ทำให้รูปแบบการเข้ารหัสและถอดรหัสมีความ สมมาตร

    การเพิ่มคีย์ย่อยในตอนต้นและตอนท้ายเรียกว่า คีย์ไวท์เทนนิ่ง

    ทั้งหมดนั้นดีและดี ฉันได้ยินคุณพูด แต่ก็ยังคลุมเครือเล็กน้อย คุณช่วยยกตัวอย่างให้เราได้ไหม?

    ตกลง นี่คือสิ่งหนึ่ง:

    ตัวอย่างการเข้ารหัส AES

    คุณคงคุ้นเคยกับประโยคที่โด่งดัง (มักอ้างอิงผิด) ต่อไปนี้จากเรื่อง Romeo and Juliet ของ William Shakespeare :

    “ชื่ออะไร? ที่เราเรียกว่ากุหลาบ
    จะว่าไปคำไหนก็หอมหวาน”

    และนี่คือสิ่งที่ดูเหมือนในการ เข้ารหัส AES 256 บิต :

    CDrSpLOilx0tDY46n5dQsVM7639A36PcnJQJQmgprvzh/Yj+BHZxspoGGXq4Pln5jOBOVbIP08z76klzqzqtUY+p4mTnJrh1FK7LEjmPum/YO129EWSWGunmzJMh0m0m0

    ฉันคิดว่าไม่โรแมนติกเท่าที่ควร แม้ว่านี่จะทำให้การ์ดวันวาเลนไทน์เป็นต้นฉบับอย่างแท้จริง ไม่ว่าในกรณีใด คุณสามารถลองเข้ารหัสการเล่นของคุณเอง – หรืออย่างอื่นสำหรับเรื่องนั้น

    บทกวีที่เพียงพอสำหรับหนึ่งวัน

    มีอะไรอีกมากมายที่เราสามารถดูได้ตั้งแต่:

    การดำเนินการ

    ข่าวดี! ผู้ก่อตั้ง อัลกอริธึม AES ระบุไว้ในข้อเสนอเบื้องต้นว่าทั้ง อัลกอริธึม และการนำไปใช้งานใดๆ จะไม่อยู่ภายใต้สิทธิบัตร ทำให้ใช้งาน ได้ฟรี เราสามารถพบได้ใน ซอฟต์แวร์ เฟิร์มแวร์ ฮาร์ดแวร์ หรือส่วนผสม อื่นๆ บางทีการใช้งานทั่วไปที่คุณน่าจะเจอคือ...

    โปรโตคอลความปลอดภัย Wi-Fi เช่น WPA-PSK (AES) และ WPA2-PSK (AES) คุณมักจะพบ TKIP เก่า (Temporal Key Integrity Protocol) ควบคู่ไปกับการเข้ารหัส AES จุดประสงค์ดั้งเดิมของ TKIP คือการแทนที่ WEP ที่ ค่อนข้างไม่ปลอดภัย (Wired Equivalent Privacy) น่าเสียดายที่มันไม่ได้พิสูจน์ถึงการปรับปรุงจากรุ่นก่อนมากนัก ดังนั้น AES ที่ปลอดภัยยิ่งขึ้นจึงมาพร้อมกับประเภทการเข้ารหัส WPA2 (Wi-Fi Protected Access II) ใหม่ ส่วน PSK ของตัวย่อหมายถึง Pre-shared Key และเป็นข้อความรหัสผ่านการเข้ารหัสของคุณ

    ภาษาการเขียนโปรแกรม เช่น Java และ Python ยังสามารถได้รับประโยชน์จากการ รักษาความปลอดภัย AES ที่เป็นเครื่องมือที่มีประโยชน์มากที่สุดสำหรับการตั้งค่าแผนลับกับเพื่อนของคุณที่เรียกว่า Facebook Messenger บางทีคุณอาจเป็นหนี้พวกอันธพาลที่ชั่วร้ายในลอนดอนบางคนถึงครึ่งล้านปอนด์ อย่างที่พวกเด็ก ๆ ในหนังเรื่อง Lock, Stock และ Two Smoking Barrels ของอังกฤษ ทำกัน และคุณต้องคิดหาวิธีหาเงินทันที อาจจะไม่.

    แต่:

    หากคุณกำลังจะใช้ Facebook Messenger เพื่อรักษาเวลาและสถานที่ที่แน่นอนของเรื่องของคุณให้พ้นจากการสอดรู้สอดเห็น คุณจะถามคำถาม:

    AES ปลอดภัยหรือไม่?

    โดยทั่วไป ความแข็งแกร่งของการเข้ารหัสจะ ขึ้นอยู่กับ ความยาวของคีย์ตัวเลข ที่เข้ารหัสและถอดรหัสข้อความ

    และนี่คือสิ่งที่บ้า:

    ไม่สามารถทำการ โจมตีด้วยกำลังเดรัจฉาน บน AES-256 ได้ สำเร็จ ความพยายามดังกล่าวจะต้องมีชุดค่าผสม ประมาณ 1,100 ตามด้วยศูนย์ 75 ตัว ค่อนข้างเป็นตัวเลขใช่มั้ย?

    แต่เดี๋ยวก่อน:

    ใน ปี 2560 นักวิจัยชาวดัตช์สามารถดึง คีย์ การเข้ารหัส AES 256 โดยใช้การ โจมตีช่องด้านข้าง ด้วยเสาอากาศและการประมวลผลสัญญาณที่ได้รับการปรับปรุง อุปกรณ์มีราคาไม่ถึง 200 ดอลลาร์ ดังนั้นคุณจึงทำเองได้ แต่จำไว้ว่าคุณจะต้อง อยู่ห่าง จากอุปกรณ์ที่คุณกำหนดเป้าหมาย ไม่ถึงหนึ่งหลา

    ตอนนี้:

    เรื่องราวของ Advanced Encryption Standard ซึ่งเริ่มต้นเมื่อหนึ่งในสี่ของศตวรรษที่ผ่านมากับนักวิจัยจากประเทศต่ำ ได้เกิดขึ้นเต็มวงกับนักวิจัยจากป่าต้นเดียวกัน ของ 2021 AES ยังคงเป็นซอฟต์แวร์การเข้ารหัสที่ใช้กันอย่างแพร่หลายสำหรับการป้องกันไฟล์ข้อมูลอิเล็กทรอนิกส์ทั่วโลก ยิ่งไปกว่านั้น มีแนวโน้มว่าจะเป็นเช่นนั้น อย่างน้อยก็ในอนาคตอันใกล้นี้

    มีโอกาสดีที่คุณจะใช้ข้อความนี้บนอุปกรณ์ใดก็ตามที่คุณกำลังอ่านข้อความนี้ ซึ่งเป็นเหตุผลว่าทำไมคุณถึงชอบข้อความนี้ แม้ว่าคุณจะไม่ทราบเรื่องนี้มาก่อนก็ตาม

    คำถามที่พบบ่อย

    การเข้ารหัส AES ใช้ที่ไหน

    สามารถใช้กับซอฟต์แวร์ เฟิร์มแวร์ ฮาร์ดแวร์ หรือชุดค่าผสมอื่นๆ ได้หลากหลาย การใช้งานทั่วไปส่วนใหญ่อยู่ใน Wi-Fi โดยเฉพาะ WPA2-PSK (AES); คุณยังสามารถใช้งานได้ในภาษาการเขียนโปรแกรมต่างๆ เช่น Crypto++, Java และ Python และแม้แต่ใน Facebook Messenger

    AES ปลอดภัยแค่ไหน?

    มันปลอดภัยมาก ขนาดความยาวของคีย์ที่ใหญ่ที่สุด (256 บิต) สามารถต้านทานการโจมตีแบบเดรัจฉานได้ เฉพาะในปี 2560 ที่นักวิจัยชาวดัตช์สามารถดึงคีย์การเข้ารหัสโดยการโจมตีช่องสัญญาณด้านข้างด้วยการใช้เสาอากาศและการประมวลผลสัญญาณที่ได้รับการปรับปรุง

    AES ใช้งานได้ฟรีหรือไม่

    ใช่ ใครๆ ก็ใช้ได้ฟรี ผู้ก่อตั้งระบุว่าจะไม่อยู่ภายใต้สิทธิบัตร

    AES คืออะไร?

    AES ซึ่งย่อมาจาก Advanced Encryption Standard เป็นอัลกอริธึมการเข้ารหัสที่ใช้เพื่อปกป้องข้อมูลอิเล็กทรอนิกส์ เดิมได้รับการพัฒนาโดยนักเข้ารหัสจากเบลเยียมในปลายทศวรรษ 1990 โดยพื้นฐานแล้ว มันเป็นรหัสบล็อกสมมาตรที่สามารถเข้ารหัสและถอดรหัสข้อมูลได้ การเข้ารหัสจะแปลงข้อมูลให้อยู่ในรูปแบบที่ไม่สามารถเข้าใจได้ซึ่งเรียกว่าไซเฟอร์เท็กซ์ การถอดรหัสจะแปลงข้อมูลกลับเป็นรูปแบบเดิมที่เรียกว่าข้อความธรรมดา สถาบันมาตรฐานและเทคโนโลยีแห่งชาติของสหรัฐอเมริกาอนุมัติในเดือนพฤศจิกายน 2544 และเผยแพร่ในเดือนพฤษภาคม 2545