پایان نامه

پایان نامه رمزنگاری اطلاعات

هدف سیستم رمز کننده، تغییر قیافه اطلاعات محرمانه به روشی است که برای یک شخص غیرمجاز نامفهوم باشد. دو تا از بیشترین استفاده ی آن به اینصورت است؛ برای ذخیره با امنیت داده ها در یک فایل کامپیوتری و یا برای انتقال آن از طریق یک کانال نا امن مثل اینترنت. در هر دو صورت این نکته را باید مورد توجه قرار داد که نمی خواهیم که شخص غیرمجاز بتواند به آن دسترسی داشته بلکه می خواهیم که بتواند آنرا بخواند ولی از آن چیزی متوجه نشود.

اطلاعات پنهان سازی شده اغلب توسط عمل تغییر شکل بدست می آید که به آن رمزگذاری (encryption) گفته می شود. متن ساده ای که رمز شده، متن رمز شده (chiphertext) یا پیغام پنهان (cryptogram) نامیده می شود و مجموعه قواعد استفاده شده برای رمزگذاری متن ساده را الگوریتم رمزگذاری (encryption Algorithm) می نامند. معمولاً عملکرد این الگوریتم وابسته به یک کلید رمز است (encryption key) که توسط یک پیغام به الگوریتم وارد می شود. گیرنده می تواند پیغام را توسط یک الگوریتم رمزگشایی که، وقتی با یک کلید رمزگشایی مناسب استفاده می شود، متن اصلی را از متن رمز شده تولید می کند، از پیغام پنهان بدست بیاورد.

به طور کلی مجموعه قواعدی که این الگوریتم های رمزنگاری را تشکیل می دهند خیلی پیچیده هستند و نیاز به طراحی دقیق دارند.

شکل زیر بیان تصویری است از استفاده از سیستم رمزکننده برای محافظت یک پیغام انتقالی.

 

به هر شخصی که پیغام را در جریان انتقال قطع کند، جداسازنده (interceptor) می گویند. بعضی کلمات کلیدی دیگری نیز در نظر گرفته شده و استفاده می شود مثل ؛ استراق سمع کننده (earesdropper)، دشمن (enemy)، رقیب (adversay) و یا آدم بد (bad guy). اگر هم جدا سازنده الگوریتم رمزگشایی را بداند، کلید رمز را نمی داند. این ندانستن که ارزوی دانستنش را دارد باعث می شود که نتواند متن اصلی را بدست آورد. رمزنگاری (cryptography) علم طراحی سیستمهای رمز کننده است. در حالی که کشف رمز (cryptanalysis) نامی است که برای فرآیند کشف اطلاعات متن اصلی به وسیله متن رمزشده، بدون داشتن کلیدی خاص اطلاق می‌شود.

Cryptology مجموعه ایست حاوی رمزنگاری و کشف رمز.

برای مثال فرض کنید که اشخاصی اطلاعات رمز شده ای را روی لپ تاپشان ذخیره می کنند. واضح است که آنها نیاز به روشهایی برای حفظ کلید رمزگشایی نزد خودشان دارند. اگر کلید روی تکه کاغذی یادداشت شود و روی لپ تاپ چسبانده شود واضح است که اگر لپ تاپ به سرقت برود، خودبخود کلید رمزگشایی هم به دست سارق افتاده است و او دیگر نیازی به استفاده از روشهای کشف رمز ندارد. این فقط یک نمایش ساده از این نکته است که؛ امنیت اطلاعات چیزی فراتر از استفاده از یک الگوریتم رمزکننده ی خوب است.

دقیقاً همانطور که بارها تاکید شده، حفاظت کلیدها برای سیستمهای امنیتی موضوعی حیاتی و مهم است.

