کریپتوگرافی چیست به زبان ساده؟ علم رمزنگاری چگونه در حوزه ارزهای دیجیتال استفاده میشود؟ مزایا و معایب استفاده از کریپتو گرافی چه مواردی هستند؟
کریپتوگرافی (cryptography) یا رمزنگاری دانشی است که به عنوان یک علم در تاریخ وجود داشته و در اشکال مختلفی مورد استفاده قرار میگیرد. بشر از زمانیکه امنیت در اطلاعات را نیاز اساسی خود دانست، به سمت توسعه این علم حرکت کرد. در cryptography نحوه ذخیره و حفاظت از هر نوع اطلاعاتی مورد بررسی قرار میگیرد.
به کمک رمزنگاری افراد میتوانند از اطلاعات خود محافظت کرده و از سرقت آن جلوگیری کنند. در دهه گذشته دانش رمزنگاری در حوزه سرمایه گذاری نیز ورود پیدا کرده است. کریپتوگرافی پایه و اساس رمز ارزها و دنیای کریپتوکارنسی را تشکیل میدهد. در این مقاله قصد داریم همه چیز درباره علم کریپتو گرافی را بررسی کنیم.
کریپتوگرافی چیست به زبان ساده
کریپتوگرافی (cryptography) یک علم است که در آن نحوه ساخت نقل و انتقالات امن اطلاعات و دادهها برای جلوگیری از ورود شخص ثالث بررسی میشود. رمزنگاری برای اطمینان از اینکه پیامها میتوانند به صورت امن بین فرستنده و گیرنده رد و بدل شوند، مورد استفاده قرار میگیرد. علم رمزنگاری به صورت پیوسته در حال تکامل است و با پیشرفت فناوری و تکنولوژی، روشها و نظریههای بهتری برای ذخیره و ارسال اطلاعات طراحی میکند.
رمزنگاری از طریق الگوریتمها و کدهای مشخص برای دادهها انجام میشوند. یکی از رایجترین روشهای رمزنگاری، تبدیل دادههای ورود به خروجیهای رمزنگاری است. این روش در بیشتر پایگاه دادهها و شبکهها اجرا میشود که در آن اطلاعات ورودی توسط یک الگوریتم پردازش میشود و سپس به یک خروجی رمزنگاری شده تبدیل میگردد. خروجی ایجاد شده هیچ مشخصاتی از اطلاعات رد و بدل شده را نمایش نمیدهد و به همین دلیل بسیاری از خرابکاران و هکرها نمیتوانند به اطلاعات اولیه دسترسی پیدا کنند.
روشهای رمزنگاری از سازوکارهای مختلفی تشکیل شدهاند اما همه آنها برای چهار هدف کلیدی مشترک هستند. این اهداف موارد زیر هستند:
- اطلاعات باید محرمانه نگه داشته شوند و تنها گیرنده باید بتواند پیام را رمزگشایی و بررسی کند.
- دادههای ارسالی بین فرستنده و گیرنده نباید تغییر کند. در واقع یکپارچگی دادهها باید حفظ شود.
- گیرنده باید بتواند فرستنده را احراز هویت کند و منبع ارسال دادهها را تشخیص دهد.
- فرستنده نباید قادر به انکار ارسال داده باشد. در واقع باید رمزنگاری جوری انجام شود که فرستنده بعد از انجام تراکنش، نتواند درباره ارسال یا دریافت اطلاعات دروغ بگوید.
تاریخچه کریپتوگرافی (cryptography)
کریپتوگرافی یا رمزنگاری یک علم بسیار قدیمی محسوب میشود که پیش از میلاد مسیح در بین بشریت رواج پیدا کرده بود. اولین رمزنگاری انجام شده حدود 1900 سال قبل از میلاد و در زمان حاکمان مصر انجام شده است. در آن زمان حاکمان مصری مفاهیم ابتدایی رمزگذاری (Encryption) و رمزگشایی (Decryption) را برای نوشتههای داخل کتیبهها پیاده سازی کردند.
بعد از حاکمان مصری، حدود 1000 سال قبل از میلاد ژنرالهای ارتش رم باستان برای ارسال پیامها از معادلات رمزنگاری استفاده میکردند. معادله رمزنگاری در آن زمان توسط پادشاه رم، یعنی ژولیوس سزار (Julius caesar) طراحی شده بود. سزار برای محرمانه نگه داشتن پیامهای خود به ژنرالها، حروف هر کلمه را 3 واحد جابجا میکرد تا راهزنان و جاسوسان نتوانند آن را مطالعه کنند.
بعد از رم باستان، در قرن شانزدهم میلادی جیوان باتیستا (Giovan Battista)، رمزنگار جوان توانست با ساخت دستگاه ویژنر (vigenere) امکان ارسال مخفیانه پیامها را ممکن کند. این دستگاه از دکمههای مختلفی تشکیل شده بود و به کمک آن افراد میتوانستند پیامهای محرمانه داخل نامه را به کمک این دستگاه رمزنگاری کنند. بعد از این دستگاه، در قرن نوزدهم، دستگاهی به نام هبرن hebren طراحی و ساخته شده است. هبرن برای هر پیام میتوانست سازوکاری مشخص تعیین کند و به کمک توابع تعریف شده در داخل خود، پیامها را رمزنگاری نماید.
آلمانهای نازی به کمک همین برنامه توانسته بودند سخت افزاری برای رمزگذاری پیامهای خود ایجاد کنند. بعد از آن، آلن تورینگ (Alan Turing) با طراحی یک ماشین سخت افزاری کامپیوتری، توانست اولین چارچوب یک سیستم کامپیوتری را طراحی کند و به کمک آن الگوهای رمزهای داخل پیامهای نازیها را کشف کرد. برملا شدن الگوریتمهای داخل پیام نازیها، یکی از اصلیترین دلایل شکست آنها در جنگ جهانی دوم بود.
بعد از پیدایش کامپیوترها، سازوکار رمزنگاری کاملا فرق کرد. افراد دیگر نیازی به استفاده از دستگاههای دارای رمزنگاری فیزیکی ندارند و میتوانند با استفاده از کدهای کامپیوتری، الگوریتمهای پیچیدهای برای حفاظت از دادهها ایجاد کنند. امروزه کریپتوگرافی بیشتر در دنیای اینترنت مطرح میشود. دلیل این موضوع، وجود حجم وسیعی از اطلاعات در داخل شبکههای اینترنتی است که هر کدام باید برای جلوگیری از حمله خرابکاران، چارچوبها و سازوکارهای مشخصی را تنظیم کنند.
انواع کریپتوگرافی کدامند؟
روشهای مختلفی برای کریپتوگرافی اطلاعات وجود دارد. هر کدام از روشها برحسب نوع داده و میزان محافظت از آن، دارای سطوح پیچیدگی متفاوتی هستند. به صورت کلی 3 نوع الگوریتم رمزنگاری تا به امروز ایجاد شده است. این الگوریتمها موارد زیر هستند:
1. رمزنگاری متقارن (symmetric)
رمزنگاری متقارن که به نام رمزنگاری کلید مخفی نیز شناخته شده، روشی است که در آن فرستنده و گیرنده اطلاعات از یک کلید واحد برای ارسال اطلاعات استفاده میکند. در واقع فرستنده و گیرنده هر دو از طریق یک کلید مشترک اطلاعات را برای یکدیگر ارسال میکنند. معمولا کلید مشترک توسط نهاد یا شرکت ناظری ساخته میشود و تراکنشها در سایه نهادهای ثالث اتفاق میافتند.
روش کریپتوگرافی متقارن امنیت بسیار کمی نسبت به سایر روشها دارد. زمانیکه فرستنده و گیرنده تنها از یک کلید واحد استفاده کنند، امکان نفوذ خرابکاران یا هکرها به آن کلید بسیار زیاد است. در واقع کلید مشترک که میتواند یک شبکه، لینک یا از این دسته موارد باشد؛ اگر الگوریتم مناسبی برای کدگذاری اطلاعات در خود نداشته باشد، هکرها به راحتی میتوانند در آن نفوذ کرده و در تراکنشها دستکاری کنند.
2. رمزنگاری غیر متقارن (Asymmetric)
رمزنگاری نامتقارن، که به رمزنگاری کلید عمومی نیز معروف است، یکی از روشهای محبوب حوزه کریپتوگرافی محسوب میشود که در آن کاربران به جای استفاده از یک کلید مشترک، از دو کلید برای حفاظت از اطلاعات استفاده میکنند. در این روش دو کلید عمومی و خصوصی برای اطلاعات کاربران تعریف میشود. افراد از طریق کلید عمومی میتوانند با سایر کاربران و شبکهها ارتباط برقرار کنند و دیتاهای مختلفی رد و بدل نمایند.
کلید خصوصی بخش مهمتری نسبت به کلید عمومی است. کاربران از طریق کلید خصوصی، میتوانند به اطلاعات خود دسترسی داشته باشند و آن را تغییر دهند. کلیدهای عمومی همانند شماره کارت بانکی و کلیدهای خصوصی همانند رمز عبور کارتهای بانکی امروزی عمل میکنند.
3. توابع هش (Hash functions)
توابع هش، یکی از بهترین ابزارهای ایجاد شده در حوزه کریپتوگرافی به حساب میآید. هش به توابعی گفته میشود که میتواند دیتای ورودی را پردازش کند و برحسب آن، دیتاهای خروجی منحصر به فردی به کاربر نشان دهد. در توابع هش، هر نوع اطلاعات و دیتایی میتواند به عنوان ورودی تابع در نظر گرفته شود. اما خروجی تابع از طریق هش ایجاد میشود و کاملا منحصر به فرد است.
خروجی توابع هشینگ معمولا طوری انتخاب میشوند که امکان برگشت در آنها وجود نداشته باشد. در واقع توابع هش دیتاهای ورودی را طوری رمزنگاری میکنند که هکرها نتوانند از طریق آنها هیچ اطلاعاتی از دادههای ورودی کاربران دریافت کنند. در حال حاضر توابع هش به صورت گسترده در شبکههای بلاکچینی مورد استفاده قرار میگیرد.
کریپتوگرافی در ارزهای دیجیتال
ارزهای دیجیتال به ارزهایی گفته میشوند که تحت بستر یک بلاکچین ایجاد شدهاند و امکان انجام تراکنشهای غیر متمرکز را برای کاربران فراهم میکنند. ارزهای دیجیتال به کمک تکنولوژی دفتر کل توزیع شده، ساختاری غیرمتمرکز دارند و هیچ نهاد متمرکزی بر روی تراکنشها در این شبکهها نظارت نمیکند. ارزهای دیجیتال با حذف نهادهای واسطه، پردازش تراکنشها را بر عهده خود کاربران قرار دادهاند.
تیم توسعه رمز ارزها برای ایجاد امنیت بالا، از تکنیکهای مختلف کریپتوگرافی برای ساخت الگوریتمهای رمزنگاری استفاده کردهاند. اولین بار ساتوشی ناکاموتو، خالق بیت کوین در سال 2009 با معرفی بلاک چین bitcoin توانست گامی مهم در جهت ساخت دنیای غیر متمرکز بردارد.
ناکاموتو به کمک الگوریتمهای کریپتو گرافی، توانست شبکهای ایمن برای ثبت تراکنشهای مالی ایجاد کند. اولین اقدام ناکاموتو، طراحی امضای دیجیتال برای جلوگیری تقلب در تراکنشهای شبکه بود. کاربران به کمک امضای دیجیتال، هر کدام از تراکنشها را به صورت منحصر به فرد در شبکه ثبت میکنند و دیگر هکرها نمیتوانند با جعل تراکنشها از سایر کاربران دزدی کنند.
ناکاموتو علاوه بر امضای دیجیتال، به کمک توابع هش توانست اولین الگوریتم اجماع را برای ثبت تراکنشها ثبت کند. اگرچه الگوریتم هش مصرف انرژی بالایی دارد، اما یکی از بهترین سازوکارها برای رمزنگاری اطلاعات به حساب میآید. کریپتوگرافی رکن اصلی شبکههای بلاکچینی است. بدون الگوریتم های رمزنگاری، شبکههای بلاک چینی به صورت کامل در معرض خطر خرابکاران قرار میگیرند و کاملا آسیب پذیر میشوند.
مزایای کریپتوگرافی در رمز ارزها
- به کمک رمزنگاری، تمامی اطلاعات مربوط به تراکنشها رمزگذاری میشوند و افراد دیگر نمیتوانند جزئیات آن را مشاهده کنند.
- رمز ارزها تراکنشهای خود را در یک بلاک چین مشخص ذخیره میکنند. با این کار اطلاعات تراکنشها علاوه بر رمزگذاری، از تقلب و جعل در امان است؛ زیرا هر تراکنش کد منحصر به فردی دارد و هکرها نمیتوانند تراکنشی را جعل کنند.
- به کمک الگوریتمهای رمزنگاری، امکان اجرای تراکنشهای غیرمتمرکز بین کاربران ممکن میشود. افراد با استفاده از این الگوریتمها، بدون حضور نهادهای متمرکز میتوانند داراییهای خود را با سایر کاربران رد و بدل کنند.
معایب کریپتوگرافی در رمز ارزها
- فرآیندهای کریپتوگرافی معمولا با محاسبات پیچیده ریاضی همراه هستند. در واقع بلاک چینها برای آنکه بتوانند تراکنشها و دادههای ورودی را رمزنگاری کنند، باید انرژی زیادی را برای اجرای این کار صرف نمایند. مصرف انرژی زیاد شبکه های بلاک چینی میتواند در آینده باعث مشکلات محیط زیستی شود.
- فعالان بازار کریپتوکارنسی معمولا برای ذخیره و حفظ داراییهای خود از کیف پولهای ایمن استفاده میکنند. این کیف پولها با الگوریتمهای مختلفی رمزگذاری شدهاند و کاربران تنها از طریق کلید خصوصی میتوانند به داراییهای خود دسترسی داشته باشند. در صورت گم شدن کلید خصوصی، شخص به هیچ روشی نمیتواند مجدد داراییهای خود را بازیابی کند.
- در حال حاضر الگوریتمهای موجود در شبکههای بلاکچینی به کمک سیستمهای سنتی ساخته شدهاند و تنها در برابر آنها مقاوم هستند. با ظهور رایانش کوانتومی و سخت افزارهای قدرتمند مبنی بر کوانتوم، این الگوریتمها شانسی برای مقاله ندارند و هکرها و خرابکاران به راحتی میتوانند در آنها نفوذ کنند.
بیشتر بخوانید: بلاک چین چیست به زبان ساده و چه کاربردی دارد؟
رمزنگاری کوانتومی، آینده دنیای کریپتو گرافی
تمامی الگوریتمهای رمزنگاری ساخته شده در دنیای امروزی، توسط سیستمها و کامپیوترهای پیشرفته طراحی و ساخته شدهاند که از اطلاعات کاربران محافظت میکنند. در سالهای اخیر، نوع جدیدی از رمزنگاری به نام رمزنگاری کوانتومی (Quantum Cryptography) در حال توسعه است. رمزنگاری کوانتومی سیستمی را پیاده سازی میکند که در آن اطلاعات فرستنده یا گیرنده به صورت کامل محافظت میشوند و هیچ کس نمیتواند کلیدهای عمومی و خصوصی ایجاد شده را حدس بزند.
رمزنگاری کوانتومی از طریق محاسبات کوانتومی ساخته میشود. محاسبات کوانتومی باعث میشود تا دادههای رمزنگاری شده به صورت پویا تغییر کنند. تغییر پویای الگوریتمهای رمزنگاری شده باعث میشود تا هکرها و نهاد ثالث با هیچ روشی نتوانند به اطلاعات موجود در پایگاه دادهها دسترسی پیدا کنند.
الگوریتمهای کوانتومی در صورت اجرا، به راحتی میتوانند الگوریتمهای موجود در شبکههای بلاکچینی را با اختلال مواجه کنند. این الگوریتمها به دلیل قدرت محاسباتی بالا، به راحتی میتوانند کدهای بلوک را هک کنند و اطلاعات را به سرقت ببرند. شرط لازم برای ساخت الگوریتمهای کوانتومی، وجود کامپیوتر یا رایانههای کوانتومی است. این سیستمها به دلیل نبود سخت افزارهای مناسب، هنوز طراحی و ساخته نشدهاند.
سخن پایانی
«کریپتوگرافی به زبان ساده چیست؟» cryptography یا رمزنگاری نوعی علم حفاظت و ذخیره اطلاعات است که در علوم کامپیوتر و دنیای کریپتوکارنسی بسیار کاربرد دارد. ارزهای دیجیتال به کمک الگوریتمهای تعریف شدهای، اطلاعات کاربران را رمزگذاری میکنند تا آنها بتوانند در یک فضایی با حریم خصوصی بالا، تراکنشهای خود را اجرا کنند. ارزهای دیجیتال برای ایجاد امنیت بالا، از کلیدهای عمومی و خصوصی استفاده میکنند. این کار باعث میشود تا دارایی کاربران منحصر به فرد و شفاف باشد و امکان کلاهبرداری در این فضا به شدت کاهش یابد.
رمز ارزها به کمک توابع هشینگ، که نوعی الگوریتم رمزنگاری به حساب میآیند، اطلاعات ورودی مربوط به کاربران و دارایی آنها را دریافت کرده و رمزنگاری میکند. به کمک توابع هشینگ، تراکنشهای انجام شده در شبکه غیرقابل بازگشت است و هکرها نمیتوانند هیچ ارتباطی بین دیتاهای ورودی و خروجی پیدا کنند.
در حال حاضر الگوریتمهای هشینگ ایمنترین روش رمزنگاری به حساب میآیند؛ اما آنها در برابر کامپیوترهای کوانتومی هیچ شانسی ندارند. اگر شبکههای بلاکچینی بخواهند تراکنشها و اطلاعات خود را ایمن نگه دارند، باید در آیندهای نه چندان دور توابع و الگوریتمهای خود را به رمزنگاری کوانتومی تغییر دهند. رمزنگاری کوانتومی امنیت بسیار بالایی در برابر کامپیوترهای کوانتومی دارد و هکرها به هیچ وجه نمیتوانند در آنها نفوذ کنند.
سوالات متداول
رمزنگاری به زبان ساده یعنی چه؟
رمزنگاری یا cryptography از دو کلمه یونانی kryptos به معنی مخفیانه و graphien به معنی نوشتن تشکیل شده است. رمزنگاری شاخهای از علم است که در آن ذخیره اطلاعات و ارسال آنها به صورت امن بررسی میشود.
چگونه وارد حوزه کریپتو گرافی شویم؟
در دنیای امروزی، رمزنگاری یا کریپتوگرافی بیشتر در امنیت سایبری وجود دارد. متخصصان حوزه امنیت باید بتوانند برحسب دانش خود، یک شبکه یا نرم افزار را ایمن نگه دارند و بر طبق الگوریتمها و سازوکارهای تعریف شده، از آن محافظت کنند. برای تبدیل شدن به یک متخصص امنیت سایبری ابتدا باید در حوزههای مفاهیم شبکهها و معماری دیتابیس آموزش ببینید. سپس بعد از آن باید با نوشتن الگوریتمها آشنا شوید تا بتوانید یک سیستم ایمن برای شبکه طراحی و ایجاد کنید.
چند نوع کریپتوگرافی داریم؟
تمامی الگوریتمهای کریپتو گرافی در سه دسته رمزگذاری متقارن (symmetric)، رمزگذاری نامتقارن (asymmetric) و هشینگ (hash function) تقسیم میشوند.