Claude Shannon เสนอเทคนิคของความสับสนและการแพร่กระจายสำหรับการจับบล็อกพื้นฐานของฟังก์ชันการเข้ารหัสลับแทนที่จะใช้วิธีการทางสถิติที่ยาวนานและใช้เวลานาน แชนนอนเป็นกังวลมากที่สุดเกี่ยวกับการป้องกันการเข้ารหัสด้วยความช่วยเหลือของการวิเคราะห์ทางสถิติ
เหตุผลที่อยู่เบื้องหลังมันมีดังนี้ สมมติว่าผู้โจมตีมีความเข้าใจลักษณะทางสถิติของข้อความธรรมดา ตัวอย่างเช่นในข้อความที่มนุษย์เข้าใจได้การแจกแจงความถี่ของตัวอักษรสามารถทราบล่วงหน้าได้ ในกรณีนั้นการเข้ารหัสลับค่อนข้างง่ายต่อการดำเนินการซึ่งสถิติที่ทราบสามารถสะท้อนในไซเฟอร์เท็กซ์ การเข้ารหัสลับนี้สามารถสรุปคีย์หรือบางส่วนของคีย์ได้ นั่นคือเหตุผลที่แชนนอนแนะนำสองวิธีคือความสับสนและการแพร่กระจาย
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | ความสับสน | การแพร่ |
---|---|---|
ขั้นพื้นฐาน | ใช้ในการสร้างข้อความตัวเลขที่คลุมเครือ | ใช้ในการสร้างข้อความธรรมดาที่คลุมเครือ |
พยายามที่จะ | สร้างความสัมพันธ์ระหว่างสถิติของไซเฟอร์เท็กซ์กับค่าของคีย์การเข้ารหัสที่ซับซ้อนที่สุด | ความสัมพันธ์ทางสถิติระหว่างเท็กซ์เท็กซ์และไซเฟอร์เท็กซ์ทำให้ซับซ้อนที่สุดเท่าที่จะทำได้ |
ผ่านพ้นไปได้ | อัลกอริทึมการทดแทน | อัลกอริทึมการขนย้าย |
ใช้โดย | สตรีมเข้ารหัสและบล็อกตัวเลข | บล็อกตัวเลขเท่านั้น |
ผลลัพธ์ | เพิ่มความคลุมเครือ | เพิ่มความซ้ำซ้อน |
นิยามของความสับสน
Confusion เป็นเทคนิคการเข้ารหัสที่คิดค้นขึ้นเพื่อเพิ่มความคลุมเครือของข้อความตัวเลขในคำง่ายๆเทคนิคนี้ช่วยให้มั่นใจได้ว่าข้อความตัวเลขไม่ให้เงื่อนงำเกี่ยวกับข้อความธรรมดา ในเทคนิคที่กำหนดความสัมพันธ์ระหว่างสถิติของข้อความตัวเลขและค่าของคีย์การเข้ารหัสจะถูกเก็บรักษาไว้อย่างซับซ้อนเท่าที่จะทำได้ แม้ว่าผู้โจมตีจะสามารถควบคุมสถิติของไซเฟอร์เท็กซ์ แต่เขาก็ไม่สามารถสรุปคีย์ได้ตามลักษณะที่ใช้ในการสร้างคีย์นั้นไซเฟอร์เท็กซ์นั้นซับซ้อนมาก
ความสับสนสามารถทำได้โดยใช้การทดแทนและอัลกอริทึม scrambling ที่ซับซ้อนที่อาศัยคีย์และการป้อนข้อมูล (plaintext)
คำจำกัดความของการแพร่
การแพร่กระจาย เป็นเทคนิคการเข้ารหัสที่คิดค้นเพื่อเพิ่มความซ้ำซ้อนของข้อความธรรมดาเพื่อปิดบังโครงสร้างทางสถิติของข้อความธรรมดาเพื่อป้องกันความพยายามในการสรุปคีย์ ในการแพร่กระจายโครงสร้างทางสถิติของข้อความธรรมดาสามารถหายไปเป็นสถิติระยะยาวของไซเฟอร์เท็กซ์และความสัมพันธ์ระหว่างพวกมันนั้นซับซ้อนดังนั้นจึงไม่มีใครสามารถอนุมานคีย์ดั้งเดิมได้
มันสามารถทำได้โดยการกระจายออกไปแต่ละหลัก plaintext หลักตัวเลขข้อความตัวเลขจำนวนมากเช่นเมื่อมีการเปลี่ยนแปลงเล็กน้อยธรรมดามันจะต้องส่งผลกระทบต่อข้อความตัวเลขทั้งหมดหรือการเปลี่ยนแปลงจะต้องเกิดขึ้นในข้อความตัวเลขทั้งหมด
ในบล็อกเลขศูนย์การแพร่กระจายสามารถทำได้โดยใช้การเปลี่ยนแปลงข้อมูลกับฟังก์ชั่นการเปลี่ยนแปลงผลที่ได้คือบิตจากตำแหน่งที่แตกต่างกันในต้นฉบับธรรมดาจะมีส่วนร่วมบิตเดียวของไซเฟอร์เท็กซ์ การแปลงในบล็อกเลขขึ้นอยู่กับคีย์
ความแตกต่างที่สำคัญระหว่างความสับสนและการกระจัดกระจาย
- เทคนิคความสับสนถูกนำมาใช้เพื่อสร้างไซเฟอร์เท็กซ์แบบคลุมเครือในขณะที่การแพร่กระจายจะถูกใช้เพื่อสร้างเทมเพลตที่คลุมเครือ
- ความสับสนพยายามสร้างความสัมพันธ์ทางสถิติระหว่างเท็กซ์เท็กซ์และไซเฟอร์เท็กซ์ที่ซับซ้อนที่สุดเท่าที่จะทำได้ ในทางตรงกันข้ามเทคนิคการแพร่กระจายพยายามที่จะสร้างความสัมพันธ์ระหว่างสถิติของไซเฟอร์เท็กซ์และค่าของคีย์การเข้ารหัสที่ซับซ้อนที่สุด
- อัลกอริทึมการทดแทนสามารถนำมาใช้เพื่อให้เกิดความสับสน เมื่อเทียบกับการแพร่สามารถทำได้โดยใช้เทคนิค transpositional
- Block cipher อาศัยความสับสนและการแพร่กระจายในขณะที่ stream cipher ใช้ความสับสนเท่านั้น
ข้อสรุป
ความสับสนและการแพร่กระจายทั้งสองเป็นเทคนิคการเข้ารหัสลับที่มีวัตถุประสงค์เพื่อสร้างความสัมพันธ์ระหว่างสถิติของไซเฟอร์เท็กซ์กับค่าของคีย์การเข้ารหัสที่ซับซ้อนที่สุดเท่าที่จะทำได้ ในทางกลับกันการแพร่กระจายพยายามปิดบังโครงสร้างทางสถิติของข้อความธรรมดาผ่านการแพร่กระจายผลกระทบของตัวเลขหลักแต่ละส่วนบนส่วนหลักหรือหลักตัวเลข