মডুলার অ্যারিথমেটিক (Modular Arithmetic) — তথ্য নিরাপত্তায় প্রয়োগ
মডুলার অ্যারিথমেটিক হলো ইন্টিজারের জন্য একটি অ্যারিথমেটিক সিস্টেম যেখানে সংখ্যাগুলো একটি নির্দিষ্ট মান পাওয়ার পর "র্যাপ আরাউন্ড" (wrap around) হয়। এটি আমাদের গ্রুপ (Group), রিং (Ring), ফিল্ড (Field) তৈরি করতে দেয়—যেগুলো আধুনিক পাবলিক-কী ক্রিপ্টোসিস্টেমের মৌলিক বিল্ডিং ব্লক।
উদাহরণ ও কনসেপ্ট
- ডিফি-হেলমান (Diffie-Hellman) প্রাইম p মডুলো ইন্টিজারের মাল্টিপ্লিকেটিভ গ্রুপ ব্যবহার করে। অন্যান্য গ্রুপও কাজ করতে পারে।
- মডুলার বা ক্লক অ্যারিথমেটিক হলো নাম্বার লাইনের বদলে সার্কেল-এ অ্যারিথমেটিক। মডুলো N-এ শুধু ০ থেকে N-1 পর্যন্ত পূর্ণসংখ্যা ব্যবহার করা হয়।
- মডুলার অ্যারিথমেটিকের বেসিক অপারেশনগুলো 위한 অ্যালগরিদম ভালোভাবে পরিচিত। এটাই একটি কারণ সিমেট্রিক কী ক্রিপ্টোগ্রাফিতে ফাইনাইট ফিল্ড (AES) ব্যবহার করা হয়।
- ক্রিপ্টোগ্রাফি জটিল সমস্যা চায়। মডুলার অ্যারিথমেটিক যোগ করলে কিছু সমস্যা কঠিন হয়ে যায়—যেমন লগারিদম সব ইন্টিজারে সহজ কিন্তু মডুলার রিডাকশন যোগ করলে কঠিন। রুট বের করাও একই।
- মড-অ্যারিথমেটিক ক্রিপ্টোগ্রাফির কেন্দ্রীয় গাণিতিক ধারণা।
গাণিতিক সংজ্ঞা
অ্যারিথমেটিক মডুলো N-এ আমরা ইন্টিজারগুলোর ওপর অ্যারিথমেটিক করতে চিন্তা করি, যেখানে N-এর গুণিতক দিয়ে যেসব সংখ্যা ভিন্ন হয় সেগুলোক একই হিসেবে চিনা হয়। অর্থাৎ,
x ≡ y (mod N) যদি x = y + mN কোনো ইন্টিজার m-এর জন্য।
এই চিনাকরা সব ইন্টিজারকে Nটি সমান ক্লাসে ভাগ করে। সাধারণত সিম্পলেস্ট মেম্বাররা (০, ১, ..., N-1) দিয়ে প্রতিনিধিত্ব করা হয়।
যদি a ইন্টিজার এবং n পজিটিভ ইন্টিজার হয়, তবে a mod n হলো a-কে n-দিয়ে ভাগ করলে বাকি।
a = ⌊a/n⌋ × n + (a mod n)
উদাহরণ: 11 mod 7 = 4
মডুলো অপারেটরের প্রপার্টি
- a ≡ b (mod n) যদি n | (a - b)
- (a mod n) = (b mod n) → a ≡ b (mod n)
- a ≡ b (mod n) → b ≡ a (mod n)
- a ≡ b (mod n) এবং b ≡ c (mod n) → a ≡ c (mod n)
মডুলার অ্যারিথমেটিক অপারেশনের প্রপার্টি
- [(a mod n) + (b mod n)] mod n = (a + b) mod n
- [(a mod n) - (b mod n)] mod n = (a - b) mod n
- [(a mod n) × (b mod n)] mod n = (a × b) mod n
Zn সেট ও প্রপার্টি টেবিল
Zn = {0, 1, 2, ..., n-1} রেজিডিউ মডুলো n।
| প্রপার্টি | এক্সপ্রেশন |
|---|---|
| Commutative laws | (w + x) mod n = (x + w) mod n |
| (w × x) mod n = (x × w) mod n | |
| Associative laws | [(w + x) + y] mod n = [w + (x + y)] mod n |
| [(w × x) × y] mod n = [w × (x × y)] mod n | |
| Distributive laws | [w × (x + y)] mod n = [(w × x) + (w × y)] mod n |
| Identities | (0 + w) mod n = w mod n |
| (1 × w) mod n = w mod n | |
| Additive inverse (-w) | প্রতিটি w ∈ Zn-এর জন্য ∃ z যাতে w + z ≡ 0 (mod n) |