
کریپتوگرافی یا علم رمزنگاری چیست؟ آموزش رمزنگاری بلاکچین و برنامه نویسی
کریپتوگرافی یا علم رمزنگاری چیست؟ آموزش رمزنگاری بلاکچین و برنامه نویسی
در این سری مقالات قصد داریم از صفر تا صد کریپتوگرافی و رمزنگاری را به صورت کاملا تخصصی با بیانی بسیار ساده برای علاقه مندان به حوزه رمزنگاری، بلاکچین و برنامه نویسی توضیح دهیم. در این آموزشها که حاوی آموزش ویدیویی رمزنگاری، آموزش متنی و کاربردی می باشد، سعی داریم به برخی سوالات بنیادی در این حوزه پاسخ دهیم:
پس از مطالعه این آموزش باید بتوانید به این سوالات پاسخی روشن و شفاف دهید؟
تعریف صحیح علم رمزنگاری و تاریخچه آن
چرا رمزنگاری جز جدایی ناپذیر زندگی روزمره ما میباشد؟
رمزنگاری و سیستمهای رمز نگاری چگونه کار میکنند و به چند شاخه تقسیم می شوند؟
کلید متفارن و نامتقارن دارای چه ویژگی هایی هستند؟
رمزنگاری مدرن در دنیای امروز چه کاربردی دارد؟
درک صحیح کلید عمومی و امضای دیجیتال
تابع هش چیست و چه کاربردهایی دارد؟
کریپتوگرافی در بلاکچین چیست و چگونه میتواند آن را امن کند؟
یکی از هیجان انگیزترین خاطرات کودکی در مدرسه و دوستی کلمات و حرکات هماهنگ شده ای بود که بین دو دوست یا یک تیم استفاده میکردیم. قطعا همه ما کلمات و ادا اصولهایی برای فهماندن حرفمان با دوستانمان و یا هم تیمیهای خود داشته ایم به گونه ای که دیگران منظور ما را متوجه نشوند. پس، از رمزنگاری برای عدم افشای اطلاعات و حفظ حریم خصوصی استفاده میکردیم.
کریپتوگرافی چیست؟
پاسخ به این سوال را به دوصورت خواهیم داد:
تعریف ساده کریپتوگرافی یا رمزنگاری:
رمزنگاری علمی است که با استفاده از الگوریتمهای ریاضیات به رمزنگاری و رمزگشایی داده ها(در قدیم پیامها) میپردازد.
تعریف امروزی کریپتوگرافی یا رمزنگاری :
کریپتوگرافی یا رمزنگاری: علمی که در آن فرآیند تامین امنیت داده ها از طریق ریاضیات در برابر انواع حملات و مزاحمت های شبکه میباشد.
رمزنگاری به شما این امکان را میدهد که اطلاعات حساس را به گونه ای ذخیره کنید و یا انتقال دهید، که غیر از طرفین در شبکه های ناامن (مانند اینترنت) قابل فهم و خواندن نباشد.
این مفهوم امروزه در تمامی حوزه های دیجیتال به کار گرفته می شود برای مثال از لاگین شدن در یک وبسایت گرفته تا ارسال ایمیل از فرآیند رمزنگاری استفاده میشود به گونه ای که هیچ شخصی در بین راه توان خواندن و افشای اطلاعات را نداشته باشد. برای مثال سیستم secret chat تلگرام یا واتساپ.
تاریخچه رمزنگاری
جالبست بدانید رمزنگاری در فرهنگ های مختلف برای مقاصد حکومتی و ضد حکومتی استفاده شده است. همچنین در طول تاریخ رمزنگاری پیام ها باعث پیروزی و برتری قوای نظامی بوده است؛ به طوری که علم رمزنگاری در جنگ جهانی دوم آلمان ها را به برتری زیادی نسبت به متفقین رساند. (داستان انیگما و شکستن رمز آن در فیلم آمده است) با نگاه اجمالی به تاریخ رمزنگاری در جهان اهمیت این علم را به ما گوشزد میکند.
مصر باستان
شروع رمزنگاری به سال 1900 قبل از میلاد برمیگردد برطبق اسناد تاریخی موجود، یک فرد مصری درآن زمان که کلمات بصورت تصویر بیان میشد، ازتصاویری استفاده کرده است که متداول نبوده و بنابراین میتوان نتیجه گرفت که شروع رمزنگاری از مصریان شروع شده است . چهارصد سال بعد در بین النهرین لوحه هایی نوشته شد که شامل فرمولهای رمزنگاری از طریق حک روی شیشه بر روی کوزه گری میباشد.
500 سال قبل از میلاد یک نویسنده یهودی کتابی نوشت که کلمات آن برعکس نوشته شده بود این روش بنام رمز آتابش نامیده شد.
در سال 487 قبل از میلاد اسکیتال در یونان بوجود آمد و مورد استفاده قرار گرفت.
رمز نگاری به روش اسکیتال
الگوریتمهای رمزنگاری بر اساس زمان ابداع خود از روشهای متفاوتی
استفاده میکردند. الگوریتم رمز اسکیتال در گروه الگوریتم های جایگشتی مطرح می شود(جایگشت
به معنی مرتبط سازی و جابه جا کردن حروف) این الگوریتم تک حرفی بوده با جابجایی
حروف بر اساس نوشتن متن بر روی یک قطعه چرم و تاباندن(چرخاندن) آن قطعه بر روی
میله ای چوبی می باشد. با توجه به اینکه بازکردن رمز این الگوریتم با توجه به
ابزار های امروزی بسیار آسان بوده، ولی در بازه زمانی خود نوعی رمزنگاری به شمار
میرود. نحوه عملیات رمز نگاری به روش اسکتیال
بر اساس پروتکل زیر میباشد:
پروتکل رمز نگاری اسکیتال:
مرحله اول
ابتدا نواری از چرم یا کاغذ با عرض ثابت تهیه شده و بر روی میله ای چوبی دارای قطر
ثابت پیچیده می شود.
مرحله دوم
متن مورد نظر برای رمز شدن بر روی کاغذ لوله شده از ابتدای لوله تا انتهای لوله
نوشته می شود با رسیدن به انتهای لوله, لوله اندکی به بالا پیچانده شده و از
ابتدای لوله نوشتن آغاز می شود .
مرحله سوم
پس از اتمام نوشتن متن, نوار پیچانده شده از دور لوله باز شده و به مقصد ارسال
میشود. با گشودن نوار, متن نوشته شده قابلیت خواندن نخواهد داشت و دلیل آن جابجایی
مکان حروف در طول نوار می باشد.
مرحله چهارم
نوار مورد نظر با پیک به مقصد ارسال میشود.
مرحله پنجم
نوار در مقصد بر روری لوله ای با همان قطر پیچانده شده و متن نوشته شده بر روی
نوارخوانده می شود
باید دقت شود که قطر لوله در مبدا و مقصد یکسان باشد.
اسپارتها که قومی جنگجو بودند، حدود پانصد سال پیش از میلاد مسیح برای انتقال اطلاعات نظامی از وسیلهای استفاده میکردند به نام اسکتیلی(سکیتال). این وسیله یک تکه چوب ساده بود که با پیچیدن کاغذ پاپیروس به دور آن، پیام رمز آشکار میشد. در این روش، هم فرستنده و هم گیرنده رمز باید دارای اسکتیلی با قطر یکسان باشند.

