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

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

วีดีโอ: ความแตกต่างระหว่าง Stream Cipher และ Block Cipher

วีดีโอ: ความแตกต่างระหว่าง Stream Cipher และ Block Cipher
วีดีโอ: Block cipher vs Stream cipher 2024, พฤศจิกายน
Anonim

สตรีม Cipher กับ Block Cipher | รหัสสถานะเทียบกับรหัสที่ถูกบล็อก

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

รหัสสตรีมคืออะไร

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

บล็อกรหัสคืออะไร

รหัสบล็อกเป็นอีกหนึ่งรหัสที่สมมาตร บล็อกไซเฟอร์ทำงานบนบล็อก (กลุ่มของบิต) ที่มีความยาวคงที่ การเข้ารหัสแบบบล็อกใช้การแปลงแบบคงที่ (ไม่แปรผัน) สำหรับตัวเลขทั้งหมดในบล็อก ตัวอย่างเช่น เมื่อมีการป้อนข้อความธรรมดาของบล็อก x-bit (พร้อมกับรหัสลับ) เป็นอินพุตไปยังเอ็นจินบล็อกการเข้ารหัส จะสร้างบล็อก x-bit ที่สอดคล้องกันของข้อความเข้ารหัส การแปลงจริงขึ้นอยู่กับรหัสลับ ในทำนองเดียวกัน อัลกอริธึมการถอดรหัสจะกู้คืนบล็อก x-bit ดั้งเดิมของข้อความธรรมดาโดยใช้บล็อก x-bit ของ ciphertext และคีย์ลับด้านบนเป็นอินพุตในกรณีที่ข้อความป้อนเข้ายาวเกินไปเมื่อเทียบกับขนาดของบล็อก ข้อความนั้นจะถูกแบ่งออกเป็นบล็อก และบล็อกเหล่านี้จะถูกเข้ารหัส (ทีละรายการ) โดยใช้คีย์เดียวกัน อย่างไรก็ตาม เนื่องจากมีการใช้คีย์เดียวกัน ลำดับที่ทำซ้ำแต่ละรายการในข้อความธรรมดาจะกลายเป็นลำดับที่ซ้ำกันในข้อความเข้ารหัส และอาจทำให้เกิดปัญหาด้านความปลอดภัยได้ รหัสบล็อกยอดนิยมคือ DES (Data Encryption Standard) และ AES (Advanced Encryption Standard)

Stream Cipher และ Block Cipher ต่างกันอย่างไร

แม้ว่าทั้ง stream ciphers และ block ciphers จะอยู่ในตระกูลของ symmetric encryption ciphers แต่ก็มีความแตกต่างที่สำคัญบางประการ Block ciphers เข้ารหัสบล็อคความยาวคงที่ของบิต ในขณะที่ stream ciphers รวมบิตข้อความธรรมดากับสตรีมบิตไซเฟอร์สุ่มเทียมโดยใช้การดำเนินการ XOR แม้ว่าบล็อคไซเฟอร์จะใช้การแปลงแบบเดียวกัน แต่สตรีมไซเฟอร์ก็ใช้การแปลงที่แตกต่างกันไปตามสถานะของเครื่องยนต์ การเข้ารหัสสตรีมมักจะดำเนินการเร็วกว่าการเข้ารหัสแบบบล็อกในแง่ของความซับซ้อนของฮาร์ดแวร์ รหัสของสตรีมค่อนข้างซับซ้อนน้อยกว่า การเข้ารหัสของสตรีมเป็นการตั้งค่าทั่วไปมากกว่าการเข้ารหัสแบบบล็อกเมื่อมีข้อความธรรมดาในปริมาณที่แตกต่างกัน (เช่น การเชื่อมต่อ wifi ที่ปลอดภัย) เนื่องจากการเข้ารหัสแบบบล็อกไม่สามารถทำงานได้โดยตรงบนบล็อกที่สั้นกว่าขนาดบล็อก แต่บางครั้ง ความแตกต่างระหว่างรหัสสตรีมและรหัสบล็อกไม่ชัดเจนนัก เหตุผลก็คือ เมื่อใช้โหมดการทำงานบางอย่าง รหัสบล็อกสามารถใช้เป็นรหัสสตรีมได้โดยอนุญาตให้เข้ารหัสหน่วยข้อมูลที่เล็กที่สุดที่มีอยู่

แนะนำ: