تقسیم راز به معنای برگرداندن راز با استفاده از یک سری سهم، به طوری که هر سهم یک سری اطلاعات از راز دارد. در این صفحه به تقسیم راز با استفاده از قضیه باقیمانده چینی می‌پردازیم.

تقسیم راز انواع مختلفی دارد یکی از پایه‌ای‌ترین نوع‌ها طرح‌های آستانه‌ای می‌باشد که در آن به ازای یک k برای دستیابی به راز حداقل به k سهم نیاز داریم و اگر k سهم داشته باشیم حتماً می‌توانیم به راز دست پیدا کنیم، روش تقسیم رمز با استفاده از قضیه باقیمانده چینی نیز یکی از روش‌های طرح آستانه‌ای می‌باشد.

شرح
---

فرض کنید راز مورد نظر Sباشد، با توجه به قضیه باقیمانده چینی اگر برای یک kتایی {\displaystyle m\_{1},m\_{2},...m\_{k}}که هردوتایی از آن‌ها نسبت به هم اول هستند و {\displaystyle S<\prod \_{i=1}^{k}m\_{i}} باقیمانده Sبر {\displaystyle m\_{i}}ها را بدانیم، Sیکتا بدست می‌آید و اگر {\displaystyle S\geqslant \prod \_{i=1}^{k}m\_{i}}حداقل دو جواب برای Sطبق قضیه باقیمانده چینی وجود دارد. این گزاره ایده ای برای انتخاب کردن سهم‌ها می‌دهد.

اگر n عدد مثبت انتخاب کنیم که دو به دو نسبت به هم اول باشند مثل {\displaystyle 0<m\_{1}<m\_{2}<...<m\_{n}} و سهم‌ها باقیمانده S بر {\displaystyle m\_{i}}ها باشند، برای اینکه با استفاده از هر k تا سهم بتوان S را پیدا کرد و با کمتر از k سهم نتوان Sرا پیدا کرد باید شرط روبرو برقرار باشد: {\displaystyle \prod \_{i=n-k+2}^{n}m\_{i}<S<\prod \_{i=1}^{k}m\_{i}} (چون {\displaystyle \prod \_{i=1}^{k}m\_{i}} بین همه زیرمجموعه‌های حداقل k عضوی کمترین ضرب است و {\displaystyle \prod \_{i=n-k+2}^{n}m\_{i}} بین همه زیرمجموعه‌های کمتر از k عضوی بیشترین ضرب است) در این صورت طبق چیزی که قبلاً گفتیم چون ضرب {\displaystyle m\_{i}}‌های هر {\displaystyle k-1}سهم کمتر از Sاست پس نمی‌توان به صورت یکتا به Sدست یافت و از طرفی چون ضرب هر kسهم از Sبیشتر است می‌توان Sرا به صورت یکتا بدست آورد.

### روش مینوت (Mignotte)

دنباله {\displaystyle Mignotte(k,n)}شامل nعدد مثبت است مثل {\displaystyle 0<m\_{1}<m\_{2}<...<m\_{n}} که دو به دو نسبت به هم اول هستند و {\displaystyle \prod \_{i=n-k+2}^{n}m\_{i}<\prod \_{i=1}^{k}m\_{i}}.

به ازای یک S رندوم که شرط {\displaystyle \prod \_{i=n-k+2}^{n}m\_{i}<S<\prod \_{i=1}^{k}m\_{i}} را دارا می‌باشد سهم‌ها به این صورت تعریف می‌شوند : {\displaystyle s\_{i}=S\%m\_{i}} ({\displaystyle a\%b} برابر باقیمانده تقسیم a بر b است)

و طبق قضیه باقیمانده چینی برای به دست آوردن S از k سهم باید معادله زیر را حل کنیم:

{\displaystyle {\begin{cases}x\equiv &s\_{i\_{1}}\ {\bmod {\ }}m\_{i\_{1}}\\&\vdots \\x\equiv &s\_{i\_{k}}\ {\bmod {\ }}m\_{i\_{k}}\\\end{cases}}}

### روش ازموث-بلوم (Asmuth-Bloom)