رمزنگاری سزار
400 سال بعد ژولیوس سزار در مکاتبات دولتی از رمزنگاری سزار استفاده کرد . او در این روش ابداعی رمزنگاری جای حروف الفبا را عوض کرد . رمز نگاری سزار هرچند نسبت به رمز آتابش ساده تر است اما مدارک محرمانه دولتی در نگاه اول قابل فهمیدن نبود و این موضوع در آن زمان حائز اهمیت بوده است.
الگوریتم رمزنگاری سزار
الگوریتم رمزنگاری سزار برای اولین بار توسط ژولیوس سزار فرمانده
رومی مورد استفاده قرار گرفت در این الگوریتم جایگزینی حروف براساس ترتیب در حروف
الفبا انجام می شود بنابراین برای رمز نمودن متن جایگزینی زیر را خواهیم داشت
رشته مبنا
ABCDEFGHIJKLMNOPQRSTUVWXYZ
رشته تبدیل یافته
DEFGHIJKLMNOPQRSTUVWXYZABC
در این تبدیل به جای هر حرف 3 حرف بعد از آم جایگزین میشود. برای مثالA به D تبدیل میشود و برای تمامی کلمات انجام خواهد شد..
رمزنگاری به روش سزار در تمامی زبان ها قابل استفاده است. می توانیم این نکته را دریابیم که شکل ظاهری حروف , تعداد کاراکتر ها , تعدد حروف در هر کلمه میتواند دارای معیار خاصی باشد . این معیارها براساس نوع زبان می تواند متفاوت باشد.