بیشتری کاری که حمله کنندگان انجام می دهند تلاش برای تعیین و بدست آوردن کلید رمزگشایی است. اگر موفق شود، از آن پس دارای اطلاعاتی است که تا هنگام تغییر مجدد کلید رمز می تواند تمام پیغامها را رمزگشایی کند. با این حال امکان دارد مواردی وجود داشته باشد که هدف اصلی یک حمله کننده فقط خواندن یک پیغام خاص باشد. معهذا وقتی نویسندگان عنوان شکسته شده را به یک الگوریتم می دهند معمولاً به این معنی است که حمله کننده یک راه عملی برای تعیین کلید رمزگشایی پیدا کرده است.

یقیناً، یک حمله کننده فقط زمانی قادر به شکست یک الگوریتم است که اطلاعات کافی برای شناخت کلید صحیح یا تشخیص کلید نادرست را داشته باشد. اما رسیدن این اطلاعات اضافی به حمله کننده خودش امر بسیار مهمی است. برای مثال فرض کنید که حمله کننده می داند که متن اصلی به زبان انگلیسی است و رمزگشایی با یک کلید حدسی، متنی را به ما می دهد که بی معنی می‌باشد. در این حالت کلیدی که حدس زده شده اشتباه بوده است یک واقعیت مهم که باید از مقدمه ما تمیز داده شود این است که؛ برای بدست آوردن پیغام از روی متن رمز شده، لازم به داشتن کلید رمز نیست. این نظر ساده پایه ی مقاله ی Diffie-Hellman است. این مقاله تاثیر شدیدی روی رمزنگاری مدرن داشته است و منجر به این شد که یک بخشبندی طبیعی به 2 نوع از سیستمهای رمزکننده ایجاد شود؛ متقارن (Symmetric) و نا متقارن (Asymmetric).

سیستم رمز کننده ای را متقارن یا موسوم (Conventional) گویند که استنباط کلید رمزگشایی از کلید رمز کننده ساده باشد. در عمل در سیستمهای متقارن اغلب این دو کلید یکسان هستند. بنابراین اینگونه سیستمها اغلب سیستمهای تک کلید (One-key) یا کلید- مخفی (Secret-Key) نامیده می شوند. در واقع اگر فهمیدن کلید رمزگشایی از روی کلید رمزکننده غیرممکن باشد، در آنصورت سیستم نامتقارن یا کلید عمومی نامیده می شود. باید یک دلیل برای مجزا کردن این دو نوع وجود داشته باشد. برای پیشگیری از یک جدا سازنده که، الگوریتم را هم در اختیار دارد، از بدست آوردن متن اصلی از متن رمزشده ی جدا شده، لازم است که کلید رمزگشایی مخفی باشد. لزومی به مخفی بودن کلید رمز نیست و دانستن این کلید به کار حمله کننده نمی آید. در حقیقت این کلید می تواند عمومی باشد و معمولاً هم اینگونه است. یک نتیجه این است که برای دریافت کننده و ارسال کننده یک متن نیازی به اشتراک گذاری هر رمز مشترکی بین دو طرف وجود ندارد. در اصل نیازی نیست که دو طرف به هم اطمینان داشته باشند.

با وجود اینکه گفته های پاراگراف آخری واضح است، ولی نتایج آنها بسیار وسیع است. دیاگرام بالای ما تحت این قضیه است که فرستنده و دریافت کننده یک جفت از کلیدهای منطبق را دارند ولی در عمل رسیدن به این وضع بسیار سخت و مشکل است. برای مثال در یک سیستم متقارن ممکن است نیاز به توزیع تعدادی کلید مخفی قبل از اینکه پیغام مخفی بتواند رد و بدل شود، باشد. موضوع ایجاد محافظت کافی برای این کلیدها نباید دست کم گرفته شود. در یکی از مشکلترین جنبه های بدست آوردن یک سیستم امن است. اگر سیستم متقارن است، همانطور که قبلاً دیده شد، ممکن است نیاز به قابلیت پخش کلیدها و مخفی سازی آنها اجتناب شود، فقط کلید رمزکننده پخش می شود و نیازی به مخفی سازی آن نیست. با این وجود این مشکل یا مشکل دیگری جایگزین می شود که این مشکل عبارتست از: تضمین اعتبار هر طرف دارای کلید رمز کننده.

