جلسه چهارم رمزنگاری ()1 برگرفته از اسالیدهای © University of Glamorgan ارائه دهنده: حسین محمدحسن زاده 20فروردین 1392 1 H.M.Hassanzade, Hassanzade@Gmail.com چرا رمزنگاری؟ • نگرانی های کاربران آنالین: • • • • اگر شماره کارتم را از طریق اینترنت انتقال دهم ،آیا فرد دیگری می تواند آن را ببیند؟ اگر مبلغی را به عنوان مبلغ کاالیی پرداخت کنم ،آیا امکان دستکاری در این پرداخت وجود دارد؟ وقتی می خوام کاالیی رو از کمپانی xبخرم ،آیا این کمپانی واقعا خودشه؟! در این شرایط ،سه موضوع مطرح می شود: • محرمانگی ()Confidentiality • • صحت/جامعیت ()Integrity • • حفاظت از اطالعات در برابر افشای ناخواسته حفاظت از اطالعات در برابر تغییرات ناخواسته ،و اطمینان از دقت و کامل بودن اطالعات احراز هویت ()Authentication • اطمینان از هویت مورد ادعای شریک تجاری 2 H.M.Hassanzade, Hassanzade@Gmail.com اهداف رمزنگاری • محرمانگی • • دسترس پذیری اطالعات یک پیام تنها برای افراد مجاز • استفاده از رمزنگاری برای محرمانه نگاه داشتن پیغام • مثال :اگر اطالعات یک لپتاپ رمز شود ،در صورت دزدیده شدن آن ،مطمئن هستیم داده ها امن هستند احراز هویت • • • گیرنده پیام باید بتواند از فرستنده پیام اطمینان حاصل نماید کاربر خرابکار نباید بتواند خود را به جای خریدار یا فروشنده جا بزند با اشتراک گذاری اطالعاتی محرمانه (مانند امضای دیجیتال) می توان این خواسته را برآورده نمود 3 H.M.Hassanzade, Hassanzade@Gmail.com اهداف رمزنگاری • صحت/جامعیت • • • • (ادامه) گیرنده پیام باید اطمینان حاصل کند که پیام در بین راه تغییر نکرده است کاربر خرابکار نباید بتواند پیام نادرست را جایگزین پیام اصلی نماید الگوریتم های رمزنگاری می توانند کوچکترین تغییرات در پیام را شناسایی نمایند انکارناپذیری ()Non-Repudiation • • نباید امکان انکار آنچه که فرستاده شده است ،برای فرستنده وجود داشته باشد امضای دیجیتال این نیاز را برآورده می سازد 4 H.M.Hassanzade, Hassanzade@Gmail.com اصول رمزنگاری درهم آمیختن پیام: رمزنگاری بازیابی متن اصلی: رمزگشایی 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, Hassanzade@Gmail.com 5 • • • • • سیستم های رمزنگاری نخستین • دو روش اولیه رمزنگاری • جابجایی ()Transposition • • • • تغییر در چیدمان کاراکترها یا بلوک های کاراکتری با حفظ مقدار کاراکتر ،تنها موقعیت آن ها تغییر می یابد مانند Spartans جاگذاری ()Substitution • • • • جایگزینی یک کاراکتر با کارکتر دیگر این جایگزینی می تواند با پیچیدگی های متفاوت انجام شود گاهی یک کاراکتر با چندین کاراکتر جایگزین می شود مانند Enigma Machine ،Caesar Cipher 6 H.M.Hassanzade, Hassanzade@Gmail.com یک رمزنگاری جابجایی ساده you live you learn Encryption System yo ul iv ey ou le ar n H.M.Hassanzade, Hassanzade@Gmail.com 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, Hassanzade@Gmail.com 8 “Mission Impossible” → “AWGGWN WADCGGWPZS” H.M.Hassanzade, Hassanzade@Gmail.com 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, Hassanzade@Gmail.com رمزنگاری نامتقارن 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, Hassanzade@Gmail.com 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, Hassanzade@Gmail.com 12 P = D(KPRIV , E(KPUB , P) ) H.M.Hassanzade, Hassanzade@Gmail.com 13 پایان