การเข้ารหัสแบบสมมาตรคืออะไร?

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

คุณสมบัติของอัลกอริธึมการเข้ารหัสแบบสมมาตร

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

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

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

คุณสมบัติทั้งหมดนี้ทำให้อัลกอริธึมการเข้ารหัสแบบสมมาตรมีประโยชน์อย่างยิ่งสำหรับการเข้ารหัสข้อมูลจำนวนมาก โดยเฉพาะอย่างยิ่งในกรณีที่ความเร็วเป็นปัญหา

สตรีม ciphers และ block ciphers

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

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

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

บทสรุป

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