Cryptology Academy · บทเรียน

การวิเคราะห์ความถี่และพื้นฐานการวิเคราะห์รหัสลับ

ถอดรหัสคลาสสิกด้วยสถิติความถี่ของตัวอักษร

บทเรียน 4 จาก 413 ขั้นตอน

การวิเคราะห์ความถี่และพื้นฐานการวิเคราะห์รหัสลับ เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

การวิเคราะห์ความถี่คือศิลปะของการใช้รูปแบบทางสถิติในภาษาเพื่อถอดรหัสแทนที่ วิธีนี้ถูกค้นพบในปี 850 CE และยังคงมีความสำคัญในปัจจุบัน

ความถี่ตัวอักษรภาษาอังกฤษ

ตัวอักษรภาษาอังกฤษที่พบบ่อยที่สุด (โดยประมาณ): E(12.7%), T(9.1%), A(8.2%), O(7.5%), I(7.0%), N(6.7%) หากพบว่า 'X' ปรากฏในข้อความเข้ารหัสถึง 12% ของทั้งหมด X ก็น่าจะแทน E

การสร้างตารางความถี่

from collections import Counter def freq_table(text): letters = [c for c in text.upper() if c.isalpha()] counts = Counter(letters) total = len(letters) return {k: v/total for k,v in counts.most_common()}

ไบแกรมและไตรแกรม

ไบแกรมภาษาอังกฤษที่พบบ่อย: TH, HE, IN, ER, AN ไตรแกรมที่พบบ่อย: THE, AND, ING, ION รูปแบบเหล่านี้ยังคงอยู่หลังการใช้รหัสแทนที่ และช่วยเร่งการถอดรหัส

ดัชนีความบังเอิญ (IoC)

IoC = Σ(n_i * (n_i-1)) / (N*(N-1)) สำหรับภาษาอังกฤษ IoC ≈ 0.065 ส่วนข้อความสุ่มมีค่า IoC ≈ 0.038 ค่า IoC สูงหมายถึงการแทนที่ด้วยอักษรชุดเดียว

การใช้ IoC กับ Vigenère

ทดสอบความยาวกุญแจตั้งแต่ 1..20 สำหรับความยาวแต่ละค่า k ให้แบ่งข้อความเข้ารหัสเป็น k กลุ่ม คำนวณค่า IoC เฉลี่ย ความยาวกุญแจจริงจะให้ค่า IoC ที่ใกล้เคียง 0.065 ที่สุด

การโจมตี Caesar ด้วยความถี่

สำหรับรหัส Caesar: ค้นหาตัวอักษรในข้อความเข้ารหัสที่พบบ่อยที่สุด (น่าจะเป็น E) Shift = (most_frequent - ord('E')) mod 26 ถอดรหัสแล้วตรวจสอบว่าอ่านเข้าใจได้

รูปแบบคำ

คำสั้น ๆ เผยรูปแบบได้: คำที่มีตัวอักษร 1 ตัวมักเป็น 'A' หรือ 'I' คำที่มีตัวอักษร 3 ตัวซึ่งขึ้นต้นด้วยรูปแบบ 'the_' มักเป็น 'the' ข้อมูลเหล่านี้ช่วยจำกัดการแทนที่ได้อย่างรวดเร็ว

ขั้นตอนการโจมตีด้วยตนเอง

1. นับความถี่ 2. จับคู่ตัวอักษรในข้อความเข้ารหัสที่พบบ่อยที่สุดกับตัวอักษรภาษาอังกฤษที่พบบ่อยที่สุด (E,T,A,O,I) 3. ใช้ไบแกรมและรูปแบบคำเพื่อเติมส่วนที่ขาด 4. ทำซ้ำจนอ่านข้อความได้

ความสำคัญในปัจจุบัน

การวิเคราะห์ความถี่สามารถโจมตีวิทยาการเข้ารหัสสมัยใหม่ได้เมื่อนักพัฒนาใช้พื้นฐานการเข้ารหัสอย่างไม่ถูกต้อง (เช่น โหมด ECB เผยรูปแบบของบล็อก) การเข้าใจหลักการนี้ช่วยป้องกันข้อผิดพลาดในการออกแบบ

การวิเคราะห์รหัสลับอัตโนมัติ

เครื่องมืออย่าง dcode.fr และ quipqiup.com ทำให้การโจมตีรหัสแทนที่เป็นอัตโนมัติ โดยใช้รูปแบบจากพจนานุกรมและอัลกอริทึมการไต่ระดับ สามารถถอดรหัสที่มีความยาว 100 ตัวอักษรได้ภายในไม่กี่วินาที

ตรวจสอบความเข้าใจ

ดัชนีความบังเอิญที่สูง (≈0.065) บ่งชี้อะไรเกี่ยวกับข้อความเข้ารหัส

ทบทวน

ทำได้ดีมาก! การวิเคราะห์ความถี่เป็นรากฐานสำคัญของการวิเคราะห์รหัสลับ ต่อไปเราจะเข้าสู่วิทยาการเข้ารหัสสมัยใหม่: ระบบตัวเลขและเลขคณิตมอดุลาร์
เริ่มต้นได้ฟรี

เรียนรู้ Cryptology Academy ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
67
บทเรียน
261

คำถามที่พบบ่อย

บทเรียน “การวิเคราะห์ความถี่และพื้นฐานการวิเคราะห์รหัสลับ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การวิเคราะห์ความถี่และพื้นฐานการวิเคราะห์รหัสลับ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การวิเคราะห์ความถี่และพื้นฐานการวิเคราะห์รหัสลับ”

ถอดรหัสคลาสสิกด้วยสถิติความถี่ของตัวอักษร คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การวิเคราะห์ความถี่และพื้นฐานการวิเคราะห์รหัสลับ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. กลไกของรหัสซีซาร์
  2. รหัส Atbash และแอฟฟีน
  3. รหัส Vigenère และรหัสหลายอักษร
  4. การวิเคราะห์ความถี่และพื้นฐานการวิเคราะห์รหัสลับ
← กลับไปที่ Cryptology Academy