هنگام شرح تفاوت بیت سیستمهای متقارن و نامتقارن ما فرض کردیم که حمله کنده از الگوریتم اطلاع دارد. در حقیقت این موضوع همیشه صحیح نیست. با این وجود برای طراحی یک سیستم خوب بهتر است که این فرض را که، حمله کننده دارای دانش بالا و اطلاعات هوشمندانه ی عمومی است، منظور کرد. یک قاعده ی کلی معروف برای رمزنگاری وجود دارد که ادعا می کند، امنیت سیستم رمزنگاری نباید وابسته به مخفی سازی الگوریتم رمزنگاری باشد. امنیت باید تنها وابسته به مخفی سازی کلید رمزگشایی باشد.

یکی از اهداف مطالعه رمزنگاری این است که هرکس بخواهد بتواند تعیین کند که یک سیستم رمزکننده از لحاظ طراحی و پیاده سازی به اندازه کافی امنیت دارد یا نه. در رابطه با تعیین امنیت یک سیستم، ما 3 فرض زیر را که معروف به شرایط، بدترین حالت، است را می سازیم:

(WC1) : کاشف رمز اطلاعات کاملی در مورد سیستم رمزکننده دارد.

(WC2) : کاشف رمز مقدار قابل توجهی ازمتن رمز شده را بدست آورده.

(WC3) : کاشف رمز متن اصلی هم ارز با مقداری از متن اصلی رمز شده را می داند.

شرط WC1 به این دلالت می کند که باور داریم که نباید جزئیات یک سیستم رمز کننده را مخفی نگه داریم. با این وحود، این گفته به معنی عمومی بودن سیستم نیست. طبیعتاً، اگر حمله کننده سیستم بکار رفته را نشناسد کارش بسیار سخت تر می شود. در این صورت ممکن است اطلاعات به صورت نامعلومی پنهان شده باشد برای مثال، با یک سیستم الکترونیکی، الگوریتم رمز کننده ممکن است در سخت افزار و با بهره گرفتن از میکروچیپها مخفی شود. در حقیق ممکن است تمام الگوریتم داخل یک چیپ مخفی شده باشد. برای بدست آوردن الگوریتم، یک حمله کننده باید ابتدا بتواند چیپ را باز کند و اطلاعاتش را استخراج کند. این یک کار زمان بر حساس است. با این وجود این کار ممکن است انجام شود و ما نباید فرض کنیم که حمله کننده قابلیت انجام اینگونه کارها را ندارد. اما بازهم با صبر و مهارت امکان کشف شدن این هم وجود دارد. از نقطه نظر بعضی از طراحان و سازندگان، WC1 یک فرض اساسی و لازم قلمداد می شود.

باید روشن شود که فرض WC2 یک فرض معقولانه است. اگر امکان قطع وجود نداشته باشد پس دیگر نیازی هم به سیستم رمز کننده نیست. از این رو، اگر قطع تماس یا جداسازی امکان داشته باشد و قابل انجام باشد، احتمالاً طرفهای تماس وقتی که جداسازی انجام شود نمی توانند کاری انجام دهند. پس بهترین انتخاب این است که فرض شود تماس ها می توانند قطع شوند.

WC3 نیز شرطی واقعبینانه است. حمله کننده ممکن است با نظارت و مشاهده عبور و مرور و یا حدس زدنهای هوشمندانه این نوع اطلاعات را بدست بیاورد. یک مثال کلاسیک تاریخی از این نوع رد جنگ جهانی دوم اتفاق افتاده را بین می کنیم. وقتی کلمه آلمانی Leuchttone در متن اصلی پیغام، که توسط ماشین رمزکننده Enigma رمز شده بود دیده می شد نشان دهنده این بود که یک چراغ دریایی در معرض خطر حمله هوایی قرار دارد.

