دانشگاه صنعتی شریف دانشکده مهندسی کامپیوتر آزمایشگاه امنیت داده و شبکه http://dnsl.ce.sharif.edu درس :5رمزنگاری نامتقارن (کلید عمومی) محمد صادق دوستی 1 / 57 امنیت داده و شبکه محمد صادق دوستی فهرست مطالب • مبانی رمزنگاری کلید عمومی • مقایسه با رمزنگاری سنتی و متقارن • کاربردهای رمزنگاری کلید عمومی • الگوریتم رمز RSA • الگوریتم دیفی-هلمن • الگوریتم رمز الجمل ()ElGamal 2 / 57 امنیت داده و شبکه محمد صادق دوستی مبانی رمزنگاری کلید عمومی دیفی و هلمن اولین راه حل را در 1976ارائه دادند. کاربردهای مهم: حل مسأله توزیع کلید در روشهای رمزنگاری متقارن امضای دیجیتال Martin Edward Hellman ) – (1945 3 / 57 امنیت داده و شبکه Bailey Whitfield Diffie ) – (1944 محمد صادق دوستی رمزنگاری کلید عمومی کلیدهای رمزگذاری و رمزگشایی متفاوت اما مرتبط هستند. رسیدن به کلید رمزگشایی از کلید رمزگذاری از لحاظ محاسبباتی ناممکن است. ( در حفظ محرمانگی) رمزگذاری امری همگانی است و اساساً نیازی به اشتراک گذاشتن اطالعات محرمانه ندارد. ( در حفظ محرمانگی) رمزگشایی از طرف دیگبر امبری اصتصاصبی بوده و محرمانگی پیامها محفوظ میماند. 4 / 57 امنیت داده و شبکه محمد صادق دوستی نمادها و قراردادها کلید عمومی :کلید رمزگذاری (در حفظ محرمانگی) ایببن کلیببد را بببرای شبب Aبببا PUaنشببان مببیدهببیم. کلید خصوصی :کلید رمزگشایی (در حفظ محرمانگی) این کلید را برای ش 5 / 57 Aبا PRaنشان میدهیم. امنیت داده و شبکه محمد صادق دوستی نیازمندیهای «دستوری» رمزنگاری کلید عمومی از نظر محاسبباتی ببرای طبرف ،Aتولیبد یب زو کلیبد (کلیبد عمومی PUaو کلید صصوصی )PRaآسان باشد. برای فرستنده ،تولید متن رمز آسان باشد: ) E PU a (M C برای گیرنده ،رمزگشایی متن با استفاده از کلید متنبارر آن آسبان باشد: ]) D PRa [E PU a (M 6 / 57 امنیت داده و شبکه ) D PRa (C M محمد صادق دوستی نیازمندیهای «امنیتی» رمزنگاری کلید عمومی از نظر محاسباتی ،تولید کلید صصوصی ) (PRaببا دانسبتن کلیبد عمومی ) (PUaغیر ممکن باشد. PR a PU a بازیابی پیام ،Mبا دانستن PUaو Cغیرممکن باشد. M 7 / 57 C , PU a امنیت داده و شبکه محمد صادق دوستی مراحل رمزنگاری کلید عمومی هر کاربر ی زو کلید عمومی و صصوصی تولید میکند. کاربران کلید عمومی صود را به صبورت عمبومی اعبالن مبیکننبد درحالی که کلید صصوصی م فی میباشد. همگان قادر به ارسال پیام رمبز شبده ببرای هبر کباربر دل بواه ببا استفاده از کلید عمومی او هستند. هر کاربر میتواند با کم کلید صصوصی پیامهبایی کبه ببا کلیبد عمومی او رمز شده رمزگشایی کند. 8 / 57 امنیت داده و شبکه محمد صادق دوستی رمزگذاری و رمزگشایی با کلید عمومی 9 / 57 امنیت داده و شبکه محمد صادق دوستی فهرست مطالب • مبانی رمزنگاری کلید عمومی • مقایسه با رمزنگاری سنتی و متقارن • کاربردهای رمزنگاری کلید عمومی • الگوریتم رمز RSA • الگوریتم دیفی-هلمن • الگوریتم رمز الجمل ()ElGamal 10 / 57 امنیت داده و شبکه محمد صادق دوستی مقایسه رمزنگاری متقارن و رمزنگاری کلید عمومی مشکل مدیریت کلیدها در رمزنگاری متقارن نیاز به توافق بر روی کلید پیش از برقراری ارتباط 𝑛 کلید احتیا داریم. برای ارتباط nنفر باهم به 2 عدم پشتیبانی رمزنگاری متقارن از امضای رقمی (دیجیتال) با این وجود الگبوریتمهبای رمزنگباری متقبارن بسییار سبریع تبر هستند. 11 / 57 امنیت داده و شبکه محمد صادق دوستی جایگزینی یا تکمیل؟ رمزنگاری کلید عمومی مکمل رمزنگاری متقارن تولید کلید نشست برای رمزنگاری متقارن اشتراک کلید نشست توسط رمزنگاری نامتقارن رمزگذاری و رمزگشایی پیامهای نشست توسط کلید نشست 12 / 57 امنیت داده و شبکه محمد صادق دوستی سوء برداشت! دو تصور اشتباه درباره الگوریتمهای کلید عمومی رمزنگاری با کلید عمومی امنتر است! مسئله توزیع کلید در رمزنگاری با کلید عمومی برطرف شده است! • چگونه مطمئن شویم کلید عمومی لزوماً متعلق به ش است؟! • توزیع کلید عمومی آسانتر است ،ولی بدیهی و بدون مشکل نیست. ادعا کننده 13 / 57 امنیت داده و شبکه محمد صادق دوستی فهرست مطالب • مبانی رمزنگاری کلید عمومی • مقایسه با رمزنگاری سنتی و متقارن • کاربردهای رمزنگاری کلید عمومی • الگوریتم رمز RSA • الگوریتم دیفی-هلمن • الگوریتم رمز الجمل ()ElGamal 14 / 57 امنیت داده و شبکه محمد صادق دوستی کاربردهای رمزنگاری کلید عمومی رمزگذاری /رمزگشایی :برای حفظ محرمانگی امضای رقمی :برای حفظ صحت پیام و معبین نمبودن فرسبتنده پیام (پیوند دادن پیام با امضا کننده) یا همان عدم انکار توزیع کلید :برای توافق طرفین روی کلید م فی نشست ،قبل از برقراری ارتباط 15 / 57 امنیت داده و شبکه محمد صادق دوستی جایگاه عملی رمزنگاری کلید عمومی کلیدهای این نوع از الگوریتمها ،بسیار طوالنیتبر از الگبوریتمهبای رمز متقارن هستند. الگوریتم RSAبا پیمانه 1024بیتی ،امنیتی در حد الگوریتمهای متقارن با کلیدهای 87بیتی دارد. سرعت الگوریتمهبای کلیبد عمبومی از الگبوریتمهبای رمزگبذاری متقارن پایینتر است. RSA تقریباً چندین هزار بار کندتر از رمزهای متقارن (با امنیبت یکسان) است. 16 / 57 امنیت داده و شبکه محمد صادق دوستی حمالت به رمزنگاری کلید عمومی جستجوی جامع )(Brute force محاسبه کلید صصوصی از کلید عمومی (یا :محاسببه پیبام از روی متن رمز +کلید عمومی) اثبات نشده که غیر ممکن است. بر مبنای ی 17 / 57 یا چند فرض (معقول) استوار است. امنیت داده و شبکه محمد صادق دوستی فهرست مطالب • مبانی رمزنگاری کلید عمومی • مقایسه با رمزنگاری سنتی و متقارن • کاربردهای رمزنگاری کلید عمومی • الگوریتم رمز RSA • الگوریتم دیفی-هلمن • الگوریتم رمز الجمل ()ElGamal 18 / 57 امنیت داده و شبکه محمد صادق دوستی کلیات الگوریتم رمزنگاری RSA ارائه توسط رایوست ( ،)Rشامیر ( )Sو ادلمن ( )Aدر سال 1978 مشهورترین و پرکاربردترین الگوریتم رمزگذاری کلیدعمومی مبتنی بر توان رسانی پیمانهای با پیمانه صیلی بزرگ امنیت مبتنی بر دشواری تجزیه اعداد بزرگ Leonard Adleman ) – (1945 19 / 57 Adi Shamir ) – (1952 امنیت داده و شبکه Ronald Linn Rivest ) – (1947 محمد صادق دوستی مبانی ریاضی 1 - : ℤ𝑛 مجموعه اعداد نامنفی کمتر از n. : ℤ∗𝑛 مجموعه اعداد طبیعی کمتر از nو اول نسبت به آن. مثال: 0,1, 2, 3, 4, 5, 6, 7, 8, 9,10,11 1, 5, 7,11 20 / 57 امنیت داده و شبکه 12 * 12 محمد صادق دوستی مبانی ریاضی 2 - تابع ) (nاویلر :تعداد اعضای 𝑛∗ℤ مثالφ 12 4 : اگر nعددی اول باشدφ n n 1 : اگر nحاصل ضرب دو عدد اول pو qباشد: φ n φ pq p 1 q 1 21 / 57 امنیت داده و شبکه محمد صادق دوستی مبانی ریاضی 3 - قضیه کوچ فرما (:)Fermat pعددی اول و aعددی صحیحی که مضرب pنیست: mod p a p 1 1 مثال: a7 p 11, 7111 282475249 25679568 11 1 mod 11 22 / 57 امنیت داده و شبکه 1 محمد صادق دوستی مبانی ریاضی 4 - قضیه اویلر (تعمیم قضیه فرما): اگر aو nاعداد طبیعی و نسبت به هم اول باشند: mod n 1 φ n a مثال: a7 n 12, mod 12 1 7φ12 74 2401 200 12 1 23 / 57 امنیت داده و شبکه محمد صادق دوستی نمادگذاری RSA :n پیمانه عمومی ()Public Modulus حاصل ضرب دو عدد اول pو qبسیار بزرگ :e نمای عمومی ()Public Exponent :d نمای صصوصی ()Private Exponent داریم mod φ(n) : d e 1 عدد صحیح kوجود دارد که: 𝑒𝑑 = 𝑘𝜑 𝑛 + 1 :m پیام ،عددی متعلق به 𝑛ℤ تابع :RSAتابع یکطرفه mod n c me تابع معکوس mod n : m cd 24 / 57 امنیت داده و شبکه محمد صادق دوستی RSA مثال از p 61, q 53 n pq 3233 φ(n) (61 1)(53 1) 3120 e 17 ed 1 d 2753 mod φ n m 65 c E m 6517 mod 3233 2790 c 2790 m D c 27902753 mod 3233 65 محمد صادق دوستی امنیت داده و شبکه 25 / 57 چرا RSAدرست کار میکند؟ اگر 𝑛∗ 𝑚 ∈ ℤباشد ،قضیه اویلر کار میکند: m mod n mod n d e mod n d c med mod n m kφ n 1 mod n m1 mod n m حالت کلی𝑚 ∈ ℤ𝑛 : استفاده از قضیه فرما (تمرین) 26 / 57 امنیت داده و شبکه محمد صادق دوستی روند تولید کلید در RSA ابتدا دو عدد اول بزرگ و تقریباً هم اندازه pو qرا به طور تصادفی انت اب کن به گونهای که .p ≠ q عدد nو ) φ(nرا محاسبه کن. عدد صحیح eکبوچکتر از ) φ(nرا ببه گونبهای انت باب کبن کبه نسبت به ) φ(nاول باشد. d را محاسبه کن (معکوس eبه پیمانه ).)φ(n PU = (e, n) 27 / 57 و )PR = (d, n امنیت داده و شبکه محمد صادق دوستی مربعسازی و ضرب ()Square & Multiply چگونگی توان رسانی سریع (محاسبه )abبا اسبتفاده از دو عمبل پایه: مربع کردن و ضرب در a مثال :کد به زبان پایتون 28 / 57 امنیت داده و شبکه محمد صادق دوستی توانرسانی پیمانهای سریع هدف :محاسبه سریع 𝑛 .𝑎𝑏 mod برصی از الگوریتمها: روش کالسی « :مربعسازی و ضرب» با modگرفتن در هر گام روش مونتگومری ()Montgomery روش بارِت ()Barrett https://en.wikipedia.org/wiki/Montgomery_reduction https://en.wikipedia.org/wiki/Barrett_reduction 29 / 57 امنیت داده و شبکه محمد صادق دوستی )Pentium III( سرعت سه الگوریتم توانرسانی پیمانهای M. Johnson, B. Phung, T. Shackelford, S. Rueangvivatanakij. Modular Reduction of Large Integers Using Classical, Barrett, Montgomery Algorithms, Tech. Report, 2002. محمد صادق دوستی امنیت داده و شبکه 30 / 57 انتخاب نمای عمومی ( )eدر RSA با توجه به الگوریتم توانرسانی سریع ،بهترین «نمبا» عبددی اسبت که کمترین 1را در نمایش بیتی صود داشته باشد( .چرا؟) در ،RSAعدد eحتماً مقداری فرد است (چرا؟) بنابراین در نمایش بیتی eحداقل دو بیت 1است (چرا؟) معموالً eرا برابر عدد kاُم فرما قرار میدهند (+ 1 اعداد صفرم تا دوم فرما ( )17 ،5 ،3کوچ 𝑘2 .)𝐹𝑘 = 2 هستند و به آنها حمله وارد است استفاده بسیار متداول از عدد چهارم فرما (.)65537 31 / 57 امنیت داده و شبکه محمد صادق دوستی )OpenSSL (توسط نرمافزارRSA تولید کلید > openssl genrsa -out rsa1024.pem 1024 Loading 'screen' into random state - done Generating RSA private key, 1024 bit long modulus ....++++++ ............................................++++++ e is 65537 (0x10001) محمد صادق دوستی امنیت داده و شبکه 32 / 57 )OpenSSL (توسط نرمافزارRSA خواندن کلید > openssl rsa -text -in rsa1024.pem Private-Key: (1024 bit) modulus: 00:bf:6b:7a:8b:2d:a4:19:33:1d:72:81:1d:26:4e: 73:cb:95:17:db:11:d1:d2:46:ad:6e:ac:6f:26:52: c8:fa:0a:07:a7:7f:86:fd:22:e8:0b:d1:b4:fc:32: 7f:33:6e:de:5f:c3:6a:11:2e:bb:ef:cf:83:e7:83: 0b:95:02:3b:72:15:03:18:38:24:e8:31:7d:b4:5c: a8:f5:2d:c6:84:e2:18:f8:a6:3b:65:96:eb:e4:07: 71:5e:3f:79:18:52:8d:a6:ec:10:d7:b0:61:fc:6f: 7d:90:c6:04:73:d9:f7:e6:1f:c9:61:c1:8e:48:76: 95:97:ac:b7:92:60:cc:ca:9f publicExponent: 65537 (0x10001) محمد صادق دوستی امنیت داده و شبکه ... صروجی ادامه دارد 33 / 57 نسبت اندازه اعداد در مثال قبلی p = 0xE670E1AF4273ED120BAEBE947D5015F264889145B4237DFEA173 F49348E542115B4A19E643C8BE65F950C7B0607696E0AEDFECD2 FC4FB79F97D04C230D55A61D (512 bits) q = 0xD4A6A2B20ABB7D00115D1D9CA4C32D1B36A6BCC06F74265B810B C66AA414F31E235FD4DC9FFA368EE43458779C73CD96D00F108E 668BC923EEE97ED3F38926EB (512 bits) e = 0x010001 (24 bits) 1024 bits d = 0x196333D989B01DF77D8C563B7B7D2436780BB5EE6319B46E0423 B28A2EA8A120FB6AE7AB0B9FB98EF7BD3D45A541390F1D3C59B0 F5B5CF5482760E175727F8A22A0AE88CB207BBCB35426E260237 401FE29EF5A7FA9CD4EC21053B55D2339C4984A560C7C96BBE1E 3163DA17A75E96FB313245E5CB5CA42DBC39BBCFCFA54CE1 1024 bits n = 0xBF6B7A8B2DA419331D72811D264E73CB9517DB11D1D246AD6EAC 6F2652C8FA0A07A77F86FD22E80BD1B4FC327F336EDE5FC36A11 2EBBEFCF83E7830B95023B721503183824E8317DB45CA8F52DC6 84E218F8A63B6596EBE407715E3F7918528DA6EC10D7B061FC6F 7D90C60473D9F7E61FC961C18E48769597ACB79260CCCA9F محمد صادق دوستی امنیت داده و شبکه 34 / 57 حمالت علیه RSA در صورتی که پارامترهای RSAبه درستی انت اب شوند... بهترین حمله علیه ،RSAتجزیه nاست. بهترین الگوریتم تجزیه برای عدد دلخواه GNFS ،نام دارد. Number Field Sieve General پیچیدگی تجزیه توسط GNFSبرای عدد :n 1 2 64 exp 3 o(1) (ln n) 3 (ln ln n) 3 9 35 / 57 امنیت داده و شبکه 𝑥 𝑒 = 𝑥 exp محمد صادق دوستی پیچیدگی تجزیه (امنیت) و سرعت ( RSAکد)PyCrypto : صرف نظر از مقدار ) o(1در فرمول :GNFS زمان هزار حدود زمان هزار زمان هزار حدود رمزنگاری پیچیدگی رمزگذاری رمزگشایی عدد n (ثانیه) تجزیه (ثانیه) Blowfish-160 287 21024 0/07 2117 22048 2156 24096 3 0/002 0/25 12 0/004 0/85 76 0/006 به همین دلیل میگیوییم :الگبوریتم RSAببا پیمانبه 1024بیتبی، امنیتی در حد الگوریتمهای متقارن با کلیدهای 87بیتی دارد. 36 / 57 امنیت داده و شبکه محمد صادق دوستی حمالت کانال جانبی ()Side-Channel Attacks حمالتی با دسترسی به اطالعات جانبی (تبوان محاسبباتی /زمبان محاسبه) از CPUای که رمزنگاری روی آن انجام میشود. هنگام توان رسانی سبریع در ،RSAبیتهبایی از dکبه 1هسبتند زمان /توان بیشتری مصرف میکنند. راههای مقابله استفاده از توان رساندن با زمان ثابت محاسباتی اضافه کردن تأصیرهای تصادفی قرار دادن اعمال اضافی و گمراه کننده در بین محاسبات 37 / 57 امنیت داده و شبکه محمد صادق دوستی قطعی بودن RSA RSA سنتی (معروف به )Textbook RSAقطعی است. رمز پیام ،mهمواره ی cثابت است. ایراد :مهاجم تکرار شدن پیام را میفهمد. راهکار :استفاده از ی Paddingتصادفی برای پیامها استاندارد :PKCS #1 v2روش Paddingبه نام OAEP PKCS: Public-Key Cryptography Standards OAEP: Optimal Asymmetric Encryption Padding 38 / 57 امنیت داده و شبکه محمد صادق دوستی خاصیت همریختی Textbook RSA RSA سنتی ،همری ت ( )Homomorphicاست: mod n mod n m m1 m2 ) RSA m RSA( m1 ) RSA( m2 میصواهیم c = c1 c2را رمزگشایی کنیم. استفاده از حمله متن رمز منتخب: c1و c2را به رمزگشا میدهیم و m1و m2را میگیریم. متن آشکار معادل cبرابر است با .m1 m2 RSA با OAEPاین مشکل را ندارد. 39 / 57 امنیت داده و شبکه محمد صادق دوستی فهرست مطالب • مبانی رمزنگاری کلید عمومی • مقایسه با رمزنگاری سنتی و متقارن • کاربردهای رمزنگاری کلید عمومی • الگوریتم رمز RSA • الگوریتم دیفی-هلمن • الگوریتم رمز الجمل ()ElGamal 40 / 57 امنیت داده و شبکه محمد صادق دوستی مبانی ریاضی 1 - فرض کنید pعددی اول باشد. مجموعه توانهای م تلف عدد aبه پیمانبه pرا ببا <a>pنمبایش میدهیم. مثال.p = 7 : 1, 3, 2, 6, 4, 5 g را ی 3 مولد ( )Generatorبرای 𝑝∗ ℤمیصوانیم اگر: * p 41 / 57 7 2 7 1, 2, 4 p g امنیت داده و شبکه محمد صادق دوستی مبانی ریاضی 2 - قضیه ℤ∗𝑝 :1حتماً مولد دارد. قضیه :2مولد 𝑝∗ ℤالزاماً یکتا نیست. عدد اول pو مولد دل واه gاز 𝑝∗ ℤرا در نظر بگیرید. عدد را به تصادف از 𝑝 ℤانت اب کنید. مسئله لگاریتم گسسته ( :)DLپیدا کردن با داشتن مقادیر: mod p 42 / 57 α p, g , g امنیت داده و شبکه محمد صادق دوستی مبانی ریاضی 3 - اعداد ،و به تصادف از 𝑝 ℤانت اب میشوند. همه محاسبات به پیمانه pانجام میشود. مسئله دیفی-هلمن محاسباتی (:)CDH محاسبه 𝛽𝛼𝑔 با داشتنp, g , g α , g β : مسئله دیفی-هلمن تصمیمی (:)DDH تمیز دادن دو زو : αβ β α g, g , g , g g, g α , g β , g γ 43 / 57 امنیت داده و شبکه p, p, محمد صادق دوستی مبانی ریاضی 4 - مسأله DDHبه گونهای که بیان شد به سادگی قابل حل است. تمیز دادن دو زو با استفاده از مفهومی به نام «نماد لژاندر» الزم است مسأله DDHرا با فرضهای زیر اصالح کنیم: فرض کنیم ∗𝑝 𝑔 ∈ ℤبه گونهای باشد که 𝑞 = 𝑝 𝑔 . میتوان ثابت کرد که .𝑞|𝑝 − 1 فرض کنیم qاول بوده و همه محاسبات به پیمانه pانجام شود. اعداد ،و به تصادف از 𝑞 ℤانت اب میشوند. 44 / 57 امنیت داده و شبکه محمد صادق دوستی مبانی ریاضی 5 - فرض :برای pو qصیلی بزرگ ،مسائل CDH ،DLو DDHدشبوار هستند. پیچیدگی بهترین الگوریتمی که DLبه پیمانه pرا میشکند برابر 𝑝 است. مثال :برای امنیت معادل 128بیبت ( ،)2128انبدازه pبایبد 256بیبت باشد (.)2256 شکستن CDHسادهتر از DLاسبت (اگبر DLبشبکند CDH ،هبم میشکند). شکستن DDHساده تر از CDHاست (اگبر CDHبشبکندDDH ، هم میشکند). 45 / 57 امنیت داده و شبکه محمد صادق دوستی الگوریتم دیفی-هلمن توسط Diffieو Hellmanدر سال 1976ارائه شد. برای تبادل کلید مورد استفاده قرار میگیرد. کلید نشست باید غیر قابل تمایز از ی مقدار تصادفی باشد. امنیت روش مبتنی بر دشواری شکستن DDHاست. طرفین از قبل روی مقادیر q ،pو gتوافق میکنند. کلیه محاسبات به پیمانه p 46 / 57 امنیت داده و شبکه محمد صادق دوستی تبادل کلید دیفی-هلمن p, q, g B انت اب مقدار تصادفی از ℤq gα β g کلید نشست: αβ 47 / 57 A انت اب مقدار تصادفی از ℤq g امنیت داده و شبکه محمد صادق دوستی حمله مرد میانی با فرض دشواری ،DDHپروتکل دیفبی-هلمبن در براببر حمبالت منفعالنه ( )passiveامن است. اما این پروتکل در برابر حمالت فعال ( )activeامن نیست. حمله مرد میانی ()MITM مهاجم برای Aوانمود میکند که Bاست. مهاجم برای Bوانمود میکند که Aاست. 48 / 57 امنیت داده و شبکه محمد صادق دوستی حمله مرد میانی g ge B A E g βe K2 g Bگمان میکند کلید K2را با Aبه اشتراک گذاشته است. 49 / 57 ge αe A پیامهای به مقصد Bرا با K1رمز میکند. B پیامهای به مقصد Aرا با K2رمز میکند. E میتواند همه پیامها را ب واند ،و با کلید مناسب برای فرد منظور رمز نماید. امنیت داده و شبکه K1 g Aگمان میکند کلید K1را با B به اشتراک گذاشته است. محمد صادق دوستی رفع مشکل تبادل کلید دیفی-هلمن طرفین باید قبل از شروع پروتکل ،ی کلید طوالنی مدت ()LTK را به اشتراک گذاشته باشند. LTK: Long-Term Key LTKمیتواند متقارن یا نامتقارن باشد. در حالت نامتقارن ،طرفین کلید عمومی یکدیگر را دارند. از LTKبرای حفظ صحت gو gاستفاده میشود. )ADH( Authenticated Diffie–Hellman در صورت حفظ صحت ،مهاجم نمیتواند MITMرا اجرا کند. 50 / 57 امنیت داده و شبکه محمد صادق دوستی خاصیت محرمانگی پیشرو ()Forward Secrecy گاه به آن PFSهم گفته میشود (.)Perfect Forward Secrecy تعریف :در صورت لو رفتن LTKدر زمان ،Tکلیبدهای نشسبتی که قبل از زمان Tتبادل شدهاند امن بمانند. ADH دارای صاصیت PFSاست. از LTKفقط برای حفظ صحت و نه محرمانگی استفاده میشود. محرمانگی کلید نشست وابسته به LTKنیست. 51 / 57 امنیت داده و شبکه محمد صادق دوستی فهرست مطالب • مبانی رمزنگاری کلید عمومی • مقایسه با رمزنگاری سنتی و متقارن • کاربردهای رمزنگاری کلید عمومی • الگوریتم رمز RSA • الگوریتم دیفی-هلمن • الگوریتم رمز الجمل ()ElGamal 52 / 57 امنیت داده و شبکه محمد صادق دوستی رمز الجمل ()ElGamal اببداع توسبط الجمبل ،رمزنگبباری مصبری-آمریکبایی ،در سببال 1985 در ایران بیشتر با نام «الجمال» شناصته میشود. الجمل دانشجوی دکترای هلمن در دانشگاه استنفورد بود. امنیت رمز الجمل مبتنی بر دشواری DDH طاهر الجمل () – 1955 53 / 57 امنیت داده و شبکه محمد صادق دوستی تولید کلید الجمل انت اب عدد اول بزرگ p انت اب 𝑝∗ 𝑔 ∈ ℤبه گونهای که 𝑞 = 𝑝 𝑔 . qباید اول و بزرگ باشد. کلیه محاسبات به پیمانه .p انت اب عدد تصادفی از ℤqو محاسبه .h = g q ،p و gپارامترهای عمومی (همه مقادیر آنها را میدانند). کلید صصوصی و hکلید عمومی. 54 / 57 امنیت داده و شبکه محمد صادق دوستی رمزگذاری و رمزگشایی الجمل رمزگذاری عدد 𝑝 𝑔 ∈ 𝑚: انت اب عدد تصادفی rاز .ℤq مقدار رمز عبارت است از زو .c = (gr, mhr) : رمزگشایی از زو ( c = )c1, c2با استفاده از کلید صصوصی : α 55 / 57 c2 c1 m امنیت داده و شبکه محمد صادق دوستی خاصیت همریختی رمز الجمل رمز الجمل بر صالف ،Textbook RSAرمزی قطعی نیست. اگر پیامی چند بار رمبز شبود ،هبر ببار مبتن رمبز جدیبدی تولیبد میشود. با این حال ،رمز الجمل نیز همری ت است. mod p mod p m m1 m2 ) ElGamal m ElGamal(m1 ) ElGamal(m2 مشابه ،Textbook RSAرمز الجمل نیز در برابر حمله متن رمز انت ابی شکننده است. 56 / 57 امنیت داده و شبکه محمد صادق دوستی پایان صفحه درس: http://ce.sharif.edu/courses/94-95/2/ce442-1/ مراجعه حضوری جهت رفع اشکال :یکشنبهها 17الی 18 (طبقه پنجم دانشکده ،درب شیشهای جنب آسانسور) یا در زمانهای دیگر با قرار قبلی یا به وسیله رایانامهdousti@ce : 132 / 132 امنیت داده و شبکه محمد صادق دوستی
© Copyright 2026 Paperzz