CRT
قضیه Chinese Remainder¶
قضیه Chinese Remainder نشان میدهد که اگر یک دستگاه همنشتی خطی به فرم x\equiv a \pmod{m} با این شرط که پیمانه ها دو به دو نسبت به اول باشند آنگاه یک پاسخ منحصر به فرد مانند x به پیمانه ضرب پیمانه های معادلات وجود دارد. این قضیه به ویژه در حل سیستم های معادلات پیمانه ای همزمان که حل آنها به صورت جداگانه دشوار یا غیرممکن است مفید است. برای مثال، اگر دو رابطه همنهشتی داشته باشیم:
با استفاده از CRT میتوانیم یک جواب منحصر به فرد مانند x به پیمانه 20 که هر دو رابطه همنهشتی را ارضا میکند بیابیم.
این قضیه کاربردهای زیادی در رمزنگاری، نظریه اعداد و علوم کامپیوتر دارد. به عنوان مثال، در رمزگذاری RSA برای سرعت بخشیدن به محاسبه معکوس پیمانه ای و در ساخت سیستم های رمزنگاری کلید عمومی بر اساس فاکتورگیری اعداد صحیح استفاده می شود.
الگوریتم¶
ما به دو متغیر نیاز داریم:
برای هر عضو از E باید معکوس به پیمانه n_i مانند y محاسبه شود یعنی:
و یک جواب ما به این صورت خواهد بود که:
و جواب منحصر به فرد ما x \equiv 0 \pmod{N} خواهد بود.
پیاده سازی¶
example.sage | |
---|---|
1 2 3 4 |
|
نویسنده