یک حمله که از وجود یک جفت متن اصلی معلوم و متن رمز شده منطبق با آن استفاده می کند، حمله «متن اصلی معلوم» نامیده می شود. اگر حمله کننده یک متن اصلی را انتخاب کرده است، مثل مثال حمله هوایی به چراغ دریایی که قبلاً شرح داده شد، به آن حمله یک حمله ی «متن اصلی منتخب» می گویند. در انتها یک حمله که فقط از متن رمز شده اطلاع دارد را حمله ی «فقط متن رمز شده» می نامند.

یک نتیجه ی پذیرش این شروط بدترین حالت این است که ما این فرض را داشته باشیم که تنها اطلاعاتی می تواند گیرنده اصلی را از جدا کننده تشخیص دهد کلید رمزگشایی است. این امنیت سیستم کاملاً وابسته به محرمانه بودن کلید رمزگشایی است. اینجا به اهمیت مدیریت کلید خوب و کامل پی می بریم.

در اینجا لازم است به این نکته توجه داشت که تعیین سطح امنیت یک سیستم رمز، یک علم ریاضی نیست. تمام ارزیابی های مبتنی بر ریاضیات نه تنها بسته به اطلاعات در دسترس حمله کننده است بلکه به امکانات در دسترس او نیز بستگی دارد. بهترین قاعده این است که همیشه بدترین حالت و پرخطر ترین فرض را در نظر بگیریم. همچنین تاکید زیادی روی این نکته وجود دارد که؛ سئوال اصلی این نیست که «آیا این سیستم یک سیستم کاملاً امن و مهم است و مشخص کننده این نکته است که بعضی واقعیتها نیاز به یک سیستم با امنیت سطح پایین و کم داریم. تقریباً برای تمام سیستمهای غیرنظامی تامین امنیت دارای هزینه زیادی است که از نظر تجاری باید دارای توجیه اقتصادی باشد. به علاوه این که بایان که گران و پر هزینه است، کارآیی کل سیستم را نیز کاهش می دهد. بدینسان یک نیاز طبیعی برای اینکه امنیت سیستم در حد کمینه و بهینه نگه داشتن شود، وجود دارد. یک راه عمومی برای تعیین سطح امنیت لازم این است که مدت زمانی که اطلاعات باید محافظت شوند تخمین زده شود. اگر ما به این زمان «زمان پوشش» لازم برای سیستم بگوییم، یک نشانه ی خام برای سطح امنیت لازم را بدست آورده ایم. برای مثال یک شبکه فنی با زمان پوشش در حد چند دقیقه بسیار آسیب پذیرتر است از یک سیستم استراتژیک مانند اطلاعات محرمانه دولتی یا پزشکی که زمان پوششی در حد صدها برابر آن دارد.

اگر ما فرض کنیم که الگوریتم رمزگشایی ما معلوم باشد، یعنی در اختیار همه باشد، لذا یک روش واضح برای حمله در اختیار هر دشمنی قرار دارد. آنها می توانند هر کلید رمزگشایی را امتحان کنند و امید داشته باشند که بالاخره کلید صحیح را بدست می آوردند. این چنین حملات را حملات«جستجوی جامع کلید» یا حمله «Brute Force» می نامند. یقیقناً یک حمله می تواند موفق شود مگر اینکه حمله کننده بعضی راه های تشخیص کلید صحیح را داشته باشد و یا اینکه قادر به رفع تمام کلیدهای نادرست باشد. برای مثال، در حمله ی متن اصلی معلوم، واضح است که هر انتخاب کلید رمزگشایی که منجر به متن اصلی صحیح متناظرش نشود نمی تواند کلید رمزگشایی صحیح باشد.

