رمزنگاری: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Saboor63 (بحث | مشارکت‌ها)
FreshmanBot (بحث | مشارکت‌ها)
جز اصلاح فاصله مجازی + اصلاح نویسه با استفاده از AWB
خط ۲:
'''رمزنگاری'''<ref>{{یادکرد فرهنگستان | مصوب=رمزنگاری | بیگانه=cryptography | بیگانه در فارسی= | حوزه=رایانه و فناوری اطلاعات | دفتر=دوم | بخش=فارسی | سرواژه=رمزنگاری}}</ref> دانشی است که به بررسی و شناختِ اصول و روش‌های انتقال یا ذخیرهٔ اطلاعات به صورت امن (حتی اگر مسیر [[انتقال اطلاعات]] و کانال‌های ارتباطی یا محل ذخیره اطلاعات ناامن باشند) می‌پردازد.
 
رمزنگاری استفاده از تکنیکهایتکنیک‌های ریاضی، برای برقراری [[امنیت اطلاعات]] است. دراصل رمزنگاری دانش تغییر دادن متن پیام یا اطلاعات به کمک [[کلید رمز]] و با استفاده از یک [[الگوریتم رمز]] است، به صورتی که تنها شخصی که از کلید و الگوریتم مطلع است قادر به استخراج اطلاعات اصلی از اطلاعات رمز شده باشد و شخصی که از یکی یا هر دوی آن‌ها اطلاع ندارد، نتواند به اطلاعات دسترسی پیدا کند.
دانش رمزنگاری بر پایه مقدمات بسیاری از قبیل [[تئوری اطلاعات]]، [[نظریه اعداد]] و [[آمار]] بنا شده‌است و امروزه به طوربه‌طور خاص در علم [[مخابرات]] مورد بررسی و استفاده قرار می‌گیرد.
معادل رمزنگاری در [[زبان انگلیسی]] کلمه Cryptography است، که برگرفته از لغات یونانی kryptos به مفهوم «محرمانه» و graphien به معنای «نوشتن» است.
 
خط ۱۸:
* سیستم رمزنگاری اگر نه به لحاظ تئوری که در عمل غیرقابل شکست باشد.
* سیستم رمز نگاری باید هیچ نکته پنهان و محرمانه‌ای نداشته باشد. بلکه تنها چیزی که سری است کلید رمز است.
* کلید رمز باید به گونه‌ای قابل انتخاب باشد که اولاً بتوان براحتی آن را عوض کرد و ثانیاً بتوان آنراآن را به خاطر سپرد و نیازی به یاداشت کردن کلید رمز نباشد.
* متون رمز نگاری باید از طریق خطوط تلگراف قابل مخابره باشند.
* دستگاه رمز نگاری یا اسناد رمز شده باید توسط یکنفر قابل [[حمل و نقل]] باشد.
خط ۲۴:
 
در توضیح قانون دوم کرشهف باید عنوان کرد که به چند دلیل عمده کلید رمز باید تنها اطلاعات محرمانه در یک سیستم رمزنگاری باشد:
۱- محرمانه نگه داشتن یک رشته بیت ۵۱۲ تایی (به طوربه‌طور معمول) بسیار ساده‌تر و عملی تر از محرمانه نگه داشتن یک الگوریتم یا روش پیاده‌سازی است.
۲- اگر کلید رمز افشا شود تنها با اتخاذ یک کلید جدید می‌توان مجدداً به یک سیستم رمزنگاری جدید و امن دست پیدا کرد در صورتیکهصورتی‌که اگر امنیت سیستم رمزنگاری وابسته به الگوریتم و روش پیاده‌سازی باشد با افشای این اطلاعات بازتولید یک سیستم رمزنگاری جدید و امن بسیار دشوار خواهد بود.
۳- وقتی که کلید رمز تنها اطلاعات محرمانه یک سیستم رمزنگاری باشد می‌توان از یک سیستم مشترک (با کلیدهای متفاوت) برای ارتباط با گیرنده/فرستنده‌های مختلف استفاده کرد در صورتی که اگر غیر از این می‌بود برای ارتباط با هر فرستنده/گیرنده به یک الگورتیم و روش پیاده‌سازی جدید نیاز می‌بود.
۴- وقتی که الگوریتم و روش پیاده‌سازی برای همگان قابل دسترسی باشد مشکلات و حفره‌های امنیتی الگورتیم پیش از آنکه توسط یک حمله گر مورد سوء استفاده قرار بگیرد توسط محققان امنیتی مورد بررسی قرار گرفته و رفع می‌شود و بنابراین سیستم‌های رمزنگاری ای که بر اساس الگوریتم‌های روشن و قابل دسترسی عمل می‌کنند معمولاً قابل اعتمادتر هستند.<ref>Introduction to Modern Cryptography: Principles and Protocols, Jonathan Katz and Yehuda Lindell</ref>
خط ۵۱:
 
