رمزنگاري كليد عمومي
DESCRIPTION
رمزنگاري كليد عمومي. بهروز تركلاداني [email protected]. 1. اهداف. آشنا يي با مفاه ي م و کاربردها ي رمزنگار ي کل ي د عموم ي مقا ي سه روشها ي رمزنگار ي کل ي د عموم ي با رمز نگار ي متقارن بررسی يک نمونه از کاربرد کليد عمومی در روش توزيع کليد DH. فهرست مطالب. - PowerPoint PPT PresentationTRANSCRIPT
2
اهداف
د ي کلي رمزنگاريم و کاربردهاي با مفاهييآشنا•يعموم
با يد عمومي کلي رمزنگاريسه روشهايمقا• متقارنيرمز نگار
بررسی يک نمونه از کاربرد کليد عمومی در •DHروش توزيع کليد
3
مطالبفهرست
مباني رمزنگاري کليد عمومي•مقايسه رمزنگاري متقارن و رمزنگاري کليد •
عموميكاربردهاي رمزنگاري کليد عمومي •توابع يك طرفه•يد عموميتم کلي چند الگوريمعرف•وست هايپ•
4
اري کليد عموميگمباني رمزن
8 با انگرمزنگاري کليد عمومي• دن به يزه رسي اساسا شد:يدو هدف طراح
ديع کليحل مساله توز•تاليجي ديامضا•
ه ي ارا1976ن راه حل را در ي و هلمن اوليفيد•دادند.
5
متفاوت اما يي رمزگذاری و رمزگشايد هايکل•مرتبط هستند.
د رمزگذاری از ي از کلييد رمزگشايدن به کليرس• باشد.ي ناممکن ميلحاظ محاسبات
8 ني مي همگانيرمزگذاری امر• به يازيباشد و اساسااشتراک گذاشتن اطالعات محرمانه ندارد.
بوده و ي اختصاصيگر امري از طرف دييرمز گشا•ماند.يامها محفوظ مي پيمحرمانگ
اري کليد عموميگرمزن
6
رمزگذاری کليد عمومي
ر را ي زي گامهايد عمومي کلي رمز نگاريبرا•م:يداريبرم کند.يد مي تولييد رمزگذاری و رمز گشايک زوج کليهر کاربراعالن يد رمزگذاری خود را به صورت عموميکاربران کل
باشد.ي مي مخفييد رمز گشاي که کليکنند درحاليمهر کاربر دلخواه يام رمز شده برايهمگان قادر به ارسال پ
باشند.ي( او ميد رمزگذاری )عموميبا استفاده از کل( ي )خصوصييد رمزگشايتواند با کمک کلي هر کاربر م
( او رمز شده يد رمزگذاری )عمومي که با کلييامهايپ کند.ييرمزگشا
7
رمزگذاری کليد عمومي
8
مقايسه رمزنگاري مرسوم و رمزنگاري کليد عمومي
رمزنگاري مرسوم )کليد خصوصي( •استفاده از يك كليد يکسان و مخفي براي رمزگذاري •
و رمزگشاييمشكل مديريت كليدها•
نياز به توافق بر روي كليد پيش از برقراري ارتباط براي ارتباطn نفر باهم به n(n-1)/2كليد احتياج داريم
عدم پشتيباني از امضاء الكترونيكي• با كليد عموميرمزگذاریسريع تر از الگوريتمهاي •
9
رمزگذاری مرسوم )کليد متقارن( •د:ي امن بودن بايبرا•
.كليد مخفي نگه داشته شوداز متن رمز شده يام واضح از رويدن به پيرس
. باشدنا ممکننظر محاسباتي رمز اطالع از الگوريتم و داشتن نمونه هايي از پيغام
. كليد كافي نباشدنييتعبراي شده
مقايسه رمزنگاري مرسوم و رمزنگاري کليد عمومي
10
ملزومات امنيتي)رمزگذاری با كليد عمومي(• بايد مخفي بماند كليددويكي از تنهابا ي متن رمز شده حتيام واضح از رويدن به پيرس
نا ممکناز نظر محاسباتي يد عموميداشتن کل. باشد
داشتن يكي از كليدها و نيز ،اطالع از الگوريتم براي ی رمزشده پيغام ها دراختيار داشتن نمونه.باشدنتعيين كليد دوم كافي
مقايسه رمزنگاري مرسوم و رمزنگاري کليد عمومي
11
؟كميلت اي جايگزيني
رمزگذاری با كليد عمومي ،از نظر كاربردي•بيش از آنكه جايگزيني براي رمزگذاری
حل يبرامرسوم باشد, نقش مكمل آنرا د.بازي مي كن توزيع كليدمشکالت
12
Misconceptions!
دو تصور اشتباه درباره کليد عمومی•!رمزنگاری با کليد عمومی امن تر است
.در هر دو روش رمزنگاری امنيت به طول کليد وابسته است
مسئله توزيع کليد در رمزنگاری با کليد عمومی برطرف •شده است
چگونه مطمئن شويم کليد عمومی لزوما متعلق به شخصادعاکننده است؟!
.توزيع کليد عمومی آسانتر است، ولی بديهی نيست
13
نمادها و قراردادها
د رمزگذاریي: کليد عموميکل•شخص يد را براين کليا a با KUaم.يدهي نشان م
ييد رمز گشاي: کليد خصوصيکل•شخص يد را براين کليا aبا KRa م.يدهي نشان م
14
محرمانگي و احراز هويت به صورت همزمان
ت به ي و احراز هوي: محرمانگيد عمومي کلرمزگذاریصورت همزمان
15
رمزگذاری کليد كاربردهاي عمومي
دسته بندي كلي كاربردها•
ي حفظ محرمانگيبرايي : / رمز گشارمزگذاری
: ن يام و معي حفظ اصالت پيبراامضاء رقمي
ام با امضاء يوند دادن پيام )پينمودن فرستنده پ
کننده(
توزيع كليد : براي توافق طرفين روي كليد نشست
يمخف
16
يتمهاي الگوري برخيکاربردهايد عموميکل
توزيع كليد امضاء رقمي/ رمزگذاری
ييرمز گشا تميالگور
√ √ √ RSA
√× ×
Diffie Hellman
× √ × DSS
17
رمزگذاری کليد يگاه عمليجاعمومي
تر از يار طوالنيتمها بسين نوع از الگوري ايدهايکل•باشند.يد متقارن( مي مرسوم )کليتمهايالگور
الگوريتمRSA امنيتی در حد يتي ب1024 با پيمانه دارد. يتي ب80الگوريتمهای متقارن با کليدهای
ي تمهاياز الگوري کليد عمومي تمهايالگورسرعت •ن تر است.يي پارمزگذاری مرسوم
RSA8 ي تقر د متقارن ي کليبار کند تر از رمزها 1000باباشد. يکسان( ميت ي)با امن
18
رمزگذاری کليد يگاه عمليجاعمومي
تمها به حل مساله ين الگوريامروزه کاربرد اشود. يتال محدود ميجي ديد و امضايع کليتوز
( يه طراحي اوليزه هاي)مطابق اهداف و انگ
19
طرفه توابع يك
افتن مقدار يم اگر ييک طرفه گوي را ).(fک طرفه: تابع يتابع • ي از لحاظ محاسباتي مقدار خروجي تابع از رويورود
ناممکن باشد. کند!ين چرخ گوشت عمل ميک طرفه همانند ماشيک تابع ي•
ي را بازسازي توان ورودي )گوشت چرخ شده ( نمي خروجي از رو کرد.
20
چهيدر
ک ي تابع يم تا ورودياز داري کاربردها نياما در برخ•م...ين کنيطرفه را مع
که با يچه در تابع: اطالعات اضافيک دريوجود • کارا معکوس يم تابع را به روشيتوانيدانستن آنها م
م. يکن
21
چه داري درطرفه توابع يك
به طوريكه :).(fkمجموعه اي از توابع معكوس پذير •
محاسبه y= fk(x) با دانستن k و xآسان باشد
محاسبه fk-1(y) x= با دانستنk و yآسان باشد
محاسبه fk-1(y) x= با دانستن y و مخفي بودن k
امكانپذير نباشد
22
چه دار به ي درطرفه توابع يكک ابزار يعنوان
ي براي مناسبي ابزارهاتوابع يك طرفه دريچه دار•
تال يجي دي رمزگذاری و امضايتمهاي الگوريطراح
باشند.يم
توابع يك طرفه شود وجود يقت ثابت ميدر حق•
وجود ي براي شرط الزم و کافدريچه دار
تال امن يجي دي رمزگذاری و امضايتمهايالگور
باشد. يم
23
RSA يتم رمز نگاري الگوركليات
كليات• توسطAdleman- Shamir- Rivest در 1977در سال MIT
ارائه شد مشهورترين و پركاربردترين الگوريتم رمزگذاری كليد
عمومي ييمانه ايپمبتني بر توان رسانياستفاده از اعداد طبيعي خيلي بزرگکه امنيت آن ناشي از دشوار بودن تجزيه اعداد بزرگ ،
حاصلضرب دو عامل اول بزرگ هستند، می باشد. مستندات مربوط به آن تحت عنوانPKCS استاندارد
شده است.
24
RSA نمادگذاري
•Nمانه محاسباتي : پ
•eرمزگذاری ي: نما
•dيي رمزگشاي: نما
•Mح متعلق بهيام ، عدد صحي: پ
باشد.ي مdچه تابع همان ي: درRSAتابع •
تابع معکوس:•
NZ
Nxx e mod
Nxx d mod
25
RSAمباني رياضي
Medمي خواهيم: • mod N = M
يك نتيجة فرعي از قضية اولر:• داشته باشيم به نحوي كهn و m و دو عدد صحيح q و pاگر دو عدد اول –
n=p.q 0 و <m < n:داريم ، mk.(n)+1 mod n = mk.(p-1)(q-1)+1 mod n = m mod n
است n تعداد اعداد کوچکتر از (n) يك عدد صحيح دلخواه و kكه در آن .( (n)=(p-1)(q-1)) اول هستند nکه نسبت به
:بنابر اين بايد داشته باشيم•e.d = k. (n) +1
e.d = 1 (mod (n) ) يا به عبارت ديگر
gcd((n), e) =1بنابر اين بايد •
26
RSA Key generation
27
RSA Encryption and Decryption
28
RSA و پرتکل قراردادها
را مي دانندNهم فرستنده و هم گيرنده مقدار • را مي داندeفرستنده مقدار •
( : کليد عمومیN , e)
را مي داندdتنها گيرنده مقدار •( : کليد خصوصیN, d)
:نيازمنديها• محاسبهMe و Cdآسان باشد محاسبهd غيرممكن باشدکليد عمومی با دانستن
29
RSA مثال-
p = 17, q = 11, n = p*q= 187
(n) = 16*10 =160, pick e=7, d.e=1 mod (n) d = 23
30
محاسبه نماي کارا برايروشها
ابداع ي متفاوتيتمهاي الگورab (mod N) محاسبه يبرا•شده است.
د يفرض کنbkbk-1…b0عدد 2 يش مبناي نما b .باشد م داشت:ين خواهيبنابرا
0
22
0
i
iib
b
i
b aaa
nnananai
i
i
i
bb
b modmodmodmod0
2
0
2
31
تم توان و ضربيالگور
نمود:ير را طراحيتم زيتوان الگورين مبنا ميبر ا•
32
تم توان و ي الگوريمثال عددضرب
ab ي براييمانه ايع پيتم توان رساندن سريجه الگورينت•mod nر ي که مقادa،b و n:عبارتند از
•a=7,b=560=(1000110000)2,n=561
33
RSAحمالت وارد بر
(Brute Forceآزمون جامع)حمله •طول كليد با پيدايش هر نسل جديد از پردازنده ها افزايش مي يابد،
ضمن اينكه قدرت پردازشي هكرها زياد مي شود!(طول کليد معادل تعداد بيتهای پيمانه محاسباتN.می باشد )
ياضيرحمالت •مانه يه پيتجزN محاسبه(N) براي Nهاي بزرگ محاسبهd
حمله زماني• را يتواند اطالعاتي مواگشايي رمزا يات رمزگذاری يعملزمان اجراي
د افشاء کند.يدر مورد کل
34
RSA ياضيرحمالت
( :وستيپ )Stanfordدر دانشگاه Dan Bonehمقاله •Twenty Years of Attacks on the RSA Cryptosystem 1999
35
ياضي حمالت ريراه حل برا
م.يينمايش پردازش ميام را پي پRSAقبل از اعمال تابع •
OAEP: Optimal Asymmetric Encryption Paddingتم يالگور•ر ي( با کمک اعمال توابع درهم ساز ومقادPKCS#1 V.2)استاندارد
(3 وستيپکند. )يام را پردازش مي پيتصادف
36
به راههاي مقابله با حمله زمانيRSA
. با زمان ثابت محاسباتي رساندناستفاده از توان•
اضافه كردن تاخيرهاي تصادفي•
قرار دادن اعمال اضافی و گمراه کننده در بين •محاسبات
37
Diffie Hellmanتم يالگور
د.ي تبادل کليبرا•DHت برمفروضات يامن•کنند.ي توافق م و pر ي مقاديبر رو••q ک عدد اول و ي باشد. ين عدد مي ايک مولد براي
38
Diffie - Hellmanتم يالگور
Alice Bob
کندي را انتخاب مXA يمقدار تصادف کندي را انتخاب مXBيمقدار تصادف
qY AXA mod
qY BXB mod
qYK AXBAB mod qYK BX
AAB mod
د مشترک عبارت است ازيکل qBA XX mod
α , q : عمومی
39
انیيحمله مرد م
ن يان طرفي ميمهاجم به عنوان کانال ارتباط•کند.يعمل م
شوديحمله فعال محسوب م•
را تهديد می کند.Diffie-Hellmanتم يالگور•
40
انهي در ميحمله مرد
Alice
YA
YK
Kevin Bob
YK’
YB
qK KA XX mod1
qK KA XX mod'2
Alice گمان د يکند کليم
K1 را با Bob به
اشتراک گذاشته
است
Bob گمان K2د يکند کليم
به Aliceرا با اشتراک
گذاشته است
41
وست هايپ
42
1وست يپ
ک طرفهيتوابع
43
ک طرفهيتوابع
م اگر:ييک طرفه گوي را ).(fف: تابع يتعر•کسان باشد.ي ي و خروجيطول ورود–
– f).(باشد قابل محاسبه ييدر زمان چند جمله ا.
–f-1).(قابل محاسبه ي تصادفي در زمان چند جمله ا .نباشد
,Pr [ ( ( )) where ( ) ( )]n
R
k
M wM k N n N M f w y f y f w n
,
Pr [ ( ( )) where ( ) ( )]nR
k
M wM k N n N M f w y f y f w n
توجه: f).( 8 تابع• ست.يک نيک به ي لزوماw 8 و yمقدار • ست.يکسان ني لزوما
44
…يري معکوس پذيسخت
ن ي هر ماشيبراMنگ يتور
Mن ي ماشيانتخابها
را حد اکثر بر ).(f تابع Mنيماش ها معکوس ي از ورودn-k يرو
کند.يم
, Pr [ ( ( )) where ( ) ( )]n
R
k
M wM k N n N M f w y f y f w n
, Pr [ ( ( )) where ( ) ( )]n
R
k
M wM k N n N M f w y f y f w n
يعي هر ثابت طبيبراk
به ي هاn يبرا بزرگياندازه کاف
ر محاسبه ي زي فضاياحتمال بر رو:شوديم
w يانتخاب تصادف
45
1وست يپ
RSA ياضيرحمالت
46
Factoring Large integer
• Open Problem: Is breaking RSA as hard as factoring:
Fact: Let N,e be an RSA public key. Given the private key d, one can efficiently factor the modulus N=pq, Conversely, given the factorization of N, one can efficiently recover d.
47
Low Private Exponent
• Fast decryption requires small d.• Theorem(M. Wiener)
– Let N=pq with qp2q. Let dN0.25/3. Given N,e with ed=1 mod (N), Marvin can efficiently recover d.
• Solutions.– Large e: using N,e , where e= e+t(N) for some large t .
Usually, eN1.5 is sufficient.– Using CRT to accelerate decryption. However, given N,e, there
exists an attack to factor N in O(min(dp1/2, dq
1/2)). Hence dp,dq cannot be too small.
48
3وست يپ
OOptimal ptimal AAsymmetric symmetric EEncryption ncryption PPaddingadding
49
OAEP
s t
r
G
H
0k1M r :يمقدار تصادفMامي: پ:0k1 ک رشته شامل يk1عدد صفر
G و Hتوابع در هم ساز :
به هم t وsدر انتها دو رشته RSAالحاق شده و به تابع
شوند.يخورانده م
به راحتی عمليات t و sبا دانستن معکوس ميشوند.
r = H(s) + tM|| 0k1 = G(r) + s