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

ความแตกต่างระหว่าง Block Cipher และ Stream Cipher


ทั้งการเข้ารหัสแบบ Block และ Stream เป็นวิธีการของการเข้ารหัสที่ใช้เป็นหลักในการแปลงข้อความธรรมดาเป็นข้อความเข้ารหัสโดยตรงและอยู่ในตระกูลของรหัสคีย์สมมาตร

ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่าง Block Cipher และ Stream Cipher

ซีเนียร์ เลขที่ คีย์ บล็อกรหัส สตรีมรหัส
1 คำจำกัดความ Block Cipher เป็นประเภทของการเข้ารหัสที่การแปลงข้อความธรรมดาทำได้โดยการบล็อกในแต่ละครั้ง ในอีกทางหนึ่ง Stream Cipher เป็นประเภทของการเข้ารหัสที่การแปลงข้อความธรรมดาดำเนินการโดยใช้ข้อความธรรมดาครั้งละหนึ่งไบต์
2 การแปลงบิต เนื่องจาก Block Cipher ทำการบล็อกในแต่ละครั้ง จึงมีการแปลงบิตที่ค่อนข้างมากขึ้นเมื่อเทียบกับใน Stream Cipher โดยเฉพาะ 64 บิตขึ้นไปจึงสามารถแปลงได้ในแต่ละครั้ง ในทางกลับกัน ในกรณีที่ Stream Cipher แปลงได้สูงสุด 8 บิตในแต่ละครั้ง
3 หลักการ Block Cipher ใช้ทั้งหลักความสับสนและการแพร่กระจายสำหรับการแปลงที่จำเป็นสำหรับการเข้ารหัส ในทางกลับกัน Stream Cipher ใช้หลักความสับสนในการแปลงเท่านั้น
4 อัลกอริทึม สำหรับการเข้ารหัสข้อความธรรมดา Block Cipher ใช้อัลกอริธึม Electronic Code Book (ECB) และ Cipher Block Chaining (CBC) ในทางกลับกัน Stream Cipher ใช้อัลกอริธึม CFB (Cipher Feedback) และ OFB (Output Feedback)
5 ถอดรหัส เมื่อรวมบิตจำนวนมากขึ้นจะได้รับการเข้ารหัสในกรณีของ Block Cipher ดังนั้นการเข้ารหัสหรือการถอดรหัสแบบย้อนกลับจึงค่อนข้างซับซ้อนเมื่อเทียบกับ Stream Cipehr ในทางกลับกัน Stream Cipher ใช้ XOR สำหรับการเข้ารหัสซึ่งสามารถย้อนกลับเป็นข้อความธรรมดาได้อย่างง่ายดาย
6 การนำไปใช้ การใช้งานหลักของ Block Cipher คือ Feistel Cipher ในทางกลับกัน การใช้งาน Stream Cipher หลักคือ Vernam Cipher