=== سرویس رمزنگاری ===
به طوربه‌طور کلی، سرویس رمزنگاری، به قابلیت و امکانی اطلاق می‌شود که بر اساس فنون رمزنگاری حاصل می‌گردد. قبل از ورود رایانه‌ها به حوزهٔ رمزنگاری، تقریباً کاربرد رمزنگاری محدود به رمز کردن پیام و پنهان کردن مفاد آن می‌شده‌است. اما در رمزنگاری پیشرفته سرویس‌های مختلفی از جمله موارد زیر ارائه گردیده‌است:
* حفظ [[محرمانگی]] یا [[امنیت محتوا]]{{نشان|m1}}: ارسال یا ذخیره اطلاعات به نحوی که تنها افراد مجاز بتوانند از محتوای آن مطلع شوند، که همان سرویس اصلی و اولیهٔ پنهان کردن مفاد پیام است.
* حفظ [[صحت داده‌ها]] یا [[سلامت محتوا]] {{نشان|m2}}
خط ۶۵:
 
=== پروتکل رمزنگاری ===
به طوربه‌طور کلی، یک پروتکل رمزنگاری، مجموعه‌ای از قواعد و روابط ریاضی است که چگونگی ترکیب کردن الگوریتم‌های رمزنگاری و استفاده از آن‌ها به منظور ارائهٔ یک سرویس رمزنگاری خاص در یک کاربرد خاص را فراهم می‌سازد.
 
معمولاً یک [[پروتکل رمزنگاری]] مشخص می‌کند که
خط ۷۸:
 
=== الگوریتم رمزنگاری ===
الگوریتم رمزنگاری، به هر الگوریتم یا تابع ریاضی گفته می‌شود که به علت دارا بودن خواص مورد نیاز در رمزنگاری، در [[پروتکل‌های رمزنگاری]] مورد استفاده قرار گیرد. اصطلاح الگوریتم رمزنگاری یک مفهوم جامع است و لازم نیست هر الگوریتم از این دسته، به طوربه‌طور مستقیم برای رمزگذاری اطلاعات مورد استفاده قرار گیرد، بلکه صرفاً وجود کاربرد مربوط به رمزنگاری مد نظر است.
 
در گذشته سازمان‌ها و شرکت‌هایی که نیاز به رمزگذاری یا سرویس‌های دیگر رمزنگاری داشتند، الگوریتم رمزنگاری منحصربه‌فردی را طراحی می‌نمودند. به مرور زمان مشخص گردید که گاهی ضعف‌های امنیتی بزرگی در این الگوریتم‌ها وجود دارد که موجب سهولت شکسته شدن رمز می‌شود.
خط ۱۱۶:
=== مقایسه رمزنگاری کلید متقارن و کلید نامتقارن ===
اصولاً رمزنگاری کلید متقارن و کلید نامتقارن دارای دو ماهیت متفاوت هستند و کاربردهای متفاوتی نیز دارند. بنا بر این مقایسهٔ این دو نوع رمزنگاری بدون توجه به کاربرد و سیستم مورد نظر کار دقیقی نخواهد بود.
اما اگر معیار مقایسه، به طوربه‌طور خاص، حجم و زمان محاسبات مورد نیاز باشد، باید گفت که با در نظر گرفتن مقیاس امنیتی معادل، الگوریتم‌های [[رمزنگاری متقارن]] خیلی سریع‌تر از الگوریتم‌های رمزنگاری نامتقارن می‌باشند.
 
=== تجزیه و تحلیل رمز ===
خط ۱۳۱:
 
== افزونگی ==
اولین اصل آن است که تمام پیامهای رمز شده باید شامل مقداری «افزونگی»[داده‌های زائد]باشندبه عبارت دیگر لزومی ندارد که اطلاعات واقعی به همان گونه که هستند رمز و ارسال شوند. یک مثال می‌تواند به فهم دلیل این نیاز کمک کند. فرض کنید یک شرکت به نام TCP با۶۰۰۰۰کالا از طریق سیستم [[پست الکترونیکی]] سفارش خرید می‌پذیرد. برنامه نویسان شرکت TCP به خیال آن که برنامه‌های مؤثر و کار آمدی می‌نویسند پیامهای سفارش کالا را مشتمل بر ۱۶بایت نام مشتری و به دنبال آن سه بایت فیلد داده (شامل یک بایت برای تعداد کالا ودو بایت برای شمارهٔ کالا) در نظر می‌گیرد که سه بایت آخر توسط یک کلید بسیار طولانی رمزنگاری می‌شود واینو این کلید را فقط مشتری و شرکت TCP می‌داند.
 
