رمزنگاری
رمزنگاری[1] (به انگلیسی: Cryptography) دانشی است که به بررسی و شناختِ اصول و روشهای انتقال یا ذخیرهٔ اطلاعات به صورت امن (حتی اگر مسیر انتقال اطلاعات و کانالهای ارتباطی یا محل ذخیره اطلاعات ناامن باشند) میپردازد.
رمزنگاری استفاده از روشهای ریاضی، برای برقراری امنیت اطلاعات است. دراصل، رمزنگاری دانش تغییر دادن متن پیام یا اطلاعات به کمک کلید رمز و با استفاده از یک الگوریتم رمز است. به صورتی که تنها شخصی که از کلید و الگوریتم آگاه است میتواند اطلاعات اصلی از اطلاعات رمزگذاری، استخراج کند و شخصی که از یکی یا هر دوی آنها اطلاع ندارد نمیتواند به اطلاعات دسترسی پیدا کند. دانش رمزنگاری بر پایه اصولی مانند نظریه اطلاعات، نظریه اعداد و آمار بنا شدهاست و امروزه بهطور خاص در علم مخابرات مورد بررسی و استفاده قرار میگیرد. برابر رمزنگاری در زبان انگلیسی واژه Cryptography است، که برگرفته از دو واژه زبان یونانی Kryptos به مفهوم «محرمانه» و Graphien به معنای «نوشتن» است.
رمزنگاری، پنهاننگاری، کدگذاری
در رمزنگاری، وجود اطلاعات یا فرستادن پیام به هیچ وجه مخفی نیست، بلکه ذخیره اطلاعات یا فرستاده پیام مشخص است، اما تنها افراد مورد نظر میتوانند اطلاعات اصلی را بازیابی کنند. بالعکس در پنهاننگاری، اصل وجود اطلاعات یا فرستاده پیام محرمانه، مخفی نگاه داشته میشود و غیر از طرف فرستنده و طرف دریافتکننده کسی از فرستاده پیام آگاه نمیشود.
در رمزنگاری محتویات یک متن به صورت حرف به حرف و در بعضی موارد بیت به بیت تغییر داده میشود و هدف تغییر محتوای متن است نه تغییر ساختار زبانشناختی آن. در مقابل، کدگذاری تبدیلی است که واژهای را با یک واژه یا نماد دیگر جایگزین میکند و ساختار زبانشناختی متن را تغییر میدهد.
ریشهٔ واژهٔ Cryptography برگرفته از یونانی به معنای «محرمانه نوشتن متون» است. رمزنگاری پیشینهٔ طولانی و درخشان دارد که به هزاران سال پیش برمیگردد. کارشناسان رمزنگاری بین رمز و کد تمایز قائل میشوند. رمز عبارت است از تبدیل کاراکتر به کاراکتر یا بیت به بیت بدون آن که به محتویات زبان شناختی آن پیام توجه شود. در طرف مقابل، کد تبدیلی است که واژهای را با یک واژه یا علامت دیگر جایگزین میکند. امروزه از کدها استفادهٔ چندانی نمیشود اگر چه استفاده از آن پیشینهٔ طولانی و پرسابقهای دارد. موفقترین کدهایی که تاکنون نوشته شده ابداع شدهاند توسط ارتش ایالات متحده و در خلال جنگ جهانی دوم در اقیانوس آرام بکار گرفته شد.
اصول ششگانه کرشُهف
آگوست کرشهف شهرت خود را از پژوهشهای زبانشناسی و کتابهایی که در این خصوص و زبان ولاپوک نوشته بود بدست آورد. او در سال ۱۸۸۳ دو مقاله با عنوان «رمزنگاری نظامی» منتشر کرد. در این دو مقاله، شش اصل پایهای وجود داشتند که اصل دوم آن به عنوان یکی از قوانین رمزنگاری هنوز هم مورد استفاده دانشمندان رمزنگاری پیشرفتهاست:
- سامانه رمزنگاری نه فقط به لحاظ تئوری که در عمل هم باید غیرقابل شکست باشد.
- سامانه رمزنگاری نباید هیچ نکته پنهان و محرمانهای داشته باشد. بلکه تنها چیزی که سری است کلید رمز است.
- کلید رمز باید به گونهای قابل انتخاب شود که ۱) بتوان به راحتی آن را عوض کرد و ۲) بتوان آن را به خاطر سپرد و نیازی به یاداشت کردن کلید رمز نباشد.
- متون رمزنگاری باید از طریق خطوط تلگراف قابل مخابره باشند.
- دستگاه رمزنگاری یا اسناد رمزگذاریشده باید توسط یک نفر قابل حمل و نقل باشد.
- سامانه رمزنگاری باید به سهولت قابل راهاندازی باشد.
به چند دلیل عمده کلید رمز باید تنها اطلاعات محرمانه در یک سامانه رمزنگاری باشد:
- محرمانه نگه داشتن یک رشته بیت ۵۱۲ تایی (بهطور معمول) بسیار سادهتر و عملی تر از محرمانه نگه داشتن یک الگوریتم یا روش پیادهسازی است.
- اگر کلید رمز افشا شود تنها با اتخاذ یک کلید تازه میتوان دوباره به یک سامانه رمزنگاری تازه و امن دست پیدا کرد در صورتیکه اگر امنیت سامانه رمزنگاری وابسته به الگوریتم و روش پیادهسازی باشد با افشای این اطلاعات بازتولید یک سامانه رمزنگاری تازه و امن بسیار دشوار خواهد بود.
- وقتی که کلید رمز تنها اطلاعات محرمانه یک سامانه رمزنگاری باشد میتوان از یک سامانه مشترک (با کلیدهای متفاوت) برای ارتباط با گیرنده/فرستندههای گوناگون استفاده کرد در صورتی که اگر غیر از این میبود برای ارتباط با هر فرستنده/گیرنده به یک الگوریتم و روش پیادهسازی تازه نیاز میبود.
- وقتی که الگوریتم و روش پیادهسازی برای همگان قابل دسترسی باشد مشکلات و حفرههای امنیتی الگوریتم پیش از آنکه توسط یک حمله گر مورد سوء استفاده قرار بگیرد توسط محققان امنیتی مورد بررسی قرار گرفته و رفع میشود و بنابراین سامانههای رمزنگاری که بر پایه الگوریتمهای روشن و قابل دسترسی عمل میکنند معمولاً قابل اعتمادتر هستند.[2]
رمزنگاری پیشرفته
با پدید آمدن رایانهها و افزایش قدرت محاسباتی آنها، دانش رمزنگاری وارد زمینه علوم رایانه شد و این پدیده، موجب بروز سه تغییر مهم در مسائل رمزنگاری شد:
- وجود قدرت محاسباتی بالا این امکان را پدیدآورد که روشهای پیچیدهتر و مؤثرتری برای رمزنگاری به وجود آید.
- روشهای رمزنگاری که تا پیش از آن اصولاً برای رمزکردن پیام به کار میرفتند، کاربردهای تازه و زیادی پیدا کردند.
- تا پیش از آن، رمزنگاری عمدتاً روی اطلاعات متنی و با استفاده از حروف الفبا انجام میگرفت؛ اما ورود رایانه باعث شد که رمزنگاری روی انواع اطلاعات و بر مبنای بیت انجام شود.
تعاریف و اصطلاحات
عناصر مهمی که در رمزنگاری مورد استفاده قرار میگیرند به شرح زیر است:
- متن آشکار: پیام و اطلاعات را در حالت اصلی و پیش از تبدیل شدن به حالت رمز، متن آشکار یا اختصاراً پیام مینامند. در این حالت اطلاعات قابل فهم توسط انسان است.
- متن رمز: به پیام و اطلاعات پس از تبدیل شدن به حالت رمز، گفته میشود. اطلاعات رمزگذاریشده توسط انسان قابل فهم نیست.
- رمزگذاری (رمزکردن): عملیاتی است که با استفاده از کلید رمز، پیام را به رمز تبدیل میکند.
- رمزگشایی (بازکردن رمز): عملیاتی است که با استفاده از کلید رمز، پیام رمزگذاریشده را به پیام اصلی بازمیگرداند. از نظر ریاضی، این الگوریتم عکس الگوریتم رمزکردن است.
- کلید رمز: اطلاعاتی معمولاً عددی است که به عنوان پارامتر ورودی به الگوریتم رمز در نظر گرفته میشود و عملیات رمزگذاری و رمزگشایی با استفاده از آن انجام میگیرد. انواع گوناگونی از کلیدهای رمز در رمزنگاری تعریف و استفاده میشود.
کاربردهای رمزنگاری
پیش از ورود رایانهها به زمینه رمزنگاری، تقریباً کاربرد رمزنگاری محدود به رمزکردن پیام و پنهان کردن مفاد آن میشدهاست. اما در رمزنگاری پیشرفته سرویسهای گوناگونی از جمله موارد زیر ارائه شدهاست:
- حفظ محرمانگی یا امنیت محتوا∗: فرستاده یا ذخیره اطلاعات به نحوی که تنها افراد مجاز بتوانند از محتوای آن مطلع شوند، که همان سرویس اصلی و اولیهٔ پنهان کردن مفاد پیام است.
- حفظ صحت دادهها یا سلامت محتوا ∗: به معنای ایجاد اطمینان از صحت اطلاعات و عدم تغییر محتوای اولیهٔ آن در حین فرستادهاست. تغییر محتوای اولیهٔ اطلاعات ممکن است به صورت اتفاقی (در اثر مشکلات مسیر ارسال) یا به صورت عمدی باشد.
- احراز هویت یا اصالت سنجی محتوا∗: به معنای تشخیص و ایجاد اطمینان از هویت فرستنده اطلاعات و عدم امکان جعل هویت افراد است.
- عدم انکار∗: به این معنی است که فرستندهٔ اطلاعات نتواند در آینده فرستاده آن را انکار یا مفاد آن را تکذیب نماید.
چهار مورد بالا، کاربردهای اصلی رمزنگاری تلقی میشوند و دیگر اهداف و کاربردهای رمزنگاری، با ترکیب چهار مورد بالا قابل حصول هستند.
این کاربردها مفاهیم جامعی هستند و میتوانند برای کاربردهای گوناگون پیادهسازی و استفاده شوند. برای نمونه سرویس اصالت محتوا هم در معاملات تجاری اهمیت دارد و هم در مسائل نظامی و سیاسی مورد استفاده قرار میگیرد. برای ارائه کردن هر یک از سرویسهای رمزنگاری، بسته به نوع کاربرد، از پروتکلهای گوناگون رمزنگاری استفاده میشود.
پروتکل رمزنگاری
بهطور کلی، یک پروتکل رمزنگاری، مجموعهای از قواعد و روابط ریاضی است که چگونگی ترکیب کردن الگوریتمهای رمزنگاری و استفاده از آنها به منظور ارائهٔ یک سرویس رمزنگاری خاص در یک کاربرد خاص را فراهم میسازد.
معمولاً یک پروتکل رمزنگاری مشخص میکند که
- اطلاعات موجود در چه قالبی باید قرار گیرند
- چه روشی برای تبدیل اطلاعات به عناصر ریاضی باید اجرا شود
- کدامیک از الگوریتمهای رمزنگاری و با کدام پارامترها باید مورد استفاده قرار گیرند
- روابط ریاضی چگونه به اطلاعات عددی اعمال شوند
- چه اطلاعاتی باید بین طرف فرستنده و دریافتکننده رد و بدل شود
- چه مکانیسم ارتباطی برای انتقال اطلاعات مورد نیاز است.
برای نمونه میتوان به پروتکل تبادل کلید دیفی-هلمن∗ برای ایجاد و تبادل کلید رمز مشترک بین دو طرف اشاره نمود.
الگوریتم رمزنگاری
الگوریتم رمزنگاری، به هر الگوریتم یا تابع ریاضی گفته میشود که به علت دارا بودن خواص مورد نیاز در رمزنگاری، در پروتکلهای رمزنگاری مورد استفاده قرار گیرد. اصطلاح الگوریتم رمزنگاری یک مفهوم جامع است و لازم نیست هر الگوریتم از این دسته، بهطور مستقیم برای رمزگذاری اطلاعات مورد استفاده قرار گیرد، بلکه صرفاً وجود کاربرد مربوط به رمزنگاری مد نظر است.
در گذشته سازمانها و شرکتهایی که نیاز به رمزگذاری یا سرویسهای دیگر رمزنگاری داشتند، الگوریتم رمزنگاری منحصربهفردی را طراحی مینمودند. به مرور زمان مشخص شد که گاهی ضعفهای امنیتی بزرگی در این الگوریتمها وجود دارد که موجب سهولت شکسته شدن رمز میشود. به همین دلیل امروزه رمزنگاری مبتنی بر پنهان نگاه داشتن الگوریتم رمزنگاری منسوخ شدهاست و در روشهای تازه رمزنگاری، فرض بر این است که اطلاعات کامل الگوریتم رمزنگاری منتشر شدهاست و آنچه پنهان است فقط کلید رمز است.
بنا بر این تمام امنیت حاصل شده از الگوریتمها و پروتکلهای رمزنگاری استاندارد، متکی به امنیت و پنهان ماندن کلید رمز است و جزئیات کامل این الگوریتمها و پروتکلها برای عموم منتشر میشود.
بر مبنای تعریف فوق، توابع و الگوریتمهای مورد استفاده در رمزنگاری به دستههای کلی زیر تقسیم میشوند:
- توابع بدون کلید
- توابع درهمساز∗
- تبدیلهای یکطرفه∗
- توابع مبتنی بر کلید
- الگوریتمهای کلید متقارن
- الگوریتمهای رمز قالبی
- الگوریتمهای رمز دنبالهای
- توابع تصدیق پیام∗
- الگوریتمهای کلید نامتقارن
- الگوریتمهای مبتنی بر تجزیهٔ اعداد صحیح
- الگوریتمهای مبتنی بر لگاریتم گسسته
- الگوریتمهای مبتنی بر منحنیهای بیضوی
- الگوریتمهای امضای رقومی∗
- الگوریتمهای کلید متقارن
الگوریتمهای رمزنگاری بسیار زیاد هستند، اما تنها شمار اندکی از آنها به صورت استاندارد درآمدهاند.
رمزنگاری کلید متقارن
رمزنگاری کلید متقارن∗ یا تک کلیدی، به آن دسته از الگوریتمها، پروتکلها و سامانههای رمزنگاری گفته میشود که در آن هر دو طرف رد و بدل اطلاعات از یک کلید رمز یکسان برای عملیات رمزگذاری و رمزگشایی استفاده میکنند. در این قبیل سامانهها، یا کلیدهای رمزگذاری و رمزگشایی یکسان هستند یا با رابطهای بسیار ساده از یکدیگر قابل استخراج هستند و رمزگذاری و رمزگشایی اطلاعات نیز دو فرایند معکوس یکدیگر هستند.
واضح است که در این نوع از رمزنگاری، باید یک کلید رمز مشترک بین دو طرف تعریف شود. چون کلید رمز باید کاملاً محرمانه باقی بماند، برای ایجاد و رد و بدل کلید رمز مشترک باید از کانال امن استفاده نمود یا از روشهای رمزنگاری نامتقارن استفاده کرد. نیاز به وجود یک کلید رمز به ازای هر دو نفرِ درگیر در رمزنگاری متقارن، موجب بروز مشکلاتی در مدیریت کلیدهای رمز میشود.
رمزنگاری کلید نامتقارن
رمزنگاری کلید نامتقارن∗، در ابتدا با هدف حل مشکل انتقال کلید در روش متقارن و در قالب پروتکل تبادل کلید دیفی-هلمن پیشنهاد شد. در این نوع از رمزنگاری، به جای یک کلید مشترک، از یک زوج کلید به نامهای کلید عمومی و کلید خصوصی استفاده میشود. کلید خصوصی تنها در اختیار دارندهٔ آن قرار دارد و امنیت رمزنگاری به محرمانه بودن کلید خصوصی بستگی دارد. کلید عمومی در اختیار کلیهٔ کسانی که با دارندهٔ آن در ارتباط هستند قرار داده میشود.
به مرور زمان، به غیر از حل مشکل انتقال کلید در روش متقارن، کاربردهای زیادی برای این نوع از رمزنگاری مطرح شدهاست. در سامانههای رمزنگاری نامتقارن، بسته به کاربرد و پروتکل مورد نظر، گاهی از کلید عمومی برای رمزگذاری و از کلید خصوصی برای رمزگشایی استفاده میشود و گاهی نیز، بر عکس، کلید خصوصی برای رمزگذاری و کلید عمومی برای رمزگشایی به کار میرود.
دو کلید عمومی و خصوصی با یکدیگر متفاوت هستند و با استفاده از روابط خاص ریاضی محاسبه میشوند. رابطهٔ ریاضی بین این دو کلید به گونهای است که کشف کلید خصوصی با در اختیار داشتن کلید عمومی، عملاً ناممکن است.
مقایسه رمزنگاری کلید متقارن و کلید نامتقارن
اصولاً رمزنگاری کلید متقارن و کلید نامتقارن دارای دو ماهیت متفاوت هستند و کاربردهای متفاوتی نیز دارند؛ بنابراین مقایسهٔ این دو نوع رمزنگاری بدون توجه به کاربرد و سامانه مورد نظر کار دقیقی نخواهد بود. اما اگر معیار مقایسه، بهطور خاص، حجم و زمان محاسبات مورد نیاز باشد، باید گفت که با در نظر گرفتن مقیاس امنیتی معادل، الگوریتمهای رمزنگاری متقارن خیلی سریعتر از الگوریتمهای رمزنگاری نامتقارن هستند.
تجزیه و تحلیل رمز
تجزیه و تحلیل رمز∗ یا شکستن رمز، به کلیهٔ اقدامات مبتنی بر اصول ریاضی و علمی اطلاق میشود که هدف آن از بین بردن امنیت رمزنگاری و در نهایت بازکردن رمز و دستیابی به اطلاعات اصلی باشد. در تجزیه و تحلیل رمز، سعی میشود تا با بررسی جزئیات مربوط به الگوریتم رمز یا پروتکل رمزنگاری مورد استفاده و به کار گرفتن هرگونه اطلاعات جانبی موجود، ضعفهای امنیتی احتمالی موجود در سامانه رمزنگاری یافته شود و از این طریق به نحوی کلید رمز به دست آمده یا محتوای اطلاعات رمزگذاریشده استخراج شود.
تجزیه و تحلیل رمز، گاهی به منظور شکستن امنیت یک سامانه رمزنگاری و به عنوان خرابکاری و یک فعالیت ضد امنیتی انجام میشود و گاهی هم به منظور ارزیابی یک پروتکل یا الگوریتم رمزنگاری و برای کشف ضعفها و آسیبپذیریهای احتمالی آن صورت میپذیرد. به همین دلیل، تجزیه و تحلیل رمز، ذاتاً یک فعالیت خصومتآمیز به حساب نمیآید؛ اما معمولاً قسمت ارزیابی و کشف آسیبپذیری را به عنوان جزئی از عملیات لازم و ضروری در هنگام طراحی الگوریتمها و پروتکلهای تازه به حساب میآورند و در نتیجه تجزیه و تحلیل رمز بیشتر فعالیتهای خرابکارانه و ضد امنیتی را به ذهن متبادر میسازد. با توجه به همین مطلب از اصطلاح حملات تحلیل رمز∗ برای اشاره به چنین فعالیتهایی استفاده میشود.
تحلیل رمز، در اصل اشاره به بررسی ریاضی الگوریتم (یا پروتکل) و کشف ضعفهای احتمالی آن دارد؛ اما در خیلی از موارد فعالیت خرابکارانه، به جای اصول و مبنای ریاضی، به بررسی یک پیادهسازی خاص آن الگوریتم (یا پروتکل) در یک کاربرد خاص میپردازد و با استفاده از امکانات گوناگون سعی در شکستن رمز و یافتن کلید رمز مینماید. به این دسته از اقدامات خرابکارانه، حملات جانبی∗ گفته میشود.
رمزهای جانشینی
در رمزنگاری جانشینی هر حرف یا گروهی از حروف بایک حرف یا گروهی دیگراز حروف جابجا میشوند تا شکل پیام بهم بریزد. یکی از قدیمیترین رمزهای شناخته شده روش رمزنگاری سزار است که ابداع آن به ژولیوس سزار نسبت داده میشود. در این روش حرف a به d تبدیل میشود bبه c, e به fوبه همین ترتیب تاz که با حروفc جایگزین میشوند.
رمزنگاری چندفازی
امروزه روشهای رمزنگاری چندگانه نمیتوانند امنیت کافی را ارائه دهند. روش رمزنگاری چندفازی تا اندازه زیادی پیچیدگی در الگوریتمهای رمزنگاری را افزایش میدهد. این ایده با روشهای رمزنگاری موجود در شبکه و امنیت اطلاعات روی شبکههای بیسیم متفاوت است. همانطور که در پروتکل رمزنگاری، پیچیدگی هرچه بیشتر روشهای رمزنگاری دادهها، امنیت انتقال دادهها بر روی کانالهای بیسیم را افزایش میدهد شمار زیاد رمزنگاری دادههای رمزنگاریشده باعث افزایش پیچیدگی رمزگذاری دادهها میشود که رمزگشایی آن را نیز بسیار پیچیده میکند.[3][4]
چگونگی
در روشهای رمزنگاری فازی، هر چرخه رمزنگاری از یک کلید متفاوت استفاده میکند. در این روش رمزنگاری، رمزگشایی در جهت معکوس انجام میشود. در رمزنگاری چندفازی فرایندهایی زیادی تکرار میشوند که پیچیدگی در رمزنگاری/رمزگشایی و همچنین بهبود امنیت دادهها را افزایش میدهند.
الگوریتمهای رمزنگاری و اندازه کلیدها برای اطمینان از رمزنگاری، تأیید هویت شخصی (PIV)، و برنامههای کاربردی برگزیده میشوند. رمزنگاری چندفازی ممکن است مشکل مدیریت کلید را در فناوری موجود (PIV) کاهش دهد. زیرا از الگوریتمهای رمزنگاری با کلید اندازه ثابت به جای شمار زیادی کلید با طول متغیر استفاده میکند.
برتریها
رمزنگاری چندفازی دادهها، یک روش دوسویه برای دادهها و امنیت اطلاعات است و نقش مهمی در رمزنگاری مدرن دارد. رمزنگاری چندفازی، پیچیدگی پیشرفته رمزنگاری دادهها را با عملیاتهای گوناگون روشهای رمزنگاری فازی انجام میدهد. برتری رمزنگاریهای چندگانه این است که امنیت بهتری را فراهم میکنند. زیرا حتی اگر برخی کامپوننتهای متن رمزنگاریشده شکسته شوند یا برخی از کلیدهای سری شناخته شوند میتوان هنوز محرمانه بودن دادههای اصلی را با رمزنگاریهای دیگر حفظ کرد.
اجرای رمزنگاری چندفازی یک حرکت مثبت در راه تعریف یک استاندارد برای امنیت شبکه است. با این حال، ارتباطات دادههای محرمانه را روی شبکههای ناامن بیسیم افزایش میدهد.
افزونگی
نخستین اصل آن است که تمام پیامهای رمزگذاریشده باید شامل مقداری «افزونگی» [دادههای زائد] باشند. به عبارت دیگر لزومی ندارد که اطلاعات واقعی به همانگونه که هستند رمز و فرستاده شوند. یک نمونه میتواند به فهم دلیل این نیاز کمک کند. فرض کنید یک شرکت به نام TCP با ۶۰۰۰۰ کالا از طریق سامانه پست الکترونیکی سفارش خرید میپذیرد. برنامهنویسان شرکت TCP به گمان آن که برنامههای مؤثر و کار آمدی مینویسند پیامهای سفارش کالا را مشتمل بر ۱۶بایت نام مشتری و به دنبال آن سه بایت فیلد داده (شامل یک بایت برای تعداد کالا و دو بایت برای شمارهٔ کالا) در نظر میگیرد که سه بایت آخر توسط یک کلید بسیار طولانی رمزنگاری میشود و این کلید را فقط مشتری و شرکت TCP میداند.
تازگی پیامها
دومین اصل اساسی در رمزنگاری آن است که باید محاسباتی صورت بگیرد تا مطمئن شویم هر پیام دریافتی تازه و تازه است یا به عبارتی اخیراً فرستاده شدهاست این بررسی برای جلوگیری از فرستاده مجدد پیامهای قدیمی توسط یک اخلالگر فعّال الزامی است اگر چنین بررسیهایی انجام نشود کارمند اخراجی ما قادر است با ایجاد یک انشعاب مخفی از خط تلفن پیامهای معتبری را که از پیش فرستاده شده مکرراً فرستاده نماید، حتی اگر نداند محتوای ان چیست.
یک چنین محاسبهای را میتوان با قرار دادن یک مهر زمان در پیامها پیشبینی کرد به نحوی که پیامها مثلاً برای ده ثانیه معتبر باشد گیرندهٔ پیام میتواند آن را برای حدود ده ثانیه نگه دارد تا بتواند پیامهای تازه را با آن مقایسه کرده و نسخههای تکراری را که دارای مهر زمان هستند به عنوان پیامهای قدیمی شناخته و حذف خواهند شد.
رمزنگاری سختافزاری
الگوریتمهای رمزنگاری رامی توان هم به صورت سختافزاری (به منظور سرعت بالاتر) وهم به صورت نرمافزاری (برای انعطافپذیری بیشتر) پیادهسازی کرد روشهای جانشینی و جایگشتی میتوانند با یک مدار سادهٔ الکترونیکی پیادهسازی شوند. p-box ابزاری است که برای جایگشت بیتهای یک ورودی هشت بیتی کاربرد دارد. بود با سیم بندی و برنامهریزی درونی این p-box قادراست هر گونه جایگشت بیتی را بهطور حقیقتً با سرعتی نزدیک به سرعت نور انجام بدهد چرا که هیچ گونه محاسبهای لازم نیست و فقط تأخیر انتشار سیگنال وجود دارد. این طراحی از اصل کرشهف تبعیت میکند یعنی:حملهکننده از روش عمومی جایگشت بیتها مطلّع است آنچه که او از آن خبر ندارد آن است که کدام بیت به کدام بیت نگاشته میشود کلید رمز همین است.
واژگان
در فهرست زیر با توجه به ارتباط مستقیم علم رمزنگاری یا همان Cryptography به برخی از اصطلاحات که در بحث امنیت شبکه و کامپیوتر وجود دارند اشاره شدهاست.
نهاننگاری: در علم رمزنگاری، به عمل پنهانسازی فایل، پیام، عکس یا ویدئو درون فایل، پیام، عکس یا ویدئویی دیگر نهاننگاری یا Steganography گفته میشود. برتری نهاننگاری نسبت به رمزنگاری این است که نهاننگاری بر خلاف رمزنگاری جلب توجه نمیکند. پیامهای رمزنگاری شده که آشکار هستند جلب توجه کرده و هر چقدر هم رمزگشاییناپذیر باشند علاقه برمیانگیزند؛ بنابراین، در حالی که تمرکز رمزنگاری یا Cryptography تنها روی محافظت از پیام است، نهاننگاری یا Steganography روی پنهان کردن وجود پیام رمزنگاری شدهاست. نهاننگاری شامل پنهان کردن اطلاعات درون فایلهای کامپیوتری است. در نهاننگاری دیجیتال، ارتباطات الکترونیکی ممکن است شامل رمزگذاری نهاننگارانه درون یک لایهٔ انتقال مانند فایل سند، عکس، ویدئو، برنامه یا پروتکل باشد. فایلهای رسانهای به علت داشتن حجم بالا برای انتقال نهاننگارانه گزینهای ایدئال هستند.
رمزگشایی: معکوس Encryption است و در Cryptography به رمزگشایی، استخراج و آشکارسازی اطلاعات پنهان شده گفته میشود.
متن آشکار: متن اولیه که رمزنگاری نشده یا متن نهایی رمزگشایی شده را plain text یا متن آشکار میگویند.
سایفر: یک الگوریتم برای قفلگذاری یا قفلشکنی به عنوان یک سری مراحل تعریف شده به کار میرود. سایفر برای این استفاده میشود که زمان کمتری صرف رمزنگاری میشود. شیوه رمزنگاری به روش سایفر به این صورت است که اطلاعات متن آشکار را به رمز یا کد تبدیل میکند.
تحلیل رمز: به روشهای رمزگشایی متون سایفر بدون آگاهی از کلید آنها گفته میشود.
اخلالگر: در لغت به معنای مزاحم یا مخل است و در رمزنگاری به معنای کسی است که یک کپی از پیام رمزنگاری شده دارد و قصد رمزگشایی آن را دارد. منظور از شکستن رمز Decrypt کردن آن متن که خود دو نوع است. active intruder که میتواند اطلاعات را روی خط عوض کند و تغییر دهد و passive intruder که فقط میتواند اطلاعات روی خط را داشته باشد و قابلیت تغییر آنها را ندارد.
پروتکل: به روش یا قراردادی گفته میشود که بین دو یا چند نفر برای تبادل اطلاعات گذاشته میشود.
نقاط نفوذ: نقاطی که یک نفوذگر بتواند به اطلاعات با ارزش دست پیدا کند.
نقطهٔ دسترسی داخلی: به سامانههایی گویند که در اتاق یا در شبکه داخلی مستقرند و هیچ امنیتی (LocalSecurity) روی آنها تنظیم نشده باشد و احتمال حمله به آنها وجود دارد.
نقطهٔ دسترسی خارجی: تجهیزاتی که ما را به شبکه خارجی مانند اینترنت متصل میکنند یا Applicationهایی که از طریق اینترنت کار میکنند و احتمال حمله به آنها وجود دارد.
حمله: هر چیزی که مکانیزم امنیت سامانه را دور زده و باعث تخریب شود را حمله یا Attack گویند.
از انواع حمله میتوان به موارد زیر اشاره کرد:
- DoS
- DDoS
- Spoofing (مانند MAC Spoofing, IP Spoofing و Web Spoofing)
- Man-in-the-Middle
- Password Guessing
کلید: به اطلاعاتی گفته میشود که با استفاده از آن بتوان cipher text (متنی که cipher شده) را به plain text تبدیل کرد. (یا برعکس) به عبارت ساده یک متن رمزگذاریشده توسط یک Key با الگوریتم مناسب، به متن ساده تبدیل میشود.
پانویس
- ^ Data or Message Confidentiality
- ^ Data or Message Integrity
- ^ Entity or Message Authentication
- ^ Non-Repudiation
- ^ Diffie-Hellman key exchange
- ^ Hash Functions
- ^ One-way Permutations
- ^ Message Authetication Codes
- ^ Digital Signature
- ^ Syemmetric-Key Cryptography
- ^ Asymmetric-Key Cryptography
- ^ Cryptanalysis
- ^ Cryptanalysis Attacks
- ^ Side-Channel Attacks
جستارهای وابسته
پانویس
- «رمزنگاری» [رایانه و فناوری اطلاعات] همارزِ «cryptography»؛ منبع: گروه واژهگزینی. جواد میرشکاری، ویراستار. دفتر دوم. فرهنگ واژههای مصوب فرهنگستان. تهران: انتشارات فرهنگستان زبان و ادب فارسی. شابک ۹۶۴-۷۵۳۱-۳۷-۰ (ذیل سرواژهٔ رمزنگاری)
- Introduction to Modern Cryptography: Principles and Protocols, Jonathan Katz and Yehuda Lindell
- A Patent titled as "A Technique & Device for Multiphase Encryption" by Himanshu Gupta published in International Journal of Patent (December, 2010
- Web Document available on weblink as http://ipindia.gov.in/ipr/patent/journal_archieve/journal_2010/pat_arch_122010/official_journal_31122010_part_i.pdf
منابع
- رمزنگاری چیست؟ بایگانیشده در ۲۴ فوریه ۲۰۲۰ توسط Wayback Machine
- امنیت دادهها - نوشته دکتر علی ذاکر الحسینی - انتشارات نص - شابک: ۴-۰۹۶-۴۱۰-۹۶۴
- مشارکتکنندگان ویکیپدیا. «Cryptography». در دانشنامهٔ ویکیپدیای انگلیسی.
![]() |
در ویکیانبار پروندههایی دربارهٔ رمزنگاری موجود است. |