مربع پولیبیوس (polybius square)
از دیگر رمزنگاری های تاریخ در یونان باستان مربع پولیبیوس (polybius square) است.
این مربع را پولیبیوس دانشمند خلاق یونانی ابداع کرد. او حدود دویست سال پیش از میلاد مسیح در آرکادیای یونان به دنیا آمد.
در مربع پولیبیوس حروف الفبا معمولا در مربعی پنج در پنج نوشته میشود (برای زبان انگلیسی شش در شش) و به جای هر حرف، دو شماره که نمایانگر ستون و ردیف آن حرف است، قرار میگیرد. متناسب با شکل زیر

نهان نگاری
نهاننگاری نیز راهی برای مخفی کردن پیام در روزگار باستان بوده است.
در پنهاننگاری، پیام به صورت رمز در نمیآید، بلکه هدف اصلی، مخفی کردن پیام است.
استفاده از مرکب نامرئی یا نوشتن پیام بر سر تراشیده یک برده که بعدا با رویش موها مخفی میشده است، از روشهای پنهاننگاری بوده است.
با این حال، از حدود پانصد قبل از میلاد مسیح تا هزار سال بعد از میلاد مسیح، رمزنگاری در دنیای غرب پیشرفتی نداشت.
رمزنگاری کاماسوترا برای عشاق
بین سالهای 0 تا 400 بعد از میلاد رمز به عنوان یک هنر توسط هندیان در کاماسوترا بیان شده است. در کاماسوترا که حدود دو هزار سال پیش نوشته شده است، رمزنگاری به عشاق توصیه شده تا پیامهایشان از چشم نامحرمان دور بماند.
رمزنگاری در خاور میانه و مشرق زمین
تحول اساسی در مشرق زمین و خاور میانه در علوم مختلف و ظهور دانشمندانی چون جابر بن حیان به علم رمزنگاری افزود؛میدانیم که جابر ابن حیان سبک نگارش فرمولهای شیمیایی با نمادها را آغاز کرده و اساساً به فرمولنویسی و کدگذاری علاقهی خاصی داشته است.
هنوز هم در زبان انگلیسی وقتی کسی چیزی را به شکلی مینویسد که قابل فهم نیست، میگویند Gibberish نوشته است. بسیاری از زبانشناسان معتقدند که این اصطلاح از نام جابر گرفته شده است: کسی که رمزگذاری شده مینویسد و مثل نوشتههای جابر، نمیتوان آن را خواند و فهمید.
قرن سوم هجری، “ابویوسف الکندی”، یکی از بزرگترین دانشمندان جهان اسلام، نخستین کتاب درباره رمزنگاری را تالیف کرد.
الکندی بیش از دویست جلد کتاب در علوم مختلف به نگارش در آورده است، او متولد کوفه بود و بیشتر به قصد رمزگشایی از قرآن کتابی به نام “رساله در کشف معما” نوشت.
او در این کتاب، رمزگشایی براساس میزان تکرار نشانهها (بسامد یا فرکانس) را ابداع کرد. برای مثال پرکاربردترین حروف در عربی الف و لام میباشند، اما بسامد حرف ج یکدهم آنهاست. بنابراین میتوان از میزان تکرار نشانهها، حروف را مشخص کرد. او در این حوزه بسیاری از آیات قرآن را رمزگشایی کرد.
حدود پانصد سال بعد هم “ابو العباس القلقشندی”، دانشمند مصری، دائره المعارفی چهارده جلدی نوشت و فصلی از آن را به رمزنگاری اختصاص داد.
در حکومت غزنویان که کشورگشاییهای زیادی داشتند در بحث نظامی و توسعه سفارت های خود به میزان زیادی از رمز نگاریها استفاده می کردند. مقامات بلند پایه حکومتی با توجه به موقعیتشان از سیستم رمز مخصوص آن مقام استفاده می کردند .
پس از حکومت غزنویان رشد علم رمزنگاری در خاورمیانه روبه افول رفت و در قرون وسطی به اروپاییان بازگشت.
رمزنگاری در قرون وسطی
“لئون باتیستا آلبرتی“، دانشمند ایتالیایی که او را پدر علم رمزنگاری در غرب میدانند، مبتکر رمز چند حرفی بود.
تا آن زمان، بسیاری از رمزنگاری را با استفاده از روش الکندی با بررسی تکرار نشانه میشد کشف کرد. برای حل این مشکل، آلبرتی اولین وسیله برای رمز گذاری را ساخت که به آن صفحه رمز ( Password page) میگویند. بر یکی از صفحهها متن اصلی و بر روی صفحه دیگر متن به رمز درآوردهشده حک شده است. با گرداندن یکی از این دو صفحه بر دیگری، میتوان معادل اصلی هر حرف رمز را پیدا کرد.
آلبرتی کار خود را پیگیری نکرد، اما بعدها یک فرانسوی به نام “بلز دو ویژونر” آن را توسعه داد که به رمز ویژونر معروف شد.
این رمز بر همان اصول رمز سزار کار میکرد، اما کلیدهای رمزنگاری در طول متن تغییر میکرد. برای گشودن رمز ویژونر به جدولی به نام لوح راهنما نیاز بود. رمز ویژونر سالها بعد و در قرن نوزدهم شکسته شد.