دو عدد طبیعی n و k را در نظر بگیرید که دارای شرط روبرو باشند {\displaystyle 2\leqslant k\leqslant n} و یک مجموعه از اعداد طبیعی مثل {\displaystyle 0<m\_{0}<m\_{1}<...<m\_{n}} که دو به دو نسبت به هم اول هستند و شرط {\displaystyle m\_{0}.\prod \_{i=n-k+2}^{n}m\_{i}<\prod \_{i=1}^{k}m\_{i}} برقرار است، فرض کنید S یک عدد تصادفی باشد که در شرط {\displaystyle 0\leqslant S<m\_{0}} صدق می‌کند، حال برای مشخص کردن سهم‌ها یک عدد تصادفی \alpha انتخاب می‌کنیم که در شرط {\displaystyle S+\alpha m\_{0}<\prod \_{i=1}^{k}m\_{i}}صدق کند، سپس سهم‌ها را به این صورت تعریف می‌کنیم : {\displaystyle s\_{i}=(S+\alpha m\_{0})\%m\_{i}}

در این صورت به ازای هر k سهم چون {\displaystyle S+\alpha m\_{0}<\prod \_{i=1}^{k}m\_{i}} طبق قضیه باقیمانده چینی می‌توان {\displaystyle S+\alpha m\_{0}} را به صورت یکتا پیدا کرد پس می‌توان با باقیمانده گرفتن {\displaystyle S+\alpha m\_{0}} بر {\displaystyle m\_{0}} می‌توان S را پیدا کرد.

برتری این روش نسبت به روش قبل این است که در روش قبلی با داشتن {\displaystyle k-1} سهم اطلاعاتی راجع به S داشتیم چون اگر ضرب {\displaystyle m\_{i}}های متناظر این {\displaystyle k-1} سهم برابر Z باشد با استفاده از قضیه باقیمانده چینی باقیمانده S را بر Zداشتیم، در صورتی که در روش ازموث-بلوم با داشتن همین {\displaystyle k-1} سهم باقیمانده {\displaystyle S+\alpha m\_{0}} را بر Z داریم و چون \alpha  را یک عدد تصادفی انتخاب کردیم در واقع اطلاعاتی دربارهٔ خود S نداریم.

#### مثال

در ادامه مثالی از روش ازموث-بلوم را بررسی می‌کنیم:

{\displaystyle {\begin{cases}n=4\\k=3\\m\_{0}=3,m\_{1}=11,m\_{2}=13,m\_{3}=17,m\_{4}=19\\\end{cases}}}

در مثال بالا {\displaystyle m\_{i}}ها دارای شرایط گفته شده می‌باشند چون هم دو به دو نسبت به هم اول هستند (چون همه اعداد اول هستند و هر دو عدد اولی نیز نسبت به هم اول هستند) و در شرط {\displaystyle m\_{0}.\prod \_{i=n-k+2}^{n}m\_{i}<\prod \_{i=1}^{k}m\_{i}} نیز برقرار هستند ({\displaystyle 3\times 17\times 19<11\times 13\times 17}).

فرض کنید {\displaystyle S=2} باشد و عدد تصادفی‌ای که انتخاب کردیم {\displaystyle \alpha =51}باشد در این صورت در شرط {\displaystyle S+\alpha m\_{0}<\prod \_{i=1}^{k}m\_{i}} صدق می‌کند (چون {\displaystyle 2+51\times 3=155<11\*13\*17=2431}).

در این صورت سهم‌ها برابر {\displaystyle \{1,12,2,3\}} می‌باشند. حال با استفاده از باقیمانده چینی به ازای هر سه سهم می‌توان به عدد S رسید.

جستارهای وابسته
---------------

* قضیه باقیمانده چینی
* تقسیم راز

منابع
-----

* Oded Goldreich, Dana Ron and Madhu Sudan, Chinese Remaindering with Errors, IEEE Transactions on Information Theory, Vol. 46, No. 4, July 2000, pages 1330-1338.
* C.A. Asmuth and J. Bloom. A modular approach to key safeguarding. IEEE Transactions on Information Theory, IT-29(2):208-210, 1983.
* Sorin Iftene. General Secret Sharing Based on the Chinese Remainder Theorem with Applications in E-Voting. Electronic Notes in Theoretical Computer Science (ENTCS). Volume 186, (ژوئیه ۲۰۰۷). Pages 67–84. Year of Publication: 2007. ISSN 1571-0661.
* Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. شابک ‎۰−۲۶۲−۰۳۲۹۳−۷. Section 31.5: The Chinese remainder theorem, pages 873-876.
* Ronald Cramer. Basic Secret Sharing (Lectures 1-2), Class Notes. October 2008, version 1.1.