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

การเข้ารหัสเชิงเส้นในการรักษาความปลอดภัยข้อมูลคืออะไร?


การเข้ารหัสลับเชิงเส้นเป็นการโจมตีแบบข้อความธรรมดาที่รู้จัก ซึ่งผู้โจมตีศึกษาความสัมพันธ์เชิงเส้นที่น่าจะเป็นซึ่งเรียกว่าการประมาณเชิงเส้นระหว่างบิตพาริตีบิตของข้อความธรรมดา รหัสลับ และคีย์ที่ซ่อนอยู่

ในแนวทางนี้ ผู้โจมตีจะได้รับค่าประมาณความน่าจะเป็นสูงสำหรับพาริตีบิตของคีย์ที่ซ่อนอยู่ โดยการคำนวณพาริตีบิตของข้อความธรรมดาและไซเฟอร์เท็กซ์ที่รู้จัก ด้วยการใช้วิธีการต่างๆ รวมถึงเทคนิคเสริม ผู้โจมตีสามารถขยายการโจมตีเพื่อค้นหาบิตพิเศษของรหัสลับได้

การเข้ารหัสเชิงเส้นร่วมกับการเข้ารหัสเชิงอนุพันธ์เป็นการโจมตีที่ใช้โดยทั่วไปในการเข้ารหัสบล็อก เทคนิคการเข้ารหัสเชิงเส้นถูกคิดค้นขึ้นครั้งแรกโดย Mitsuru Matsui ซึ่งใช้เทคนิคนี้กับรหัส FEAL เป็นครั้งแรก

โดยทั่วไปมีสองส่วนในการเข้ารหัสเชิงเส้นเช่นส่วนแรกคือการสร้างสมการเชิงเส้นที่เชื่อมโยงกับข้อความธรรมดา Ciphertext และคีย์บิตที่มีอคติขนาดใหญ่ ที่มีความน่าจะเป็นใกล้เคียงกับ 0 0r 1

ส่วนที่สองคือต้องใช้สมการเชิงเส้นเหล่านี้ร่วมกับคู่ข้อความธรรมดาและข้อความเข้ารหัสที่รู้จักเพื่อขับเคลื่อนคีย์บิต

การเข้ารหัสเชิงเส้นใช้การประมาณเชิงเส้นเพื่อสร้างแบบจำลองกระบวนการที่ไม่เป็นเชิงเส้นในขั้นตอนการเข้ารหัส มันสามารถใช้ค่าประมาณของข้อความธรรมดาที่ทราบจำนวนมากในที่สุดจะพบคีย์บิตหนึ่งบิตที่ถูกต้องด้วยความน่าจะเป็นที่เฉพาะเจาะจง การปรับแต่งรหัสเฉพาะของวิธีการนี้สามารถค้นหาคีย์บิตได้หลายรายการ

การโจมตีด้วยการเข้ารหัสเชิงเส้นนั้นขึ้นอยู่กับการค้นพบการประมาณเชิงเส้นเพื่อกำหนดการแปลงที่ใช้ในมาตรฐานการเข้ารหัสข้อมูล วิธีการนี้สามารถค้นพบคีย์มาตรฐานการเข้ารหัสข้อมูลซึ่งมีข้อความธรรมดาที่รู้จัก 243 ข้อความ ซึ่งแยกความแตกต่างจากข้อความธรรมดาที่เลือกไว้ 247 รายการสำหรับการเข้ารหัสเชิงอนุพันธ์

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

วัตถุประสงค์ของการเข้ารหัสเชิงเส้นคือการค้นหาสมการเชิงเส้นที่มีประสิทธิผลของรูปแบบ -

$$\mathrm{P\left [ \alpha 1,\:\alpha 2\:...\alpha a \right ] \oplus \, C\left [\beta 1,\:\beta 2\:.. .\beta b \right ]=K\left [ \gamma 1,\, \gamma 2\:...\gamma c \right ] }$$

(โดยที่ x =0 หรือ 1; 1≤ a, b≤ n, 1 ≤ c ≤ m และโดยที่เงื่อนไข α, β และ γ แทนตำแหน่งที่แน่นอนของบิต) ที่ส่งผลต่อความน่าจะเป็น p ≠ 0.5

ยิ่ง p มาจาก 0.5 สมการก็จะยิ่งมีประสิทธิภาพมากขึ้น เนื่องจากมีการตัดสินใจเกี่ยวกับความสัมพันธ์ในอนาคต กระบวนการคือการประเมินผลลัพธ์ของด้านซ้ายมือของสมการก่อนหน้าสำหรับคู่ข้อความธรรมดาและข้อความเข้ารหัสจำนวนมาก หากผลลัพธ์เป็น0 มากกว่าครึ่ง ให้ถือว่า K [γ1, γ2... γc] =0

หากเป็น 1 โดยส่วนใหญ่ ให้ถือว่า K [γ1, γ2 ... γc] =1 ให้สมการเชิงเส้นบนคีย์บิตแก่เรา มันสามารถพยายามที่จะได้รับความสัมพันธ์ดังกล่าวมากขึ้นเพื่อที่จะสามารถแก้ปัญหาสำหรับคีย์บิต เนื่องจากในบทความนี้จะจัดการกับสมการเชิงเส้น ปัญหาสามารถเข้าถึงได้ครั้งละหนึ่งรอบของตัวเลข โดยผลลัพธ์จะเชื่อมโยงกัน