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

การเข้ารหัสคีย์สมมาตร (Symmetric Key Cryptography) ในความปลอดภัยข้อมูลคืออะไร?

การเข้ารหัสคีย์สมมาตร (Symmetric key cryptography) เป็นประเภทของโครงร่างการเข้ารหัสที่คีย์เดียวกันถูกใช้ทั้งเพื่อเข้ารหัสและถอดรหัสข้อความ แนวทางการเข้ารหัสข้อมูลแบบนี้ได้รับการใช้งานอย่างกว้างขวางในหลายทศวรรษที่ผ่านมา เพื่ออำนวยความสะดวกการสื่อสารลับระหว่างรัฐบาลและทหาร

การเข้ารหัสคีย์สมมาตรเรียกอีกอย่างว่า shared-key, secret-key, single-key, one-key และสุดท้ายคือ private-key cryptography ด้วยรูปแบบการเข้ารหัสนี้ ชัดเจนว่าคีย์ควรเป็นที่รู้จักของทั้งผู้ส่งและผู้รับที่แชร์กัน ความซับซ้อนกับแนวทางนี้คือการกระจายคีย์ (key distribution)

โครงร่างการเข้ารหัสคีย์สมมาตรมักจัดประเภทเป็น stream ciphers หรือ block ciphers Stream ciphers ทำงานบนบิตเดียว (ไบต์หรือคำคอมพิวเตอร์) ในแต่ละครั้ง และดำเนินการโครงสร้าง feedback บางรูปแบบ เพื่อให้คีย์เปลี่ยนแปลงไปเรื่อยๆ

Block cipher (บล็อกซิเฟอร์) เรียกเช่นนั้นเพราะโครงร่างเข้ารหัสบล็อกข้อมูลหนึ่งบล็อกในแต่ละครั้ง โดยใช้คีย์เดียวกันบนแต่ละบล็อก โดยทั่วไป บล็อก plaintext เดียวกันจะเข้ารหัสเป็น ciphertext เดียวกันตลอดเวลาเมื่อใช้คีย์เดียวกันใน block cipher ในขณะที่ plaintext เดียวกันจะเข้ารหัสเป็น ciphertext ที่ต่างกันใน stream cipher

โหมดการทำงานของ Block Ciphers

Block ciphers สามารถทำงานในหนึ่งของหลายโหมด ดังนี้

  • Electronic Codebook (ECB) mode: เป็นการประยุกต์ใช้ที่ง่ายที่สุด และคีย์ร่วมสามารถใช้เพื่อเข้ารหัสบล็อก plaintext เพื่อสร้างบล็อก ciphertext บล็อก plaintext สองบล็อกที่เหมือนกันจะสร้างบล็อก ciphertext เดียวกันตลอด แม้จะเป็นโหมดที่พบบ่อยที่สุดของ block ciphers แต่มันได้รับผลกระทบจากหลายโจมตี brute-force
  • Cipher Block Chaining (CBC) mode: แทรกโครงสร้าง feedback เข้าไปในโครงร่างการเข้ารหัส ใน CBC plaintext ถูก exclusive-ORed (XORed) กับบล็อก ciphertext ก่อนหน้าก่อนการเข้ารหัส ในโหมดนี้ บล็อก plaintext สองบล็อกที่เหมือนกัน ไม่เข้ารหัสเป็น ciphertext เดียวกัน
  • Cipher Feedback (CFB) mode: เป็นการดำเนินการ block cipher เป็น self-synchronizing stream cipher CFB mode อนุญาตให้ข้อมูลถูกเข้ารหัสในหน่วยที่เล็กกว่าขนาดบล็อก ซึ่งอาจมีประโยชน์ในบางแอปพลิเคชันรวมถึงการเข้ารหัสอินพุตเทอร์มินัลแบบโต้ตอบ หากใช้ 1-byte CFB mode: ตัวอักษรที่เข้ามาแต่ละตัวถูกวางลงใน shift register ขนาดเดียวกับบล็อก เข้ารหัส และบล็อกถูกส่ง ที่ด้านรับ ciphertext ถูกถอดรหัส และบิตเพิ่มเติมในบล็อกถูกทิ้ง
  • Output Feedback (OFB) mode: เป็นการดำเนินการ block cipher ในแนวคิดเดียวกับ synchronous stream cipher OFB ป้องกันบล็อก plaintext เดียวกันจากการสร้างบล็อก ciphertext เดียวกัน โดยการใช้โครงสร้าง feedback ภายในที่เป็นอิสระจาก plaintext และ ciphertext bitstreams ทั้งสอง