การเข้ารหัสคีย์แบบสมมาตรเป็นรูปแบบการเข้ารหัสที่ใช้คีย์ที่คล้ายกันเพื่อเข้ารหัสและถอดรหัสข้อความ แนวทางการเข้ารหัสข้อมูลดังกล่าวถูกใช้เป็นส่วนใหญ่ในทศวรรษที่ผ่านมาเพื่ออำนวยความสะดวกในการสื่อสารที่เป็นความลับระหว่างรัฐบาลและกองทัพ
การเข้ารหัสแบบสมมาตรคีย์เรียกว่าการเข้ารหัสแบบแชร์คีย์, คีย์ลับ, คีย์เดียว, คีย์เดียวและในที่สุดก็มีการเข้ารหัสด้วยคีย์ส่วนตัว ด้วยรูปแบบการเข้ารหัสนี้ เป็นที่ชัดเจนว่าทั้งผู้ส่งและผู้รับควรทราบคีย์ที่แชร์ ความซับซ้อนของแนวทางนี้คือการกระจายคีย์
แผนการเข้ารหัสคีย์แบบสมมาตรมักจะถูกจัดประเภท เช่น รหัสสตรีมหรือรหัสบล็อก การเข้ารหัสของสตรีมทำงานทีละบิต (ไบต์หรือคำในคอมพิวเตอร์) ในแต่ละครั้ง และดำเนินการตามรูปแบบคำติชมของโครงสร้างเพื่อให้คีย์มีการเปลี่ยนแปลงซ้ำๆ
รหัสบล็อกเรียกว่าเนื่องจากรูปแบบการเข้ารหัสข้อมูลครั้งละหนึ่งบล็อกโดยใช้คีย์เดียวกันในแต่ละบล็อก โดยทั่วไป บล็อกข้อความธรรมดาเดียวกันจะเข้ารหัสข้อความเข้ารหัสเดียวกันอย่างต่อเนื่องเมื่อใช้คีย์ที่คล้ายกันในรหัสบล็อก ในขณะที่ข้อความธรรมดาเดียวกันจะเข้ารหัสเป็นข้อความเข้ารหัสที่แตกต่างกันในรหัสสตรีม
บล็อกไซเฟอร์สามารถทำงานได้ในโหมดใดโหมดหนึ่งดังต่อไปนี้ -
-
โหมด Electronic Codebook (ECB) เป็นแอปพลิเคชั่นที่ง่ายที่สุดและสามารถใช้คีย์ที่ใช้ร่วมกันเพื่อเข้ารหัสบล็อกข้อความธรรมดาเพื่อสร้างบล็อกข้อความเข้ารหัส มีสองบล็อกข้อความธรรมดาที่เหมือนกันจะสร้างบล็อกข้อความเข้ารหัสเดียวกันเสมอ แม้ว่านี่จะเป็นโหมดที่ใช้กันทั่วไปในบล็อกไซเฟอร์ แต่ก็ได้รับผลกระทบจากการโจมตีแบบเดรัจฉานหลายครั้ง
-
โหมด Cipher Block Chaining (CBC) แทรกโครงสร้างคำติชมไปยังแผนการเข้ารหัส ใน CBC ข้อความธรรมดาเป็นแบบ OR เท่านั้น (XORed) ที่มี ciphertextblock ก่อนหน้าก่อนการเข้ารหัส ในโหมดนี้ มี notencrypt ข้อความธรรมดาสองบล็อกที่เหมือนกันกับข้อความเข้ารหัสที่คล้ายกัน
-
โหมด Cipher Feedback (CFB) เป็นการนำรหัสบล็อกมาใช้เป็นการเข้ารหัสแบบซิงโครไนซ์สตรีม โหมด CFB ช่วยให้สามารถเข้ารหัสข้อมูลในหน่วยที่ต่ำกว่าขนาดบล็อก ซึ่งอาจเป็นประโยชน์ในบางแอปพลิเคชัน รวมถึงการเข้ารหัสอินพุตเทอร์มินัลแบบโต้ตอบ หากใช้โหมด CFB 1 ไบต์
อักขระที่เข้ามาแต่ละตัวจะอยู่ในกะลงทะเบียนที่มีขนาดใกล้เคียงกันกับบล็อก เข้ารหัส และบล็อกที่ส่ง ที่ฝั่งรับ ข้อความเข้ารหัสจะถูกถอดรหัสและจำนวนบิตในบล็อกจะถูกละทิ้ง
-
โหมดผลตอบรับเอาต์พุต (OFB) เป็นการนำรหัสบล็อกไปใช้ตามแนวคิดเดียวกันกับรหัสสตรีมแบบซิงโครนัส OFB หลีกเลี่ยงบล็อกข้อความธรรมดาที่คล้ายกันจากการสร้างบล็อกข้อความเข้ารหัสเดียวกันโดยใช้โครงสร้างคำติชมภายในที่ไม่ขึ้นอยู่กับทั้งข้อความธรรมดาและบิตสตรีมข้อความเข้ารหัส