การเข้ารหัสสตรีมมีความเหมาะสมกับแอปพลิเคชันฮาร์ดแวร์แบบเรียลไทม์
รหัสเป็นชุดของกฎทางคณิตศาสตร์หรืออัลกอริทึมที่ใช้ในการแปลงข้อความที่อ่านได้หรือข้อความธรรมดาเป็นข้อความที่อ่านไม่ได้หรือข้อความเข้ารหัส ความแตกต่างหลักระหว่าง stream ciphers และ block ciphers คือ stream ciphers ทำงานบน stream ของข้อความ ครั้งละหนึ่งบิตหรือหนึ่งไบต์ ในขณะที่ block ciphers ทำงานบนบล็อกของข้อความ
สตรีมการเข้ารหัส
แนวคิดพื้นฐานของรหัสสตรีมคือการแบ่งข้อความออกเป็นบล็อกเล็กๆ ยาวหนึ่งบิตหรือหนึ่งไบต์ และเข้ารหัสแต่ละบล็อกโดยขึ้นอยู่กับบล็อกก่อนหน้าหลายๆ บล็อก การเข้ารหัสแบบสตรีมใช้คีย์การเข้ารหัสที่แตกต่างกัน ซึ่งเป็นค่าที่ต้องป้อนลงในอัลกอริทึม สำหรับแต่ละบิตหรือไบต์ ดังนั้นบิตหรือไบต์เดียวกันจะสร้างข้อความเข้ารหัสที่แตกต่างกันในแต่ละครั้งที่มีการเข้ารหัส การเข้ารหัสสตรีมบางตัวใช้ตัวสร้างสตรีมคีย์ ซึ่งสร้างสตรีมบิตแบบสุ่มหรือเกือบสุ่ม รหัสดำเนินการบูลีนที่เรียกว่า OR พิเศษ ระหว่างบิตในคีย์สตรีมและบิตในข้อความธรรมดาเพื่อสร้างข้อความเข้ารหัส
วีดีโอประจำวันนี้
บล็อกการเข้ารหัส
แนวคิดพื้นฐานของรหัสบล็อกคือการแบ่งข้อความในบล็อกที่ค่อนข้างใหญ่ โดยทั่วไปแล้วจะมีความยาว 64 หรือ 128 บิต และเข้ารหัสแต่ละบล็อกแยกกัน ใช้คีย์เข้ารหัสเดียวกันสำหรับแต่ละบล็อกและเป็นคีย์เข้ารหัสที่กำหนด ลำดับของการแทนที่ การขนส่ง และฟังก์ชันทางคณิตศาสตร์อื่น ๆ ในแต่ละส่วน บล็อก. อัลกอริธึมที่รัดกุมหมายความว่าวิศวกรรมย้อนกลับรหัสลับ หรือการพิจารณาว่าหน้าที่ใดที่ดำเนินการในแต่ละบล็อก ซึ่งในลำดับนั้นแทบจะเป็นไปไม่ได้เลย
การแพร่กระจายและความสับสน
Block ciphers ใช้เทคนิคที่เรียกว่าความสับสนและการแพร่กระจายเพื่อเข้ารหัสข้อความธรรมดาเป็นข้อความเข้ารหัส แนวคิดเบื้องหลังความสับสนคือการทำให้ความสัมพันธ์ระหว่างคีย์เข้ารหัสและข้อความเข้ารหัสมีความซับซ้อนมากที่สุด ตามหลักการแล้ว อักขระทุกตัวในคีย์เข้ารหัสควรส่งผลต่ออักขระทุกตัวในข้อความเข้ารหัส ในทางตรงกันข้าม การแพร่กระจายจะกระจายอิทธิพลของอักขระแต่ละตัวในข้อความธรรมดาไปยังอักขระหลายตัวในข้อความเข้ารหัส ทำให้การเข้ารหัสมีความอ่อนไหวต่อการโจมตีทางสถิติน้อยลง
ข้อดีและข้อเสีย
ความจริงที่ว่าการเข้ารหัสของสตรีมเข้ารหัสและถอดรหัสข้อมูลทีละบิต หมายความว่ารหัสเหล่านี้เหมาะสมอย่างยิ่งกับแอปพลิเคชันฮาร์ดแวร์แบบเรียลไทม์ เช่น แอปพลิเคชันเสียงและวิดีโอ การเข้ารหัสของสตรีมนั้นอ่อนแอกว่าและมีประสิทธิภาพน้อยกว่าบล็อกไซเฟอร์เมื่อพูดถึงแอปพลิเคชันซอฟต์แวร์และมักใช้ในทรงกลมนั้นน้อยกว่า Block ciphers นั้นง่ายต่อการใช้งานในซอฟต์แวร์เพราะพวกมันเข้ารหัสข้อมูลในบล็อคที่มีความยาวที่ซอฟต์แวร์ใช้อยู่แล้ว คีย์เข้ารหัสมักจะมีความยาวเท่ากับขนาดบล็อก