صفحه 1:
# “Rs
مفاهیم و کاربردهای عملی داناییصفر
(Zero-knowledge)
سید مهدی محمد حسن زاده
Hasanzadeh@Raymandcrypto.ir
شرکت صنایع الکترونیک زعیم
صفحه 2:
۷ یک الباتکننده() سعیمیکند تصدیقکننده () را
متقاعدکند که ادعایش صحیح است. در حالت عادی» ۴ در
یک ارتباط یک سری اطلاعات به ۷ میدهد و ۷ با
محاسباتی صحت ادعای را تاییدمیکند.
آیا میتوان بدون انتقال اطلاعات اضافی» ۷ را متقاعد
نمود؟
آیا میتوان پیامهای بیشتری ردوبدلکرد و در عین حال
اطلاعات اضافه منتقل نشود؟
آيا مىتوان با درنظر كرفتن احتمال خطاى غيرصفر و با
صفحه 3:
تعریف دانایی صفر
۷ در یک اثبات هنگامی که منظور اصلی بدون هیچ
اطلاعات اضافی منتقل شود (واقعیتی برطرف مقابل
آشکار شود) آنگاه اثبات با دانایی صفرنامیده میشود.
در اين نوع اثبات ۷ متقاعد میشود که ۳ صاحب
اطلاعاتی است. اما بههیچ طریقی نمیتواند این اطلاعات
را استخراج کند.
در یک پروتکل دانايى - ف ان ف از قبيل
v
صفحه 4:
غاردانایی صفر
کسی که کلمه رمز در انتهایی غار را بداند» میتواند
از نقطه م به نقطه برسد و برعکس. فرضکنیم
۲ كلمه رمز را میداند و میخواهد اين آگاهی را به
۷ بفهماند. اما نمیخواهد کلمه رمز را بازگو نماید.
اش
صفحه 5:
( ۷ در نقطه ۸ ملیستد
2 ۴ وارد غار مشود وبه هرکدلم از
مسیرها که مایلباشد» مینود.
oe هنگامی که در غار cad aul
Vv به نقطه 8 مىآيد
4) ۷ باصدازدنازاومیخولهد که :
0 از مسیر سمت راست بازگردد
9) از مسیر سمت چپ بازگردد
5) علینخولسته ۷رلبرآورده میکند.
درصورت نیا زکلمه رابه زیان میآورد
ude انتهايى يت
1
صفحه 6:
ps as 5 5
فرضکنید حل یک مسئله دشوار را میداند. برای
اثبات این آگاهی بصورت زیر عمل مینماید:
1 با لستفاده از لطلاعاتشو با لنتخابیکعدد تصادفیمسنله
دشوار را به يكمسئله دشوار جديد تبديلمك ند.
©) اين مسئله جديد بايد هم شكل 1501201701110مسئله اول باشد.
©) سيس با استفاده از اطلاعاتش و لن عدد تصادفى مسئله جديد را
حلمیکند.
صفحه 7:
8
حل یک مسئلهی دشوار()
)4 مسئله جدید را برلی۷ ارسالیکند.
5) ۷ از ۴ میخولهد که یکیاز دو کار زیر را لنجام دهد:
0 تابتکند که مسئله اول و مسئله جدید همشکل هستند
©) جواب مسئله جدید را بینکند و نشان دهد که حل آن است
6( ۳ مولفقدقیک ند و لنجام میهد
2 مراحل فوق را « بار تکرارکنند
صفحه 8:
رار
0) در اين الكوريتم م هيج كاه نبايد براى مسئله دشوار
جدیدی که بهدست میآورد هر دو درخواست بند (9) را
پاسخ دهد.
) تبدیلهای تصادفی و مسئلهها نیز باید بهگونه مناسبی
انتخاب شوند تا ۷ اطلاعاتی برای حل مسئله اصلی
بهدست نیاورد.
9) همه مسایل دشوار برای اين کاربرد مناسب نیستند. اما
صفحه 9:
ویژگیهای پروتکل دانایی صفر
تصدیقکننده هیچ معلوماتی از پروتکل بهدست نمیآورد:
تصدیق کننده با اتکا به خودش نمی تواند مراحل پروتکل را طی کند و به کنش و واکتش
اثبات کننده نیاز دارد. پروتکل هیچ اطلاعات محرمانه ای را فاش نمى كندء در غير اين
صورت پروتکل را با حداقل افشاسازی می نامند.
آثباتکننده نمیتواند تصدیق کننده را فریب دهد:
باتکرارپروتکل احتمال موفقیت اثباتکننده متقلب رامی توان به اندازه دلخواه کاهش
داد.دراین پروتکل ها با اولین اشتباه اثباتکننده می توان اثباتکننده متقلب را شناسایی
تصدیقکننده نمیتواند اثبات کننده را فریب دهد:
تصدیقکننده نمیتواند از اطلاعات آثبات کننده آگاهی یابد.
تصدیقکننده نمیتواند خودرابهعنوان اثبات کننده برای شخص سومی معرفی کند:
صفحه 10:
روش های استفاده از پروتکل های دانایی صفر (1)
برای استفاده از پروتکلهای دانایی صفر به سه
طریق زیر میتوان عمل نمود:
0) موازی:
بهنحوی که ۳ تعدادی مسئله ندوینمیکند و برای ۷ میفرسند.
آنگاه ۷ درخواستهای مربوط به هر مسئله را بصورت یک جا
برای « میفرستد. بدینصورت از تعداد ردوبدل پیام در مواردی
که برقرار ارتباط با تاخیر همراه است» کاسته میشوا
نك —
صفحه 11:
روش های استفاده از پروتکل های دانایی صفر(6)
©) تاثير متقابل:
که در آن ۳ و 87 با ردوبدل متوانى بيامهايى مسير يروتكل را
دنبالمىكنند. دراین حالت اثبات بهصورت قسمتبهقسمت
محقق میشود.
9) زمان غير واقعى:
در اين حالت يى تابع درهم يكطرفه برروى مستلهها و
دادهها نقش ۷ را بازیمیکند و برای امضای دیجیتال مورد
صفحه 12:
امنیت پروتکلهای دانایی صفر معمولاً بر چند مسئله
"سخت برای "a تکیه دارد. مهمترین آنها عبارتنداز :
0 مسئله بهدست آوردن لگاریتم گسسته (در هنگ ه) یک عدد
بزرگ (صدها بیت)
) مسئله آگاه شدن از. این که یک عدد در هنگ aa ye nn کامل
است» بهشریط این که از عاملهای اول آن عدد بیخبر باشیم
مسئله تجزیه یک عدد بزرگ که حاصلضرب دو یا چند عدد
صفحه 13:
¢ “Ss
اثبات دانایی
اگر میخواهد برای ۷اثباتکند که ازمقدار «که درمعادله (0 000) 3 ع تنثر
اول» ۸۰3و م معلوم )صدقمیکند»آگاه است.بهصوت زیرعمل مینماید: p )
1 عدد۲ کوچکتراز 0-1 لسنوا لنتخابو 0-۸۲ را محاسبه میکند
.سپس را برای ۷ ارسال مینماید
3 ۷ یکبیتتصادفیو| را برلی] ارسالیکند
4 مقدار (۵-1 0۲00 0 ۲+۸<کر لمحاسبهمیک ندوبرلی ۷
صفحه 14:
Feige-Fiat-Shamircys 4)
6. ابتدا يى داور یا میانجی عدد بزرگ ,را که حاصل ضرب
دو عدد اول بزرگ است انتخابمیکند.
کلید عمومی اثباتکننده که با «نمايش داده میشود. به نحوی
انتخاب میشود که 1 1000 72-7 (باقیمانده یک مربع
کامل درهنگ ه) و نیز معکوس 7« درهنگ موجود باشد.
9. کلید خصوصی اثباتکننده» »» را بهصورت کوچکترین عدد
mod n 4s (5<50۲1)۲71 تعیینمیکند
صفحه 15:
#۴ Siem
۳6106-۳16 اثبات هویت 7لصصعط
اثباتکننده عدد دلخواه ء کوچکتراز. و را انتخابمیکند. )<
9) سپس 7 7200 12 <عر را محاسبه و مقدار he ly x
تصدیقکننده ارسال مینماید.
©) تصديقكننده يى بيت تصادفى «براى اثباتکننده میفرستد
م) اكر 12-0 بود اثباتكننده مقدار + و در صورتى 48 b=1
بودء مقدار 22 72206 776 را ارسالمیکند
صفحه 16:
اثبات هویت 7لصصعط ۳6106-۳16
6( اگر0< باشد. تصدقکننده درستی عبارت ۲2 <عر
2 2200 را امتحانمیکند تا مطئن شود که اثباتکننده از
cul pL Sprt(x)
9) اگر 1و باشدتصدقکننده درستی عبارت X= y?v
n 2200 را براى اطمينان از اين که اثباتکننده
atlas 1) Sprt(xv!) امتحانمىكند
)این مراحل بار تکرار میشود تا تصدقکننده راضی شود
كه اثباتكننده ان ه باخبر است ١
صفحه 17:
v
v
امضای دیجیتال
در اثبات SS) Feige-Fiat-Shamir G28
تصدیقکننده را با یک تابع درهم یکطرفه جايگزينکنيم»
بهصورتی که خروجی اين تابع حالت انتخابی در بند 35
٩ پروتکل را تعیینکند» آنگاه پروتکل امضای دیجیتال
در اين حالت تصدیقکننده نهایی مقادیر خروجی تابع در,هم
یکطرفه و همچنین صحت تساویهای پروتکل را بازرسی
iS
صفحه 18:
پروتکل کلید عمومی | دانایی صفر | سیستمهای رمز متقارن
اندازه پروتکل بزرگ بزرگ کوچک
تعداد ردوبدل یک زياد یک
صفحه 19:
کارتهای هوشمند
_ یک کارت هوشمند یک سیستم حافظهدار قابل حمل و نقل
میباشد» که امکان معرفی و اثبات هویت» انتقال اطلاعات
محرمانه» اثبات آگاهی از مطالب سری و غیره را دارد.
©. این کارت در حقیقت یک ریزپردازندهی تکچیپ میباشد.
©. استفاده از دانایی صفر در کارت هوشمند در حال
افزایش می باشد.
صفحه 20:
Sh ل
کارتهای باهوش
امنيت
9
يروتكلها واطلاعات كارت هوشمند به روشهاى زيرقابل دسترسى مى باشد:
0 روشهای ساده: با اعمال یک ولتاژ غیراستاندارد
فیوز های محافظ اطلاعات پاک میشوند
.C روشهای تخصصی ولی ارزان:با ردیابی مغناطیسی
جريانها در يك جيب در حال كار
.O روشهای گرانقیمت ولی کارآمد:با شستن لایمهلایه
صفحه 21:
دانایی صفر روش مفیدی برای متقاعدکردن طرف مقابل»
بدون انتقال اطلاعات محرمانه است.
. این روش کار استفادههای متعددی در عمل رمزنگاری
میتواند داشته باشد» دارای امنیت محاسباتی خوبی
میباشد.
. دانایی صفر همواره با ردوبدل پیام (حداقل یک رفت و
برگشت برای هر طرف) همراه است.
بسن
صفحه 22:
برای تحقق دانایی صفر. پروتکلهای مختلفی قابل استفااند
که همگی برمسایل دشواری استوار هستند.
9 پروتکلهای تئوری معمولاً محاسبات سنگینی احتیاج دارند»
لذا برای پیادسازی این پروتکلها در عمل. باید مقدار
محاسبات را کاهشداد.
©. يكى از كاربردهاى دانايى صفر در عملء استفاده آن در
كارتهاى هوشمند مىباشد. براى اين منظور بايد يروتكلها
٠ 5 en es |
صفحه 23:
2 استفاده از اين کارتها باید با ریزبینی در ارتباط با مسایل
Aly ob yal titel
9 باتوجه به حجم محاسباتی کمتر دانایی صفر در مقایسه با
کلید عمومی انتظار میرود که استفاده از آن بهخصوص
در سیستمهای محدود بیشتر موردتوجه قرار گيرد. لذا اين
مقوله جای کار فراوان دارد.