حال ما در موقعیتی قرار داریم که می توانیم یک سری معیارهای بسیار پایه ای برای تشخیص اینکه چه نوع سیستم رمزی باید به هر برنامه کاربردی خاص اختصاص بیابد را ارائه کنیم. کاربران سیستم یک زمان پوشش را معین می کنند. طراحان باید تعداد کلیدهای رمزگشایی را بدانند. حال اگر طراحان حدسهایی برای سرعت امتحان یک کلید برای پیدا کردن کلید را تخمین بزند. بنابراین اولین نیاز خام ما این است: زمان تخمینی مورد نیاز برای یک جستجوی جامع کلید باید بیشتر از زمان پوشش باشد.

هنگام تمایز بین الگوریتمهای متقارن و نامتقارن در اصل ما در مورد نیاز به اعتماد بین فرستنده و گیرنده صحبت می کنیم. برای قرنها، قبل از انتشار مقاله مشهور Diffie – Hellman فکر می شد که پیغامهای رمز شده تنها می توانست بین قسمتهای دو طرفه مورد اعتماد رد و بدل شود. ما ابتدا این موضوع را مطرح کردیم که فرستادن پیغام به بعضی که غیرقابل اعتماد هستند، غیرممکن است. الگوریتمهای کلید عمومی در دروس بعد بحث می شود. در اینجا ما یک مثال خوش فهم را مطرح می کنیم که در آن می گوییم چگونه ممکن است یک بسته تحویلی را به سلامت برای گیرنده ی موردنظر فرستاد البته با در نظر گرفتن این نکته که ممکن است بسته به دست هر دشمنی بیافتد.

برای مثال ما فرض می کنیم که فرستنده یک بسته تحویلی دارد که می خواهد آنرا در داخل یک کیف به وسیله یک قفل Lock کند و برای کسی بفرستد که او به کلید رمزش اعتماد ندارد. در عوض فرستنده، گیرنده موردنظرش را برای خرید یک قفل و کلید، راهنمایی می کند. ما فرض می‌کنیم که کسی دیگر نمی تواند این کلید ها را پیدا کند یا اینکه بتواند قفل را به زور از کیف جدا کند. حال گیرنده و فرستنده اقدامات زیر را انجام می دهند تا از تحویل بسته مطمئن شوند.

گام 1: فرستنده بسته را در کیف قرار داده، در کیف را با قفل lock کرده و کلید را از روی قفل برداشته. سپس کیف lock شده به سمت گیرنده فرستاده می شود.

نکته: در زمانی که کیف در مسیر از گیرنده به فرستنده است، خطری از جانب دشمنان تهدیدش نمی کند زیرا آنها نمی توانند قفل را از کیف جدا کنند. همچنین دریافت کننده نمی تواند بسته را بدست آورد.

گام 2: دریافت کننده کیف را با قفل خودش و کلید مربوطه lock می کند و کلید را از قفل خارج کرده و سپس کیف را به سمت فرستنده می فرستد.

نکته : حالا کیف توسط دو قفل lock شده و هیچ کدام هم نمی توانند بسته را بدست بیاورند.

گام3: فرستنده توسط کلیدش، قفل مربوطه را از کیف جدا می کند و مجدداً آنرا به سمت گیرنده می فرستد.

نکته: تنها قفل باقی مانده در روی کیف به دریافت کننده است.

گام 4: گیرنده قفل اش را از روی کیف باز می کند و بسته را بدست می آورد.

