Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ความแตกต่างระหว่าง Linear Cryptanalysis และ Differential Cryptanalysis

Linear Cryptanalysis

เป็น Known-plaintext Attack ที่ศึกษาความสัมพันธ์เชิงเส้นโอกาส (Linear Approximations) ระหว่าง Parity Bits ของ Plaintext, Ciphertext และ Secret Key โจมตีหา Linear Expression ที่ประมาณ Non-linear Function ด้วยความน่าจะเป็น ≠ 1/2 เมื่อพบ Approximation ที่ดี (เชื่อมโยง Plaintext และ Ciphertext) จะได้ข้อมูลเกี่ยวกับ Secret Key

สมการประมาณ: Pᵢ ⊕ ... ⊕ Pⱼ ⊕ Cₖ ⊕ ... ⊕ Cₗ = Kₘ ⊕ ... ⊕ Kₙ โดยมี Bias ε = |p - 1/2| วัดคุณภาพ

Differential Cryptanalysis

ศึกษาว่าความแตกต่างของ Input ส่งผลต่อความแตกต่างของ Output อย่างไร ใช้กับ Block Ciphers, Stream Ciphers, Hash Functions ติดตาม Path ของความแตกต่างที่น่าจะเป็นสูงผ่านรอบการเข้ารหัส (Differential Characteristic) เลือก Input Difference อย่างระมัดระวัง วิเคราะห์โครงสร้างอัลกอริทึม

ตารางเปรียบเทียบ

Linear CryptanalysisDifferential Cryptanalysis
Known-plaintext attack ศึกษา Linear Approximations ระหว่าง Parity bits ของ Plaintext, Ciphertext, Key ศึกษาความแตกต่าง Input ส่งผลต่อ Output ใช้กับ Block Ciphers, Hash Functions
เป้าหมาย: หาความสัมพันธ์เชิงเส้นระหว่างบิตของ Plaintext, Ciphertext, Key เปรียบเทียบการเปลี่ยนแปลง Plaintext ที่เลือก และ Output ที่ได้ เพื่อหา Key
ถอดรหัสแต่ละ Cipher ด้วย Subkeys สำหรับ 1 รอบ ศึกษา Intermediate Ciphertext เปรียบเทียบผลสุ่ม ศึกษาการเปลี่ยนแปลง Intermediate Ciphertext ระหว่างหลายรอบ สามารถรวมโจมตีได้ (Differential-linear)