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

IDEA-এ কতগুলো এনক্রিপশন রাউন্ড থাকে?


IDEA-এ ৮টি এনক্রিপশন রাউন্ড

IDEA (International Data Encryption Algorithm) একটি সিমেট্রিক-কী ব্লক সাইফার। একই কী দিয়ে প্লেইনটেক্সট এনক্রিপ্ট এবং সাইফারটেক্সট ডিক্রিপ্ট করা যায়। এনক্রিপ্টিং ও ডিক্রিপ্টিং পক্ষ দুজনেরই একই সিক্রেট কী থাকতে হয় (পাবলিক-কী/অ্যাসিমেট্রিক থেকে আলাদা)।

IDEA-এর বৈশিষ্ট্য

  • পেটেন্টেড ও সার্বজনীনভাবে অ্যাক্সেসযোগ্য ব্লক এনক্রিপশন অ্যালগরিদম।
  • ট্রান্সমিটেড ও স্টোরড ইনফরমেশনকে থার্ড পার্টির অননুমোদিত অ্যাক্সেস থেকে কার্যকরভাবে রক্ষা করে।
  • মিলিটারি-গ্রেড ডিউরেবিলিটি, স্পষ্ট হার্ডওয়্যার/সফটওয়্যার ইমপ্লিমেন্টেশন।
  • ব্যাংকিং ও ইন্ডাস্ট্রি অ্যাপ্লিকেশনে ব্যাপকভাবে ব্যবহৃত।

রাউন্ড স্ট্রাকচার

  • মোট ৮টি রাউন্ড।
  • প্রতিটি রাউন্ডে চারটি ডেটা ব্লকে (P₁-P₄) ছয়টি কী (K₁-K₆) ব্যবহার করে অপারেশন সিকোয়েন্স।
  • ব্রড লেভেলে: মাল্টিপ্লিকেশন, অ্যাডিশন, XOR অপারেশন।

একটি রাউন্ডের বিস্তারিত ১৪ ধাপ

Step 1: Multiply* P₁ and K₁
Step 2: Add* P₂ and K₂
Step 3: Add* P₃ and K₃
Step 4: Multiply* P₄ and K₄
Step 5: XOR Step 1 & Step 3 results
Step 6: XOR Step 2 & Step 4 results
Step 7: Multiply* Step 5 result with K₅
Step 8: Add* Step 6 & Step 7 results
Step 9: Multiply* Step 8 result with K₆
Step 10: Add* Step 7 & Step 9 results
Step 11: XOR Step 1 & Step 9 results
Step 12: XOR Step 3 & Step 9 results
Step 13: XOR Step 2 & Step 10 results
Step 14: XOR Step 4 & Step 10 results

Add* = Addition modulo 2¹⁶ (65536), Multiply* = Multiplication modulo 2¹⁶+1 (65537)

মডুলার অ্যারিথমেটিক উদাহরণ

সাধারণ যোগফল ১৭ বিট দিতে পারে (১১১১১১১১০১১০০০০০১)। ১৬ বিট আউটপুট স্লটে ফিট করতে ৬৫৫৩৬ দিয়ে মডুলো নেওয়া হয়। ১৩০৭৫৩ mod ৬৫৫৩৬ = ৬৫২১৭ (বাইনারি: ১১১১১১১১০১১০০০০১) — ১৬ বিটে ফিট হয়।

আউটপুট ট্রান্সফরমেশন

  • ৮ম রাউন্ডের শেষে এককালীন অপারেশন।
  • ৬৪-বিট ভ্যালু চার সাব-ব্লকে (R₁-R₄) ভাগ → চারটি সাব-কী (K₄₉-K₅₂) ব্যবহার।
  • ইনপুট ব্লক P₁-P₄, সাব-কী K₁-K₆, আউটপুট R₁-R₄ (ইন্টারমিডিয়েট, ফাইনাল নয়)।

  1. Android-এ Intent কত প্রকারের হয়?

  2. সিকিউরিটি ভার্নারেবিলিটি কতগুলো আছে এবং কীভাবে তাদের মূল্যায়ন করা হয়?

  3. পাইথনে ইনহেরিটেন্স কত প্রকার? একে কত প্রকারে ভাগ করা যায়?

  4. গেমিং কীবোর্ডের কী সংখ্যা বোঝা: ফর্ম ফ্যাক্টর এবং লেআউট গাইড