Cryptanalysis (การวิเคราะห์รหัสลับ)
Cryptanalysis เป็นการถอดรหัสและการสอบสวนโค้ด ไซเฟอร์ หรือข้อความที่เข้ารหัส Cryptanalysis ใช้กฎเชิงตัวเลขเพื่อค้นหาความอ่อนแอของอัลกอริทึม และแบ่งเข้าไปในระบบ Cryptography หรือความปลอดภัยข้อมูล
วัตถุประสงค์หลักของ Cryptanalysis คือการค้นพบจุดอ่อนในหรือวิธีเอาชนะอัลกอริทึมการเข้ารหัส การวิจัยนี้สามารถใช้โดยนักเข้ารหัสลับ (Cryptographers) เพื่อปรับปรุงและเสริมสร้าง หรือฟื้นฟูอัลกอริทึมที่มีข้อบกพร่องอย่างไม่สามารถแก้ไขได้
ประเภทการโจมตีนี้ใช้ลักษณะของอัลกอริทึมเพื่อได้ Plaintext หรือคีย์ที่ใช้จากข้อความที่เข้ารหัส
Cryptanalysis โดยทั่วไปต้องการการตรวจสอบโดยตรงของ Cryptosystem ที่มีอยู่ บ่อยครั้งเป็นความพยายามทางคณิตศาสตร์ขั้นสูงที่มุ่งเน้นการถอดรหัสโดยใช้ข้อมูลที่รู้จักเกี่ยวกับการออกแบบการเข้ารหัส
สิ่งเหล่านี้อาจเกี่ยวข้องกับข้อความที่เข้ารหัสถูกดักจับ (Ciphertext) ข้อความต้นฉบับที่ถูกดักจับเต็มรูปแบบ ส่วนบางส่วน น่าจะเป็น หรือเกี่ยวข้อง (Plaintext) หรือพวกเขาสามารถใช้ข้อมูลที่รู้จักเพื่อใช้แบบปรับตัวในการทดลองต่อเนื่อง
ทรัพยากรคอมพิวเตอร์ที่จำเป็นสำหรับ Cryptanalysis เช่น เวลา หน่วยความจำ และข้อมูล มีระดับความสำเร็จที่เปลี่ยนแปลงได้ ตั้งแต่การแยกการเข้ารหัสทั้งหมด ไปจนถึงการ 확인 จุดอ่อนในมัน
มีประเภทของการโจมตี Cryptanalysis ดังนี้:
- Ciphertext-only attacks (โจมตีเฉพาะ Ciphertext) - โจมตีนี้ โจมตีมีเข้าถึงได้เฉพาะ Ciphertext บางส่วน พยายามค้นหาคีย์และ Plaintext ที่สอดคล้อง สมมติว่าโจมตีรู้จักอัลกอริทึมและสามารถดักจับ Ciphertext ได้
- Known-plaintext attack (โจมตี Plaintext ที่รู้จัก) - ในโจมตีนี้ นักวิเคราะห์รหัสลับรู้จักคู่ Plaintext บางคู่ที่รวบรวมไว้ก่อนหน้านี้ นอกจากนี้ Ciphertext ที่ถูกดักจับที่ต้องการแยก
- Chosen-plaintext attack (โจมตี Plaintext ที่เลือก) - คล้ายกับ Known-plaintext attack แต่คู่ Plaintext ถูกเลือกโดยโจมตีเอง ประเภทโจมตีนี้ง่ายกว่าที่จะดำเนินการ แต่ไม่น่าจะเกิดขึ้นมาก
- Brute force attack (โจมตีแบบ Brute force) - ประเภทโจมตีนี้ต้องการอัลกอริทึมที่พยายามเดาชุดที่เป็นไปได้ของ Plaintext ซึ่งจากนั้นถูกเข้ารหัสและเปรียบเทียบกับ Ciphertext ต้นฉบับ
- Chosen-ciphertext attack (โจมตี Ciphertext ที่เลือก) - โจมตี Chosen-ciphertext คล้ายกับ Chosen plaintext ในนี้ โจมตีเลือก Ciphertext บางส่วนและถอดรหัสเพื่อพัฒนา Ciphertext โจมตีนี้ใช้ได้หากโจมตีมีเข้าถึงคอมพิวเตอร์ของผู้รับ
- Dictionary attack (โจมตีแบบ Dictionary) - ประเภทโจมตีนี้ต้องการ Wordlist เพื่อหาคู่ที่ตรงกับ Plaintext หรือคีย์ มักใช้เมื่อพยายามแยกรหัสผ่านที่เข้ารหัส
- Rainbow table attack (โจมตีแบบ Rainbow table) - ประเภทโจมตีนี้เปรียบเทียบ Ciphertext กับ Precomputed hashes เพื่อหาคู่ที่ตรงกัน
- Man-in-the-Middle (MITM) Attack (โจมตีคนกลาง) - โจมตีเกิดขึ้นเมื่อสองฝ่ายใช้ข้อความหรือการแชร์คีย์สำหรับการสื่อสารผ่านช่องทางที่ดูปลอดภheiros แต่จริงๆ แล้วถูกโจมตี โจมตีใช้โจมตีนี้สำหรับการบล็อกข้อความที่ผ่านช่องทางสื่อสาร ฟังก์ชันแฮชป้องกันโจมตี MITM
- Adaptive Chosen-Plaintext Attack (ACPA) - คล้ายกับ CPA โจมตีนี้ใช้ Plaintext และ Ciphertext ที่เลือก ตามข้อมูลที่เรียนรู้จากการเข้ารหัสในอดีต