ฉันกำลังอ่าน บทนำสู่ Modern Cryptography รุ่นที่ 3 (ดูตัวอย่าง Google Books ในส่วนที่เกี่ยวข้อง หน้า 10-11) และกำลังพยายามทำความเข้าใจคำอธิบายของวิธีการโจมตีด้วยรหัสตัวเลขแทนตัวอักษรเดี่ยว
ดูเหมือนว่าจะเป็นเวอร์ชันปรับปรุงของแนวทางการวิเคราะห์ความถี่ตามตัวอักษร ทำให้ไม่จำเป็นต้อง "ตรวจสอบสิ่งที่สมเหตุสมผล" ด้วยตนเอง ข้อมูลบางส่วนที่ได้รับ:
- ตัวอักษรภาษาอังกฤษทั้งหมดมีค่า 0-25
- คีย์ที่ไม่รู้จัก ซึ่งใช้ในการเข้ารหัสข้อความธรรมดาเป็นข้อความไซเฟอร์ ทำการแมปตัวอักษรจาก (1) แบบสุ่มในอัตราส่วน 1:1 เช่น. (a -> x, b -> r, c -> o, ...)
ผู้เขียนอธิบายแนวทางนี้ดังนี้:
ตอนนี้เราอธิบายถึงการโจมตีที่ไม่ได้รับผลกระทบจากข้อเสียเหล่านี้ [ของแนวทางการวิเคราะห์ความถี่ด้วยตนเอง] เชื่อมโยงตัวอักษรของตัวอักษรภาษาอังกฤษกับ $0, ..., 25$. อนุญาต $p_i$, กับ $0 <= พี <= 1$แสดงถึงความถี่ของ $th$ ตัวอักษรในข้อความภาษาอังกฤษปกติ (เช่น 0.082 เป็นตัวอย่าง) ... [โดยใช้ตัวเลขเหล่านี้] ให้:
$(1)$ $\displaystyle \sum_{i=0}^{25} p_i^2 \ประมาณ 0.065$
บันทึก: ที่ไหน $0.065$ เป็นบริบทของคลังข้อมูลของข้อความภาษาอังกฤษที่ระบุ (เช่น อาจแตกต่างกันไปตามแหล่งที่มา เช่น คำในพจนานุกรมของเว็บสเตอร์)
ตอนนี้สมมติว่าเราได้รับข้อความเข้ารหัสและปล่อยให้ $q_i$ แสดงถึงความถี่ของ ผมตัวอักษรตัวที่ 1 ของตัวอักษรในไซเฟอร์เท็กซ์หารด้วยความยาวของไซเฟอร์เท็กซ์ ถ้าคีย์เป็น เค, แล้ว $p_i$ ควรมีค่าประมาณเท่ากับ $q_{i+k}$ สำหรับทุกอย่าง ผม เพราะว่า ผมอักษรตัวที่แมปกับ $\left(i+k\right)th$ จดหมาย. (เราใช้ $i+k$ แทนที่จะยุ่งยากมากขึ้น $\left[I+k \mod 26\right]$.) ดังนั้นหากเราคำนวณ
$(2)$ $I_j := \displaystyle \sum_{i=0}^{25} p_i \cdot q_{i+j}$
สำหรับแต่ละค่าของ $j \in \left \{0, ..., 25\right\}$แล้วเราคาดว่าจะพบสิ่งนั้น $I_k \ประมาณ 0.065$ (ที่ไหน เค เป็นคีย์ที่แท้จริง) ในขณะที่ $I_j$ สำหรับ $j \neq k$ จะแตกต่างจาก 0.065 สิ่งนี้นำไปสู่การโจมตีเพื่อกู้คืนคีย์ซึ่งง่ายต่อการทำให้เป็นอัตโนมัติ: การคำนวณ $I_j$ สำหรับทุกอย่าง $เจ$และเอาต์พุตค่า $k$ ซึ่ง $I_k$ อยู่ใกล้ 0.065 มากที่สุด
คำถามของฉันเกี่ยวข้องกับแนวทางทั่วไปของผลรวมที่สอง $(2)$ -- ฉันไม่เข้าใจว่าค่าของอะไร $เจ$ ใช้สำหรับแต่ละพจน์ของผลรวม เป็น $เจ$ หมายถึงการเป็น ผมระยะที่ 1 ของคีย์ $k$? ซึ่งแต่ละเทอมนั้น $2$ จะถูกคำนวณ แต่ละ ค่าที่เป็นไปได้ของ $เจ$?
ฉันเข้าใจการสร้างความถี่ เข้าใจสิ่งที่เกิดขึ้นกับแนวคิดของ $(1)$ และที่หาได้ใกล้เคียงที่สุด $q_i$ ถึง $p_i$ จะเข้าใกล้ $p_i^2$ โดยที่ความเป็นจริง $k_i$ จะย่อขนาดนั้นให้เล็กที่สุด -- ดังนั้นการค้นหาแผนที่ที่เหมาะสมที่สุด
อย่างไรก็ตาม ดูเหมือนว่านี่เป็นเพียงวิธีการที่ดุร้ายเนื่องจากการคำนวณขั้นสุดท้ายนั้นถูกเปรียบเทียบกับการคำนวณครั้งแรก $0.065$ คุณค่าราวกับว่าได้คำนึงถึงการจับคู่ที่เหมาะสมสำหรับแต่ละตัวอักษร
ฉันพลาดอะไรไปรึเปล่า? มิฉะนั้น ฉันรู้สึกราวกับว่าเพียงแค่จัดเรียงการกระจายความถี่แต่ละค่าตามค่า โดยสมมติว่ามีจำนวนตัวอักษรเท่ากันในไซเฟอร์เท็กซ์กับจำนวนของพื้นที่ข้อความต้นทาง (เช่น ไม่มีช่องว่างที่เป็นไปได้ในการแจกจ่าย)