در نتیجه این توالی رخدادها، بسته به دریافت کننده تحویل داده می شود. با این نکته که نه فرستنده و نه گیرنده نیاز بود که کلیدهایشان را در اختیار دیگری قرار دهند آنها نیازی ندارند که به هم اعتماد کنند. این فرضیات ما در مورد کلیدها و قدرتمندی قفل ها بشدت غیرواقعی هستند. از این رو در هنگام شرح رمزنگاری کلید عمومی این فرضیات تبدیل به معادلات هستند. از این رو در هنگام شرح رمزنگاری کلید عمومی این فرضیات تبدیل به معادلات ریاضی می شضوند که بیشتر قابل قبول هستند. نکته ای که ما بیان کردیم، دست کم در عالم فرض، این است که ارتباطات امن بدون اعتماد دو طرفه نیز قابل انجام است. در مثال فرستنده راهی نداشت تا بفهمد که قفل ری کیف از آن کیست. ممکن است دشمنی با جعل گیرنده و قراردادن قفلی روی آن بتواند به هدفش برسد. این خود مشکل بزرگی در اینگونه ارتباط است. قفل مال کی است؟ این سئوال در این مثال شبیه به این سئوال است که کلید عمومی مال کیست؟ و این سئوالی است که در سیستمهایی که از کلید عمومی استفاده می کنند بسیار مهم است.

تا حال ما بیشتر روی تئوری کار کردیم. حال مثالهای ساده ی تاریخی را در درس بعد بررسی می‌کنیم تا مطمئن شویم که تعاریف تئوری ما بدیهی و قابل فهم بوده اند. در انتهای یک نگاه کلی تر به الگوریتمها و سیستمهای متقارن و نامتقارن می اندازیم.

سیستمهای کلید متقارن

یک الگوریتم متقارن از یک کلید برای رمزنگاری و رمزگشایی استفاده می کند. بیشترین شکل استفاده از رمزنگاری که در کارتهای هوشمند و البته در بیشتر سیستمهای امنیت اطلاعات وجود دارد. Data encryption algorithm یا DEA است که بیشتر به عنوان DES شناخته می‌شود. DES یک محصول دولت ایالات متحده است که امروزه به طور وسیعی به عنوان یک استاندارد بین المللی شناخته می شود. بلوکهای 64 بیتی دیتا توسط یک کلید تنها که معمولاً 56 بیت طول دارد، رمزنگاری و رمزگشایی می شوند. DES از نظر محاسباتی ساده است و براحتی می تواند توسط پردازنده های کند (بخصوص آنهایی که در کارتهای هوشمند وجود دارند) انجام می گیرد.

این روش بستگی به مخفی بودن کلید دارد. بنابراین برای استفاده در دو موقعیت مناسب است که هنگامی که کلیدها می توانند به یک روش قابل اعتماد و امن توزیع و ذخیره شوند یا جایی که کلید بین دو سیستم مبادله می شوند که قبلاً هویت یکدیگر را تایید کرده اند عمر کلیدها بیشتر از مدت تراکنش طول نمی کشد. رمزنگاری DES عموما برای حفاظت دیتا از شنود در طول انتقال استفاده می شود.

کلیدهای DES 40 بیتی امروزه در عرض چندین ساعت توسط کامپیوترهای معمولی شکسته می شوند و بنابراین نباید برای محافظت اطلاعات مهم و با مدت طولانی اعتبار استفاده شود. کلید 56 بیتی عموماً توسط سخت افزار یا شبکه های بخصوصی شکسته می شوند. رمزنگاری DES سه تایی عبارتست از کدکردن دیتای اصلی با بهره گرفتن از الگوریتم DES که در سه مرتبه انجام می گیرد. (دو مرتبه با بهره گرفتن از یک کلید به سمت جلو (رمزنگاری) و یک مرتبه به سمت عقب (رمزگشایی) با یک کلید دیگر) مطابق شکل زیر:

این عمل تاثیر دو برابر کردن طول موثر کلید را دارد؛ بعداً خواهیم دید که این یک عامل مهم در قدرت رمزکنندگی است.

الگوریتمهای استاندارد جدیدتر مختلفی پیشنهاد شده اند. الگوریتمهای مانند Blowfish و IDEA برای زمانی مورد استفاده قرار گرفته اند اما هیچکدام پیاده سازی سخت افزاری نشدندبنابراین به عنوان رقیبی برای استفاده در کاربردهای میکروکنترلی مطرح نبوده اند. پروژه استاندارد رمزنگاری پیشرفته دولتی ایالات متحده (AES) الگوریتم Rijndeal را برای جایگزینی DES به عنوان الگوریتم رمزنگاری اولیه انتخاب کرده است. الگوریتم Twofish مشخصاً برای پیاده سازی در پردازنده های توان پایین مثلاً در کارتهای هوشمند طراحی شد.

