การเข้ารหัสลับคือการถอดรหัสและการสอบถามรหัส รหัส หรือข้อความที่เข้ารหัส การเข้ารหัสต้องใช้กฎตัวเลขเพื่อค้นหาความไวของอัลกอริทึมและแบ่งออกเป็นระบบเข้ารหัสหรือความปลอดภัยของข้อมูล
วัตถุประสงค์หลักของการเข้ารหัสคือการค้นหาจุดอ่อนในหรือเอาชนะอัลกอริทึมการเข้ารหัส งานวิจัยนี้สามารถนำไปใช้โดยนักเข้ารหัสเพื่อปรับปรุงและเสริมความแข็งแกร่ง หรือมิฉะนั้นจะกู้คืนอัลกอริธึมที่มีข้อบกพร่องที่ไม่สามารถแก้ไขได้
การโจมตีประเภทนี้ใช้ประโยชน์จากธรรมชาติของอัลกอริทึมเพื่อรับข้อความธรรมดาหรือคีย์ที่ใช้จากข้อความที่เข้ารหัส
การเข้ารหัสโดยทั่วไปจำเป็นต้องมีการตรวจสอบโดยตรงของระบบการเข้ารหัสลับ บ่อยครั้งต้องใช้ความพยายามทางคณิตศาสตร์ขั้นสูงที่เน้นการถอดรหัสโดยใช้ข้อมูลที่ทราบเกี่ยวกับการออกแบบการเข้ารหัส
สิ่งเหล่านี้อาจเกี่ยวข้องกับข้อความที่เข้ารหัสที่ถูกสกัดกั้น (ข้อความเข้ารหัส) ข้อความเริ่มต้นแบบเต็ม บางส่วน มีแนวโน้มหรือที่เกี่ยวข้อง (ข้อความธรรมดา) ที่ถูกดักจับ หรืออาจใช้ข้อมูลที่ทราบกันดีอยู่แล้วว่านำไปใช้ในการทดลองที่ต่อเนื่องกันได้
ทรัพยากรคอมพิวเตอร์ที่จำเป็นสำหรับการเข้ารหัส เช่น เวลา หน่วยความจำ และข้อมูล นอกจากนี้ยังมีระดับความสำเร็จที่เปลี่ยนแปลงได้ตั้งแต่การหยุดชะงักของอัลกอริทึมการเข้ารหัสไปจนถึงการตรวจสอบจุดอ่อนในนั้น
การโจมตีด้วยการเข้ารหัสมีหลายประเภทดังนี้ -
-
การโจมตีแบบข้อความเท่านั้น − ในการโจมตีนี้ ผู้โจมตีสามารถเข้าถึงข้อความเข้ารหัสบางส่วนเท่านั้น พยายามค้นหาคีย์และข้อความธรรมดาที่เกี่ยวข้อง ถือว่าผู้โจมตีเข้าใจอัลกอริธึมและสามารถสกัดกั้นข้อความเข้ารหัสได้
-
รู้จักการโจมตีแบบธรรมดา − ในการโจมตีนี้ cryptanalyst จะเข้าใจคู่ข้อความธรรมดาบางคู่ที่ได้รวบรวมไว้ก่อนหน้านี้ ยิ่งกว่านั้นไซเฟอร์เท็กซ์ที่ถูกสกัดกั้นซึ่งต้องการทำลาย
-
เลือกการโจมตีธรรมดา − การโจมตีแบบเลือก-ธรรมดานั้นเหมือนกับการโจมตีแบบธรรมดาที่รู้จัก แต่คู่ของข้อความธรรมดาถูกเลือกโดยผู้โจมตีเอง การโจมตีประเภทนี้ใช้งานง่ายกว่า แต่มีโอกาสปรากฏน้อยกว่า
-
โจมตีด้วยกำลังเดรัจฉาน − การโจมตีประเภทนี้ต้องการอัลกอริทึมที่พยายามเดาชุดตรรกะที่เป็นไปได้ของข้อความธรรมดาซึ่งจะถูกเข้ารหัสและเปรียบเทียบกับตัวเลขเริ่มต้น
-
การโจมตีแบบเข้ารหัสที่เลือก − การโจมตีแบบข้อความเข้ารหัสที่เลือกจะเหมือนกับข้อความธรรมดาที่เลือก ในที่นี้ ผู้โจมตีจะเลือกข้อความเข้ารหัสและถอดรหัสเพื่อพัฒนาข้อความเข้ารหัส การโจมตีนี้จะใช้ได้หากผู้โจมตีสามารถเข้าถึงคอมพิวเตอร์ของผู้รับได้
-
โจมตีพจนานุกรม − การโจมตีประเภทนี้จำเป็นต้องมีรายการคำศัพท์เพื่อค้นหาการจับคู่ของข้อความธรรมดาหรือคีย์ โดยทั่วไปจะใช้เมื่อพยายามถอดรหัสรหัสผ่านที่เข้ารหัส
-
โจมตีโต๊ะสีรุ้ง − การโจมตีประเภทนี้จะเปรียบเทียบข้อความตัวเลขกับแฮชที่คำนวณไว้ล่วงหน้าเพื่อค้นหาคู่ที่ตรงกัน
-
การโจมตีแบบคนกลาง (MITM) − การโจมตีปรากฏขึ้นเมื่อทั้งสองฝ่ายใช้ข้อความหรือการแชร์คีย์เพื่อการสื่อสารผ่านช่องทางที่เกิดขึ้นอย่างปลอดภัยแต่โดยทั่วไปมักถูกบุกรุก
ผู้โจมตีใช้การโจมตีนี้เพื่อบล็อกข้อความที่ส่งผ่านช่องทางการสื่อสาร ฟังก์ชันแฮชหลีกเลี่ยงการโจมตี MITM
-
Adaptive Chosen-Plaintext Attack (ACPA) − คล้ายกับ CPA การโจมตีนี้ใช้ข้อความธรรมดาและข้อความเข้ารหัสที่เลือกตามข้อมูลที่เรียนรู้จากการเข้ารหัสในอดีต