IDEA এনক্রিপশন প্রক্রিয়া
IDEA (International Data Encryption Algorithm) একটি ব্লক সাইফার যা ৬৪-বিট প্লেইনটেক্সট এবং ১২৮-বিট কী-এ কাজ করে। DES-এর মতো IDEA রিভার্সিবল—এনক্রিপশন ও ডিক্রিপশনে একই অ্যালগরিদম কাজ করে। IDEA এনক্রিপশনে ডিফিউশন (Diffusion) ও কনফিউশন (Confusion) উভয়ই ব্যবহার করে।
রাউন্ড কাঠামো
- ৬৪-বিট প্লেইনটেক্সট চারটি ১৬-বিট অংশে ভাগ করা হয় (P₁ থেকে P₄)। এগুলো প্রথম রাউন্ডের ইনপুট।
- মোট ৮টি রাউন্ড থাকে।
- কী ১২৮ বিট। প্রতিটি রাউন্ডে মূল কী থেকে ছয়টি সাব-কী তৈরি হয়, প্রতিটি ১৬ বিট।
- প্রথম রাউন্ড: কী K₁ থেকে K₆। দ্বিতীয় রাউন্ড: K₇ থেকে K₁₂। এভাবে চলতে থাকে।
- শেষ ধাপে আউটপুট ট্রান্সফরমেশন থাকে, যেটে চারটি সাব-কী (K₄₉ থেকে K₅₂) লাগে।
- ফাইনাল আউটপুট C₁ থেকে C₄ ব্লকগুলো মিলিয়ে তৈরি হয়।
প্রতিটি রাউন্ডের অপারেশন (Add* ও Multiply*)
- Add* = Addition modulo 2¹⁶ (অর্থাৎ ৬৫৫৩৬)
- Multiply* = Multiplication modulo 2¹⁶ + 1 (অর্থাৎ ৬৫৫৩৭)
- সাধারণ যোগ বা গুন নয়—মডুলার অ্যারিথমেটিক ব্যবহার হয়।
সাব-কী জেনারেশন (প্রতি রাউন্ড)
- রাউন্ড ১: কী বিট পজিশন ১-৯৬ ব্যবহার। বিট ৯৭-১২৮ অনইউজড, রাউন্ড ২-তে যায়।
- রাউন্ড ২: বিট ৯৭-১২৮ প্রথমে ব্যবহার → ২৫ বিট সার্কুলার লেফট শিফট → নতুন বিট ২৬-৮৯ ব্যবহার। বিট ৯০-১২৮ ও ১-২৫ অনইউজড।
- রাউন্ড ৩: অনইউজড বিট ৯০-১২৮ ও ১-২৫ ব্যবহার → ২৫ বিট লেফট শিফট → বিট ৫১-৮২ ব্যবহার। বিট ৮৩-১২৮ ও ১-৫০ অনইউজড।
- রাউন্ড ৪: বিট ৮৩-১২৮ ও ১-৫০ ব্যবহার।
- রাউন্ড ৫: ২৫ বিট লেফট শিফট → বিট ৭৬-১২৮ ও ১-৪৩ ব্যবহার। বিট ৪৪-৭৫ অনইউজড।
- রাউন্ড ৬: রাউন্ড ৫-এর অনইউজড বিট ব্যবহার → ২৫ বিট লেফট শিফট → বিট ৩৭-১০০ অনইউজড।
- রাউন্ড ৭: রাউন্ড ৬-এর অনইউজড বিট (৩৭-১০০) ব্যবহার → ২৫ বিট লেফট শিফট → বিট ১২৬-১২৮ ও ১-২৯ ব্যবহার। বিট ৩০-১২৫ অনইউজড।
- রাউন্ড ৮: অনইউজড বিট ৩০-১২৫ ব্যবহার → কী এক্সহাস্টেড।
আউটপুট ট্রান্সফরমেশন
- একবardoor প্রয়োগ হয়, ৮ম রাউন্ডের শেষে।
- ৬৪-বিট ভ্যালু চারটি সাব-ব্লকে ভাগ (R₁ থেকে R₄) এবং চারটি সাব-কী ব্যবহার করা হয়।
IDEA ডিক্রিপশন
- ডিক্রিপশন প্রসেস এনক্রিপশনের সমানই।
- সাব-কী জেনারেশন ও ডিজাইনে কিছু পরিবর্তন: ডিক্রিপশন সাব-কীগুলো এনক্রিপশন সাব-কীগুলোর বিপরীত (inverse)।