اهمیت نظریه مشبکه در دنیای امروز

Report
1
‫حمالت مشبکه( ‪ )Lattice‬به سیستم های رمزنگاری‬
‫و امضاهای دیجیتال‬
‫گردآورنده‪ :‬زهرا فرجی معز‬
‫با راهنمایی دکتر حسین حاجی ابوالحسن‬
‫در این پروژه بر آن شدیم تا روی‬
‫‪ ‬اهمیت نظریه مشبکه در دنیای امروز‬
‫‪ ‬سیستم های رمزنگاری بر پایه نظریه مشبکه‬
‫و به خصوص‬
‫‪ ‬حمالت مشبکه (‪ )Lattice‬به سیستم های رمزنگاری و امضاهای‬
‫دیجیتال‬
‫مطالعه داشته باشیم‪.‬‬
‫‪3‬‬
‫اهمیت نظریه مشبکه در دنیای امروز‬
‫مشبکه ها در سال های اخیر نقش مهمی در رشته هایی چون؛‬
‫«هنر و طراحی»‪« ،‬علوم»‪ « ،‬اقتصاد» و « ریاضیات» ‪،‬‬
‫پیدا کرده اند و روز به روز بر استفاده از آن ها افزوده می شود‪.‬‬
‫‪4‬‬
‫در اینجا کاربردهای نظریه مشبکه در رشته های فوق را به صورت اجمالی بیان‬
‫می کنیم‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪5‬‬
‫علوم کامپیوتر‪:‬بازرسی کدها‪ ،‬ساختار متریک‪ ،‬امنیت رایانه ها و‪...‬‬
‫علوم مواد و فیزیک حالت جامد‪ :‬قالب بندی ساختار بلورین‬
‫فیزیک‪ :‬تکنیک های محاسباتی‬
‫سرمایه گذاری و اقتصاد‪ :‬ارزیابی موجودی و سرمایه در بازه های‬
‫زمانی گسسته‬
‫ریاضیات محض‪ :‬ترکیبیات و نظریه گراف‪ ،‬جبرهای لی‪ ،‬نظریه‬
‫اعداد و نظریه گروه ها‬
‫ریاضیات کاربردی‪ :‬نظریه کدگذاری و رمزنگاری‬
‫چرا از نظریه مشبکه در رمزنگاری استفاده می کنند؟‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪6‬‬
‫امنیت سیستم های رمزنگاری ‪ lattice-based‬مبتنی بر‬
‫مسائل سخت ریاضی است‪.‬‬
‫س ر ع ت ب ا ال ی ا ی ن س ی س ت م ه ا ن س ب ت ب ه س ی س ت م ه ا ی م ب ت ن ی ب ر‬
‫لگاریتم گسسته و تجزیه اعداد صحیح‪.‬‬
‫پیچیدگی کمتر این سیستم ها()‪ )O(k²‬نسبت به سیستم های‬
‫رمزی الجمال‪RSA،‬و ‪،)O(k³)(ECC‬‬
‫(برای کلید ‪k‬بیتی)‪.‬‬
‫عملیات جبرخطی در سیستم های ‪lattice-based‬‬
‫برای اجرا در سخت افزار و نرم افزار بسیار ساده‬
‫می باشد‪.‬‬
‫تعاریف و ویژگی های بنیادی ‪Lattice‬‬
‫‪7‬‬
‫تعریف(مشبکه)‪:‬‬
‫اگر ‪ v1,..,vnRn‬مجموعه ای از بردارهای مستقل‬
‫خطی باشند‪( L=L(v1,..,vn) ،‬تولید شده توسط ‪) v1,..,vn‬‬
‫مجموعه تمام ترکیبات خطی از ‪ v1,..,vn‬است که ضرایب صحیح‬
‫می باشند‪...‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪8‬‬
‫‪n‬‬
‫‪i‬‬
‫‪a v‬‬
‫‪i‬‬
‫‪i 1‬‬
‫‪ a 1 ,...,a n  Z s.t. v ‬‬
‫‪‬‬
‫‪L  L ( v 1 , .., v n )   v‬‬
‫‪‬‬
‫مثالی از یک مشبکه در‪R2‬‬
‫هر نقطه معادل با یک بردار در لتیس‬
‫می باشد‬
‫‪9‬‬
‫مطالب اساسی که برای کاربرد مشبکه باید دانست‬
‫‪ ‬ارتباط دو پایه در مشبکه‬
‫‪ ‬نامساوی هادامارد و پایا بودن )‪det(L‬‬
‫‪ ‬دامنه بنیادی مشبکه و حجم آن‬
‫‪10‬‬
‫‪‬ارتباط دو پایه در مشبکه‬
‫اگر}‪ V={v1,…,vn‬و}‪ W={w1,…,wn‬پایه هایی برای‬
‫لتیس ‪ L‬باشند‪ ،‬می توان ثابت کرد که ‪ ، V=TW‬به طوریکه ‪T‬‬
‫ماتریسی با درایه های صحیح و دترمینان ‪ ±1‬می باشد‪.‬‬
‫اصطالحا ً ماتریس هایی با ویژگی ‪T‬را ‪ ،‬ماتریس های یونی مادوالر مینامند‪.‬‬
‫‪11‬‬
‫‪‬نامساوی هادامارد‬
‫برای هر پایه }‪ {v1,…,vn‬از مشبکه ‪ ، L‬داریم‬
‫|| ‪det( L )  || v 1 || ... || v n‬‬
‫این در حالی ست که اگر ماتریس ‪ B‬را طوری در نظر بگیریم که‬
‫سطرهای آن بردار های ‪ v1,…,vn‬باشند؛‬
‫|)‪det(L)=|det(B‬‬
‫‪ ‬الزم به ذکر است که )‪ det(L‬پایاست‪ ،‬یعنی نسبت به هر پایه ای از‬
‫‪ L‬مقداری ثابت اخذ می کند‪.‬‬
‫‪12‬‬
‫‪‬دامنه بنیادی مشبکه و حجم آن‬
‫اگر ‪ L‬مشبکه ای ‪ n‬بعدی و ‪ v1,…,vn‬پایه آن باشد‪ ،‬دامنه‬
‫بنیادی متناظر با این پایه برابر است با‪:‬‬
‫حجم ‪ F‬را با )‪ volume(F‬نمایش می دهند و مقدارش را‬
‫برابر با )‪ det(L‬می گیرند‬
‫‪F(v1, . . . , vn) = {t...‬‬
‫}‪1v1 + t2v2 + · · · + tnvn : 0 ≤ ti < 1‬‬
‫‪13‬‬
‫مسائل دشوار در لتیس و اهمیت آن ها‬
‫مسائل اصلی و بنیادی مرتبط با لتیس عبارت اند از‪:‬‬
‫‪ SVP‬و ‪. CVP‬‬
‫‪ o‬مسئله کوتاه ترین بردار(‪ :)SVP‬یک پایه برای لتیس ‪ L‬داده‬
‫شده است‪ .‬مطلوب یافتن کوتاهترین بردار ناصفر در ‪ L‬با توجه به‬
‫نرم تعریف شده (معموالً نرم اقلیدسی) می باشد‪.‬‬
‫‪14‬‬
‫• مسئله نزدیک ترین بردار(‪ :)CVP‬یک پایه برای لتیس ‪ L‬داده‬
‫شده است‪ .‬مطلوب یافتن نزدیک ترین بردار ناصفر در ‪ L‬نسبت به‬
‫بردار دلخواه ‪ tєRⁿ‬می باشد‪.‬‬
‫‪15‬‬
16
‫هر دو مسئله ‪ CVP‬و ‪ SVP‬از لحاظ محاسباتی بسیار دشوارند‪.‬‬
‫از طرف دیگر ؛ جواب های تخمینی برای این دو مسئله کاربردهای‬
‫بسیاری در ریاضیات محض و کاربردی دارند‪.‬‬
‫تعمیم هایی از این دو مسئله نیز وجود دارند که در تئوری یا در عمل‬
‫باشندبه‪...‬ذکر است که )‪ ψ(n‬تابعی از‬
‫دارای اهمیت می الزم‬
‫‪ n‬می باشد و با تغییر آن‪ ،‬جواب‬
‫‪:)apprSVP‬‬
‫کوتاه ترین‬
‫از جمله مسئله تقریب‬
‫بردار(بود‪.‬‬
‫متفاوت خواهد‬
‫مسئله نیز‬
‫اگر لتیس ‪-n ،L‬بعدی باشد؛مطلوب یافتن بردار‪ vєL‬است که‬
‫|| ‪|| v ||  ( n ) || v shortest‬‬
‫‪17‬‬
‫• در مسئله ‪،appr CVP‬که آن را با ‪ Γ-CVP‬نمایش می دهند‪،‬داریم‪:‬‬
‫برای ‪ ،wεRⁿ‬مطلوب یافتن بردار ‪ u εL‬می باشد که به‬
‫ازای هر ‪ ،)v≠u( vεL‬داشته باشیم‬
‫||‪||w-u||≥ Γ ||v-w‬‬
‫‪18‬‬
‫الگوریتم های ‪Babai‬‬
‫در سال ‪ Babai ،1986‬دو الگوریتم به منظور حل مسئله‬
‫‪ Γ-CVP‬ارائه کرد‪ .‬چنان که هردو الگوریتم در زمان چندجمله‬
‫ای‬
‫اجرا می شوند‪...‬‬
‫• الگوریتم ‪Round-Off‬‬
‫• الگوریتم ‪Nearest Plane‬‬
‫الزم به ذکر است که هر در الگوریتم باال‪ ،‬برای پایه های مطلوب نتایج کارا‬
‫دارند‪ .‬لذا بهتر است قبل از اجرا‪ ،‬از الگوریتم ‪ LLL‬استفاده نمود‪...‬‬
‫‪19‬‬
‫الگوریتم ‪Babai’s Round-Off‬‬
‫نقطه دلخواه ‪ uRn‬و مشبکه ‪ L‬به همراه پایه‪ v1,..,vnRn‬داده‬
‫شده است‪.‬‬
‫‪u=a1v1+…anvn‬‬
‫می توان نوشت ‪:‬‬
‫مطلوب ‪t‬به‬
‫پایه های‬
‫برای‬
‫الگوریتم‬
‫با این‬
‫مثل‬
‫صحیح‬
‫عدد‬
‫ترین‬
‫نزدیک‬
‫‪i‬‬
‫خوبی کار می کند‪.‬‬
‫این الگوریتم ‪ ai‬ها را‬
‫جایگزین می کند‪ .‬و خروجی آن برداری مانند‬
‫‪ v=t1v1+…tnvn‬خواهد بود‪.‬‬
‫‪20‬‬
‫الگوریتم ‪Babai’s Nearest Plane‬‬
‫دراین الگوریتم‪ ،‬به منظور یافتن نزدیکترین نقطه مشبکه به بردار‬
‫دلخواه ‪ cϵRⁿ‬نزدیکترین صفحه آفین‬
‫به ‪ c‬را مییابیم‪.‬‬
‫را روی صفحه ‪ n-1‬بعدی که توسط ‪v1,..,vn-1‬‬
‫سپس نقطه‬
‫تولید شده‪ ،‬تصویر میکنیم‪.‬‬
‫در مرحله بعد؛الگوریتم را برای یافتن نزدیکترین نقطه مشبکه ‪n-1‬‬
‫تکرار میکنیم‪ .‬اگر آن نقطه را ‪ p′‬بنامیم؛‬
‫بعدی به بردار‬
‫خروجی الگوریتم نقطه ‪ p′+kvn‬خواهد بود‪.‬‬
‫‪21‬‬
‫•‬
‫الگوریتم ‪ nearest plane‬با آن که تقریب بهتری نسبت به‬
‫الگوریتم ‪ round-off‬دارد‪ ،‬بسیار آهسته ترعمل می کند‪.‬‬
‫‪n‬‬
‫الگوریتم ‪ Nearest Plane‬دارای تقریب ‪   2 2‬و الگوریتم ‪ Round-Off‬دارای‬
‫‪n‬‬
‫‪9‬‬
‫تقریب ‪  1  2 n ( ) 2‬‬
‫‪2‬‬
‫‪22‬‬
‫قضایای «هرمیت و مینکوفسکی» و شهود گوسی‬
‫به کمک این قضایا می توان اندازه کوتاه ترین برداردر لتیس را تقریب‬
‫زد‪ ...‬این اندازه به مقدار بعد و دترمینان ‪ L‬بستگی دارد‪.‬‬
‫• قضیه هرمیت‬
‫هر لتیس ‪-n‬بعدی ‪ L‬شامل بردار ناصفر ‪ v‬ست که‬
‫‪1‬‬
‫‪n d e t( L ) n‬‬
‫‪23‬‬
‫‪|| v ||‬‬
‫• قضیه مینکوفسکی‬
‫اگر ‪ L‬لتیسی ‪-n‬بعدی در‪ R n‬و ‪ S‬نیز مجموعه‬
‫محدب متقارن در ‪ R n‬باشند که ) ‪ ، vol(S )>2 det( L‬آنگاه ‪ S‬شامل‬
‫یک بردار ناصفر ‪ L‬خواهد شد‪.‬‬
‫‪n‬‬
‫به عالوه اگر ‪ S‬مجموعه بسته نیز باشد و‬
‫نامساوی مختار به تساوی نیز شود‪ ،‬حکم‬
‫برقرار خواهد بود‪.‬‬
‫‪24‬‬
‫اگر در قضیه مینکوفسکی ‪ S‬را گویی به مرکز صفر و شعاع ‪ R‬در نظر‬
‫‪n‬‬
‫)‪vol(S‬‬
‫‪‬‬
‫‪2‬‬
‫بگیریم و ‪ R‬را طوری انتخاب کنیم که ) ‪det( L‬‬
‫برقرار باشد؛‬
‫می توان مطمئن بود که این گوی شامل یک نقطه ناصفر لتیس می باشد‪.‬‬
‫از طرفی ‪ ،‬برای ‪ n‬های بزرگ داریم‪:‬‬
‫‪.R‬‬
‫‪2 e‬‬
‫‪n‬‬
‫با جایگزاری در شرط‬
‫) ‪vol(S)  2 det( L‬‬
‫‪n‬‬
‫‪1‬‬
‫‪vo l(B R (0 )) n ‬‬
‫خواهیم داشت‪:‬‬
‫‪1‬‬
‫‪. d e t( L ) n‬‬
‫‪25‬‬
‫‪2n‬‬
‫‪e‬‬
‫‪R ‬‬
‫پس می توان نتیجه گرفت که بردار لتیس )‪ (v‬واقع در گوی در نامساوی‬
‫زیر صدق می کند‪.‬‬
‫‪2n‬‬
‫‪1‬‬
‫‪. d et( L ) n‬‬
‫مالحضه می شود که نسبت به‬
‫قضیه هرمیت ‪،‬کران بهتری‬
‫بدست آوردیم‪...‬‬
‫‪26‬‬
‫‪e‬‬
‫‪|| v ||‬‬
‫شهود گوسی‬
‫می دانیم تعداد نقاط مشبکه واقع در گوی برابر است با‬
‫))‪v olum e ( B R (0‬‬
‫) ‪v olum e ( F‬‬
‫‪ ‬حال اگر ‪ R‬را طوری در نظر بگیریم که تنها یک نقطه مشبکه درون گوی‬
‫بیافتد‪ ،‬خواهیم داشت‪:‬‬
‫) ‪v olum e ( B R (0))  v olum e ( F‬‬
‫‪1‬‬
‫‪. d e t( L ) n‬‬
‫تعریف می کنیم‪:‬‬
‫‪1‬‬
‫‪. d et( L ) n‬‬
‫‪27‬‬
‫‪n‬‬
‫‪2 e‬‬
‫‪n‬‬
‫‪2 e‬‬
‫‪ R ‬‬
‫‪ (L ) ‬‬
‫سیستم های رمزنگاری بر پایه مسائل دشوار لتیس‬
‫از جمله اولین سیستم های رمزنگاری مبتنی بر مشبکه می توان به‬
‫‪ Atjai-Dwork‬و )‪Goldreich,Goldwasser,Halevi (GGH‬‬
‫اشاره کرد‪.‬‬
‫هر دوی این سیستم ها در سال ‪ 1997‬توسط ‪Phong Q.Nguyen‬‬
‫شکسته شد‪.‬‬
‫با این که این شروع بدی برای سیستم های رمزی مبتنی بر مشبکه بود‪،‬‬
‫در سال ‪ 1998‬سیستم کارآمد ‪ NTRU‬معرفی شد‪.‬‬
‫‪28‬‬

similar documents