در اواخر قرن هجدهم “توماس جفرسون” سومین رییسجمهور آمریکا، “چرخ رمز جفرسون” را اختراع کرد که به نوعی، تکمیلشده رمز ویژونر بود.
بعد از این، به جز حروف مورس، شاید بزرگترین تحول در تاریخ رمزنگاری (cryptography) در جنگ جهانی دوم رخ داد.
آلمانیها برای رمزگذاری پیامهای خود از ماشینی به نام “انیگما” (Enigma) استفاده کردند. در سال ۱۹۳۲ سه لهستانی که برای اداره ضدجاسوسی کار میکردند، رمز انیگما را با استفاده از ماشینی به نام “بامبی” شکستند و پنج هفته پیش از شروع جنگ، این اطلاعات را در اختیار انگلیسیها و فرانسویها گذاشتند.
با شروع و پیشرفت جنگ جهانی، آلمانها مرتب رمزهای انیگما را بهتر و شیوههای خود را پیشرفتهتر کردند، بنابراین عملا روش لهستانیها ناکارآمد شد.

بازسازی شده ماشین معروف بامبی
اما بعد، بزرگترین تحول در انگلستان اتفاق افتاد.
ریاضیدان جوانی به نام “آلن تورینگ” با ابداع ماشینی به نام “بامبی”، رمزهای جدید انیگما را در ساختمان معروف “بلچلی پارک” شکست و این موضوع یکی از نقاط عطف تاریخی در دنیای کریپتوگرافی می باشد.
تورینگ را یکی از نوابغ قرن بیستم میباشد و او را پدر کامپیوترهای امروزی و نیز هوش مصنوعی AI و علم رمزنگاری می دانند.
کار تورینگ و عملیاتی که در بلچلی پارک انجام گرفت، از مهمترین دلایل شکست آلمان و پایان جنگ جهانی دوم تلقی میشود و حتی چرچیل، زمانی به پادشاه بریتانیا گفته بود که جنگ را انگلیس به برکت همین رمزگشایی برده است.
بلچلی پارک هنوز هم مرکز کدگذاری بریتانیاست.
اما تورینگ سرنوشت غمانگیزی داشت. در سال ۱۹۵۲ به جرم همجنسگرایی محاکمه شد و پذیرفت به جای زندانی شدن، به صورت شیمیایی اخته شود، یعنی هورمون زنانه به او تزریق شود. تورینگ دو سال بعد، در ۴۲ سالگی، با سیانور خودکشی کرد. استیون هاوکینگ، دانشمند معروف، سال گذشته خواستار عذرخواهی رسمی بریتانیا از “پدر کشف رمز جنگ جهانی” شد.

