رمزنگاري چيست و چگونه كار ميكند؟ با انواع الگورتيم رمزنگاري آشنا شويد
رمزنگاري تاريخچهاي بسيار طولاني دارد و ميتوان ريشههاي آن را در يونان باستان و امپراطوري روم پيدا كرد. مردمان باستان، پيامهاي خود را بهصورت رمزي و با جابهجا كردن حروف ارسال ميكردند كه تنها با دراختيار داشتن يك كليد امن مخصوص، قابل خواندن بود. امروزه رمزنگاري در اغلب متخصصدهاي دنياي فناوري از پيامرسانهاي شخصي تا حفاظت از دادههاي سازماني و انتقال پول، ديده ميشود. در ادامهي اين مطلب اخبار تخصصي، علمي، تكنولوژيكي، فناوري مرجع متخصصين ايران، علاوه بر مطالعه جنبههاي گوناگون فناوري رمزنگاري، چگونگي پيادهسازي آن را هم شرح ميدهيم.
در مطلب حاضر، ابتدا نگاهي به تاريخچهي رمزنگاري داريم. سپس چگونگي عملكرد الگوريتمهاي رمزنگاري را شرح ميدهيم و در پايان، انواع رمزنگاري را مطالعه ميكنيم.
رمزنگاري چيست؟
رمزنگاري به زبان ساده به فرايندي گفته ميشود كه در آن، يك پيام يا فايل با يك رمز محافظت ميكنيم. با پيادهسازي فرايند، تنها افراد خاصي امكان مشاهدهي پيام يا فايل را خواهند داشت. رمزنگاري ابتدا با رمزگذاري يا به هم ريختن دادهي ورودي (Encrypt) سپس گيرنده، دادهها را با استفاده از يك رمز از حالت بههم ريخته خارج ميكند كه اصطلاحا به آن رمزگشايي (Decrypt) گفته ميشود.
در رمزنگاري، كليدها نقشي اساسي دارند و از زمانهاي دور تا روشهاي مدرن امروزي، انواع كليدهايي كه براي بازكردن رمز پيامها استفاده ميشدند، نقشي حياتي داشتند. امروزه كليدها با استفاده از الگوريتمهاي كامپيوتري ساخته ميشوند كه عملكردي شبيه به ابزارهاي توليد اعداد تصادفي دارند. بهعنوان مثال، برخي از الگوريتمهاي پيچيدهي امروزي از حركت ماوس متخصص براي ساختن عبارتي تصادفي بهعنوان كليد رمزنگاري استفاده ميكنند.
عبارتهاي مرسوم در رمزنگاري
هر فناوري عبارتهايي مخصوص به خود دارد كه آشنايي با معني و متخصصد آنها، در درك مفاهيم مهمتر فناوري نقش مهمي دارد. در ادامه، عبارتهاي مهم رمزنگاري را مطالعه ميكنيم.
كليد (Key): رشتهاي تصادفي از بيتها كه براي به هم ريختن و مرتبط كردن داده (رمزنگاري و رمزگشايي) استفاده ميشود. كليدها منحصربهفرد هستند و بهصورت كاملا تصادفي ساخته ميشوند تا بهراحتي قابل پيشبيني نباشند. هرچه كليدها بلندتر باشند، شكستن آنها دشوارتر خواهد بود. طول مرسوم كليدها در رمزنگاري متقارن، ۱۲۸ بيت و در رمزنگاري نامتقارن، ۲۰۴۸ بيت است (در بخشهاي بعدي، انواع رمزنگاري را توضيح ميدهيم).
رمز (Cipher): الگوريتمي كه براي رمزنگاري و رمزگشايي دادهها استفاده ميشود. درواقع الگوريتم تعدادي مرحله و فرايند است كه پشت سر هم دو نوع الگوريتم بلوكي و دنبالهاي وجود دارند (Block و Stream).
الگوريتم (Algorithm): همان سلسله مراتب و مراحلي است كه در فرايند رمزنگاري امروزه انواع الگوريتمهاي رمزنگاري وجود دارند كه بسته به سطح امنيت و موضوع و حوزهي فعاليت، دستهبندي ميشوند.
رمزگشايي (Decryption): فرايدي كه طي آن يك متن داراي رمز يا دادهي نامفهوم با استفاده از كليد رمزگشايي به دادهي مفهوم تبديل ميشود.
تحليل رمزنگاري (Cryptanalysis): علم مطالعهي رمزها و سيستمهاي رمزنگاري. در متخصصدهاي مجرمانه با استفاده از اين علم ميتوان پس از كشف نقاط ضعف سيستم رمزنگاري، بدون داشتن كليدها به دادهي اصلي دسترسي پيدا كرد. در قديم روشي بهنام تحليل تناوب (Frequency Analysis) متخصصد داشت كه با پيدا كردن تكرار برخي از حروف در پيامها، پيام اصلي را بهنوعي استخراج ميكرد. البته روش مذكور در مقابله با الگوريتمهاي مدرن امروزي كارايي چنداني ندارد.
تاريخچه ابتدايي رمزنگاري
در يونان باستان، از ابزاري بهنام سيتيل (Scytale) براي رمزنگاري آسان پيامها به روش رمزنگاري جابهجايي استفاده ميشد. رمزنگاري جابهجايي با تغيير حروف يك پيام و جابهجا كردن آنها پيامهايي كه بهكمك رمزنگاري ارسال ميشدند، حتي درصورت كشف توسط افراد ديگر و باز شدن، قابل خواندن و تفسير نبودند. البته چنين سبكي از رمزنگاري با كمي تلاش قابل رمزگشايي بود. بههرحال اين روش، بهعنوان اولين روش رمزنگاري در تاريخ شناخته ميشود.
جوليوس سزار، روشي اختصاصي براي رمزنگاري ابداع كرد كه به رمز سزار هم مشهور شد. در اين روش كه از سادهترين راهكارهاي رمزنگاري محسوب ميشود، هر حرف الفبا را به تعداد مشخص به سمت راست يا چپ فهرست حروف جابهجا ميكنند. بهعنوان مثال با رمزنگاري سزار بهصورت جابهجايي چهار جايگاهي حروف انگليسي به سمت راست فهرست، كلمهي GEEK، بهصورت JHHN نوشته ميشود. فرد دريافتكنندهي پيام رمزنگاري شده، تنها با دانستن رمز سزار، يعني همان تعداد موردنياز براي جابهجايي موقعيت حرف، بهراحتي پيام را تفسير ميكرد. افراد ديگر در فهميدن پيام بدون داشتن رمز، با چالش روبهرو ميشدند.
روش رمزنگاري سنتي ديگر، بهنام مربع پوليبيوس شناخته ميشود. اين مربع در سطرها و ستونهاي مشخص، جايگاهي را براي هر حرف مشخص ميكرد. درنتيجه در پيامها بهجاي نوشتن حروف، از اعداد استفاده ميشد. با دسترسي به مربع اصلي كه جايگاه هر حرف را نشان ميداد، امكان رمزگشايي فراهم ميشد.
ماشين انيگما
ارتش نازي در جريان جنگ جهاني دوم از ماشينهاي حرفهاي رمزنگاري موسوم به انيگما استفاده ميكرد. اين ماشينها، چالشهاي زيادي را براي نيروهاي متفقين ايجاد ميكردند و امكان رمزگشايي آنها تقريبا صفر بود. سالها طول كشيد تا دانشمندان جبههي متفقين و در صدر آنها، آلن تورينگ، موفق به رمزگشايي ماشينهاي پيشرفتهي انيگما شوند. مورخان ميگويند رمزگشايي ماشينهاي انيگما، نقشي حياتي در پيروزي متفقين در جريان جنگ جهاني دوم داشته است.
تاريخچه رمزنگاري مدرن
روشهاي مدرن رمزنگاري پيچيدگيهاي بسيار زيادي دارند. توضيح دادن آنها به زبان مرسوم، كمي دشوار بهانديشه متخصصين ميرسد، اما تلاش ميكنيم تا به بهترين نحو، برخي از مفاهيم مرسوم در دنياي رمزنگاري را توضيح دهيم. هارست فيستل و همكارانش در IBM، از اولين افرادي بودند كه رمزنگاري مدرن را در پيامرساني متمركز بر ارتباطهاي الكترونيك توسعه دادند. آنها مفهوم رمزنگارهاي قالبي را مطرح كردند كه روي گروهي از بيتها با طول ثابت (موسوم به بلوك يا قالب) كار ميكنند.
ايالات متحده، در استاندارد كردن روشهاي رمزنگاري پيشگام بود. آنها در سال ۱۹۷۶ ابتدا استاندارد رمزنگاري داده يا DES را بهصورت يك رمزنگار قالبي تصويب كردند. سازمان ملي استاندارد آمريكا، در آن سال DES را بهعنوان استاندارد فدرال پردازش اطلاعات، پذيرفت. در سالها و دهههاي بعد، كشورهاي ديگر بهمرور استاندارد DES را بهكار گرفتند.
استاندارد اوليهي DES بازدهي لازم را براي متخصصان امنيت نداشت. نگرانيهاي امنيتي و سرعت پايين عملكرد، محققان را وادار كرد تا روشهاي مدرن و با بازدهي بالاتري را توسعه دهند. رمزنگارهاي قالبي متعددي در دهههاي ۱۹۸۰ و ۱۹۹۰ توسعه يافتند كه از مهمترين آنها ميتوان به RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 و FEAL اشاره كرد.
انواع الگوريتمهاي رمزنگاري با اهداف و موارد استفادهي گوناگون، سرعت و عملكرد متفاوتي نسبت به هم دارند
با ورود به قرن جديد، لاخبار تخصصي پيادهسازي و استفاده از روشهاي رمزنگاري پيشرفتهتر بيش از هميشه احساس ميشد. DES در رخدادهاي گوناگون رمزگشايي شكست خورده بود و ديگر امنيت آن بهعنوان يك استاندارد جامع، قابل تضمين نبود. وينسنت ريجمن و جان دامن، متخصصان رمزنگاري بودند كه روش جديدي را با امنيت بالاتر توسعه دادند. آنها از تركيب نامهاي خود براي نامگذاري روش جديد استفاده كردند و درنهايت، Rijndael متولد شد. دولت ايالات متحده پس از مدتي اين روش را بهعنوان استاندارد پيشرفتهتر و جديد رمزنگاري تصويب كرد و نام AES يا Advanced Encryption Standard براي آن انتخاب شد. در جريان تصويب روش جديد، ۱۵ الگوريتم ديگر هم حضار بودند تا اينكه درنهايت Rijndael در سال ۲۰۰۱ بهعنوان روش استاندارد انتخاب شد.
تفاوت الگوريتمهاي رمزنگاري
همانطور كه گفته شد، امروزه الگوريتمهاي رمزنگاري متعددي در جهان وجود دارند كه هركدام براي وظايف خاصي مورد استفاده قرار ميگيرند. تفاوت الگوريتمهاي رمزنگاري را ميتوان به زبان ساده در دو مشخصهي اصلي مشاهده كرد. آنها در ميزان حفاظت از داده و پيام اصلي و همچنين سرعت و بازدهي در رمزنگاري و رمزگشايي از هم متمايز ميشوند.
براي مقايسهي سرعت الگوريتمهاي رمزنگاري گوناگون، ميتوان از ابزار بنچماركي استفاده كرد كه در 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 مورد تقاضاي مرورگر و دادههاي ديگر كه با كليد متقارن مرورگر رمزنگاري شدهاند، ارسال ميشوند. مرورگر با رمزگشايي دادهها بهكمك كليد متقارن، آنها را نمايش ميدهد.
رمزنگاري امروزه به عضوي حياتي در دنياي فناوري تبديل شده است. تقريبا تمامي فرايندهايي كه شامل جابهجا كردن داده ميشوند، به رمزنگاري نياز دارند تا هويت و امنيت متخصصان در فضاي سايبري تأمين شود. همانطور كه ديديد، تكنيكهاي نفوذ به الگوريتمهاي رمزنگاري هم در طول سالها تكامل يافتهاند. به همين دليل هيچ الگوريتمي را نميتوان تا هميشه امن دانست. ازطرفي با جديتر شدن احتمال عرضه و استفاده از كامپيوترهاي كوانتومي، روشهاي رمزنگاري كنوني بيش از هميشه در معرض خطر قرار دارند. شايد در آيندهاي با حضور كامپيوترهاي كوانتومي، الگوريتمهاي رمزنگاري كوانتومي هم توسعه پيدا كنند.
سوالات متداول اخبار تخصصي، علمي، تكنولوژيكي، فناوري مرجع متخصصين ايران
رمزنگاري چيست؟
رمزنگاري به فرايند ميگويند كه طي آن يك پيام كه ميتواند شامل هر نوع دادهاي باشد، با استفاده از يك عبارت كه كليد نام دارد، رمزگذاري ميشود. كليد، رشتهاي تصادفي از كاراكترها است كه بهصورت تصادفي توليد ميشود، حال آنكه اين كليد منحصربهفرد نيز هست. فرستنده با استفاده از كليد اقدام به رمزگذاري پيام كرده و گيرنده نيز تنها در صورت در اختيار داشتن كليد قادر به رمزگشايي و خواندن متن پيام خواهد بود.
رمزنگاري چه پيشينهاي در تاريخ بشر دارد؟
اسناد تاريخي نشان از اين دارد كه رمزنگاري به روشهاي ابتدايي از يونان باستان مورداستفاده قرار گرفته است، حتي متدي براي رمزنگاري با عنوان رمز سزار نيز زماني مورد استفاده قرار ميگرفته كه توسط ژوليوس سزار ابداع شده بود. رمزنگاري طي جنگ جهاني دوم با وجود ماشين انيگماي نازيها كه توسط آلن تورينگ رمزگشايي شد، بيشتر بر سر زبانها افتاد و امروز از پيامرسانها تا تامين امنيت در شبكهي بيت كوين متخصصد دارد.
چند نوع الگوريتم رمزنگاري توسعه يافته است؟
الگوريتمهاي رمزنگاري در حالت كلي دو نوع هستند: ۱. الگوريتمها رمزنگاري با كليد متقارن يا Symmetric و ۲. الگوريتمهاي رمزنگاري با كليد نامتقارن يا Asymmetric. در روش متقارن، رمزنگاري با استفاده از يك كليد انجام ميشود؛ از جملهي شناختهشدهترين روشهاي رمزنگاري متقارن بايد به AES اشاره كرد. در رمزنگاري نامتقارن، الگوريتم بر اساس كليد عمومي و خصوصي كار ميكند. RSA مطرحترين روش رمزنگاري نامتقارن است كه در بيت كوين نيز مورد استفاده قرار ميگيرد.
هم انديشي ها