رمزنگاری چیست؟
رمزنگاری عملی است برای محافظت از اطلاعات از طریق استفاده از الگوریتمهای کدگذاری شده، هشها و امضاها. اطلاعات میتواند در حالت سکون (مانند یک فایل روی هارد دیسک)، در حال انتقال (مانند ارتباطات الکترونیکی مبادله شده بین دو یا چند طرف) یا در حال استفاده (در حین محاسبات روی دادهها) باشد. رمزنگاری چهار هدف اصلی دارد:
- محرمانگی: اطلاعات را فقط برای کاربران مجاز در دسترس قرار میدهد.
- یکپارچگی: اطمینان حاصل میکند که اطلاعات دستکاری نشدهاند.
- احراز هویت: اصالت اطلاعات یا هویت یک کاربر را تأیید میکند.
- انکارناپذیری: از انکار تعهدات یا اقدامات قبلی توسط یک کاربر جلوگیری میکند.
رمزنگاری از تعدادی الگوریتم رمزنگاری سطح پایین برای دستیابی به یک یا چند مورد از این اهداف امنیت اطلاعات استفاده میکند. این ابزارها شامل الگوریتمهای رمزگذاری، الگوریتمهای امضای دیجیتال، الگوریتمهای هش و سایر توابع هستند. این صفحه چند مورد از رایجترین الگوریتمهای رمزنگاری سطح پایین را شرح میدهد.
رمزنگاری برای چه مواردی استفاده میشود؟
ریشههای رمزنگاری در ارسال اطلاعات حساس بین شخصیتهای نظامی و سیاسی است. پیامها میتوانستند رمزگذاری شوند تا برای هر کسی جز گیرنده مورد نظر، متنی تصادفی به نظر برسند.امروزه، تکنیکهای اصلی رمزگذاری به طور کامل شکسته شدهاند. آنها به حدی شکسته شدهاند که فقط در بخشهای پازل برخی از روزنامهها یافت میشوند. خوشبختانه، این حوزه پیشرفتهای عمدهای در امنیت داشته است و الگوریتمهای مورد استفاده امروزه برای امنیت خود به تجزیه و تحلیل دقیق و ریاضیات متکی هستند.با پیشرفت امنیت، حوزه رمزنگاری برای شامل طیف وسیعتری از اهداف امنیتی گسترش یافته است. این اهداف شامل احراز هویت پیام، یکپارچگی دادهها، محاسبات امن و موارد دیگر است.رمزنگاری پایه و اساس جامعه مدرن است. این پایه و اساس برنامههای کاربردی بیشماری در اینترنت از طریق پروتکل انتقال ابرمتن امن (HTTPS)، ارتباطات متنی و صوتی امن و حتی ارزهای دیجیتال است.
رمزگذاری چیست؟
یک الگوریتم رمزگذاری، روشی است که یک پیام متن ساده را به یک متن رمزگذاری شده تبدیل میکند. الگوریتمهای مدرن از ریاضیات پیشرفته و یک یا چند کلید رمزگذاری استفاده میکنند. این امر رمزگذاری یک پیام را نسبتاً آسان و رمزگشایی آن را بدون دانستن کلیدها تقریباً غیرممکن میکند.تکنیکهای رمزگذاری بر اساس نحوه عملکرد کلیدهایشان به دو دسته تقسیم میشوند: متقارن و نامتقارن.
رمزنگاری کلید متقارن چیست؟
الگوریتمهای رمزنگاری کلید متقارن از کلیدهای رمزنگاری یکسان برای رمزگذاری متن ساده و رمزگشایی متن رمزگذاری شده استفاده میکنند. رمزگذاری متقارن مستلزم آن است که همه گیرندگان مورد نظر پیام به یک کلید مشترک دسترسی داشته باشند.تصاویر زیر نشان میدهند که چگونه رمزگذاری و رمزگشایی با کلیدها و الگوریتمهای متقارن کار میکنند، با این فرض که همه طرفها کلید یکسانی را به اشتراک میگذارند.در تصویر اول، یک کلید و الگوریتم متقارن برای تبدیل یک پیام متن ساده به متن رمزگذاری شده استفاده میشود. تصویر دوم نشان میدهد که همان کلید مخفی و الگوریتم متقارن برای تبدیل متن رمزگذاری شده به متن ساده استفاده میشود.یکی از محبوبترین رمزهای بلوکی، استاندارد رمزگذاری پیشرفته (AES) است. این رمز بلوکی از کلیدهای ۱۲۸، ۱۹۲ یا ۲۵۶ بیتی پشتیبانی میکند. AES اغلب با حالت گالوا/شمارنده (GCM) ترکیب میشود و به عنوان AES-GCM شناخته میشود تا یک الگوریتم رمزگذاری احراز هویت شده ایجاد کند.AES استاندارد صنعتی برای رمزگذاری انجام شده در سراسر جهان است. امنیت آن به خوبی درک شده است و پیاده سازیهای نرم افزاری و سخت افزاری کارآمد به طور گستردهای در دسترس هستند.
رمزنگاری نامتقارن (کلید عمومی) چیست؟
رمزنگاری نامتقارن (یا کلید عمومی) از مجموعه گستردهای از الگوریتمها تشکیل شده است. این الگوریتمها بر اساس مسائل ریاضی هستند که انجام آنها در یک جهت نسبتاً آسان است، اما معکوس کردن آنها به راحتی امکانپذیر نیست.یک مثال معروف از این نوع مسئله، مسئله فاکتورگیری است: برای اعداد اول با دقت انتخاب شده p و q، میتوانیم حاصل ضرب N=p*q را به سرعت محاسبه کنیم. با این حال، با توجه به فقط N، بازیابی p و q بسیار دشوار است.یک الگوریتم رمزنگاری کلید عمومی رایج مبتنی بر مسئله فاکتورگیری، تابع Rivest-Shamir-Adleman (RSA) است. هنگامی که با یک طرح پدینگ مناسب ترکیب شود، RSA میتواند برای اهداف متعدد، از جمله رمزگذاری نامتقارن، استفاده شود.یک طرح رمزگذاری، نامتقارن نامیده میشود اگر از یک کلید – کلید عمومی – برای رمزگذاری دادهها و یک کلید متفاوت اما از نظر ریاضی مرتبط – کلید خصوصی – برای رمزگشایی دادهها استفاده کند.تعیین کلید خصوصی باید از نظر محاسباتی غیرممکن باشد اگر تنها چیزی که فرد میداند کلید عمومی باشد. بنابراین، کلید عمومی میتواند به طور گسترده توزیع شود در حالی که کلید خصوصی مخفی و امن نگه داشته میشود. این کلیدها با هم به عنوان یک جفت کلید شناخته میشوند.یک طرح رمزگذاری نامتقارن محبوب، RSA-OAEP است که ترکیبی از تابع RSA با طرح پدینگ Optimal Asymmetric Encryption Padding (OAEP) است. RSA-OAEP معمولاً فقط برای رمزگذاری مقادیر کمی از دادهها استفاده میشود زیرا کند است و متنهای رمزگذاری شدهای دارد که بسیار بزرگتر از متن ساده هستند.
رمزگذاری ترکیبی چیست؟
از آنجایی که الگوریتمهای کلید عمومی مانند RSA-OAEP کارآمدی کمتری نسبت به همتایان متقارن خود دارند، معمولاً برای رمزگذاری مستقیم دادهها استفاده نمیشوند. با این حال، آنها با ارائه وسیلهای برای تبادل کلید، نقش مهمی در اکوسیستم رمزنگاری ایفا میکنند. برای استفاده از رمزگذاری متقارن، طرفها باید یک کلید را به اشتراک بگذارند. اگرچه این کلید میتواند از طریق یک کانال رمزگذاری شده موجود ارسال شود، اگر قبلاً یک کانال امن داشتیم، نیازی به کلید جدید نداشتیم. در عوض، مسئله تبادل کلید را با استفاده از رمزنگاری کلید عمومی حل میکنیم.
در اینجا دو روش رایج برای تبادل کلیدهای متقارن آورده شده است.
- رمزگذاری نامتقارن: یک طرف یک کلید متقارن تولید میکند، سپس کلید را با استفاده از الگوریتمی مانند RSA-OAEP برای کلید عمومی طرف دیگر رمزگذاری میکند. گیرنده میتواند متن رمزگذاری شده را با استفاده از کلید خصوصی خود برای بازیابی کلید متقارن رمزگشایی کند.
- تبادل کلید دیفی-هلمن (DH): دیفی-هلمن نوع دیگری از الگوریتم رمزنگاری کلید عمومی است که به طور خاص برای کمک به طرفها برای توافق بر روی یک کلید متقارن در غیاب یک کانال امن طراحی شده است. دیفی-هلمن بر اساس مسئله ریاضی متفاوتی نسبت به تابع RSA است و انعطافپذیری کمتری نسبت به RSA دارد. با این حال، ساختارهای کارآمدتری دارد که آن را در برخی موارد استفاده ترجیح میدهند.
این ترکیب رمزنگاری کلید عمومی برای تبادل کلید و رمزگذاری متقارن برای رمزگذاری دادههای حجیم به عنوان رمزگذاری ترکیبی شناخته میشود.
رمزگذاری ترکیبی از ویژگیهای منحصر به فرد رمزنگاری کلید عمومی برای تبادل اطلاعات مخفی از طریق یک کانال غیرقابل اعتماد با کارایی رمزگذاری متقارن استفاده میکند. این امر یک راه حل عملی end-to-end برای حفظ حریم خصوصی دادهها را محقق میکند. رمزگذاری ترکیبی به طور گسترده در پروتکلهای انتقال داده برای وب، مانند امنیت لایه انتقال (TLS) استفاده میشود. هنگامی که به وب سایتی متصل میشوید که از HTTPS (HTTP امن با TLS) استفاده میکند، مرورگر شما الگوریتمهای رمزنگاری را که اتصال شما را ایمن میکنند، مذاکره میکند. این الگوریتمها شامل الگوریتمهایی برای تبادل کلید، رمزگذاری متقارن و امضاهای دیجیتال هستند.
امضای دیجیتال چیست؟
طرحهای امضای دیجیتال نوعی رمزنگاری کلید عمومی هستند که یکپارچگی، اصالت و انکارناپذیری دادهها را تضمین میکنند.فرایند امضا را میتوان تقریباً مانند رمزگذاری فایل با استفاده از کلید خصوصی در نظر گرفت. امضاکننده از کلید خصوصی خود برای تولید “امضا” روی یک سند دیجیتال مانند یک فایل یا یک قطعه کد استفاده میکند.این امضا برای جفت سند/کلید خصوصی منحصر به فرد است و میتواند به سند ضمیمه شود و با کلید عمومی امضاکننده تأیید شود. دو الگوریتم رایج برای امضاهای دیجیتال، RSA با طرح امضای احتمالی (RSA-PSS) و الگوریتم امضای دیجیتال (DSA) هستند.
کد احراز هویت پیام چیست؟
کد احراز هویت پیام (MAC) نسخه متقارن امضای دیجیتال است. با MAC، دو یا چند طرف یک کلید را به اشتراک میگذارند. یک طرف یک برچسب MAC، که نسخه متقارن امضای دیجیتال است، ایجاد میکند و آن را به سند ضمیمه میکند. طرف دیگر میتواند یکپارچگی پیام را با استفاده از همان کلیدی که برای ایجاد برچسب استفاده شده است، تأیید کند.توجه داشته باشید که چندین طرف کلید مورد استفاده برای ایجاد برچسبهای MAC را به اشتراک میگذارند، بنابراین MACها نمیتوانند برای احراز هویت یا انکارناپذیری استفاده شوند زیرا مشخص نیست کدام طرف برچسب را ایجاد کرده است.MACها میتوانند الگوریتمهای مستقل باشند، مانند کد احراز هویت پیام مبتنی بر هش (HMAC). با این حال، از آنجایی که یکپارچگی پیام تقریباً همیشه یک تضمین ارزشمند است، اغلب در الگوریتمهای رمزگذاری متقارن مانند AES-GCM ادغام میشود.
رمزنگاری منحنی بیضوی چیست؟
رمزنگاری منحنی بیضوی (ECC) یک تکنیک رمزنگاری کلید عمومی است که بر اساس نظریه ریاضی منحنیهای بیضوی است.بزرگترین مزیت ECC این است که میتواند سطح حفاظتی مشابهی را با تکنیکهای سنتیتر، اما با کلیدهای کوچکتر و عملیات سریعتر ارائه دهد. کارایی ECC آن را برای استفاده در دستگاههایی با قدرت محاسباتی نسبتاً پایین، مانند تلفنهای همراه، مناسب میسازد.ECC میتواند برای تبادل کلید کارآمد با استفاده از یک نوع منحنی بیضوی دیفی-هلمن (ECDH) یا برای امضاهای دیجیتال با استفاده از الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA) استفاده شود. به دلیل سرعت و انعطافپذیری، ECC به طور گسترده در بسیاری از برنامههای کاربردی در سراسر اینترنت استفاده میشود.
هش کردن در رمزنگاری چیست؟
یک تابع هش رمزنگاری، ابزاری برای تبدیل دادههای دلخواه به یک “اثر انگشت” با طول ثابت است. توابع هش به گونهای طراحی شدهاند که یافتن دو ورودی متفاوت که اثر انگشت یکسانی دارند، دشوار است و یافتن پیامی که اثر انگشت آن با یک مقدار ثابت مطابقت دارد، دشوار است.برخلاف طرحهای رمزگذاری، طرحهای امضا و MACها، توابع هش کلید ندارند. هر کسی میتواند هش یک ورودی معین را محاسبه کند و تابع هش همیشه خروجی یکسانی را در ورودی یکسان تولید میکند.توابع هش یک بلوک ساختمانی مهم در الگوریتمها و پروتکلهای رمزنگاری بزرگتر هستند. این موارد شامل الگوریتمهای امضای دیجیتال، الگوریتمهای اختصاصی MAC، پروتکلهای احراز هویت و ذخیرهسازی رمز عبور است.
ارز دیجیتال چیست؟
ارز دیجیتال یک ارز دیجیتال است که در آن تراکنشها توسط یک سیستم غیرمتمرکز، نه توسط یک مرجع متمرکز، تأیید و سوابق نگهداری میشوند. ارز دیجیتال نمونهای از کاربرد رمزنگاری است.ارز دیجیتال از بسیاری از الگوریتمهای رمزنگاری سطح پایین مختلف برای ایجاد یک پلتفرم قابل اعتماد و امن استفاده میکند. ارز دیجیتال از بسیاری از مفاهیم مورد بحث در این صفحه – رمزنگاری منحنی بیضوی، امضاهای دیجیتال، توابع هش و بسیاری موارد دیگر – استفاده میکند. این الگوریتمها با هم، امکان ایجاد اعتماد و پاسخگویی را بدون یک مرجع متمرکز فراهم میکنند.
رمزنگاری پساکوانتومی چیست؟
در چند دهه گذشته، سرمایهگذاری قابل توجهی در محاسبات کوانتومی انجام شده است. رایانههای کوانتومی از فیزیک کوانتومی استفاده میکنند و میتوانند مسائل ریاضی، مانند مسئله فاکتورگیری، را حل کنند که از نظر محاسباتی برای رایانههای کلاسیک غیرممکن است.یک رایانه کوانتومی در مقیاس بزرگ، سیستمهای رمزنگاری کلید عمومی را که امروزه استفاده میکنیم، از جمله سیستمهای رمزنگاری مبتنی بر توابع Rivest-Shamir-Adleman (RSA)، را میشکند. شکست در این الگوریتمها به معنای از دست دادن محرمانگی و احراز هویت بسیاری از برنامهها و پروتکلهایی است که امروزه استفاده میکنیم.اگرچه رایانههای کوانتومی کوچک امروزه وجود دارند، اما برای شکستن الگوریتمهای رمزنگاری بسیار کوچک هستند. مشخص نیست که آیا یا چه زمانی یک رایانه کوانتومی مرتبط با رمزنگاری (CRQC) در دسترس قرار خواهد گرفت. پیشرفتهای علمی قابل توجهی برای توسعه یک CRQC ضروری است.رمزنگاری پساکوانتومی (PQC) به الگوریتمهای رمزنگاری اشاره دارد که روی رایانههایی که امروزه استفاده میکنیم اجرا میشوند و در برابر یک رایانه کوانتومی در مقیاس بزرگ آسیبپذیر نیستند.درباره مشارکت تحقیقاتی و مهندسی AWS در پروژهها و گروههای کاری رمزنگاری مقاوم در برابر کوانتوم با جامعه رمزنگاری جهانی در رمزنگاری پساکوانتومی AWS بیشتر بیاموزید.
محاسبات رمزنگاری چیست؟
ابزارهای معرفی شده تا کنون به شما امکان میدهند از رمزگذاری در حالت سکون و رمزگذاری در حال انتقال استفاده کنید. به طور سنتی، دادهها باید قبل از استفاده در یک محاسبه رمزگشایی میشدند. محاسبات رمزنگاری این شکاف را با ارائه ابزارهایی برای عملیات مستقیم روی دادههای محافظت شده رمزنگاری پر میکند.اصطلاح محاسبات رمزنگاری طیف گستردهای از فناوریها از جمله محاسبات چند جانبه امن، رمزگذاری همومورفیک و رمزگذاری قابل جستجو را پوشش میدهد. اگرچه این فناوریها در جزئیات متفاوت هستند، اما دادهها را به گونهای از نظر رمزنگاری محافظت میکنند که به شما امکان میدهد محاسبات را روی دادههای محافظت شده انجام دهید و در عین حال محرمانگی آن دادهها را حفظ کنید.