เหตุใดการเป็นความลับที่สมบูรณ์แบบ/แยกไม่ออก (และไม่ใช่การสุ่ม) จึงเพียงพอสำหรับแผนการเข้ารหัส แต่ไม่ใช่สำหรับรหัสบล็อก
ยันต์บล็อกเป็นแบบดั้งเดิม เราต้องการให้มันเป็น Pseudo-Random Permutation (PRP) และปลอดภัยจากการโจมตีเช่น brute-force, linear และ differential attacks
เมื่อเราต้องการเข้ารหัส/ถอดรหัส เราต้อง แบบแผนการเข้ารหัส ที่ประกอบด้วยอัลกอริธึมการสร้างคีย์ การเข้ารหัส และการถอดรหัส ( ไม่เป็นทางการ; กำหนดวิธีใช้รหัสบล็อกสำหรับการเข้ารหัส). ในการจัดทำโครงการเราต้องการ โหมดการทำงาน สำหรับการเข้ารหัสแบบบล็อกซึ่งมีการกำหนดข้อความบล็อกหลายรายการ การสุ่ม (IV, nonce, tweak) ฯลฯ จากนั้นเราจะสามารถพูดถึงความแตกต่างไม่ได้ของรูปแบบการเข้ารหัสภายใต้รูปแบบที่เป็นปฏิปักษ์เช่น Ind-CPA
แม้แต่โหมด ECB ก็เป็นรูปแบบการเข้ารหัสที่เราต้องลืม
ทำไมถึงต้องมีการเรียงสับเปลี่ยนแบบสุ่ม?
พิธีการที่ดีกว่าคือ ทำไมถึงต้องเป็น หลอก การเปลี่ยนแปลงแบบสุ่ม.
การพิสูจน์ความปลอดภัย (Ind-X) อาศัย PRP * ของรหัสบล็อก (ดูการพิสูจน์เริ่มต้นด้วย อนุญาต $F$ เป็น PRP) มิฉะนั้น การแสดงหลักฐานจะไม่ง่าย อันที่จริง ทฤษฎีบทความปลอดภัยไม่ต้องการการมีอยู่ของ PRP ดังนั้น ขอบเขตจะถูกตั้งค่าด้วย PRP (ในอุดมคติ) และหากคุณเริ่มต้นโครงร่างการเข้ารหัสนี้ (การทำให้เป็นจริง) และหากรหัสบล็อกไม่ใช่ PRP แสดงว่าขอบเขตนั้นไม่ทำงาน
หากพิสูจน์ได้ว่า block cipher ไม่ใช่ PRP แสดงว่ามี a ความแตกต่าง ที่สามารถใช้เพื่อใช้ประโยชน์จากโครงร่างการเข้ารหัสที่ใช้การเข้ารหัสบล็อกนี้
หากรหัสบล็อกเสีย แสดงว่าโหมดการเข้ารหัสไม่ปลอดภัยภายใต้รหัสบล็อกนี้
ในอีกด้านหนึ่ง เหตุใดคุณสมบัติการรักษาความลับ/การแยกไม่ออกที่สมบูรณ์แบบจึงไม่เพียงพอสำหรับการเข้ารหัสแบบบล็อก
สามารถพูดคุยเกี่ยวกับ ความลับที่สมบูรณ์แบบของรหัสบล็อกที่ถูกจำกัด (มันเป็นรูปแบบการเข้ารหัส) แม้ว่าจะไม่สามารถพิสูจน์ได้เนื่องจากมันบอกเป็นนัยว่ามันเสียหาย อย่างที่คุณเห็น มันต้องมีข้อจำกัดที่เราไม่มี
การเข้ารหัสในอุดมคติ vs รูปแบบการเข้ารหัสในอุดมคติ
โปรดจำไว้ว่าการเข้ารหัสแบบบล็อกเป็นตระกูลของการเรียงสับเปลี่ยนซึ่งแต่ละอันจะถูกเลือก/แทนด้วยคีย์ $$F:\{0,1\}^k\times \{0,1\}^b \ถึง \{0,1\}^b$$
หนึ่ง ตัวเลขในอุดมคติคือแบบจำลอง ที่เราถือว่ารหัสบล็อกเป็นการเรียงสับเปลี่ยนแบบสุ่มสำหรับทุกคีย์และการเรียงสับเปลี่ยนเหล่านั้นเป็นอิสระจากกัน สิ่งนี้มากเกินไปสำหรับการทำให้เป็นอุดมคติเนื่องจากไม่มีโครงสร้างสำหรับสิ่งนี้ภายใต้โครงสร้างขนาดเล็กเช่นการเข้ารหัสแบบบล็อก เราต้องการคำพังเพยในรูปแบบ Random Oracle ใช้ในการพิสูจน์สิ่งก่อสร้างอีกครั้ง จากนั้นเมื่อคุณต้องการใช้โครงสร้างนั้น คุณต้องหันไปใช้แบบจำลองจริงและต้องเผชิญกับการใช้รหัสบล็อกเพื่อรับรู้
* ต้องบอกว่าโหมดการทำงานไม่ได้จำกัดเฉพาะ PRP เท่านั้น มีโหมดการทำงาน (CTR, CFB) ที่สามารถใช้ PRF ได้ ดังนั้นขอบเขตจึงแตกต่างกัน โปรดดู PRF-PRF swithing-lemma