হিল সিফার হল লেস্টার এস. হিল দ্বারা আবিষ্কৃত একটি বহু-অক্ষর পলিফালফাবেটিক সিফার। এটি একটি কোডিং সিস্টেম যা মেট্রিক্সের ধারণা এবং লিনিয়ার কনগ্রুয়েন্সের পদ্ধতিকে প্লেইনটেক্সটকে সাইফারটেক্সটে এনক্রিপ্ট এবং সাইফারটেক্সটকে প্লেইনটেক্সটে ডিক্রিপ্ট করার ধাপে একত্রিত করে।
হিল সিফার বৈশিষ্ট্য
হিল সিফার প্লেইনটেক্সটের প্রতিটি অক্ষরকে সাইফারটেক্সটের একই অক্ষর দিয়ে প্রতিস্থাপন করে না কারণ এটি এনক্রিপশন এবং ডিক্রিপশনে মেট্রিক্স গুণফল ব্যবহার করে। এটি একটি পলিফালফাবেটিক সিফার যা ব্লক সিফার হিসেবে শ্রেণিবদ্ধ করা যায় কারণ হ্যান্ডেল করা টেক্সট নির্দিষ্ট আকারের ব্লকে ভাগ করা হয়।
একটি ব্লকের প্রতিটি ক্যারেক্টার এনক্রিপশন এবং ডিক্রিপশন প্রক্রিয়ায় সেই ব্লকের অন্যান্য ক্যারেক্টারকে প্রভাবিত করে যাতে একই ক্যারেক্টার একই ক্যারেক্টারের সাথে ম্যাপ না হয়।
ক্রিপ্টানালাইসিস
হিল সিফার ক্লাসিক্যাল ক্রিপ্টোগ্রাফিক অ্যালগরিদমের অন্তর্ভুক্ত যা শুধু সাইফারটেক্সট ফাইল বুঝে সমাধান করা ক্রিপ্টানালিস্টদের জন্য খুব জটিল। কিন্তু এই পদ্ধতিটি খুব সহজে সমাধান করা যায় যদি ক্রিপ্টানালিস্টের কাছে সাইফারটেক্সট ফাইল এবং প্লেইনটেক্সট ফাইলের একটি অংশ থাকে। এই ক্রিপ্টানালাইসিস কৌশলকে নোন-প্লেইনটেক্সট আক্রমণ বলা হয়।
গাণিতিক ভিত্তি
হিল সিফারের ভিত্তি হল মেট্রিক্স গুণফল এবং মেট্রিক্সের বিপরীত কৌশল। হিল সিফারের মূল হল n x n মেট্রিক্স যেখানে n হল ব্লক আকার। K মেট্রিক্স যা কী হয়ে ওঠে তা একটি বিপরীতযোগ্য মেট্রিক্স হতে হবে যাতে এর বিপরীত K⁻¹ থাকে, কারণ K⁻¹ মেট্রিক্সই ডিক্রিপশনে ব্যবহৃত কী।
প্রক্রিয়ার ধাপসমূহ
- প্লেইনটেক্সট সমান আকারের ব্লকে ভাগ করা হয়।
- ব্লকগুলো একবারে একটি করে এনক্রিপ্ট করা হয় যাতে ব্লকের প্রতিটি ক্যারেক্টার ব্লকে নতুন ক্যারেক্টারগুলোর এনক্রিপশনে অবদান রাখে।
- কী হল m x m আকারের একটি বর্গ মেট্রিক্স যেখানে m ব্লক আকার নির্ধারণ করে।
- যদি প্লেইনটেক্সট ব্লকে m ক্যারেক্টার থাকে (P₁, P₂ ... Pₘ), তবে সাইফারটেক্সট ব্লকে αντίστοইচ ক্যারেক্টার (C₁, C₂ ... Cₘ) নিম্নলিখিত সমীকরণ দ্বারা নির্ধারিত হয় (mod 26)।
- এই সমীকরণগুলো কলাম মেট্রিক্সের মাধ্যমে প্রকাশ করা যায়: C = K × P mod 26 এবং P = K⁻¹ × C mod 26।
নোন-প্লেইনটেক্সট আক্রমণের بموجب ভাঙা
হিল সিফার নোন-প্লেইনটেক্সট আক্রমণ সহজে ভাঙা যায়। ধরা যাক m দৈর্ঘ্যের m টি প্লেইনটেক্সট-সাইফারটেক্সট জোড়া রয়েছে যাতে Cᵢ = K × Pᵢ (১ ≤ i ≤ m)। অজানা কী মেট্রিক্স K হল K = Cᵢ × Pᵢ⁻¹। একবার কী গণনা হলে সিফারটি সহজে ভাঙানো যায়।