کریپتوگرافی در ارزهای دیجیتال چیست؟
«رمزنگاری» یا کریپتوگرافی (Cryptography) از سالیان پیش در زندگی ما بوده و به شیوههای مختلفی نمود پیدا کرده است. این رمزنگاری با استفاده از الگوریتمهای ریاضی، یکی از شیوههای امنیتی زمان قدیم بوده که بهوسیله آن رمزنگاریها و رمزگشاییها انجام شده است.
به عنوان مثال، در جنگ جهانی دوم آلمانها از ماشین «انگیما» (Engima) برای رمزنگاری پیامهایی که بینشان ردوبدل میشد، استفاده میکردند. سه فرد لهستانی در سال ۱۹۳۲، رمز انیگما را شکستند و درست ۵ هفته قبل از جنگ، اخبار را در اختیار انگلیس و فرانسه گذاشتند؛ اما با شروع جنگ جهانی، آلمانها همواره در حال تغییر رمز این ماشین بودند، بههمیندلیل لهستانیها دیگر نمیتوانستند کاری از پیش ببرند چرا که روش آنها دیگر عمل نمیکرد!
فردی به نام «الن تورینگ»، نابغه ریاضیدان قرن بیستم، اقدام به ساخت ماشین «بامبی» نمود که تحولی عظیم در دنیای رمزنگاری ایجاد کرد؛ کار تورینگ و ساخت ماشین بامبی یکی از اصلیترین دلایل شکست آلمان و پایان جنگ جهانی شد. حتی چرچیل به پادشاه انگلیس گفته بود که جنگ را به برکت همین رمزنگاری پیروز شدهاند.
تاریخ به ما نشان میدهد که در تمام دوران ردپایی از علم رمزنگاری و کریپتوگرافی وجود داشته که این روزها با داغ شدن بازار ارزهای دیجیتال، این علم بهسوی ارزهای دیجیتال نیز رفته و تغییرات بسزایی را در آنها ایجاد کرده است.
کریپتوگرافی یا رمزنگاری چیست؟
منظور از «رمزنگاری» یا کریپتوگرافی (Cryptography) به رمز درآوردن یک پیام یا داده است تا از اشخاص متفرقه در امان بماند. بهطورکلی در رمزنگاری، فرستنده پیغام مورد نظر را توسط کلیدها و الگوریتمهای خاصی، مخفی یا رمزنگاری میکند و آن را به گیرنده میفرستد که میتواند آن را توسط الگو و کلید اولیهای که در اختیار دارد، رمزگشایی کند.
روشهای مختلفی برای اعمال رمزنگاری بر روی دادهها یا اطلاعات وجود دارد؛ برای مثال قبل از دوران مدرن تکنولوژی، انتقال دادهها با استفاده از تغییر حروف در پیامها انجام میشد؛ مثلا پیامی که انتقال دو کلمه NRGEE SRGAS را به عهده دارد با استفاده از تغییر حروف که بر اساس سیاست رمزنگاری است، GREEN GRASS خوانده میشود. این موضوع مفهومی اساسی بر اساس اصول رمزنگاری است.
مفهوم رمزنگاری از گذشته تا به امروز یکسان بوده و تنها ابزار آن عوض شدهاند. به مرور زمان، روشهای پیادهسازی رمزنگاری برای دادهها بهصورت قابل توجهی پیچیدهتر شده است. امروزه رمزگذاری دادهها توسط کامپیوتر و فرمولهای ریاضی پیچیده انجام شده و در حال حاضر، از این فناوری برای ارزهای دیجیتال نیز استفاده میشود. دادهها یا اطلاعات، رمزگذاری میشوند تا تنها اشخاص خاصی بتوانند از این اطلاعات خبردار شوند.
چرا وجود کریپتوگرافی در دنیا الزامی است؟
علم کریپتوگرافی به دلیل جلوگیری از به سرقت رفتن اطلاعات و سواستفاده افراد شکل گرفته است. دادهها یا اطلاعات سری میتوانند نظامی، مالی، علمی، ریاضی، پزشکی و… باشند. هرکدام از این صنفها دلایل خود را برای مخفی نگهداشتن اطلاعات دارند.
اگر برخی از اطلاعات به دست افراد سودجو بیفتند ممکن است تهدیدی برای منافع امنیت ملی باشند که میتوان به نمونه کدهای برنامه هستهای یا مراکز نگهداری ویروسهای عفونی و… اشاره نمود که برای حفظ امنیت ملی باید مخفی بمانند. علم رمزنگاری اینجا وارد عمل شده و فقط امکان دسترسی افرادی خاص به این اطلاعات را فراهم مینماید.
کریپتوگرافی و ارزهای دیجیتال
واژهی «کریپتوکارنسی» (Cryptocurrency) ترکیبی از دو کلمه کریپتوگرافی (به معنای رمزنگاری) و کارنسی (به معنای ارز) است. ارزهای دیجیتال به سه دلیل اساسی از رمزنگاری استفاده میکنند: امنیت در انجام تراکنشها در شبکه، کنترل ایجاد واحدهای ارزهای جدید و تأیید انتقال داراییها و توکنها. ارزهای دیجیتال برای دسترسی به این سه هدف از آنچه که در علم رمزنگاری به آن «کلید عمومی» (public key) گفته میشود استفاده میکنند.
پروتکل بیت کوین برای تأمین امنیت شبکه و اطمینان از اعتبار هر معامله از الگوریتم اثبات رمزنگاری استفاده میکند. امضاهای دیجیتالی درصدد تضمین این موضوع هستند که هر کابر فقط میتواند دارایی کیف پول خود را خرج کند و دوبار خرج کردن در آن وجود ندارد. در ارزهای دیجیتال خاص، افراد میتوانند به شبکه بلاک چین دسترسی داشته و قدرت محاسباتی برای دستکاری آن را پیدا کنند و به راحتی قادر به ساخت دوبارهی اطلاعات دیجیتال شوند.
به عنوان مثال، آلیس دو بیت کوین برای باب ارسال میکند، یعنی دو بیت کوین از حساب آلیس کسر و به حساب باب اضافه میشود، تمامی این روندها با امضای دیجیتالی انجام میشود که شانس تقلب و فریب اشخاص در دنیای ارزهای دیجیتال را به صفر نزدیک میکند.
چند نوع رمزنگاری مهم در دنیای رمزارزها وجود دارد که با نامهای «رمزنگاری متقارن» (symmetric encryption) و «رمزنگاری نامتقارن» (asymmetric encryption)، «توابع هش» (hash functions) و «امضاهای دیجیتال» (digital signatures) شناخته میشود، که در ادامه به آنها خواهیم پرداخت.
رمزنگاری متقارن چیست؟
«رمزنگاری متقارن» (Symmetric cryptography) یا کلید رمزگذاری متقارن، نوعی طرح رمزگذاری است که در آن هم برای رمزگذاری و هم برای رمزگشایی پیامها از یک کلید استفاده میشود. از چنین روشی در دهههای گذشته برای رمزگذاری اطلاعات بهصورت گستردهای استفاده میشده است. هدف از آن تسهیل ارتباطات مخفی بین دولتها و نظامیان بوده است. امروزه، از الگوریتمهای کلید متقارن بهطور گسترده در انواع مختلف سیستمهای رایانهای به منظور افزایش امنیت دادهها استفاده میشوند.
طرحهای رمزگذاری متقارن به یک کلید متکی هستند که بین دو یا چند کاربر مشترک است. از همین کلید برای رمزگذاری و رمزگشاییِ به اصطلاح متن کدگذاریشده ساده (که نمایانگر پیام یا دادهای است که رمزگذاری میشود) استفاده میشود. روند رمزگذاری شامل اجرای یک متن ساده (ورودی) از طریق یک الگوریتم رمزنگاری به نام «سایفر» (cipher) است که به نوبه خود متن رمز (خروجی) تولید میکند.
اگر طرح رمزگذاری به اندازه کافی قوی باشد، تنها راه شخص برای خواندن یا دسترسی به اطلاعات موجود در متن رمزنگاری استفاده از کلید مربوطه برای رمزگشایی آن است.
امنیت سیستمهای رمزگذاری متقارن بر این اساس است که حدس زدن کلید مربوطه (که برای حفظ سختی شبکه ۲۸ تا ۳۰ رقمی است)، دشوار است. به عنوان مثال، حدس زدن یک کلید ۱۲۸بیتی، با استفاده از سختافزار رایانه میلیاردها سال به طول میانجامد. هرچه مدت زمان رمزگذاری طولانیتر باشد، شکستن آن دشوارتر میشود. کلیدهایی که طول آنها ۲۵۶بیت است، به طور کلی بسیار امن شناخته شده و از نظر تئوری در برابر حملات هکرها و افراد خرابکار کامپیوتر کوانتومی مقاوم هستند.
دو طرح رمزگذاری متقارن رایج که امروزه مورد استفاده قرار میگیرند، براساس دو الگوریتمِ «بلاک سایفر» (block cipher) و «استریم سایفر» (Stream cipher) هستند. رمزگذاران بلاک دادهها را به بلاکهایی با اندازه ازپیشتعیینشده گروهبندی میکنند و هر بلاک با استفاده از کلید مربوطه و الگوریتم رمزگذاری میشود (به عنوان مثال متن ساده ۱۲۸بیتی در متن رمز ۱۲۸بیتی رمزگذاری شده است). از طرف دیگر، کدهای استریم متن ساده را توسط بلاکها رمزگذاری نمیکنند، بلکه آنها را با افزایش ۱ بیتی رمزگذاری میکنند (متن ساده ۱ بیتی هر بار در متن کدرمزنگاری ۱ بیتی رمزگذاری میشود).
رمزنگاری نامتقارن چیست؟
«رمزگذاری نامتقارن» (asymmetric cryptography) اصلیترین کاربرد رمزنگاری کلید عمومی محسوب میشود. سیستمهای نامتقارن به جای یک کلید، (مانند رمزنگاری متقارن) از دو کلید استفاده میکنند. یکی از کلیدها میتواند بهصورت عمومی (کلید عمومی) به اشتراک گذاشته شود، در حالی که کلید دیگر باید بهصورت خصوصی (کلید خصوصی) نگهداری شود. کلید عمومی رمزنگاری را انجام میدهد و کلید خصوصی رمزگشایی میکند.
الگوریتمهای رمزگذاری نامتقارن پیچیدهتر و کندتر از الگوریتمهای متقارن هستند. از آنجایی که کلیدهای خصوصی و عمومی که در رمزگذاری نامتقارن به کار میروند، تا حدی از نظر ریاضی با هم مرتبط هستند، کلیدها نیز باید به طور قابل ملاحظهای طولانیتر باشند تا سطح امنیتی مشابهی (که توسط کلیدهای متقارن کوتاهتر ارائه میشود)، داشته باشند.
کلید عمومی در کریپتوگرافی چه جایگاهی دارد؟
همانطور که گفته شد به رمزنگاری نامتقارن، کلید عمومی رمزنگاری نیز گفته میشود. در این علم دو کلید عمومی و خصوصی داریم. به طور خیلی کلی، کلید خصوصی، کلید عمومی را میسازد و آدرس عمومی نیز هشِ کلید عمومی است.
هر دو کلید عمومی و خصوصی رمزگذاریشده و شامل مجموعهای تصادفی از اعداد و حروف هستند. به عنوان مثال،HUorgIOJin7U9NO0hjmnhnuU65Gh87 یک کلید خصوصی است! طول این کلیدها به ۳۰ حرف یا عدد میرسد.
میتوان گفت که کلید خصوصی، قفل کلید عمومی پول ارسالشده است. پس تنها کسی که میتواند قفل کلید عمومی را باز کند شخصی است که کلید خصوصی را دارد. برای درک بهتر، صندوق پستی را در نظر بگیرید که هرکسی میتواند داخل آن نامه بیندازد اما فقط پستچی قفل این صندوق را دارد و فقط اوست که میتواند قفل را باز کرده و نامهها را بردارد. علم رمزنگاری هم تقریبا با همین شیوه کار میکند.
هرکسی میتواند پول را به یک آدرس عمومی (صندوق پستی) واریز کند، اما فقط افرادی که دارای کلید خصوصی هستند میتوانند به پول (پستچی) دسترسی پیدا کنند. بنابراین اشخاص در دنیای ارزهای دیجیتال دارای کلیدی هستند که صندوق پستی را باز میکند.
این موضوع به دارندگان ارزهای دیجیتال این امکان را میدهد که ارز را دریافت کنند و فقط خود به آن دسترسی داشته باشند. علم رمزنگاری در کلید عمومی یک شاهکار فناوری است که بهسرعت نیز در حال رشد بوده و تغییرات اساسی را در صنعت پرداخت آنلاین بهوجود آورده است.
امضای دیجیتال (Digital Signature) چیست؟
امضای دیجیتال مکانیزم رمزنگاری است که برای تأیید صحت و یکپارچگی دادههای دیجیتال استفاده میشود. امضای دیجیتال نسخه دیجیتالی امضاهای دستنویس معمولی است، اما با پیچیدگی و امنیتی بالاتر. این امضاها زیرمجموعهای از رمزنگاری نامتقارن هستند.
به زبان ساده، ممکن است یک امضای دیجیتالی را به عنوان کدی توصیف کنیم که به پیام یا سندی متصل است. پس از تولید، کد به عنوان اثبات عدم دستکاری پیام در طول مسیر خود از فرستنده به گیرنده عمل میکند.
امضاهای دیجیتالی با کلیدهای عمومی (کریپتوگرافی نامتقارن) که در بالا به شرح آن پرداختیم، مربوط به علم رمزنگاری میشوند.
هش چیست؟
«هش» (Hash) به فرایند تولید یک خروجی با اندازهای ثابت از یک ورودی با اندازهای متغیر اشاره دارد. این کار با استفاده از فرمولهای ریاضی معروف به «توابع هش» (Hash functions) انجام میشود. بهطورمثال اگر یک ورودی بارها به تابع هش داده شود، نتیجه آن یک خروجی یکسان با طول مشخص است، حال اگر این ورودی حتی به شکلی جزئی عوض شود، خروجی نیز به کل متفاوت خواهد شد.
توابع هش توابعی یک طرفه هستند که به این معنا است که با داشتن خروجی، نمیتوان ورودی اولیه را پیدا کرد. به طور کلی هرچه یافتن ورودی سختتر باشد، این هش ایمنتر است.
اگرچه تمام عملکردهای هش محدود به رمزنگاری نیست، اما در رابطه با ارزهای دیجیتال، توابع هشِ رمزنگاری اهمیت دارند. بهلطف آنها بلاک چینها و سایر سیستمهای توزیعشده میتوانند به سطح قابل توجهی از یکپارچگی و امنیت دادهها دست یابند.
توابع هش مختلف خروجیهایی با اندازههای متفاوت تولید میکنند، اما اندازههای خروجی برای هر الگوریتم هش همیشه ثابت است. به طور مثال، الگوریتم SHA-256 (الگویی که در بیت کوین استفاده میشود) میتواند خروجیهایی به طول ۲۵۶ بیت تولید کند، در حالی که SHA-1 همیشه یک خروجی ۱۶۰بیتی ایجاد میکند.
برای فهم بهتر بیایید کلمات Binance و binance را از طریق این دو الگوریتم ببینیم.
SHA-256
Output (256 bits)
| Input
|
f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191
| Binance |
59bba357145ca539dcd1ac957abc1ec5833319ddcae7f5e8b5da0c36624784b2
| binance |
SHA-1
Output (160 bits) | Input |
7f0dc9146570c608ac9d6e0d11f8d409a1ee6ed1 | Binance |
e58605c14a76ff98679322cca0eae7b3c4e08936 | binance |
قابل ذکر است، کلمه SHA مخفف «الگوریتمهای ایمن هش» (Secure Hash Algorithms) است. این کلمه به مجموعهای از توابع هش رمزنگاری اشاره دارد که شامل الگوریتمهای SHA-0 و SHA-1 به همراه گروههای SHA-2 و SHA-3 است.
SHA-256 ،SHA-512 و انواع دیگر، بخشی از گروه SHA-2 است. در حال حاضر، فقط گروههای SHA-2 و SHA-3 ایمن در نظر گرفته شدهاند.
توابع هش رمزنگاری چه هستند؟
تابع هشی که تکنیکهای رمزنگاری را به کار میبرد، ممکن است به عنوان یک «تابع هش رمزنگاری» (Cryptographic hash functions) تعریف شود. به طور کلی، شکستن عملکرد هش رمزنگاری نیاز به تلاشهای طاقت فرسا دارد.
برای اینکه شخص یک عملکرد هش رمزنگاری را «برگرداند» (Revert)، باید با استفاده از آزمون و خطا حدس بزند که ورودی مربوطه چه بوده است. با این وجود، امکان تولید ورودیهای مختلف دقیقا با یک خروجی مشابه نیز وجود دارد که در این صورت «برخورد» (Collision) رخ میدهد.
از نظر فنی، یک عملکرد هش رمزنگاری نیاز به پیروی از سه ویژگی دارد تا ایمن در نظر گرفته شود:
- مقاومت در برابر برخورد: برای یافتن هر دو ورودی متمایز که یک هش خروجی را تولید میکنند، غیرممکن است.
- مقاومت در برابر تصویر: برای «برگرداندن» عملکرد هش (یافتن ورودی از یک خروجی معین) غیرقابل اجرا است.
- مقاومت قبل از تصویر دوم: برای یافتن ورودی دوم که با ورودی مشخص برخورد میکند غیرقابل اجرا است.
سخن پایانی
علم رمزنگاری در تمام دوران با بشریت بوده که یا گذشت زمان پیچیدهتر شده و کاربردهای مهمتری پیدا کرده است. لزوم وجود علم رمزنگاری در دنیای ما به شدت واضح است.
ما در هر دوران و هر شرایطی به این علم عجیب و کاربردی نیاز خواهیم داشت به همین دلیل است که فناوریهای جدید مثل ارزهای دیجیتال نیز از این علم استفاده میکنند. رمزنگاری ایدهای عالی برای حفظ امنیت داراییهای دیجیتال کاربران است.
برای دریافت مشاوره تخصصی رایگان از کارشناسان ما، اطلاعات خواسته شده رو تکمیل فرمایید.