چرا رمزنگاری؟
علم رمزنگاری در طول هزاران سال کاربردهای زیادی داشته است. در این بخش ، ما به چند مورد از کاربردهای اصلی و تاریخی این علم اشاره خواهیم کرد. این کاربردها انگیزه اصلی مطالعه علم کریپتوگرافی می باشد.
کاربردهای رمزنگاری
دولتی و نظامی
همانطور که در تاریخچه کریپتوگرافی اشاره کردیم دولت ها برای حفظ اسرار نظامی، حکومتی و همچنین عدم تغییر پذیری و افشای محتویات نامه ها و دستورات از علم رمزنگاری استفاده میکردند. از زمان سزار ، استفاده از رمزنگاری در دولت و ارتش فقط برای محافظت از اطلاعات حساس به دلایل تاکتیکهای نظامی ، سیاست و… افزایش یافته است.
اینترنت
استفاده گسترده از علم رمزنگاری در دنیای مدرن، در فضای اینترنت است. پروتکل انتقال پروتکل HyperText Secure (HTTPS) روشی است که به وسیله آن اطلاعات حساس که بر بستر وب ارسال می شود توسط این پروتوکل رمزنگاری میشود. هر بار که یک وب سایت با نماد “قفل سبز” بازدید می شود ، از رمزنگارهای رمزنگاری مدرن برای محافظت از اطلاعات موجود بین سایت و رایانه بازدیدکننده استفاده می کنند.
امنیت رمز عبور
بسیاری از افراد برای مدیریت مجموعه کلمه عبور خود برای سایتهای مختلف از password managers استفاده می کنند. این رمزهای عبور بر اساس یک سیستم رمزنگاری خاص مثل SHA256 رمزگذاری شده و ذخیره می شوند تا از آنها در برابر مهاجمان محافظت شود. password managers رمز عبور اصلی را می گیرد و از آن برای رمزگشایی سایر رمزهای ذخیره شده استفاده می کند.
ایمیل امن
استاندارد عمومی ایمیل برای انتقال داده های متنی از مکانی به مکان دیگر تعریف شده است ، بنابراین تمام ایمیل ها بدون رمزگذاری ارسال می شوند. ایمیل مبتنی بر وب (Gmail ، یاهو و غیره) از HTTPS برای رمزگذاری ایمیل استفاده می کند ، اما رمزگذاری سایر ایمیل ها با ابزارهایی مانند PGP (Pretty Good Privacy) نیز امکان پذیر است تا فقط فرستنده و گیرنده دسترسی داشته باشند . در آینده در باره PGP بیشتر صحبت خواهیم کرد.
داده های تجاری
در کسب و کارها اطلاعات و داده هایی وجود دارد که از نظر مدیران نیازمند حفظ امنیت بالایی میباشد مانند: مالکیت معنوی ، داده های مشتری و غیره. در بعضی موارد ، طبق قانون لازم است اطلاعات حساس را در مورد مشتریان رمزگذاری کنید و هرگونه نقض داده ها باید در معرض دید عموم قرار گیرد.
فناوری بلاک چین
این روزها بیشترین کاربرد علم رمزنگاری در دنیای بلاکچین یکه تازی میکند. بلاکچین علمی است که بر پایه علم کریپتوگرافی بنا شده است. درباره رمزنگاری در بلاکچین یک مقاله جامع به نگارش در آمده است. برای مطالعه اینجا کلیک کنید
شاخه های علم رمزنگاری (cryptography)
کریپتوگرافی در هر فضایی معنای متفاوتی را برای افراد و سازمان ها دارد . به همین دلیل ما در این بخش سعی داریم توضیحات و شاخههای رسمی و استاندارد شاخه های رمزنگاری کریپتوگرافی را توضیح دهیم.
Cryptology
تعریف کریپتولوژیست : به کسی که هم بر روی رمزگذاری و هم رمزگشایی کار میکند کریپتولوژیست گفته می شود. به علم ایجاد کدهای رمزنگاری و شکستن آنها به طور همزمان cryptologyمی گویند.
کریپتولوژی شاخه ای از علم رمزنگاری است که سعی در پنهان سازی اطلاعات از طریق علم رمزنگاری و رمزگشایی دارد.
کریپتوگرافی (رمزنگاری)
به مطالعات رمزنگاری، cryptography اطلاق می شود که از واژه های یونانی kryptos به معنی پنهان و graphia به معنی نوشتن تشکیل شده است.کریپتوگرافی یا رمزنگاری (پنهان نویسی) شاخه ای از کریپتولوژی است که به پنهان نویسی نیز معروف است. کریپتوگرافر به شخصی گفته می شود که با علم ریاضیات از طریق کدها به توسعه الگوریتم های رمزنگاری می پردازد. با توسعه این الگوریتم ها به منظور رمزنگاری و رمزگذاری داده ها بین گیرنده و فرستنده به طوری که شخص سوم در بین راه توانایی افشای اطلاعات را نداشته باشد.
Cryptanalysis رمز گشایی
به فرآیند باز کردن (شکستن) یک پیغام رمزنگاری شده بدون داشتن کلید cryptanalysisمی گویند. Cryptanalysis برای دریافت اطلاعات دست به آنالیز ها و روش های مختلف برای شکستن رمز ها می کند. از جمله این موارد می توان به تجزیه و تحلیل ریاضی (جستجوی نقاط ضعف یا نقص در مبانی ریاضی رمزنگاری) ، تحلیل منطقی (تأیید اینکه رمزنگاری به درستی طراحی شده است) ، و تحلیل کانال جانبی (تست در صورت زمان اجرا ، مصرف برق و غیره) اشاره کرد.
یک نمونه مشهور Cryptanalysis یا رمزگشایی ، شکسته شدن رمز (انیگما) Enigma توسط رمزنگاران لهستانی در جنگ جهانی دوم است. آلمانی ها ، ایتالیایی ها و ژاپنی ها برای ارسال ارتباطات نظامی محرمانه از ماشین های مشابه انیگما استفاده می کردند. رمزنگاری لهستانی ماریان Rejewski از نظریه جایگشت و نقص دستگاه برای شکستن رمز استفاده کرد که همراه با اطلاعات مربوط به پیکربندی دستگاه مورد استفاده آلمانی ها ، رمزگشایی رمزنگاری ها را انجام می داد.
استگانوگرافی Steganography
استگانوگرافی (“نوشتارهای پوشیده”) علم پنهان کردن اطلاعات “در نگاه ساده” است. بر خلاف رمزنگاری ، هدف از استگانوگرافی این است که به طور کامل مبهم بودن اطلاعات باشد نه پنهان کردن محتوای آن. به عنوان مثال، رهگیری پیام رمزگذاری شده بدیهی است که وجود یک راز را نشان می دهد، زیرا به طور معمول به نظر می رسد نا خوانا به نظمی رسد.

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

