رمزنگاری یا Encryption چیست ؟
همانطور که در پاراگراف اول نیز اشاره کردیم فرآیند رمزنگاری یا Encryption به تبدیل کردن داده ها به قالبی که فقط افراد مجاز می توانند آن را مشاهده کنند گفته می شود ، در این تبدیل قالب داده تبدیل شده را در اصطلاح Cipher-Text می نامیم. فرآیند رمزنگاری یا Encryption دارای قدمت چند هزار ساله می باشد و به انواع و اقسام روش ها از آسان تا سخت طبقه بندی می شود. مهمترین نکته ای که در خصوص رمزنگاری وجود دارد این است که فرآیند رمزنگاری شما متناسب با اندازه و مقدار داده های شما می باشد و با اضافه شدن میزان داده های اطلاعاتی به الگوریتم های رمزنگاری طبیعتا Cipher-Text های خروجی نیز دارای اندازه متناسبی می باشند.
شما برخلاف الگوریتم های درهم سازی یا Hashing در الگوریتم های رمزنگاری یا Encryption می توانید از داده های رمزنگاری شده داده های خود را بیرون بیاورید و به این عملیات رمزگشایی یا Decryption گفته می شود. در فرآیند رمزگشایی شما حتما باید به عنوان یک کاربر مجاز کلید رمزگشایی الگوریتم رمزنگاری متناظر را بایستی داشته باشید تا بتوانید فرآیند رمزگشایی را به درستی انجام دهید. الگوریتم رمزنگاری یا Encryption ای به عنوان الگوریتم رمزنگاری قوی شناخته می شود که بدون داشتن کلید رمزگشایی نشود به داده های آن دسترسی پیدا کرد.
انواع و اقسام الگوریتم های رمزنگاری وجود دارد که مهمترین طبقه بندی آنها الگوریتم های رمزنگاری متقارن و نامتقارن هستند ، در الگوریتم های رمزنگاری متقارن همان کلیدی که برای رمزنگاری استفاده شده است برای رمزگشایی نیز استفاده می شود اما در الگوریتم های رمزنگاری نامتقارن یا PKI از دو کلید عمومی و خصوصی برای رمزنگاری و رمزگشایی استفاده می شود که از درجه امنیت بسیار بالایی برخوردار است.
تفاوت Hashing و Encryption در چیست ؟
درهم سازی داده ها یا Hashing به یک فرآیند یک طرفه گفته می شود که در آن هر نوع داده خروجی در نهایت تبدیل به یک رشته داده خروجی با یک اندازه ثابت می شود که به آن Hash Value یا مقدار تابع درهم سازی گفته می شود. شما نمی توانید از یک Hash Value داده خود را برداشت کنید زیرا این نوع الگوریتم ها کاملا یک طرفه هستند و بیشتر برای تسریع فرآیند جستجو و اطمینان از صحت داده ها در هنگام انتقال مورد استفاده قرار می گیرند. الگوریتم هایی مثل MD و SHA از انواع الگوریتم های درهم سازی یا Hashing هستند که بیشترین استفاده را دارند.
رمزنگاری یا Encryption به تبدیل داده ها به قالبی گفته می شود که فقط برای کاربران مجاز قابل مشاهده باشد و هیچ کاربر غیرمجازی نتواند داده واقعی را مشاهده کند. به داده ای که رمزنگاری شده باشد در اصطلاح Cipher-Text گفته می شود ، اندازه داده ای که رمزنگاری می شود با حجم داده ورودی آن تا حدود زیادی یکسان است و شما می توانید از داده های رمزنگاری شده داده خود را خارج کنید که به این فرآیند رمزگشایی گفته می شود. الگوریتم های رمزنگاری بصورت کلی به دو دسته متقارن با یک کلید برای رمزنگاری و همان کلید برای رمزگشایی و نامتقارن که دارای دو کلید عمومی و خصوصی برای رمزنگاری و رمزگشایی می شوند تقسیم بندی می شود.
تفاوت الگوریتم های رمزنگاری
همان طور که گفته شد، امروزه الگوریتم های رمزنگاری متعددی در جهان وجود دارند که هرکدام برای وظایف خاصی مورد استفاده قرار می گیرند. تفاوت الگوریتم های رمزنگاری را می توان به زبان ساده در دو مشخصه ی اصلی مشاهده کرد. آن ها در میزان حفاظت از داده و پیام اصلی و همچنین سرعت و بازدهی در رمزنگاری و رمزگشایی از هم متمایز می شوند.
برای مقایسه ی سرعت الگوریتم های رمزنگاری گوناگون، می توان از ابزار بنچمارکی استفاده کرد که در TrueCrypt عرضه می شود. بررسی های بنچمارک نشان می دهد که AES هنوز بالاترین سرعت را در رمزنگاری دارد. به هرحال الگوریتم های دیگر ازلحاظ قدرت یا سرعت، مزایا و معایبی نسبت به روش استاندارد دارند و انتخاب از میان آن ها، به نیاز و کارایی کاربر وابستگی زیادی دارد. به عنوان مثال یک کاربر می تواند برای رمزنگاری مرسوم داده های خود از الگوریتم های سریع تر استفاده کرده یا داده را، دو بار با یک الگوریتم رمزنگاری کند. درنهایت، اگر تنها به دنبال سرعت هستید، AES انتخابی عالی خواهد بود.
اگر به دنبال بنچمارک عمیق تر روش های رمزنگاری هستید، دانشگاه سنت لوئیس یک بررسی کامل بین الگوریتم های کنونی انجام داده است که در این لینک دردسترس قرار دارد.
انواع رمزنگاری
تمامی الگوریتم های رمزنگاری را می توان در دو دسته ی کلی تقسیم بندی کرد. درواقع تفاوت اصلی الگوریتم ها در همین دسته بندی مشخص می شود و دیگر تفاوت ها به روش توسعه ی الگوریتم بستگی پیدا می کنند.
- الگوریتم های دارای کلیدهای متقارن (Symmetric) که از کلیدهای رمزگشایی مرتبط با مشابه برای رمزنگاری و رمزگشایی استفاده می کنند.
- الگوریتم های دارای کلیدهای نامتقارن (Asymmetric) که از کلیدهای متفاوت برای رمزنگاری و رمزگشایی استفاده می کنند. این نوع رمزنگاری به نام Public-Key هم شناخته می شود.
الگوریتم رمزنگاری با کلید متقارن
برای درک الگوریتم های رمزنگاری، مثال های ملموس بهترین ابزارها هستند. مثال پیام رسانی با پست، اغلب برای توضیح دادن الگوریتم ها استفاده می شود که ما هم در این بخش از همان استفاده می کنیم.
فرستنده، پیام محرمانه ی خود را داخل یک جعبه می گذارد و در آن را با قفلی مخصوص می بندد که کلیدش را دراختیار دارد. گیرنده، یک نمونه مشابه همان کلید را دراختیار دارد که قبلا به هر روشی (مثلا حضوری) ازفرستنده گرفته است. او با استفاده از کلید، جعبه را باز می کند و پیام را می خواند.
الگوریتم های رمزنگاری متقارن، به دو دسته ی رمزنگاری دنباله ای و رمزنگاری بلوکی تقسیم می شوند. در رمزنگاری دنباله ای، تمامی بیت های پیام به یک باره رمزنگاری می شوند. در رمزنگاری بلوکی یا قالبی، یک بلوک شامل تعداد مشخصی بیت (اغلب ۶۴ بیت) رمزنگاری می شود. انواع گوناگونی از الگوریتم های رمزنگاری متقارن وجود دارند که ازمیان مشهورترین ها می توان به موارد زیر اشاره کرد:
- Twofish
- Serpent
- AES
- Blowfish
- CAST5
- RC4
- TDES
- IDEA
مزایای الگوریتم رمزنگاری متقارن
رمزنگاری متقارن به خاطر ساده بودن و سرعت عمل، محبوبیت زیادی دارد. استفاده از کلید مشابه برای رمزنگاری و رمزگشایی، فرایند را ساده و سریع می کند. درنتیجه، می توان ادعا که رمزنگاری متقارن:
- سربیع تر از رمزنگاری نامتقارن است.
- نیاز به قدرت پردازشی کمتری دارد.
- باعث کاهش سرعت نمی شود.
به خاطر همین مزایای بالا، در رمزنگاری داده های بسیار حجیم، استفاده از رمزنگاری متقارن پیشنهاد می شود.
روش کار مشهورترین الگوریتم های متقارن
همان طور که گفته شد، انواع الگوریتم های متقارن در دنیای فناوری دردسترس کاربران قرار دارد. DES که از قدیمی ترین استانداردها محسوب می شود، در دسته ی متقارن قرار می گیرد و اصول آن، پایه های توسعه ی استانداردهای بعدی را شکل داد. DES از کلیدی ۵۶ بیتی (یا هفت بایتی) برای رمزنگاری استفاده می کند و ساختار آن براساس ساختار فایستل (دستاورد رمزنگاری مشهور، هورست فارستل) توسعه یافته است.
در الگوریتم DES، داده های شامل متن ساده با طول ۶۴ بیتی در یک بلوک رمزنگاری می شوند. ابتدا داده به دو بخش ۳۲ بیتی تقسیم شده و سپس فرایند رمزنگاری روی هریک از آن ها به صورت مجزا اجرا می شود. فرایند مذکور شامل ۱۶ مرحله است که در آن ها، انواع عملیات ریاضی روی داده صورت می گیرد. درنهایت داده های ۶۴ بیتی رمزنگاری شده به عنوان خروجی از الگوریتم به دست می آیند. از نقط ضعف اصلی DES که منجر به منسوخ شدن آن شد، می توان به کوتاه بودن کلید رمزنگاری اشاره کرد. بسیاری از متخصصان امنیت موفق به شکستن رمز DES شدند که درنهایت منسوخ شدن آن را در سال ۲۰۰۵ به همراه داشت.
نسخه ی بهبودیافته ی DES به نام 3DES معرفی شد. این الگوریتم از دهه ی ۱۹۹۰ به شهرت رسید و به نوعی برخی از ساختارهای DES را بهینه می کرد. همان طور که از نام الگوریتم 3DES بر می آید، در فرایندهای رمزنگاری آن، سه بار الگوریتم DES را در هر بلوک داده اجرا می کنند. درنتیجه شکستن رمز، دشوارتر خواهد بود. الگوریتم 3DES پس از مدتی به عنوان استاندارد محبوب در سیستم های پرداخت و استانداردها و فناوری های حوزه ی مالی استفاده شد. از همین الگوریتم در بسیاری از پروتکل های رمزنگاری همچون TLS, SSH, IPsec و OpenVPN استفاده شد.
DES و 3DES پس از شکسته شدن رمزها توسط متخصصان امنیت، منسوخ شدند
تمامی الگوریتم های رمزنگاری پس از مدتی با بحران نفوذ روبه رو می شوند. 3DES هم بالاخره به همین چالش دچار شد و متخصصان امنیت با پیدا کردن آسیب پذیری موسوم به Sweet32 امکان نفوذ به آن را پیدا کردند. درنتیجه متخصصان دیگر به دنبال راه های بهینه برای رمزنگاری رفتند و در سال ۲۰۱۹، الگوریتم 3DES هم منسوخ شد. طبق اعلامیه ی جدید سازمان های استاندارد، اپلیکیشن هایی که از سال ۲۰۲۳ توسعه پیدا می کنند، حق استفاده از 3DES را ندارند. پروتکل استاندارد TLS 1.3 نیز دیگر از 3DES استفاده نمی کند.
همان طور که قبلا گفتیم، استاندارد پیشرفته ی AES به عنوان جایگزین بهینه ی الگوریتم های رمزنگاری منسوخ معرفی شده است. رمزنگاری AES شامل مجموعه ای از رمزهای قالبی می شود که کلیدهای رمزی با طول متفاون و همچنین بلوک هایی با ابعاد متقاوت دارد.
الگوریتم AES براساس اصول جابه جایی و تعویض کار می کند. ابتدا داده به صورت متن ساده به بلوک های متعدد تقسیم می شود. سپس با استفاده از کلید رمزنگاری، فرایند رمزنگاری روی بلوک ها اعمال می شود. خود فرایند رمزنگاری دارای چندین زیر فرایند است که فعالیت های گوناگونی را روی داده ها انجام می دهند. بسته به طول کلید رمزنگاری، ۱۰ یا ۱۲ یا ۱۴ مرحله از زیرفرایندها روی داده اعمال می شود.
از مزیت های الگوریتم پیشرفته ی AES می توان به سرعت و امنیت و انعطاف پذیری آن اشاره کرد. الگوریتم جدید، سرعتی بسیار بیشتر از DES دارد و تفاوت در طول کلیدها، بهترین مزیت امنیتی آن محسوب می شود. فراموش نکنید که هرچه طول کلیدها بیشتر باشد، رمزگشایی دشوارتر خواهد بود. AES امروز به عنوان پرکاربردترین الگوریتم رمزنگاری شناخته می شود و در موارد زیر، کاربرد بسیار زیادی دارد:
- امنیت ارتباط های بی سیم
- امنیت پردازنده و رمزنگاری فایل ها
- پروتکل های امنیت وب سایت SSL و TLS
- امنیت وای فای
- رمزنگاری اپلیکیشن های موبایل
- ابزارهای VPN
بسیاری از سازمان های امنیتی و دولتی در سرتاسر جهان ازجمله آژانس امنیت ملی ایالات متحده (NSA) از رمزنگاری AES استفاده می کنند.
الگوریتم رمزنگاری با کلید نامتقارن
در مثال رمزنگاری نامتقارن، گیرنده و فرستنده ی پیام دو قفل متفاوت با کلیدهای منحصربه فرد دارند. درواقع برخلاف روش متقارن، از یک قفل با کلیدهای مشابه متعدد، خبری نیست. در ادامه، توضیحی نسبتا ساده از روش پیاده سازی الگوریتم را شرح می دهیم. البته به خاطر ذات پیچیده ی رمزنگاری، همین مثال ساده هم کمی پیچیده به نظر می رسد.
فرستنده، ابتدا از گیرنده می خواهد که قفل مخصوص خود را برای او بفرستد. سپس فرستنده پیام را در جعبه ای می گذارد و با قفل مخصوص گیرنده آن را قفل می کند. پس از ارسال پیام با پست معمولی و در جعبه ی قفل شده، فقط گیرنده امکان بازکردن پیام را خواهد داشت، چون کلید مخصوص را دراختیار دارد. حتی خود فرستنده هم پس از قفل کردن جعبه، امکان بازکردن آن را نخواهد داشت. درنتیجه در چنین نوعی از پیام رسانی، پیش از ارسال پیام، باید قفل مخصوص گیرنده را دراختیار داشته باشید.
مزیت الگوریتم رمزنگاری نامتقارن
مزیت حیاتی رمزنگاری غیرمتقارن این است که هیچ یک از دوطرف فرستنده و گیرنده، الزامی برای اشتراک گذاری کلیدهای اختصاصی خود ندارند. درواقع آن ها کلیدهای شخصی را نزد خود نگه می دارند و تنها قفل ها جابه جا می شوند. فراموش نکنید که همان جابه جا کردن کلید مشترک در رمزنگاری متقارن، احتمال جاسوسی و سرقت اطلاعات را افزایش می داد. تصور کنید که گیرنده و فرستنده برای تبادل کلیدهای مشترک، از سرویس پست معمولی استفاده کنند و یک نفر دراین میان، کلید مشترک را کپی کند. او می تواند تمامی پیام های بعدی را رمزگشایی کند. نکته ی مهم دیگر این است که اگر مثلا گیرنده در رمزنگاری نامتقارن، کلید شخصی خود را کم کند، تنها پیام های او قابل جاسوسی خواهند بود. درواقع پیام های فرستنده برای دیگر افراد، قابل خواندن نیستند، چون هرکدام با قفل مخصوص همان گیرنده فرستاده می شوند.
همان طور که گفته شد، در رمزنگاری نامتقارن از کلیدهای متفاوت در رمزنگاری و رمزگشایی استفاده می شود. گیرنده ی پیام، دو نوع کلید عمومی و خصوصی ایجاد می کند (Public و Private). او سپس کلید عمومی را برای فرستنده های پیام ارسال می کند. آن ها با استفاده از کلید عمومی، پیام های ارسالی را رمزنگاری می کنند. پس از دریافت پیام، تنها گیرنده ی اصلی امکان رمزگشایی را دارد و آن کار را با کلید خصوصی خودش انجام می دهد.
مزیت اصلی رمزنگاری متقارن در این است که برای استفاده از الگوریتم، هیچ گونه پیام یا کلید حساس و امنیتی جابه جا نمی شود. کلیدهای خصوصی که برای رمزگشایی پیام ها استفاده می شوند، مخصوص گیرنده هستند و او هیچ نیازی به اشتراک گذاری کلید با فرستنده ها ندارد. کلیدهای عمومی به راحتی برای دیگران ارسال می شوند و نیازی به امن بودن ندارند. درمقابل کلید خصوصی را می توان به راحتی در محلی امن در کامپیوتر شخصی نگه داری کرد.
روش کار الگوریتم های مشهور رمزنگاری نامتقارن
از روش های مرسوم و مشهور رمزنگاری نامتقارن می توان به RSA و ECC اشاره کرد که در ادامه هرکدام را بررسی می کنیم.
الگوریتم RSA حاصل همکاری سه متخصص به نام های Ron Rivest, Adi Shami و Leonard Adleman بود که از ابتدای نام خانوادگی خود برای نام الگوریتم استفاده کرده و آن را در سال ۱۹۷۷ معرفی کردند. امروزه RSA به عنوان پرکاربردترین الگوریتم رمزنگاری نامتقارن شناخته می شود. قدرت اصلی الگوریتم مذکور را می توان در روش موسوم به Prime Factorization دید که به عنوان پایه های آن استفاده می شود. در این روش، از دو عدد بسیار بزرگ تصادفی استفاده می شود که برای ساختن یک عدد عظیم تصادفی، در هم ضرب می شوند. برای شکستن رمزهای RSA باید دو عددی که کلید نهایی و عظیم را ساخته اند، شناسایی کنید.
الگوریتم های نامتقارن، قابلیت های هویت سنجی را هم به فرایند اضافه می کنند
با نگاهی به کلیت مسئله به این نتیجه می رسیم که حل کردن آن و پیدا کردن دو عدد اصلی، غیرممکن خواهد بود. البته محققان در سال ۲۰۱۰ توانستند با ۱،۵۰۰ سال زمانی پردازشی (که بین صدها کامپیوتر توزیع شده بود)، رمز RSA-768 را بشکنند. فراموش نکنید که امروزه از RSA با کلیدهای ۲۰۴۸ بیتی استفاده می شود و درواقع می توان شکستن آن ها را غیرممکن دانست.
از مزیت های الگوریتم RSA می توان به مقیاس پذیری عالی آن اشاره کرد. الگوریتم مذکور را می توان با کلیدهایی با طول متنوع از ۷۶۸ و ۱۰۲۴ تا ۲۰۴۸ و ۴۰۹۶ استفاده کرد. درنتیجه زمانی که کلیدهای کوچک تر شکسته شوند، می توان با افزایش قابل توجه طول کلید، فرایند رمزنگاری را پیچیده تر کرد.
الگوریتم RSA از یک عملیات ریاضی ساده استفاده می کند. درنتیجه پیاده سازی آن در روش های نامتقارن ساده خواهد بود. همین سادگی و پیاده سازی سریع باعث شده است که امروزه RSA بیش از همه ی الگوریتم ها در رمزنگاری نامتقارن مورد استفاده قرار بگیرد. از حوزه های استفاده ی RSA می توان به مجوزهای اینترنتی SSL و TLS، رمزارزها و رمزنگاری ایمیل ها اشاره کرد.
الگوریتم مشهور دیگر در دسته ی نامنقارن، ECC نام دارد که در سال ۱۹۸۵ توسعه یافت. Neal Koblitz و Victor S. Miller، توسعه دهنده های الگوریتم بودند که استفاده از منحنی های بیضوی را در رمزنگاری پیشنهاد دادند. ایده ی آن ها حدود دو دهه بعد و در سال ۲۰۰۴ به نام ECC یا Elliptic Curve Cryptography وارد فاز اجرایی شد. در فرایند رمزنگاری ECC، یک منحنی بیضوی تعدادی از نقاط را نشان می دهد که در یک معادله ی ریاضیاتی، صادق هستند (y2 = x3 + ax + b). الگوریتم ECC هم مانند RSA بر مبنای اصول بازگشت ناپذیری عمل می کند. به بیان ساده، انجام محاسبات در یک سمت برای رسیدن به جواب، ساده است؛ اما برعکس کردن معادله و رسیدن به داده های ورودی اولیه، بسیار دشوار خواهد بود.
در الگوریتم ECC، عددی که یک نقطه را روی منحنی نمایش می دهد، در عددی دیگر ضرب شده و به نقطه ای دیگر روی منحنی تبدیل می شود. برای حل مسئله ، باید نقطه ی جدید را روی منحنی پیدا کنید. مفاهیم ریاضیاتی ECC به گونه ای طراحی شده اند که حتی با داشتن نقطه ی اولیه و اصلی هم نمی توان نقطه ی جدید را پیدا کرد.
از مزایای ECC در مقایسه با RSA می توان به امنیت بسیار بالاتر اشاره کرد که با استفاده از کلیدهای بسیار کوتاه تر، سطح امنیتی برابری را ارائه می کند. درنتیجه با استفاده از کلیدهای بلند در ECC، شکستن رمزها تقریبا غیرممکن می شود. مزیت کوتاه تر بودن کلیدهای ECC در افزایش سرعت و بهره وری فرایندهای رمزنگاری دیده می شود. کلیدهای کوتاه تر، به قدرت پردازشی و فشار شبکه ای کمتری نیاز دارند. در موقعیت هایی که از ECC در پروتکل های SSL/TLS در وب سایت ها استفاده می شود، شاهد بارگذاری سریع تر خواهیم بود. از کاربردهای ECC می توان به رمزنگاری اپلیکیشن ها، امضاهای دیجیتال و کاربردهای مشابه اشاره کرد. البته درحال حاضر تعداد زیادی از سرورها از ECC پشتیبانی نمی کنند و باید منتظر توسعه ی اپلیکیشن های مناسب و هماهنگ باشیم.
رمزنگاری ترکیبی: رمزنگاری متقارن درکنار نامتقارن
رمزنگاری هیبریدی یا ترکیبی، از مزیت های دو روش متقارن و نامتقارن استفاده می کند تا بازدهی هرچه بیشتر را به همراه داشته باشد. همان طور که در مثال های بالا دیدید، روش های متقارن و نامتقارن درکنار مزیت های زیاد، معایب خاص خود را هم دارند. به عنوان مثال، رمزنگاری متقارن با وجود سرعت بالا در رمزنگاری داده های حجیم، بخش هویت سنجی و اعتبار منحصربه فرد را پوشش نمی دهد که خصوصا در امنیت در اینترنت حیاتی محسوب می شود. درمقابل، رمزنگاری نامتقارن با اختصاص دادن کلیدهای مخصوص به هر کاربر، هویت سنجی و امنیت بالا را به همراه دارد؛ اما در کاربردهای سنگین و حجیم، سرعت و عملکرد بسیار پایینی را ارائه می کند.
در بسیاری از کاربردها، خصوصا در امنیت وب، به رمزنگاری داده های حجیم با سرعت بالا نیاز داریم. به علاوه، هویت سنجی هم باید در تمامی فرایندها صورت بگیرد تا امنیت هر کاربر تضمین شود. در چنین مواردی، رمزنگاری هیبریدی یا ترکیبی به کار گرفته می شود.
حفظ امنیت ارتباط های وب با رمزنگاری
از سال ها پیش، پروتکل SLL یا Secure Sockets Layer، تبادل های تحت وب بین مرورگر کاربر و سرورها را رمزنگاری می کند. با این کار، اگر فردی در میانه ی ارتباط ها نفوذ کند، امکان رمزگشایی داده ها را نخواهد داشت. روش کار SSL که از الگوریتم نامتقارن استفاده می کند، جذاب و ساده است.
ابتدا مرورگر در آدرس امن https یک صفحه ی امن را از سرور تقاضا می کند. سپس کلید عمومی سرور به همراه مجوز آن به مروگر ارسال می شود. مرورگر، اعتبار مجوز سرور را به همراه ارتباط و وابسته بودن مجوز به سرور اصلی، بررسی می کند. سپس مرورگر از کلید عمومی دریافت شده استفاده می کند. این کلید برای رمزنگاری یک کلید رمزنگاری متقارن استفاده می شود. در مرحله ی بعدی، کلید ساخته شده با آدرس URL رمزنگاری شده و دیگر داده ها به سرور ارسال می شوند. سرور ابتدا با استفاده از کلید خصوصی خود، کلید رمزنگاری متقارن را رمزگشایی می کند. درنهایت این کلید متقارن برای رمزگشایی URL و داده های دیگر به کار گرفته می شود. در مرحله ی پایانی، اسناد html مورد تقاضای مرورگر و داده های دیگر که با کلید متقارن مرورگر رمزنگاری شده اند، ارسال می شوند. مرورگر با رمزگشایی داده ها به کمک کلید متقارن، آن ها را نمایش می دهد.
رمزنگاری امروزه به عضوی حیاتی در دنیای فناوری تبدیل شده است. تقریبا تمامی فرایندهایی که شامل جابه جا کردن داده می شوند، به رمزنگاری نیاز دارند تا هویت و امنیت کاربران در فضای سایبری تأمین شود. همان طور که دیدید، تکنیک های نفوذ به الگوریتم های رمزنگاری هم در طول سال ها تکامل یافته اند. به همین دلیل هیچ الگوریتمی را نمی توان تا همیشه امن دانست. ازطرفی با جدی تر شدن احتمال عرضه و استفاده از کامپیوترهای کوانتومی، روش های رمزنگاری کنونی بیش از همیشه در معرض خطر قرار دارند. شاید در آینده ای با حضور کامپیوترهای کوانتومی، الگوریتم های رمزنگاری کوانتومی هم توسعه پیدا کنند.