কম্পিউটার টিউটোরিয়াল

তথ্য নিরাপত্তায় লিনিয়ার ক্রিপ্ট্যানালিসিস (Linear Cryptanalysis) কী?

লিনিয়ার ক্রিপ্ট্যানালিসিস (Linear Cryptanalysis) কী?

লিনিয়ার ক্রিপ্ট্যানালিসিস হলো একটি নোন প্লেইনটেক্সট আক্রমণ (known plaintext attack), যেখানে আক্রমণকারী প্লেইনটেক্সট, সাইফারটেক্সট ও লুকানো কী-এর প্যারিটি বিটের মধ্যে প্রোবাবিলিস্টিক লিনিয়ার সম্পর্ক (লিনিয়ার এপ্রক্সিমেশন) অধ্যয়ন করে।

এই পদ্ধতিতে, আক্রমণকারী জানা প্লেইনটেক্সট ও সাইফারটেক্সটের প্যারিটি বিট গণনা করে লুকানো কী-এর প্যারিটি বিটের উচ্চ প্রোবাবিলিটির এপ্রক্সিমেশন পায়। অক্সিলিয়ারি টেকনিক সহ বিভিন্ন পদ্ধতিতে আক্রমণকারী আক্রমণ প্রসারিত করে লুকানো কীর আরও বিট বের করতে পারে।

লিনিয়ার ক্রিপ্ট্যানালিসিস এবং ডিফারেনশিয়াল ক্রিপ্ট্যানালিসিস—ব্লক সাইফারে দুটি সবচেয়ে ব্যবহৃত আক্রমণ। লিনিয়ার ক্রিপ্ট্যানালিসিস টেকনিক প্রথম মিতসুরু মতসুই (Mitsuru Matsui) আবিষ্কার করেন এবং প্রথমে FEAL সাইফারে প্রয়োগ করেন।

লিনিয়ার ক্রিপ্ট্যানালিসিসের দুটি অংশ

  1. লিনিয়ার সমীকরণ তৈরি: প্লেইনটেক্সট, সাইফারটেক্সট ও কী বিটের সাথে সম্পর্কিত লিনিয়ার সমীকরণ তৈরি করা যাতে হাই বায়াস (bias) থাকে; অর্থাৎ যাদের প্রোবাবিলিটি ০ বা ১-এর যতটা সম্ভব নিকট।
  2. কী বিট বের করা: জানা প্লেইনটেক্সট-সাইফারটেক্সট জোড়ার সাথে এই লিনিয়ার সমীকরণগুলো ব্যবহার করে কী বিট বের করা।

কার্যকরী প্রক্রিয়া

লিনিয়ার ক্রিপ্ট্যানালিসিস এনক্রিপশন প্রক্রিয়ায় নন-লিনিয়ার প্রক্রিয়াকে মডেল করতে লিনিয়ার এপ্রক্সিমেশন ব্যবহার করে। বড় পরিমাণ জানা প্লেইনটেক্সট ব্যবহার করলে sonunda একটি কী বিট নির্দিষ্ট প্রোবাবিলিটির সাথে সঠিক হয়ে উঠে। সাইফার-স্পেসিফিক রিফাইনমেন্ট দিয়ে একাধিক কী-বিট বের করা সম্ভব।

লিনিয়ার ক্রিপ্ট্যানালিসিস আক্রমণ ডেটা এনক্রিপশন স্ট্যান্ডার্ড (DES)-এ বাস্তবায়িত ট্রান্সফরমেশনের লিনিয়ার এপ্রক্সিমেশন খুঁজে বের করার ওপর ভিত্তি করে। এই পদ্ধতিতে DES কী ২⁴³ জানা প্লেইনটেক্সট দিয়ে বের করা সম্ভব, যেখানে ডিফারেনশিয়াল ক্রিপ্ট্যানালিসিসে ২⁴৭ চোজেন প্লেইনটেক্সট লাগে। তবে এটি DES-এ আক্রমণ হিসেবে অসম্ভব (infeasible), কারণ জানা প্লেইনটেক্সট পাওয়া চোজেন প্লেইনটেক্সটের চেয়ে সহজ।

লক্ষ্য: কার্যকর লিনিয়ার সমীকরণ

$$\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 থেকে দূর, সমীকরণ তত কার্যকর। সম্ভাব্য সম্পর্ক নির্ধারণ করার পর, বড় পরিমাণ প্লেইনটেক্সট-সাইফারটেক্সট জোড়ার জন্য সমীকরণের বামপাশের ফলাফল যাচাই করা হয়। ফলাফল ০ অধিকাংশ সময় হলে K[γ₁,γ₂...γc] = ০ ধরা হয়। ১ অধিকাংশ সময় হলে ১ ধরা হয়। এতে কী বিটের ওপর একটি লিনিয়ার সমীকরণ মেলে। আরও সম্পর্ক পাওয়ার চেষ্টা করা হয় যাতে কী বিটগুলো সমাধান করা যায়। লিনিয়ার সমীকরণের সাথে কাজ করলে সমস্যাটি সাইফারের এক রাউন্ড সময়ে সমাধান করা যায়, ফলাফলগুলো সংযুক্ত হয়।

  1. তথ্য নিরাপত্তায় ডিফারেনশিয়াল ক্রিপ্ট্যানালিসিস (Differential Cryptanalysis) কী?

  2. তথ্য নিরাপত্তায় ডিক্রিপশন (Decryption) কী?

  3. তথ্য নিরাপত্তায় লিনিয়ার ও ডিফারেনশিয়াল ক্রিপ্ট্যানালিসিসের পার্থক্য কী?

  4. তথ্য নিরাপত্তাতে IDEA (International Data Encryption Algorithm) কী?