رمزنگاری

Download Report

Transcript رمزنگاری

‫جلسه چهارم‬
‫رمزنگاری (‪)1‬‬
‫برگرفته از اسالیدهای ‪© University of Glamorgan‬‬
‫ارائه دهنده‪:‬‬
‫حسین محمدحسن زاده‬
‫‪ 20‬فروردین ‪1392‬‬
‫‪1‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫چرا رمزنگاری؟‬
‫•‬
‫نگرانی های کاربران آنالین‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫اگر شماره کارتم را از طریق اینترنت انتقال دهم‪ ،‬آیا فرد دیگری می تواند آن را ببیند؟‬
‫اگر مبلغی را به عنوان مبلغ کاالیی پرداخت کنم‪ ،‬آیا امکان دستکاری در این پرداخت وجود‬
‫دارد؟‬
‫وقتی می خوام کاالیی رو از کمپانی ‪ x‬بخرم‪ ،‬آیا این کمپانی واقعا خودشه؟!‬
‫در این شرایط‪ ،‬سه موضوع مطرح می شود‪:‬‬
‫•‬
‫محرمانگی (‪)Confidentiality‬‬
‫•‬
‫•‬
‫صحت‪/‬جامعیت (‪)Integrity‬‬
‫•‬
‫•‬
‫حفاظت از اطالعات در برابر افشای ناخواسته‬
‫حفاظت از اطالعات در برابر تغییرات ناخواسته‪ ،‬و اطمینان از دقت و کامل بودن اطالعات‬
‫احراز هویت (‪)Authentication‬‬
‫•‬
‫اطمینان از هویت مورد ادعای شریک تجاری‬
‫‪2‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫اهداف رمزنگاری‬
‫•‬
‫محرمانگی‬
‫•‬
‫• دسترس پذیری اطالعات یک پیام تنها برای افراد مجاز‬
‫• استفاده از رمزنگاری برای محرمانه نگاه داشتن پیغام‬
‫• مثال‪ :‬اگر اطالعات یک لپتاپ رمز شود‪ ،‬در صورت دزدیده شدن آن‪ ،‬مطمئن هستیم داده ها‬
‫امن هستند‬
‫احراز هویت‬
‫•‬
‫•‬
‫•‬
‫گیرنده پیام باید بتواند از فرستنده پیام اطمینان حاصل نماید‬
‫کاربر خرابکار نباید بتواند خود را به جای خریدار یا فروشنده جا بزند‬
‫با اشتراک گذاری اطالعاتی محرمانه (مانند امضای دیجیتال) می توان این خواسته را‬
‫برآورده نمود‬
‫‪3‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫اهداف رمزنگاری‬
‫•‬
‫صحت‪/‬جامعیت‬
‫•‬
‫•‬
‫•‬
‫•‬
‫(ادامه)‬
‫گیرنده پیام باید اطمینان حاصل کند که پیام در بین راه تغییر نکرده است‬
‫کاربر خرابکار نباید بتواند پیام نادرست را جایگزین پیام اصلی نماید‬
‫الگوریتم های رمزنگاری می توانند کوچکترین تغییرات در پیام را شناسایی نمایند‬
‫انکارناپذیری (‪)Non-Repudiation‬‬
‫•‬
‫•‬
‫نباید امکان انکار آنچه که فرستاده شده است‪ ،‬برای فرستنده وجود داشته باشد‬
‫امضای دیجیتال این نیاز را برآورده می سازد‬
‫‪4‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫اصول رمزنگاری‬
‫ درهم آمیختن پیام‬: ‫رمزنگاری‬
‫ بازیابی متن اصلی‬: ‫رمزگشایی‬
Quintuple (E, D, M, K, C)
M set of plaintexts
K set of keys
C set of ciphertexts
E set of encryption functions e: M  K  C
D set of decryption functions d: C  K  M
H.M.Hassanzade, [email protected]
5
•
•
•
•
•
‫سیستم های رمزنگاری نخستین‬
‫•‬
‫دو روش اولیه رمزنگاری‬
‫•‬
‫جابجایی (‪)Transposition‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫تغییر در چیدمان کاراکترها یا بلوک های کاراکتری‬
‫با حفظ مقدار کاراکتر‪ ،‬تنها موقعیت آن ها تغییر می یابد‬
‫مانند ‪Spartans‬‬
‫جاگذاری (‪)Substitution‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫جایگزینی یک کاراکتر با کارکتر دیگر‬
‫این جایگزینی می تواند با پیچیدگی های متفاوت انجام شود‬
‫گاهی یک کاراکتر با چندین کاراکتر جایگزین می شود‬
‫مانند ‪Enigma Machine ،Caesar Cipher‬‬
‫‪6‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫یک رمزنگاری جابجایی ساده‬
you live you learn
Encryption
System
yo
ul
iv
ey
ou
le
ar
n
H.M.Hassanzade, [email protected]
7
yuieolanolvyuer
‫رمزنگاری سزار‬
Plaintext:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Cipher text:
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
H.M.Hassanzade, [email protected]
8
“Mission Impossible” → “AWGGWN WADCGGWPZS”
H.M.Hassanzade, [email protected]
9
‫رمزنگاری متقارن و نامتقارن‬
‫رمزنگاری متقارن‬
‫•‬
‫رمزنگاری متقارن ‪ /‬کلید خصوصی ‪ /‬کلید محرمانه یا تک کلید‬
‫•‬
‫عملیات رمزنگاری و رمزگشایی توسط یک کلید انجام می شود‬
‫•‬
‫باید کلید به درستی حفاظت شود‬
‫•‬
‫مهمترین عیب روش‪ :‬تبادل کلید‬
‫•‬
‫یک روش رمزنگاری متقارن‪One Time Pad :‬‬
‫‪C‬‬
‫‪01000010‬‬
‫‪00101011‬‬
‫‪01101001‬‬
‫‪B‬‬
‫‪01000001‬‬
‫‪01111001‬‬
‫‪00111000‬‬
‫‪A‬‬
‫‪01000011‬‬
‫‪11010001‬‬
‫‪10010010‬‬
‫‪Plaintext‬‬
‫‪key‬‬
‫‪ciphertext‬‬
‫•‬
‫مزایا‪ :‬روشی غیرقابل نفوذ‬
‫•‬
‫• هرچند با حمالت ‪ Brute Force‬و طول محدود کلید قابل شکسته شدن است‬
‫سایر روش های رمزنگاری متقارن‪RC5 ،IDEA ،Blowfish ،DES :‬‬
‫‪Truly random‬‬
‫‪key same length‬‬
‫‪as message‬‬
‫‪10‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫رمزنگاری نامتقارن‬
If Key 1 was used last, then use Key2
If Key 2 was used last, then use Key1
Plaintext
A
1. Convert to
number
(a=1,b=2)
2. Subtract 5
3. obtain
square
Ciphertext
Plaintext
Ciphertext
P
If Key 1 was used last, then use Key2
If Key 2 was used last, then use Key1
H.M.Hassanzade, [email protected]
A pair of keys can generated using
prime numbers and the modulus
operator.
11
A simple example of a one way
function this will encrypt the message
in a way which cannot be reversed.
‫رمزنگاری نامتقارن‬
‫عمومی‬/‫کلید خصوصی‬
•
‫ و کلید خصوصی را برای رمزگشایی نزد‬،‫• کاربر کلید عمومی را برای همه ارسال می کند‬
‫خود نگاه می دارد‬
‫• یک سناریوی رمزنگاری نامتقارن‬
1.
Wendy downloads Bob’s public Key and uses this to encrypt the messages
2.
Wendy then sends the message over the web, if intercepted. Can anyone read it ? No they can’t! It
can not be read be decrypted with Bob’s Public key, only with Bob’s Private key
3.
Bob received the message and uses his carefully guarded private key decrypts the message.
H.M.Hassanzade, [email protected]
12
P = D(KPRIV , E(KPUB , P) )
H.M.Hassanzade, [email protected]
13
‫پایان‬