در 1998 وزارت دفاع ایالات متحده تصمیم گرفت که الگوریتمهای Skipjack و مبادله کلید را که در کارتهای Fortezza استفاده شده بود، از محرمانگی خارج سازد. یکی از دلایل این امر تشویق برای پیاده سازی بیشتر کارتهای هوشمند بر پایه این الگوریتمها بود.

برای رمزنگاری جریانی (Streaming encryption) (که رمزنگاری دیتا در حین ارسال صورت می گیرد، بجای اینکه دیتای کدشده رد یک فایل مجزا قرار گیرد) الگوریتم RC4 سرعت بالا و دامنه ای از طول کلیدها از 40 تا 256 بیت فراهم می کند. RC4 که متعلق به امنیت دیتای RSA است، به صورت عادی برای رمزنگاری ارتباطات دو طرفه امن در اینترنت استفاده می شود.

 

سیستمهای کلید نامتقارن

سیستمهای کلید نامتقارن از کلید مختلفی برای رمزنگاری و رمزگشایی استفاده می کنند. بسیاری از سیستمها اجازه می دهد که یک جزء (کلید عمومی یا Public key) منتشر شود در حالی که دیگری (کلید اختصاصی یا Private key) توسط صاحبش حفظ شود. فرستنده پیام، متن را با کلید عمومی گیرنده کد می کند و گیرنده آن را با کلید اختصاصی خودش رمزنگاری می کند. به عبارتی تنها با کلید اختصاصی گیرنده می توان متن کد شده را به متن اولیه صحیح تبدیل کرد. یعنی حتی فرستند نیز اگرچه از محتوای اصلی پیام مطلع است اما نمی تواند از متن کد شده به متن اصلی دست یابد، بنابراین پیام کشنده برای هر گیرنده ای بجز گیرنده مورد نظر فرستنده بی معنی خواهد بود. معمولترین سیستم نامتقارن به عنوان RSA شناخته می شود (حروف اول پدید آورندگان آن یعنی Rivest، Shamir و Adlemen است). اگرچه چندین طرح دیگر وجود دارند. می توان از یک سیستم نامتقارن برا نشان دادن اینکه فرستنده پیام همان شخصی است که ادعا می کند استفاده کرد که این عمل اصطلاحاً امضاء نام دارد. RSA شامل دو تبدیل است که هرکدام احتیاج به بتوان‌رسانی ماجولار با توانهای خیلی طولانی دارد:

  • امضاء متن اصلی را با بهره گرفتن از کلید اختصاصی رمز می کند؛
  • رمزگشایی عملیات مشابه ای روی متن رمزشده اما با بهره گرفتن از کلید عمومی است. برای تایید امضاء بررسی می کنیم که آیا این نتیجه با دیتای اولیه یکسان است؛ اگر اینگونه است، امضاء توسط کلید اختصاصی متناظر رمز شده است.

به بیان ساده تر چنانچه متنی از شخصی برا دیگران منتشر شود، این متن شامل اصلی و همان متن اما رمز شده توسط کلید اختصاصی همان شخص است. حال اگر متن رمز شده توسط کلید عمومی آن شخص که شما از آن مطلعید رمزگشایی شود، مطابقت متن حاصل و متن اصلی نشان دهنده صحت فرد فرستنده آن است، به این ترتیب امضای فرد تصدیق می شود. افرادی که از کلید اختصاصی این فرد اطلاع ندارند قادر به ایجاد متن رمز شده نیستند به طوری که با رمزگشایی توسط کلید عمومی این فرد به متن اولیه تبدیل شود.

مبلغ 14700 تومان

166 صفحه