در سال 513 قبل از میلاد ، مورخ یونانی هرودوت در مورد استفاده از استگانوگرافی توسط Histiaeus Miletus نوشت. Histiaeus سر برده را تراشیده ، روی سر او یک پیام مخفی خال کوبی می کند و سپس منتظر رشد مو برای پوشش پیام می شود. پس از پوشاندن پیام ، پیام رسان به یونانیان ارسال شد ، که در مقصد سر را تراشیدند و پیام را خواندند.
توجه داشته باشید که رمزنگاری و استگانوگرافی اهداف مکمل دارند و می توانند در کنار هم مورد استفاده قرار گیرند. برای حفظ پنهان کاری محتویات آن می توان پیام رمزگذاری کرد و سپس با استفاده از استگانوگرافی پنهان شد. اگر steganography موفقیت آمیز باشد ، وجود پیام غیرقابل شک خواهد بود و رمزگذاری غیر ضروری خواهد بود .
شخصیت سازی در علم رمزنگاری
برای بهبود درک و جالب تر کردن اوضاع ، رمزنگاران از اسامی خاص برای توصیف الگوریتم ها و تنظیمات رمزنگاری استفاده می کنند. در مثال های رمزنگاری ، از نام های آلیس و باب استفاده می کنیم ، آلیس کسی است که برای باب پیام ارسال می کند. در مثالهای حمله ، ما از شخصیتی به نام حوا (eve)استفاده می کنیم که سعی در جاسوسی و / یا تغییر پیام دارد. این نام گذاری ها برای درک بهتر مثالهای کاربردی است که در آینده به آن اشاره خواهیم کرد.
اهداف الگوریتم های رمزنگاری: CIA Triad
مثلث CIA مخفف Confidentiality، Integrity و Availability میباشد که به آن مثلث امنیت نیز میگویند. CIA مدل طراحی شده برای برقراری امنیت اطلاعات سازمان است. عناصر سه گانه ای که این مثلث را تشکیل میدهند سه جزء مهم امنیتی محسوب می شوند:
مباحث امنیتی شبکه معمولا در سه مفهوم پایه ای قرار می گیرند این سه مفهوم ، عوامل اصلی و بنیادی برای رسیدن به امنیت اطلاعات هستند که در ادامه به توصیف آنها می پردازیم :
Confidentiality (محرمانگی) :
محرمانه بودن بدان معنی است که الگوریتم های رمزنگاری سعی دارند محتویات یک پیام را مخفی نگه دارند. اگر آلیس پیامی را به باب ارسال می کند ، لازم است که حوا غیرممکن باشد که محتویات پیام رمزگذاری شده را بدون اطلاع از کلید مخفی بخواند.
Integrity (یکپارچگی) :
یکپارچگی بدان معنی است که یک الگوریتم رمزنگاری تأیید می کند که یک پیام در هنگام انتقال اصلاح نشده است. برخی از رمزگذارها وسیله ای برای محاسبه کد تأیید اعتبار پیام (MAC) فراهم می کنند که صحت یک پیام را تأیید می کند. رمزهای دیگر به طور ذاتی محافظت از یکپارچگی را ارائه نمی دهند.
به عنوان مثال ، فرض کنید که آلیس با رمزگذاری هر حرف به عنوان موقعیت آن در الفبای ، پیام باب را رمزگذاری می کند (A = 1 ، B = 2 و غیره). اگر eve می تواند پیام را رهگیری کند ، می تواند پیام را بدون اطلاع باب تغییر دهد
Availability (در دسترس بودن) :
سومین عضو سه گانه سیا تأیید اعتبار است. اگر باب پیامی را دریافت کند ، می خواهد مطمئن باشد که آلیس (و نه حوا) آن را ارسال کرده است.
به طور کلی می توان فرض کرد دانش از کلید رمزگذاری بدان معنی است که پیام از طرف فرستنده ادعا می شود. اما اگر کلید رمزگذاری برای همه اعضای گروه (یعنی آلیس ، باب و چارلی) شناخته شده باشد ، نمی توان تعیین کرد که کدام عضو در واقع پیامی را ارسال کرده است (آلیس می تواند پیامی را ارسال کند و ادعا کند که این از چارلی است) ، یا ، اگر کلید به سرقت برود ، دزد می تواند پیام هایی را صادر کند که از مالک اصلی این کلید باشد.