== تازگی پیامها ==
خط ۱۳۷:
 
== راهکاری برای ایجاد تازگی پیام ==
یک چنین محاسبه‌ای را می‌توان با قرار دادن یک مهر زمان در پیام‌ها پیش بینیپیش‌بینی کرد به نحوی که پیام‌ها مثلاً برای ده ثانیه معتبر باشد گیرندهٔ پیام می‌تواند آن را برای حدود ده ثانیه نگه دارد تا بتواند پیام‌های جدید را با آن مقایسه کرده و نسخه‌های تکراری را که دارای مهر زمان هستند به عنوان پیام‌های قدیمی شناخته و حذف خواهند شد.
 
== رمزنگاری به صورت سخت‌افزاری ==
الگوریتم‌های رمزنگاری رامی توان هم به صورت سخت‌افزاری (به منظور سرعت بالاتر) وهم به صورت نرم‌افزاری (برای [[انعطاف‌پذیری]] بیشتر) پیاده‌سازی کرد روشهایروش‌های جانشینی و جایگشتی می‌توانند با یک مدار سادهٔ الکترونیکی پیاده‌سازی شوند.
p-box ابزاری است که برای جایگشت بیتهای یک ورودی هشت بیتی کاربرد دارد. بود با سیم بندی و [[برنامه‌ریزی]] درونی این p-box قادراست هر گونه جایگشت بیتی را بطور حقیقتً با سرعتی نزدیک به [[سرعت نور]] انجام بدهد چرا که هیچ گونه محاسبه‌ای لازم نیست و فقط تأخیر انتشار سیگنال وجود دارد. این طراحی از اصل کرشهف تبعیت می‌کند یعنی:حمله کنندهحمله‌کننده از روش عمومی جایگشت بیت‌ها مطلّع است آنچه که او از آن خبر ندارد آن است که کدام بیت به کدام بیت نگاشته می‌شود کلید رمز همین است.
 
== برخی اصطلاحات ==
خط ۱۴۷:
 
== نهان‌نگاری ==
در علم رمزنگاری، به عمل پنهان‌سازی فایل، پیام، عکس یا ویدئو درون فایل، پیام، عکس یا ویدئویی دیگر نهان‌نگاری یا Steganography گفته می‌شود. مزیت نهان‌نگاری نسبت به رمزنگاری این است که نهان‌نگاری بر خلاف رمزنگاری جلب توجه نمی‌کند. پیام‌های رمزنگاری شده که آشکار هستند جلب توجه کرده و هر چقدر هم رمزگشایی‌ناپذیر باشند علاقه برمی‌انگیزند؛ بنابراین، در حالی که تمرکز رمزنگاری یا Cryptography تنها روی محافظت از پیام است، نهان‌نگاری یا Steganography روی پنهان کردن وجود پیام رمزنگاری شده استشده‌است.
نهان‌نگاری شامل پنهان کردن اطلاعات درون فایل‌های کامپیوتری است. در نهان‌نگاری دیجیتال، ارتباطات الکترونیکی ممکن است شامل رمزگذاری نهان‌نگارانه درون یک [[لایه انتقال|لایهٔ انتقال]] مانند فایل سند، عکس، ویدئو، برنامه یا [[پروتکل رمزنگاری|پروتکل]] باشد. فایل‌های رسانه‌ای به علت داشتن حجم بالا برای انتقال نهان‌نگارانه گزینه‌ای ایده‌آل هستند.
 
خط ۱۶۳:
 
== Intruder ==
در لغت به معنای مزاحم یا مخل است و در رمزنگاری به معنای کسی است که یک کپی از پیام رمزنگاری شده دارد و قصد رمزگشایی آن را دارد. منظور از شکستن رمز Decrypt کردن آن متن که خود دو نوع است. active intruder که می‌تواند اطلاعات را روی خط عوض کند و تغییر دهد و passive intruder که فقط می‌تواند اطلاعات روی خط را داشته باشد و قابلیت تغییر آنهاآن‌ها را ندارد.
 
== Protocol ==
خط ۱۷۲:
 
== Internal Access Point ==
به سیستم‌هایی گویند که در اتاق یا در شبکه داخلی مستقرند و هیچ امنیتی (LocalSecurity) روی آنهاآن‌ها تنظیم نشده باشد و احتمال حمله به آنهاآن‌ها وجود دارد.
 
== External Access Point ==
تجهیزاتی که ما را به شبکه خارجی مانند اینترنت متصل می‌کنند یا Applicationهایی که از طریق اینترنت کار می‌کنند و احتمال حمله به آنهاآن‌ها وجود دارد.
 
== Attack ==