مسئله میلیونرهای یائو: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز ربات ردهٔ همسنگ (۳۰.۱) +مرتب (۱۴.۹ core): + رده:نظریه رمزنگاری |
FreshmanBot (بحث | مشارکتها) جز اصلاح فاصله مجازی + اصلاح نویسه با ویرایشگر خودکار فارسی |
||
خط ۱:
'''مسئلهٔ میلیونرهای یائو''' یک مشکل محاسبهٔ امن چند جانبه است که توسط [[اندرو یائو]]، دانشمند برجستهٔ کامپیوتر و نظریهپرداز محاسباتی معرفی
این مسئله شبیه مسئلهٔ کلیتری است که در آن دو عدد <math>a</math> و <math>b</math> را داریم و میخواهیم بدون این که مقدار واقعی آنها را بدانیم، نامساوی <math>a \geq b</math> را حل کنیم.
مسئلهٔ میلیونرها یک نمونه از [[محاسبات چندجانبه امن|محاسبات امن چندجانبه]] است که مسئلهٔ مهمی در [[رمزنگاری]] است و حل این مسئله در [[تجارت الکترونیک]] و [[دادهکاوی]] استفاده میشود. برنامههای تبلیغاتی گاهی ممکن است مجبور شوند ارزش ارقامی را باهم مقایسه کنند درحالی که این مقدارها محرمانه است و حفظ امنیتشان مهم است.
خط ۲۶:
==== درستی ====
باب نتیجه نهایی را از روی <math>N \oplus \bigoplus_{i=1}^d K'_{i(b_i+1)}=rol(\bigoplus_{i=1}^d K_{i(b_i+1)},u) </math> بهدست میآورد. و نتیجه نهایی وابسته به <math>c=\bigoplus_{i=1}^d K_{i(b_i+1)}</math> است. <math>K</math> و در نتیجه <math>c</math> میتوانند به سه قسمت تقسیم شوند. قسمت سمت چپ روی نتیجه تأثیری ندارد. قسمت سمت راست حاوی همه اطلاعات مهم است و قسمت میانی دنبالهای از بیتهای ۰ است که جداکننده دو بخش قبلی است. طول هر یک از سه بخش <math>c</math> به نقشه امنیتی مرتبط است.
به ازای هر <math>i</math>، تنها یکی از مقادیر <math>K_{i1} </math> یا <math>K_{i2} </math> دارای بخش راست غیر صفر هستند که در شرایط <math>a_i=1 </math>،<math>K_{i1} </math> و در غیر این صورت <math>K_{i2} </math> است. علاوه بر این، اگر <math> i>j </math> و <math>K_{il} </math> دارای بخش راست غیری صفر باشد، آنگاه <math>K_{il} \oplus K_{jl} </math> نیز دارای بخش راست غیر صفر خواهد بود و دو بیت سمت چپ این بخش راست با دو بیت سمت چپ <math>A_{il}</math> مساوی خواهد شد. در نتیجه، بخش راست c تابعی است از ورودیهایی که باب بر طبق بیتهای یکتای <math>a</math> و <math>b</math> انتقال داده است و تنها بیتهایی در بخش راست c که مقادیر رندوم ندارند همان دو بیت سمت چپ هستند که دقیقاً نتیجه <math> a_i> b_i </math> را مشخص میکنند که در آن i
==== امنیت ====
خط ۳۴:
# باب به ازای هر <math>i</math>، <math>rol(K_{i(1+b_i)} \oplus S_i ,u)</math> را دریافت میکند که در آن <math> S_i </math> مقداری تصادفی است. بنابراین هیچ بخشی از اطلاعات امن تغییر پیدا نمیکند،
# <math>N</math>، که نتیجه یای مانعةالجمع تعدادی عدد تصادفی است و مشخصکننده هیچ اطلاعات خاصی نیست. اطلاعات مرتبط با آن تنها بعد از محاسبه <math>c</math> مشخص میشود و
# <math>c</math>، موارد فوق برای <math>c</math> هم برقرار است. بخش چپ <math>c</math> مقداری تصادفی است و بخش راست آن نیز به جز دو بیت بخش چپ از مقادیری تصادفی تشکیل
=== پیچیدگی ===
|