آموزشنگاهی عمیق تر

مفهوم کلی رمزنگاری و کریپتوگرافی (Cryptography)

رمزنگاری چیست مقدمه‌ای بر مفاهیم رمزنگاری؟ (Cryptography)

رمزنگاری یکی از قدیمی ترین و در واقع مهمترین ابزارهای امنیت اطلاعات می باشد. واژه Crypto برگرفته از یک کلمه یونانی به معنای مخفی (Hidden) می باشد. که سالیان پیش برای مخفی کردن محتوای پیامها و نامه ها استفاده می‌شد. استفاده از رمزنگاری محدود به دوران گذشته نیست. در جنگ جهانی دوم آلمان های نازی از ابزاری تحت عنوان رمزنگار انیگما استفاده می کردند تا پیام های محرمانه خود را رمزنگاری کنند. 

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

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

روش‌های ابتدایی رمزنگاری:

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

روش جابجایی حروف:

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

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

مثلاً در  جمله “در هوای بارانی  حمله را آغاز می‌کنیم”:

  به وضوح مشخص است که حرف “الف” به تعداد بیشتری نسبت به سایر حروف تکرار گردیده است.  به این روش کشف رمز تحلیل فراوانی گفته می شود.

برای رفع  ایراد روش  رمزنگاری سزار، بعدها از توزیع فراوانی حروف یکنواخت استفاده شد تا شکستن رمز دشوارتر شود.

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

مثلا کلمه “آسیاب” را در نظر بگیرید. حرف “آ” عدد یک، حرف “س” عدد پانزده و …  را به خود اختصاص می داد. که در نهایت عدد بدست آمده از کلمه رمز همان عدد رمزنگاری می باشد.

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

از این روش در جنگ جهانی اول نیز برای  رمزنگاری پیام ها  استفاده می گردیده است .

روش های نوین رمزنگاری اطلاعات:

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

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

همین امر باعث شد که در جنگ جهانی دوم انگلیسی ها، ماشین رمزنگاری انیگمای آلمان های نازی را  که شبیه یک دستگاه تایپ ساده بود رمزگشایی کنند.

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

روش های محاسباتی و عددی: 

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

به طور مثال :

256

آن را در خودش ضرب کرده و سپس اعداد میانی حاصلضرب را انتخاب می کنیم:

256 X 256 = 65536

و مجدد در هم ضرب می کنیم:

553 X 553 = 305809

زنجیره بوجود آمده از این روش : 5530580

این روش یکی از اولین روشهای الگوریتم تولید عدد تصادفی می باشد. 

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

رمزنگاری متقارن و نامتقارن

روش رمزنگاری متقارن

در این روش فرستنده و گیرنده پیام، دارای یک کلید رمز می باشند، کلید رمز قبل از ارسال پیام ( به صورت فیزیکی در قدیم و امروزه به صورت دیجیتال )، بین طرفین رد و بدل می شود.  مشکل بزرگ این روش در قدیم این بود که اگر دو شخص دیگر را نمی‌شناختند نمی‌توانستند کلید فیزیکی را دریافت کنند. که البته امروزه به کمک سرور های کامپیوتری این مشکل رفع شد.

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

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

رمزنگاری و بلاک چین:

کاربرد های رمزنگاری تنها به ارسال پیام ها محدود نمی شود امروزه با واژه بلاک چین و رمز ارزها بسیار آشنا هستیم. چرا که رمز ارزها امروزه بازار بسیار بزرگی را تشکیل داده اند و میلیاردها دلار سرمایه، شبانه روز در این بازار مبادله می گردد. اما قبل از آنکه به بازارهای  رمز ارزها بپردازیم  بهتر است مفهوم بلاک چین را مرور کنیم.

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

روش متصل شدن بلاک چین ها توسط الگوریتم های رمزنگاری به یکدیگر از مهمترین کاربردهای رمزنگاری در بلاک چین می باشد.

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

بلاک چین ها از چه روش های رمزنگاری استفاده می‌کند:

 روش اول : رمزنگاری کلید نامتقارن

 روش دوم:  الگوریتم های هشینگ یا درهم سازی

 در اینجا بهتر است الگوریتمهای  هشینگ یا درهم سازی را با هم بررسی کنیم:

 الگوریتم های درهم سازی با استفاده از رمزنگاری نمایی از یک بلاک چین را  به وجود می‌آورند که نشانگر آن بلاک چین می باشد، بدون آنکه محتوای آن را فاش سازد. از مهم ترین الگوریتم های درهم سازی که کاربرد بسیار زیادی در بلاک چین ها دارد الگوریتم sha 256  و یاripemd 160  می باشد.

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

 رمز ارزها

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

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

البته در بلاک چین ها و رمز ارزها از امضای دیجیتال نیز استفاده میگردد . وظیفه امضای دیجیتال این است که تراکنش ها را اعتبار بخشد به گونه‌ای که حضور شخص سوم را کاملاً غیر ممکن کرده و تراکنش را ایمن می کند.

کیف پول های دیجیتال نیز از امضای دیجیتال استفاده می کنند تا بتوانند در کنار استفاده از کلید خصوصی امنیت تراکنش را دوچندان کند.

جمع بندی:

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

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

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

نوشته های مشابه

دکمه بازگشت به بالا