পরিচয়
PHP-তে gmp_invert() ফাংশনটি মডুলার মাল্টিপ্লিকেটিভ ইনভার্স (modular multiplicative inverse) বের করে। অর্থাৎ, দুটি সংখ্যা a এবং m দেওয়া থাকলে, এমন একটি x খুঁজে বের করে যাতে (a × x) ≡ 1 (mod m) সত্য হয়। এটি শুধু তখনই সম্ভব যখন a এবং m সহ-মৌলিক (coprime) হয় (GCD = 1)।
সিনট্যাক্স
gmp_invert($num1, $num2): GMP|false
প্যারামিটারসমূহ
num1 − প্রথম GMP সংখ্যা (a) — যার ইনভার্স খুঁজতে হবে।
num2 − দ্বিতীয় GMP সংখ্যা (m) — মডুলাস।
দ্রষ্টব্য: মূল ডকুমেন্টেশনে দুটি প্যারামিটারের নাম একই (num1) লেখা ছিল, দ্বিতীয়টি num2 হওয়া উচিত।
রিটার্ন ভ্যালু
ইনভার্স x (GMP অবজেক্ট) ফেরত দেয় যদি থাকে। যদি ইনভার্স না থাকে (GCD ≠ 1) তবে false ফেরত দেয়।
উদাহরণ
<?php $n1 = "5"; $n2 = "14"; $res = gmp_invert($n1, $n2); echo gmp_strval($res); ?>
আউটপুট
3
ব্যাখ্যা: (৩ × ৫) mod ১৪ = ১৫ mod ১৪ = ১। সঠিক! ৫ এবং ১৪ সহ-মৌলিক (GCD=1), তাই ইনভার্স রয়েছে।
ব্যবহার: RSA ডিক্রিপশন, মডুলার ডিভিশন, ক্রিপ্টোগ্রাফিক প্রোটোকলগুলোর অত্যন্ত গুরুত্বপূর্ণ অংশ।