هدف چهارم: عدم انکار
فراتر از سه گانه سیا ، یک هدف مهم دیگر رمزنگاری وجود دارد: عدم تکذیب می باشد این بدان معنی است که کسی نمی تواند انکار کند که آنها پیام ارسال کرده اند.
الگوریتم های رمزگذاری با کلیدهای متقارن از همان کلید مخفی برای رمزگذاری و رمزگشایی استفاده می کنند ، بنابراین “گیرنده” یک پیام می تواند آن را ایجاد کند ، ادعا می کند که “فرستنده” آن را ارسال کرده است ، و مشخص نیست که چه کسی حقیقت را می گوید.
الگوریتم های رمزگذاری با کلیدهای نامتقارن، از کلیدهای مختلفی برای رمزگذاری و رمزگشایی استفاده می کنند. دستیابی از کلید عمومی به کلید خصوصی امکان پذیر نیست؛ حتی از طریق مهندسی معکوس ( reverse engineering) به دست آوردن کلید خصوص (private key) از کلید عمومی(public key) غیر ممکن است. این بدان معناست که پیامی که با کلید عمومی رمزگشایی می شود باید توسط مالک کلید خصوصی (یا شخصی که به آن دسترسی دارد) نوشته شده باشد و فرستنده نمی تواند ارسال آن را انکار کند (مگر اینکه در محافظت از کلید خصوصی خود سهل انگار باشند).
قوانین کرکهوف:
آگوست کرکهوف شهرت خود را از پژوهشهای زبانشناسی و کتابهایی که در این خصوص و زبان ولاپوک نوشته بود بدست آورد. او در سال ۱۸۸۳ دو مقاله با عنوان «رمز نگاری نظامی» منتشر کرد. در این دو مقاله شش اصل اساسی وجود داشت که اصل دوم آن به عنوان یکی از قوانین رمز نگاری هنوز هم مورد استفاده دانشمندان در رمز نگاری پیشرفتهاست:
- سیستم رمزنگاری اگر نه به لحاظ تئوری که در عمل غیرقابل شکست باشد.
- سیستم رمز نگاری باید هیچ نکته پنهان و محرمانهای نداشته باشد. بلکه تنها چیزی که سری است کلید رمز است.
- کلید رمز باید به گونهای قابل انتخاب باشد که اولاً بتوان براحتی آن را عوض کرد و ثانیاً بتوان آنرا به خاطر سپرد و نیازی به یاداشت کردن کلید رمز نباشد.
- متون رمز نگاری باید از طریق خطوط تلگراف قابل مخابره باشند.
- دستگاه رمز نگاری یا اسناد رمز شده باید توسط یکنفر قابل حمل و نقل باشد.
- سیستم رمزنگاری باید به سهولت قابل راهاندازی باشد.
خلاصه و نتیجه گیری
در این مقاله به این به تاریخچه علم رمزنگاری پرداختیم و درک کردیم که کریپتوگرافی جز جدایی ناپذیر دنیای دیجیتال است. اما رمزنگاری شاخه های مختلفی دارد که هر کدام از آنها اهداف مختلفی را دنبال میکنند و طراحی هر کدام از الگوریتم های رمزنگاری با یکدیگر متفاوت هستند. که در مقالات آینده به این موضوع می پردازیم.
منابع:
فهرست کتب:
- Hacking Secret Ciphers With Python نویسنده Al Sweigart
- Cryptography: Theory and Practice نویسنده: Doug Stinson
مقالات:
تعریف کریپتولوژیست : به کسی که هم بر روی رمزگذاری و هم رمزگذاری کار میکند کریپتولوژیست گفته می شود. به علم ایجاد کدهای رمزنگاری و شکستن آنها به طور همزمان cryptologyمی گویند
هم بر روی رمزگذاری و هم رمزگشایی احتمالا صحیح باشد
با سلام
بسیار ممنونیم بابت دقت و زمانی که گذاشتید
اصلاح شد