پایه عکاسی مونوپاد
مدرسان شریف ۹۳
سایت علمی دانشجویان ایران
دانـلـود مقـالات آی اس آی 
از تـمامـی پـایـگـاه های آنـلایــن، بـه سـادگـی!
پژوهش (توسعه) هنر ایران
در حال نمایش 1 تا 1 از مجموع 1

تاپیک: رمزنگاري

  1. Top | #1

    • کاربر جــــــــدید
    • تاریخ عضویت
      02-Apr-2010
    • رشته تحصیلی
      it
    • محل سکونت
      مشهد
    • پست‌ها
      3
    • سپاس
      0
    • 1 تشکر در 1 پست
    • قدرت امتیاز دهی
      0
    • امتیاز
      10

    پیام رمزنگاري

    تاريخچه رمزنگاري

    به مطالعات رمزنگاري، cryptography اطلاق مي شود كه از واژه هاي يوناني kryptos به معني پنهان و graphia به معني نوشتن تشكيل شده است. به فرآيند باز كردن (شكستن) يك پيغام رمزنگاري شده بدون داشتن كليد cryptanalysis، به علم ايجاد كدهاي رمزنگاري و شكستن آنها به طور همزمان cryptology و به فرآيند نوشتن مطلبي به صورت رمز شده به طوري كه تنها افراد مجاز قادر به رمزگشايي و خواندن آن باشند، encryption يا همان رمزنگاري گفته مي شود.
    در طول تاريخ، رمزنگاري با استفاده از روشهاي تغيير، جابجايي يا اضافه كردن حروف كلمات، براي ارسال پيغام هاي امن از ميان سرزمينهاي دشمن مورد استفاده قرار مي گرفت. به طور طبيعي زماني كه پيغام به مقصد مي رسيد، براي خوانا شدن نياز به رمزگشايي داشت و از همين جا داستان جالب رمزنگاري آغاز مي شود. بسياري از شيوه هاي استفاده شده در زمانهاي دور، پايه هاي امنيت كامپيوتر و شبكه در عصر جديد را تشكيل مي دهند.
    صدها و شايد هزاران سال پيش پيغام هاي مهم كه از ميدان جنگ به پشت جبهه ارسال مي شدند به صورت رمزي در مي آمدند تا در صورتي كه سرباز حامل نامه ها اسير شود، اطلاعات حساس لو نروند. امروزه رمزنگاري براي مثال در مورد نامه هاي الكترونيكي مهم انجام مي شود تا در صورتي كه يك مهاجم به شبكه نفوذ كند، نتواند از محتواي ايميل ها آگاهي پيدا كند.
    اطلاعات رمزنگاري شده حتي در صورت انتقال از يك شبكه نا امن و حتي در صورت انتشار عمومي، امن باقي خواهند ماند. در برخي سيستم عاملها مانند يونيكس، فايلي كه حاوي كلمه عبور است رمزنگاري مي شود، به طوري كه كشف آن براي مهاجمي كه به صورت غير قانون ي به فايل مذكور دسترسي پيدا كرده بسيار سخت خواهد شد.
    در گذشته رمزنگاري عملياتي پرهزينه به حساب مي آمد لذا تنها براي محافظت از اطلاعات طبقه بندي شده و حساس مانند اطلاعات نظامي، سرويسهاي امنيتي، نقل و انتقالات مالي و كلمات عبور مورد استفاده قرار مي گرفت. ولي امروزه استفاده از رمزنگاري متداول تر شده و تبديل به روش ارزان قيمتي براي محافظت از ارتباطات و اطلاعات شده است. براي مثال تعداد زيادي از مرورگرها خدمات رمزنگاري را به صورت رايگان يا با هزينه بسيار كم به مشتريان عرضه مي كنند.
    سابقه سيستمهاي اوليه رمزنگاري كه گاهي به آنها كد (code) يا رمز (cipher) نيز گفته مي شود، به مصر باستان و حدود 2000 سال پيش باز مي گردد. در آن زمان پيغامهاي دنياي پس از مرگ با كلمات هيروگليف رمز شده يا تغيير شكل يافته بر روي قطعات سنگ حك مي شدند. البته منظور آنها از اين كار حفظ پيغام به صورت محرمانه نبوده است بلكه از اين طريق حالت رمزآلود و معما گونه اي براي پيغامهاي مذكور ايجاد مي كردند. تاريخ رمزنگاري از مصر باستان تا هند، بين النهرين، يونان، تمدن غرب و بالاخره عصر كامپيوتر ادامه پيدا مي كند. در طول تاريخ، رمزنگاري همواره جزئي از جنگ، سياست و حكومت داري بوده است. براي مثال ملكه اسكاتلند جان خود را در قرن شانزدهم از دست داد زيرا دشمنانش، پيغامي را كه از زندان و به صورت رمز شده ارسال كرده بود، رمز گشايي كردند. رمزنگاري و ابزارهاي مربوط به آن در طي قرنها رشد كردند و در الگوريتمهاي كامپيوتري و سيستمهاي مدرن امروزي به اوج خود رسيدند.
    محافظت از ارتباطات همواره به عنوان بخش حياتي جنگ ها و نزاع هاي سياسي محسوب مي شود و به همين دليل گسترش رمزنگاري مدرن تا حد زيادي مديون تحقيقاتي است كه زير فشار جنگ جهاني دوم براي شكستن كدهاي رمزنگاري توليد شده توسط ماشين Enigma انجام شده است.
    ماشين رمزنگاري Enigma توسط يك مهندس الكترونيك آلماني به نام Arthur Scherbius، در خلال جنگ جهاني اول اختراع شد. او در سال 1918 ماشين مذكور را به نيروي دريايي آلمان ارائه كرد كه مورد قبول واقع نشد. اما چندين سال بعد با ارتقاي امنيتي ماشين مذكور، نيروي دريايي آلمان استفاده از آن را در سال 1926 آغاز كرد. اين ماشين كه در شكل 1 نشان داده شده داراي چندين چرخ دنده است كه حروف الفبا را به حروف ديگري نگاشت مي كند، براي مثال حرف A به حرف P نگاشت مي شود و الي آخر. براي اين كار لازم است اپراتور يك سري تنظيمات اوليه را بر روي دستگاه انجام دهد كه در طرف ديگر دريافت كننده پيغام نيز دقيقاً همان تنظيمات را انجام داده است. براي جلوگيري از كشف سريع نگاشت ها در هر بار تكرار يك حرف، چرخ دنده يك بار مي چرخد و اين بار مثلاً حرف A به جاي اينكه به P نگاشت شود به X نگاشت مي شود. اين كار طبق همان تنظيمات اوليه صورت مي پذيرد. در طرف دريافت كننده نيز جهت رمزگشايي پيغام نياز به يك ماشين Enigma دقيقاً مطابق با طرف فرستنده و همچنين نياز به دانستن تنظيمات اوليه چرخ دنده است.



    شكل 1 – ماشين Enigma

    اولين اقدامات براي شكستن كدهاي Enigma در لهستان انجام شد. در اواخر دهه 1920 دولت لهستان گروهي از افرادي را كه در شكستن كدهاي رمزي مهارت داشتند، مأمور كرد تا از علم رمزنگاري براي كار بر روي شكستن كدهاي آلمانها استفاده كنند. خانم Marian Rejewski و دو رياضيدان ديگر توانستند برخي از پيغامهاي اوليه Enigma را رمزگشايي كنند.
    در اوايل دهه 1930 در فرانسه يك آلماني به نام Hans-Thilo Schmidt اطلاعاتي را در مورد تنظيمات اوليه ماشينهاي Enigma در اختيار سازمانهاي اطلاعاتي فرانسه قرار داد. تحليلگران رمزنگاري فرانسوي منابع لازم براي استفاده از اطلاعات مذكور را در اختيار نداشتند و انگليسيها نيز به دليل ناكافي بودن اطلاعات آن را نپذيرفتند. فرانسوي ها اطلاعات مذكور را در اختيار لهستاني ها قرار دادند و Marian Rejewski توانست با استفاده از آنها پيشرفت درخشاني در شكستن كدهاي Enigma پيدا كند.
    بعد از سقوط لهستان در سال 1939 ، آنها اطلاعاتشان را در اختيار فرانسوي ها و انگليسي ها قرار دادند. البته آلماني ها، كليدها و طراحي ماشين Enigma را مرتباً تغيير مي دادند و انگليسي ها همچنان به راه حل لهستاني ها تكيه داشتند.
    در اواخر جنگ يك پروژه فوق سري به نام Ultra زير نظر رياضيدان معروف آلن تورينگ شروع به كار كرد كه هدف از آن رمزگشايي پيغام هاي نيروي دريايي آلمان در مدت زماني معقول بود. انگيزه شروع اين پروژه اوراقي بود كه در يك قايق نجات غرق شده در مورد رمزنگاري Enigma كشف شد. در اوايل دهه 40 ميلادي آمريكائيها با استفاده از دانش و فناوريي كه از ماشينهاي رمزنگاري ژاپن به دست آورده بودند، يك نسخه مخصوص خود را خلق كردند.
    در دهه هاي پس از جنگ جهاني دوم استفاده از كامپيوترها در شكستن كدهاي رمزنگاري شده انقلابي را در رمزنگاري ايجاد كرد و باعث انتشار گسترده رمزنگاري در سازمانهاي نظامي و اطلاعاتي شد و دامنه استفاده از آن تا سيستم هاي كامپيوتري معمولي نيز گسترش پيدا كرده است.
    در قسمت بعدي انواع الگويتم هاي رمزنگاري را شرح خواهيم داد.



    رمزنگاري چيست؟

    رمزنگاري منجر به تغيير شكل اصل اطلاعات كه به آن متن آشكار يا Plaintext مي گويند به اطلاعات ديگري به نام متن رمز شده يا cipher مي شود كه غالباً ظاهري نامفهوم و تصادفي دارد. اطلاعات تغيير شكل يافته را cryptogram مي نامند.
    معمولاً از روش هاي برگشت پذير براي رمزنگاري متون استفاده مي شود به طوري كه دريافت كننده در مقصد بتواند متن رمز را به صورت متن آشكار يا همان متن اوليه در آورد.
    تكنيك ها يا قوانيني كه براي رمزنگاري مورد استفاده قرار مي گيرند به عنوان الگوريتم هاي رمزنگاري شناخته مي شوند كه ميزان سادگي يا پيچيدگي يك فرآيند رمزنگاري را تعيين مي كنند. بسياري از روشهاي رمزنگاري از فرمولهاي ساده رياضي استفاده مي كنند كه چندين بار و با تركيب هاي متفاوت به كار گرفته مي شوند. بسياري از آنها نيز از يك مقدار محرمانه به نام كليد براي رمزنگاري و رمزگشايي استفاده مي كنند. كليد نوعي كلمه عبور است كه تنها فرستنده و گيرنده متن از آن آگاهي دارند. الگوريتم رمزنگاري با استفاده از قوانين رياضي كليد مزبور را كه معمولاً رشته اي طولاني از اعداد است، بر اطلاعاتي كه بايد رمزنگاري يا رمزگشايي شوند، اعمال مي كند.
    بر خلاف يك كلمه عبور معمولي، كليد به كاربر اجازه دسترسي مستقيم به اطلاعات را نمي دهد. در عوض الگوريتم رمزنگاري با استفاده از كليد مي تواند داده هاي رمز شده را به صورت اوليه درآورد. در واقع بدون كليد، اطلاعات رمزنگاري شده غير قابل دسترسي هستند. در شماره بعدي سري مقالات رمزنگاري با ارائه مثال، به توضيح بيشتر كليدهاي رمزنگاري خواهيم پرداخت.
    نوع الگوريتم رمزنگاري، ميزان محرمانگي كليد و چند ويژگي ديگر در مجموع قدرت رمزنگاري را تعيين مي كنند. قدرت رمزنگاري در واقع مشخص كننده ميزان دشواري شكستن يك پيغام رمزنگاري شده است.
    بايد در نظر داشت كه معيار اصلي قدرتمند بودن يك الگوريتم رمزنگاري ربطي به وجود احتمال شكستن آن ندارد، زيرا در صورتي كه مقدار كافي از جفت متن آشكار و متن رمزنگاري شده در اختيار باشد، هر الگوريتم رمزنگاري بالاخره شكسته خواهد شد. قدرت اصلي هر الگوريتم رمزنگاري امكان اجراي آن در يك زمان قابل قبول است. متني كه امكان شكسته شدن آن بعد از سالها، آن هم با شبكه اي از سوپركامپيوترها وجود دارد، در حقيقت بسيار امن است.
    سيستم هاي رمزنگاري اوليه براي حفظ امنيت به محرمانه ماندن الگوريتم رمزنگاري بسيار وابسته بودند. به تدريج الگوريتمهاي رمزنگاري بر مشكل وابستگي به طول كليد و محرمانگي آن غالب آمده اند. امروزه قابل اطمينان ترين الگوريتم هاي رمزنگاري ناچارند از پس چندين نوبت تحقيق موشكافانه و غيرمحرمانه به خوبي برآيند تا بتوانند اعتماد سازمان ها و مشتريان را جلب كنند. طبيعتاً بسيار سخت است كه الگوريتم هاي رمزنگاري قابل اطمينان ايجاد كرد و آنها را به صورت عمومي و غير محرمانه مورد آزمايش قرار داد.
    انتخاب كليد ضعيف يا محافظت نامناسب از آن راه را براي ورود نفوذگران باز مي كند. در صورتي كه يك نفوذگر به يك كليد رمزنگاري دسترسي پيدا كند، حتي قويترين الگوريتم هاي رمزنگاري نيز قادر به حفاظت از داده هاي مورد نظر نيستند.
    شكل زير نشان دهنده يك سيستم ساده رمزنگاري و رمزگشايي است.




    چرا رمزنگاري؟

    رمزنگاري هر سه محور اصلي در مباحث مربوط به امنيت را در بر مي گيرد كه عبارتند از:

    محرمانگي

    رمزنگاري يك شيوه بسيار خوب براي حفظ اطلاعات به صورت محرمانه است. حتي اگر رايانه يا فايلهاي حاوي اطلاعات رمزنگاري شده به سرقت روند، پي بردن به محتويات فايلهاي رمزنگاري شده بسيار مشكل خواهد بود.

    تماميت

    رمزنگاري همچنين روشي بسيار خوب براي اطمينان از صحت يا تماميت اطلاعات است. برخي از الگوريتم هاي رمزنگاري علاوه بر حفظ محرمانگي اطلاعات، از آنها در برابر دستكاري اطلاعات نيز محافظت به عمل مي آورند. اين قبيل پردازشها قدرت تشخيص تغييرات جزئي بدخواهانه يا غيرعمدي در اطلاعات را دارا هستند. در حالي كه بسياري از كاربران نظامي، اطلاعاتي يا تجاري بسيار به محرمانه ماندن اطلاعات اهميت مي دهند، كاربران مؤسسات مالي براي صحت و دقت اطلاعات اهميت بسياري قائل هستند. براي آنها بسيار مهم است كه يك مميز جابجا يا يك صفر كم يا زياد نشود. همچنين آزمون تماميت به كاربران شبكه ها اطمينان مي دهد كه ارتباطات آنها تحت تأثير ويروسها يا ديگر نفوذها قرار نگرفته است.

    تأييد هويت

    رمزنگاري يك روش موفق در فهميدن موثق بودن اطلاعات است. در واقع با رمزنگاري مي توان مطمئن شد كه اطلاعات از همان جايي كه ادعا مي كنند، مي آيند. برخي تكنيكهاي خاص رمزنگاري به كاربر امكان مي دهد تا مشخص كند دقيقاً چه كسي يك بسته اطلاعاتي را ارسال كرده است. اين قضيه در مراودات حقوق ي يا مالي اهميت ويژه اي پيدا مي كند. يكي از تكنيكهاي رايج تأييد هويت، امضاي ديجيتالي است. امضاي ديجيتالي براي هر تراكنش يكتا بوده و جعل آن بسيار سخت مي باشد.

    شيوه هاي پايه رمزنگاري

    دو شيوه پايه براي رمزنگاري به نامهاي رمزنگاري جابجايي و رمزنگاري جايگزيني وجود دارند. در ادامه شيوه هاي مذكور را توضيح خواهيم داد.

    رمزنگاري جابجايي (transposition)

    رمزنگاري جابجايي به تغيير چيدمان بيت ها، كاراكترها و يا بلوكي از كاراكترهايي كه قبلاً به صورت رمز درآمده اند، اطلاق مي شود. در يك رمزنگاري ساده جابجايي كه در شكل زير نشان داده شده است، حروف متن اوليه بازچيني شده اند. در اين نوع از رمزنگاري حروف به كار رفته در متن اوليه حفظ شده و تنها محل قرار گرفتن آنها جابجا مي شود.



    يكي ديگر از روشهاي رمزنگاري جابجايي كه كمي پيچيده تر است در شكل زير نشان داده شده است. در اين روش متن اوليه در سه ستون نوشته مي شود و سپس متن به صورت عمودي بازنويسي مي شود.



    رمزنگاري جايگزيني (substitution)

    رمزنگاري جايگزيني به جايگزيني بيت هاي واقعي، كاراكترها يا بلاكي از كاراكترها با يك كاراكتر جايگزين اطلاق مي شود. در دو نمونه رمزنگاري جايگزيني ساده كه در شكل زير نشان داده شده است، حروف به كار رفته در متن اوليه با حروف، اعداد يا سمبلهاي ديگر جايگزين شده اند. در اين نوع از رمزنگاري محل قرار گرفتن حروف متن اوليه حفظ شده ولي خود آنها تغيير مي يابند.


    يكي ديگر از مثالهاي رمزنگاري جايگزيني شيوه اي است كه ماشين Enigma از آن استفاده مي كرد. براي كسب اطلاعات بيشتر در مورد ماشين مذكور و نحوه كار آن به مقاله تاريخچه رمزنگاري مراجعه فرماييد. يك مثال ديگر رمزنگاري سزار است كه در آن هر حرف با سه حرف جلوتر جايگزين مي شود.
    نمونه هاي ذكر شده در اينجا بسيار ساده و رمزنگاري هاي واقعي با شيوه هاي مذكور بسيار پيچيده تر هستند. براي مثال ممكن است در يك الگوريتم رمزنگاري يك حرف، چندين بار با حروف و اعداد ديگر جايگزين شود يا چندين بار جابجا شود. همچنين در اغلب موارد جايگزيني حروف از هيچ قاعده مشخصي پيروي نمي كند.
    در قسمت بعدي سري مقاله هاي رمزنگاري به توضيح بيشتر در مورد كليد هاي رمزنگاري، مديريت و انتشار كليد و شيوه هاي استفاده از رمزنگاري در شبكه ها خواهيم پرداخت.
    كليدهاي رمزنگاري

    تكنيك هاي رمزنگاري پيچيده به راحتي از روش هاي جابجايي يا جايگزيني استفاده نمي كنند. در عوض از يك كليد محرمانه براي كنترل يك توالي طولاني از جابجايي و جايگزيني هاي پيچيده استفاده مي كنند. كليدهاي رمزنگاري و الگوريتم هاي رمزنگاري با يكديگر همكاري مي كنند تا يك متن اوليه را به يك متن رمزي تبديل كنند. در اغلب موارد الگوريتم رمزنگاري ثابت و شناخته شده است و اين كليد رمزنگاري است كه يك نسخه يكتا از اطلاعات رمزنگاري شده توليد مي كند. در زير انواع كليدهاي رمزنگاري توضيح داده شده اند.

    o كليدهاي محرمانه

    سيستمهاي كليد محرمانه تنها از يك كليد براي رمزنگاري و رمزگشايي اطلاعات استفاده مي كنند. در اين شيوه رمزنگاري، لازم است كه هر جفت فرستنده و گيرنده اطلاعات كليد جداگانه اي را براي رمزنگاري دارا باشند و حفظ كليد به صورت محرمانه بسيار اهميت دارد. امنيت اين روش در گرو حفظ امنيت كليد است. الگوريتم Data Encryption Standard (DES) كه در قسمت بعدي سري مقاله هاي رمزنگاري توضيح داده خواهد شد، يك نمونه از الگوريتم هاي كليد محرمانه است. چون فرض بر اين است كه الگوريتم شناخته شده و معلوم است، امن بودن انتقال و ذخيره كليد بسيار مهم است. كارتهاي هوشمند معمولا براي ذخيره كليدهاي محرمانه استفاده مي‌شوند. در اين حالت تضمين اينكه قلمرو كليد محدود است، مهم است: بايد هميشه فرض كنيم كه يك كارت ممكن است توسط افراد غيرمجاز با موفقيت تحليل گردد، و به اين ترتيب كل سيستم در مخاطره قرار گيرد.
    در شكل زير يك عمليات انتقال اطلاعات با استفاده از كليد محرمانه نشان داده شده است كه در آن يك كاربر بانك، اطلاعات را با استفاده از كليد محرمانه رمزنگاري مي كند و براي كارمند بانك ارسال مي كند. وي نيز اطلاعات را با كليد مشابهي رمزگشايي مي كند.


    • كليدهاي عمومي و خصوصي

    سيستم هايي كه از اين نوع كليدها استفاده مي كنند، نامتقارن خوانده شده و در واقع داراي يك زوج كليد هستند: يك كليد عمومي و يك كليد خصوصي. در اين سيستم هر كاربر داراي دو كليد عمومي و خصوصي است كه لازم است كليد خصوصي محرمانه نگهداري شود ولي كليد عمومي در اختيار همگان است. در اينجا كليد عمومي و خصوصي به يكديگر از لحاظ رياضي وابسته هستند. كاربر مي تواند با استفاده از كليد خصوصي كه در اختيار دارد پيغام خود را رمزنگاري كرده و گيرنده آن را با استفاده از كليد عمومي رمزگشايي كند يا بالعكس.
    امتياز اصلي و مهم سيستمهاي كليد نامتقارن اين است كه آنها اجازه مي‌دهند كه يك كليد (كليد خصوصي) با امنيت بسيار بالا توسط صاحب آن نگهداري شود در حاليكه كليد ديگر (كليد عمومي) مي‌تواند منتشر شود. كليدهاي عمومي مي‌توانند همراه پيامها فرستاده شوند يا در فهرستها ليست شوند (شروط و قوانيني براي كليدهاي عمومي در طرح فهرست پيام‌رساني الكترونيكي ITU X.500 وجود دارد)، و از يك شخص به شخص بعدي داده شوند. مكانيسم توزيع كليدهاي عمومي مي‌تواند رسمي (يك مركز توزيع كليد) يا غيررسمي باشد.
    يكي از نكات منفي سيستمهاي رمزنگاري با كليد عمومي توسط سناريوي زير توضيح داده شده است. فرض كنيد كاربر پيغام خود را با استفاده از كليد خصوصي رمزنگاري مي كند. دريافت كننده پيغام مي تواند از هويت فرستنده پيغام مطمئن باشد يعني تأييد هويت به خوبي انجام مي شود ولي مشكل اينست كه هر كسي كه دسترسي به كليد عمومي دارد مي تواند اطلاعات مذكور را رمزگشايي كند. لذا اين روش محرمانگي اطلاعات را حفظ نمي كند. از طرف ديگر در صورتي كه اطلاعات توسط كليد عمومي رمزنگاري شوند، از آنجايي كه تنها دارنده كليد خصوصي قادر به رمزگشايي آن است لذا محرمانگي آن حفظ مي شود ولي مشكل در اينست كه چون هر كسي مي تواند به كليد عمومي دسترسي داشته باشد تأييد هويت با مشكل روبرو مي شود.



    راه حل مشكل مذكور، همان طور كه در شكل زير نشان داده شده است، استفاده تركيبي از دو روش است به طوري كه هم امكان تأييد هويت وجود داشته باشد و هم محرمانگي اطلاعات حفظ شود. فرستنده پيغام خود را با استفاده از كليد خصوصي كه در اختيار دارد رمزنگاري مي كند و سپس با استفاده از كليد عمومي كه مربوط به گيرنده است آن را مجدداً رمزنگاري مي كند. در اين حالت لازم است گيرنده پيغام ابتدا با استفاده از كليد خصوصي خود پيغام را رمزگشايي كند و سپس نتيجه را با استفاده از كليد عمومي فرستنده مجدداً رمزگشايي كند تا به اصل پيغام دسترسي پيدا كند. در اين صورت پيغام رمزنگاري شده تنها با كليد خصوصي دريافت كننده قابل رمزگشايي است و در نتيجه هم مشكل تأييد هويت و هم حفظ محرمانگي اطلاعات برطرف شده است. در همه حالات فرض مي شود كه دارندگان كليد خصوصي مراقبت هاي لازم را براي حفظ امنيت كليد مزبور به انجام مي رسانند.
    البته دو بار رمزنگاري و رمزگشايي همه پيغام لزوماً مورد نياز نيست. از آنجايي كه در صورت استفاده فرستنده از كليد عمومي گيرنده، محرمانگي اطلاعات حفظ مي شود، در نتيجه رمزنگاري تنها بخش كوچكي از پيغام، براي تأييد هويت فرستنده كافي است. اين قضيه ايده اصلي امضاي ديجيتالي را تشكيل مي دهد.


    • كليدهاي اصلي و كليدهاي مشتق‌شده (Master keys and derived keys)

    يكي از ايراداتي كه به روشهاي پيشين وارد است، تعداد زياد كليدها است كه طبيعتاً منجر به سخت تر شدن مديريت كليد مي شود. يك روش براي كاستن از تعداد كليدهايي كه بايد منتقل و ذخيره شوند، مشتق گرفتن از آنها در زمان مورد نياز است. در يك برنامه اشتقاق كليد، يك كليد اصلي همراه با چند پارامتر مجزا براي محاسبه كليد مشتق‌شده استفاده مي‌شود كه بعداً براي رمزنگاري استفاده مي‌گردد. براي مثال، اگر يك صادركننده با تعداد زيادي كارت سروكار دارد، مي‌تواند براي هر كارت، با استفاده از كليد اصلي، شماره كارت را رمز كند و به اين ترتيب كليد مشتق‌شده حاصل مي‌شود و به آن كارت اختصاص داده مي‌شود.
    شكل ديگري از كليدهاي مشتق‌شده با استفاده از tokenها به دست مي آيند كه tokenها محاسبه‌گرهاي الكترونيكي با عملكردهاي مخصوص هستند. ورودي آنها ممكن است، يك مقدار گرفته شده از سيستم مركزي، يك PIN وارد شده توسط كاربر و يا تاريخ و زمان باشد. خود token شامل الگوريتم و يك كليد اصلي است. چنين tokenهايي اغلب براي دسترسي به سيستمهاي كامپيوتري امن استفاده مي‌شوند.

    • كليدهاي رمزكننده‌كليد (Key-encrypting keys)
    از آنجا كه ارسال كليد يك نقطه ضعف از نظر امنيتي در سيستم ها بشمار مي‌رود، رمزكردن كليدها هنگام ارسال و ذخيره آنها بشكل رمزشده منطقي بنظر مي‌رسد. كليدهاي رمزكننده كليد هرگز به خارج از يك سيستم كامپيوتري (يا كارت هوشمند) ارسال نمي‌شوند و بنابراين مي‌توانند آسانتر محافظت شوند. اغلب براي تبادل كليدها الگوريتم متفاوتي از آنچه كه براي رمزكردن پيامها استفاده مي‌شود، مورد استفاده قرار مي‌گيرد.
    از مفهوم دامنه كليد (key domain ) براي محدود كردن ميدان كليدها و محافظت كردن از كليدها در دامنه‌شان استفاده مي‌كنيم. معمولاً يك دامنه، يك سيستم كامپيوتري خواهد بود كه مي‌تواند به صورت فيزيكي و منطقي محافظت گردد. كليدهاي استفاده شده در يك دامنه توسط يك كليد رمزكننده‌ كليد محلي ذخيره مي‌شوند. هنگامي كه كليدها مي‌خواهند به يك سيستم كامپيوتري ديگر فرستاده شوند، رمزگشايي و تحت يك كليد جديد رمز مي‌شوند كه اغلب بعنوان كليد كنترل ناحيه (zone control key) شناخته مي‌شوند. با دريافت اين كليدها در طرف ديگر، تحت كليد محلي سيستم جديد رمز مي‌شوند. بنابراين كليدهايي كه در دامنه‌هاي يك ناحيه قرار دارند از دامنه‌اي به دامنه ديگر به صورتي كه بيان گرديد منتقل مي‌شوند.

    • كليدهاي نشست (Session keys)
    براي محدود كردن مدت زماني كه كليدها معتبر هستند، اغلب يك كليد جديد براي هر نشست يا هر تراكنش توليد مي‌شود. اين كليد ممكن است يك عدد تصادفي توليد شده توسط ترمينالي باشد كه در مرحله تصديق كارت قرار دارد. اگر كارت قادر به رمزگشايي روش كليد عمومي باشد، يعني كليد نشست مي‌تواند با استفاده از كليد عمومي كارت رمز شود.
    بخشي از تراكنش كه در آن كليد منتقل مي‌شود اغلب در مقايسه با بقيه تراكنش كوتاهتر است؛ بنابراين بار اضافي اين بخش نسبت به كل تراكنش قابل صرف نظر است. چنانچه بقيه تراكنش به سبب استفاده از كليد متقارن (محرمانه) با بالاسري كمتري رمز شود، زمان پردازش براي فاز تاييد هويت و انتقال كليد قابل پذيرش است. (توضيح اينكه روشهاي رمز متقارن از نامتقارن بمراتب سريعتر هستند بنابراين مي‌توان ابتدا يك كليد متقارن را با استفاده از روش نامتقارن انتقال داد و سپس از آن كليد متقارن براي انجام بقيه تراكنش استفاده كرد.) در مورد الگوريتم هاي رمزنگاري در قسمت بعدي بيشتر توضيح خواهيم داد.
    شكل خاصي از كليد نشست، سيستم انتقال كليد است كه در برخي سيستمهاي پرداخت الكترونيك و مبادله ديتاي الكترونيك استفاده مي‌شود. بدين صورت كه در پايان هر تراكنش، يك كليد جديد منتقل مي‌شود و اين كليد براي تراكنش بعدي مورد استفاده قرار مي‌گيرد.

    رمزنگاري مبدأ به مقصد و رمزنگاري انتقال

    دو سطح ارتباطي پايه وجود دارد كه رمزنگاري مي تواند در آن اجرا شود. رمزنگاري بر اساس اين سطوح به دو دسته رمزنگاري مبدأ به مقصد و رمزنگاري انتقال تقسيم مي شود.
    در رمزنگاري مبدأ به مقصد يا end-to-end كه گاهي اوقات به آن رمزنگاري آفلاين هم گفته مي شود، پيغامها در مبدأ و در زمان ارسال رمزنگاري شده و سپس در مقصد رمزگشايي مي شوند. در اين سطح رمزنگاري نيازي نيست كه شبكه از رمزي بودن پيغام آگاهي داشته باشد. گاهي اوقات اين نوع رمزنگاري مي تواند توسط كاربر مورد انتخاب قرار بگيرد. پيغام در تمام طول انتقال رمزشده باقي مي ماند، از ابتدا تا انتها. فايده اين روش در اين است كه احتياجي نيست در تمام گامهاي مسير، تمام نقاط امن باشند. اين اصلي است كه امروزه در سيستمهاي شناخته شده رمزنگاري پيغام به شيوه تونل مانند SSL و TLS مورد استفاده قرار مي گيرد.
    در رمزنگاري انتقال يا link encryption كه گاهي به آن رمزنگاري آنلاين هم گفته مي شود، مانند روش قبل پيغام در زمان ارسال رمزنگاري مي شود ولي هر بار كه به يك گره ارتباطي شبكه مي رسد، رمزگشايي شده و دوباره رمزنگاري مي شود. در اين روش رمزنگاري از ديد كاربر پنهان است و به عنوان بخشي از پروسه انتقال اعمال مي شود.
    براي هر دو روش نقاط مثبت و منفي وجود دارد كه در زير آورده شده است.

    نقاط مثبت روش مبدأ به مقصد:

    • قابليت انعطاف بيشتري دارد. كاربر مي تواند تنها اطلاعات مورد نظر خويش را رمزنگاري كند و هر كاربر نيز مي تواند كليد جداگانه اي داشته باشد.
    • در اين روش انتشار كليد و مديريت آن ساده تر است.
    • با استفاده از اين روش، اطلاعات از ابتدا تا انتها و در كل شبكه محافظت شده باقي مي مانند.
    • روشي كارآمدتر است زيرا لازم نيست شبكه هيچگونه تسهيلات خاص رمزنگاري را دارا باشد.

    نقاط منفي روش مبدأ به مقصد:

    • ممكن است نياز به بررسي برخي از اطلاعات مانند اطلاعات سرآيند و يا مسيريابي به صورت رمزنگاري نشده باشد.
    • هر سيستمي نيازمند اجراي نوع يكساني از رمزنگاري است.
    • اين روش تنها محتويات پيغام را امن نگاه مي دارد ولي نمي تواند اين واقعيت را مخفي كند كه چنين پيغامي فرستاده شده است.

    نقاط مثبت روش انتقال:

    • راحت تر است زيرا لازم نيست كاربر هيچ كاري انجام دهد.
    • استفاده از آن، در شبكه اي كه گره هاي زيادي دارد راحت تر است.
    • در صورتي كه يكي از گره ها مورد سوءاستفاده قرار گيرد تمام شبكه لو نمي رود زيرا هر جفت از گره ها از كليد جداگانه اي استفاده مي كنند.
    • در اين روش تمام اطلاعات، حتي اطلاعات سرآيند و مسيريابي رمزنگاري مي شوند.

    نقاط منفي روش انتقال:

    • انتشار كليد و مديريت آن بسيار مشكل خواهد بود زيرا همه گره هاي شبكه لازم است يك كليد دريافت كنند.
    • نقاط آسيب پذير بيشتري وجود دارد زيرا اطلاعات، چندين نوبت به حالت اوليه تبديل مي شود.

    الگوريتم هاي رمزنگاري متقارن

    يك الگوريتم متقارن از يك كليد براي رمزنگاري و رمزگشايي استفاده مي‌كند. بيشترين شكل استفاده از رمزنگاري كه در كارتهاي هوشمند و البته در بيشتر سيستمهاي امنيت اطلاعات وجود دارد data encryption algorithm يا DEA است كه بيشتر بعنوان DES شناخته مي‌شود. الگوريتم DES يك محصول دولت ايالات متحده است كه امروزه بعنوان يك استاندارد بين‌المللي شناخته ‌شده و بطور وسيعي مورد استفاده قرار مي گيرد. بلوكهاي ۶۴ بيتي ديتا توسط يك كليد تنها كه معمولا ۵۶بيت طول دارد، رمزنگاري و رمزگشايي مي‌شوند. الگوريتم DES از نظر محاسباتي ساده است و به راحتي مي‌تواند توسط پردازنده‌هاي كند (بخصوص آنهايي كه در كارتهاي هوشمند وجود دارند) انجام گيرد.
    در دهه 60 ميلادي، با رشد فزاينده فناوري كامپيوتر و نگراني ها در مورد محرمانه و خصوصي بودن ارتباطات، علاقه به ايجاد يك استاندارد رمزنگاري ملي در آمريكا به شدت افزايش پيدا كرد. تلاشها در جهت ايجاد استانداردي بود كه بتواند توسط كامپيوترها و شبكه هاي متفاوت دولتي در آمريكا مورد استفاده قرار گيرد و همچنين در سيستم هاي پيمانكاران دولتي نيز مفيد واقع شود. تلاشهاي مذكور منجر به ايجاد استاندارد رمزنگاري داده يا Data Encryption Standard (DES) گشت كه امروزه به صورت وسيعي در رمزنگاري مورد استفاده قرار مي گيرد.
    در سال 1965 موسسه ملي استانداردها و فناوري آمريكا كه امروزه با نام NIST شناخته مي شود، مسئوليت تعيين استانداردهاي محافظت از سيستم هاي كامپيوتري را بر عهده گرفت. موسسه مذكور در فاصله سالهاي 1968 تا 1971 به مطالعه و تحقيق در مورد نيازهاي امنيتي سيستم هاي كامپيوتري دولتي پرداخت كه در نهايت منجر به تهيه يك استاندارد رمزنگاري شد. موسسه NIST با همكاري NSA يا آژانس امنيت ملي آمريكا، نخستين برنامه رمزنگاري را توليد كرد. در اوايل كار هدف ايجاد يك استاندارد واحد براي محافظت از داده هاي طبقه بندي شده دولتي و اطلاعات حساس بخش خصوصي بود كه از طرفي بتواند بين 10 تا 15 سال دوام آورد (هدفي كه DES بسيار پيشتر از آن رفت) و از طرفي نيز قابل استفاده در انواع سيستم هاي مختلف حتي سيستم هاي كند باشد.
    در آگوست 1974، NSA از توليد كنندگان الگوريتم هاي رمزنگاري براي بار دوم دعوت كرد تا روش هاي خود را اعلام كنند تا شايد در ايجاد يك استاندارد رمزنگاري عمومي با كيفيت بالا مورد استفاده قرار گيرد. در اين زمان IBM الگوريتمي را ارائه كرد كه مورد قبول NSA واقع شد.
    در شركت IBM تا قبل از آن كارهايي براي توسعه چندين الگوريتم متفاوت رمزنگاري انجام شده بود. يكي از آنها يك الگوريتم 64 بيتي بود كه براي محافظت از تراكنش هاي مالي به كار مي رفت و ديگري يك الگوريتم 128 بيتي به نام Lucifer بود.
    آژانس امنيت ملي آمريكا در آن زمان از طرفي IBM را تشويق به ثبت الگوريتم Lucifer كرد و از طرف ديگر به متخصصان خود اجازه داد تا سعي كنند ارتباطات رمزنگاري شده توسط الگوريتم مذكور را بشكنند. لذا الگوريتم مذكور بعد از بررسي پايه هاي رياضي و سعي در شكستن آن، دچار تغييرات و اصلاحاتي شد (براي مثال طول كليد از 128 بيت به 56 بيت كاهش يافت و تغييراتي در توابع جايگزيني انجام شد) تا به تولد DES منجر شد.
    بالاخره در سال 1977 اين الگوريتم به عنوان استاندارد رمزنگاري داده منتشر شد و به عنوان روشي رسمي در محافظت از داده هاي طبقه بندي نشده در مؤسسات دولتي آمريكا مورد استفاده قرار گرفت. در عين حال NSA موظف شد تا هر پنج سال يك بار اين الگوريتم را مورد مطالعه قرار دهد و تأييد كند كه هنوز مي تواند به عنوان استاندارد به كار رود.
    قابل ذكر است كه اين روش بستگي به مخفي‌بودن كليد دارد. بنابراين براي استفاده در دو موقعيت مناسب است: هنگامي كه كليدها مي‌توانند به يك روش قابل اعتماد و امن توزيع و ذخيره شوند يا جايي كه كليد بين دو سيستمي مبادله مي‌شود كه قبلا هويت يكديگر را تاييد كرده‌اند. عمر كليدها بيشتر از مدت تراكنش طول نمي‌كشد. رمزنگاري DES عموما براي حفاظت ديتا از شنود در طول انتقال استفاده مي‌شود.

    استاندارد رمزنگاري يا DES چيست؟

    در FIPS PUB 46 تعريف DES اينگونه آمده است:
    استاندارد رمزنگاري داده (DES) يك الگوريتمي رياضي است كه براي رمزنگاري و رمزگشايي اطلاعات كدشده باينري به كار مي رود. رمزنگاري داده ها را تبديل به داده هاي نامفهومي به نام cipher مي كند. رمزگشايي از cipher آن را به داده هاي اصلي بازمي گرداند. الگوريتم مذكور هر دو عمليات رمزنگاري و رمزگشايي را بر اساس يك عدد باينري به نام كليد مشخص مي سازد ... داده ها تنها در صورتي قابل بازيابي از cipher هستند كه دقيقاً از كليدي كه براي رمزنگاري استفاده شده براي رمزگشايي نيز استفاده شود.

    الگوريتم DES داراي دو جزء است: يك الگوريتم رمزنگاري و كليد. الگوريتم DES منتشر شده شامل چندين تكرار از يك تغيير شكل ساده با استفاده از هر دو تكنيك جابجايي و جايگزيني (به رمزنگاري چيست مراجعه كنيد) است. اين الگوريتم تنها از يك كليد براي رمزنگاري و رمزگشايي استفاده مي كند و به همين جهت به آن رمزنگاري كليد اختصاصي نيز گفته مي شود. همان طور كه در مقاله كليدهاي رمزنگاري توضيح داديم در اين حالت حفظ كليد به صورت محرمانه توسط فرستنده و گيرنده پيغام بسيار اهميت دارد زيرا الگوريتم به صورت عمومي در اختيار همگان است و در صورت لو رفتن كليد، هر كسي مي تواند پيغام محرمانه را ببيند. به همين جهت در رمزنگاري DES معمولاً عمر كليد به اندازه عمر تراكنش است.
    كليد DES يك توالي هشت بايتي است كه هر بايت شامل يك كليد هفت بيتي و يك بيت توازن است. در حين رمزنگاري، الگوريتم DES متن اصلي را به بلوك هاي 64 بيتي مي شكند. اين الگوريتم در هر زمان بر روي يك بلوك كار مي كند و آن را از نصف شكسته و كاراكتر به كاراكتر رمزنگاري مي كند. كاراكترها 16 بار تحت نظارت كليد تغيير شكل پيدا كرده و در نهايت يك متن رمزنگاري شده 64 بيتي توليد مي شود. كليد حاوي 56 بيت معنادار و هشت بيت توازن است.
    در سال 1997 در يك تلاش همگاني و با استفاده از 14 هزار رايانه يك پيغام رمزنگاري شده توسط DES شكسته شد كه البته چندان باعث نگراني نيست. زيرا در بيشتر انتقال پيغام ها، به خصوص در نقل و انتقالات مالي، يك بازه زماني وجود دارد كه در آن اطلاعات بايد كاملاً محرمانه نگه داشته شود و بعد از آن فاش شدن آنها چندان اهميت نخواهد داشت.
    بعد از سقوط DES بسياري از مؤسسات از DES سه گانه استفاده كردند كه به عنوان 3DES شناخته مي شود و در آن DES سه بار تكرار مي شود(دو مرتبه با استفاده از يك كليد به سمت جلو (رمزنگاري) و يك مرتبه به سمت عقب (رمزگشايي) با يك كليد ديگر). به اين صورت طول كليد به طرز مؤثري افزايش پيدا مي كند و منجر به ارتقاي امنيت مي شود، هر چند كه هيچ كس مطمئن نيست اين روش تا كي جواب مي دهد.
    به هرحال DES به حيات خود ادامه مي دهد زيرا اولاً هر كسي مي تواند به راحتي از آن استفاده كند و ثانياً قابليت حفظ محرمانگي را براي مدت كوتاهي دارد كه براي بسياري از برنامه هاي كاربردي، زمان مناسبي محسوب مي شود.
    رمزنگاري DES چهار مد مجزا را فراهم مي كند كه از لحاظ پيچيدگي و موارد كاربرد متفاوت هستند. در زير هر كدام از مد ها به صورت خلاصه شرح داده شده اند:

    ECB

    اين مد همان Electronic Codebook است و براي هر بلوك از داده مشخص و يك كليد مشخص، همواره يك متن رمزنگاري شده ثابت توليد مي شود. از مد ECB براي رمزنگاري كليدها استفاده مي شود.

    CBC

    اين مد Cipher Block Chaining است كه مد ارتقايافته ECB است. در اين مد بلوك هاي رمزنگاري شده به هم زنجير مي شوند. برخلاف مد ECB كه در آن بلوك هاي ورودي يكسان خروجي يكساني داشتند و ممكن بود منجر به افشاي الگو شوند، در اينجا CBC هر بلوك را با استفاده از متن اصلي، كليد و يك مقدار سوم رمزنگاري مي كند كه وابسته به بلوك قبلي است و لذا تكرار رمزنگاري كه به آن زنجيرسازي گفته مي شود منجر به پنهان سازي الگوهاي تكراري مي شود.

    CFB

    مد Cipher Feedback از متوني كه قبلاً رمزنگاري شده اند به عنوان ورودي DES براي توليد شبه تصادفي خروجي استفاده مي كند. اين خروجي با متن اصلي تركيب شده تا متن رمزنگاري شده را توليد كند. از اين مد براي رمزنگاري كاراكترهاي تنها استفاده مي شود.

    OFB

    مد Output Feedback بسيار شبيه به CFB است ولي مانند آن به زنجير كردن متون رمزنگاري شده نمي پردازد و به جاي آن يك سري پردازش ديگر بر روي متن اصلي انجام مي دهد. از اين مد براي رمزنگاري ارتباطات ماهواره اي استفاده مي شود.

    مدهاي CBC و CFB تأييد پيغام و رمزنگاري را تؤاماً انجام مي دهند. تأييد پيغام جهت اطمينان از مطابقت متن ارسال شده و متن دريافت شده است. در هنگام رمزنگاري DES بلوك هاي متن به هم لينك مي شوند، در مدهاي CFB و CBC رمزنگاري هر بلوك وابسته به رمزنگاري بلوك قبل از آن است. به علت وجود همين اتصال، در صورت ايجاد تغيير حتي در يك كاراكتر، بلوك نهايي رمزنگاري شده نيز تغيير خواهد كرد. لذا بلوك آخر به عنوان يك كد تأييد هويت كار مي كند و از يك cryptographic checksum براي آزمايش دقت انتقال و تشخيص دستكاري پيغام استفاده مي شود.
    كليدهاي DES ۴۰بيتي امروزه در عرض چندين ساعت توسط كامپيوترهاي معمولي شكسته مي‌شوند و بنابراين نبايد براي محافظت از اطلاعات مهم و با مدت اعتبار طولاني استفاده شود. كليد ۵۶ بيتي عموما توسط سخت‌افزار يا شبكه‌هاي بخصوصي شكسته مي‌شوند.

    استاندارد پيشرفته رمزنگاري يا AES چيست؟

    مؤسسه NIST سالها با گروههاي رمزنگاري همكاري كرد تا استاندارد رمزنگاري پيشرفته اي را تدوين نمايد. هدف كلي توسعه استانداردي بود كه توانايي محافظت از اطلاعات حساس را براي حداقل يك دهه دارا باشد.
    مسابقات بسياري انجام شد تا الگوريتمي كه بايد پايه استاندارد رمزنگاري پيشرفته (AES) باشد، معين گردد. بالاخره در سال 1999، بين پنج الگوريتمي كه به فاينال رسيدند، الگوريتم Rijndael انتخاب شد كه توسط Joan Daemon و Vincent Rijmen نوشته شده بود. الگوريتم هايي كه به فاينال راه پيدا كرده بودند عبارتند از: MARS ، RC6، Rijndael، Serpent و Twofish. استاندارد FIPS-197 در همين رابطه تهيه شده است و الگوريتم مذكور را به عنوان يك رمزنگاري متقارن تعريف مي كند كه سازمان هاي دولتي آمريكا بايد با استفاده از آن، اطلاعات حساس را رمزنگاري كنند. از آنجايي كه اثبات قابل اعتماد بودن الگوريتم مذكور كار بسيار دشواري بود، بسياري از كشورها و مليت هاي ديگر نيز به پروژه AES پيوستند و به آزمايش اين الگوريتم پرداختند و از آنجايي كه مشكلي در اين مورد پيدا نشد، الگوريتم مذكور روز به روز قابليت اعتماد بيشتري را كسب كرد.

    طرز كار AES

    الگوريتم Rijndael بايت به بايت كار مي كند و ورودي اصلي را با كليد رمزنگاري در يك ماتريس 4×4 جفت مي كند. كليد، به طريقي تقسيم يا برنامه ريزي شده است كه بتواند در مراحل مختلف تكرار به تدريج تزريق شود. اولين قسمت كليد قبل از شروع پروسه 10 مرحله اي تزريق مي شود. در هر كدام از اين مراحل، بايتها جابجا مي شوند، رديف ها شيفت پيدا مي كنند و ستونها تركيب مي شوند.

    • SubBytes
    در پروسه جابجايي، بايت هاي متن ورودي در يك جعبه جابجايي به نام S-box قرار مي گيرند كه يك ماتريس 16×16 است. هر بايت در يك تقاطع سطر و ستون اين ماتريس جا مي گيرد. براي پيدا كردن جاي هر بايت اولين عدد صحيح مبناي 16 (nibble) در يك بايت متن اصلي گرفته شده و از آن براي مشخص كردن سطر S-box استفاده مي شود و سپس از دومين nibble براي مشخص كردن ستون استفاده مي شود. كاراكتري كه در تقاطع سطر و ستون انتخاب شده ذخيره مي گردد به عنوان SubByte براي متن اصلي شناخته مي شود. اين پروسه براي هر 16 بايت در ماتريس تكرار مي شود.


    • شيفت رديف و تركيب ستونها
    بايت هايي كه بايد رمزنگاري شوند، توسط جايگذاري تعويض مي شوند وسپس رديف ها شيفت پيدا مي كنند. براي مثال اولين رديف دست نخورده باقي مي ماند، رديف دوم يك محل به راست جابجا مي شود، سومين رديف دو محل جابجا مي شود و آخرين رديف نيز سه محل جابجا مي شود. اين پروسه توسط يك فاز تركيب ستونها دنبال مي شود كه در آن هر ستون از ماتريس در يك ماتريس ديگر ضرب مي شود تا موقعيت ستون تغيير پيدا كند.





    • كليدهاي Round

    در مرحله بعدي يك كليد round به هر ستون اضافه مي شود. اين كليد در واقع يك تكه كوچك از يك كليد محرمانه است كه براي مراحل بعدي رمزنگاري تزريق مي شود.

    • تكرار
    اين تبديل ها 9 بار ديگر تكرار مي شوند. در تكرار آخر تركيب ستون ها وجود ندارد و با اضافه كردن كليد round متن رمزنگاري شده به دست مي آيد. كليد نيز به نوبه خود شيفت پيدا مي كند، گرد مي شود و به خودش اضافه مي شود.

    ديگر الگوريتمهاي رمزنگاري كليد متقارن

    الگوريتم Twofish مشخصا براي پياده‌سازي در پردازنده‌هاي توان‌ـ‌پايين مثلا در كارتهاي هوشمند طراحي شد. براي رمزنگاري جرياني (streaming encryption) (كه رمزنگاري ديتا در حين ارسال صورت مي‌گيرد به جاي اينكه ديتاي كدشده در يك فايل مجزا قرار گيرد) الگوريتم RC4 سرعت بالا و دامنه‌اي از طول كليدها از ۴۰ تا ۲۵۶ بيت را فراهم مي‌كند. الگوريتم RC4 كه متعلق به امنيت ديتاي RSA است، بصورت عادي براي رمزنگاري ارتباطات دوطرفه امن در اينترنت استفاده مي‌شود.

    .

    الگوريتم هاي رمزنگاري با كليد نامتقارن

    در قسمت قبلي در مورد الگوريتم هاي رمزنگاري متقارن DES و AES توضيح داديم كه از يك كليد براي رمزنگاري و رمزگشايي استفاده مي كنند. در الگوريتم هاي مذكور در صورتي كه كليد رمزنگاري به سرقت رود محرمانگي اطلاعات نيز از بين خواهد رفت.
    الگوريتم هاي رمزنگاري با كليد نامتقارن از كليدهاي مختلفي براي رمزنگاري و رمزگشايي استفاده مي‌كنند. بسياري از سيستمها اجازه مي‌دهند كه يكي از كليدها (كليد عمومي يا public key) منتشر شود در حالي كه ديگري (كليد خصوصي يا private key) توسط صاحبش حفظ مي شود. فرستنده پيام، متن را با كليد عمومي گيرنده، كد مي‌كند و گيرنده آن را با كليد اختصاصي خود رمزگشايي مي كند. بعبارتي تنها با كليد خصوصي گيرنده مي‌توان متن كد شده را به متن اوليه صحيح تبديل كرد. يعني حتي فرستنده نيز اگرچه از محتواي اصلي پيام مطلع است اما نمي ‌تواند از متن كدشده به متن اصلي دست يابد، بنابراين پيام كدشده براي هر گيرنده‌اي، به جز گيرنده مورد نظر فرستنده، بي ‌معني خواهد بود.
    معمول ترين سيستم نامتقارن بعنوان RSA شناخته مي‌شود (اين حروف، اول نام پديد آورندگان آن يعني Rivest، Shamir و Adlemen است). اين الگوريتم در سال 1978 در دانشگاه MIT ايجاد شده است و تأييد هويت (روشي براي مطمئن شدن از هويت ارسال كننده پيغام ) را به خوبي رمزنگاري انجام مي دهد. الگوريتم RSA از دو كليد براي رمزنگاري استفاده مي كند: كليد خصوصي و كليد عمومي. در الگوريتم مذكور تفاوتي بين توانايي عملياتي كليد عمومي و خصوصي وجود ندارد و يك كليد مي تواند هم به عنوان كليد خصوصي به كار رود و هم به عنوان كليد عمومي.
    كليدهاي RSA با استفاده از روش هاي رياضي و با تركيب اعداد اول توليد مي شوند. بزرگترين عددها با ضرب اعداد كوچك به دست مي آيند و اين اعداد كوچك از لحاظ رياضي به هم وابسته هستند و دانستن يكي از آنها منجر به شناسايي ديگر اعداد اول به كار رفته در كليد مي شود. اين وضعيتي است كه در استفاده از كليد هاي عمومي و خصوصي مورد نظر است. البته در صورتي كه عدد خيلي بزرگ باشد، اين كار به راحتي قابل انجام نيست و وضعيت هاي گمراه كننده بسياري وجود دارند. تنها تركيب درست از اعداد اول موجود در كليد رمزنگاري، قادر به رمزگشايي پيغام است. امنيت الگوريتم RSA و الگوريتم هاي مشابه آن وابسته به استفاده از اعداد خيلي بزرگ است و بيشتر نسخه هاي RSA از اعداد 154 رقمي يا 512 بيتي به عنوان كليد استفاده مي كنند. دسترسي به فاكتورهاي اعداد اول اعداد خيلي بزرگ كه بيش از 100 رقم دارند كار بسيار مشكلي است. البته برخي از محققان توانسته اند با تلاش بسيار اعداد بزرگ را بشكنند ولي اين كار براي هكرها براي ورود به يك سيستم يا سر در آوردن از يك پيغام مقرون به صرفه نمي باشد.
    اساس سيستم RSA اين فرمول است: X = Yk (mod r)
    كه X متن كد شده، Y متن اصلي، k كليد اختصاصي و r حاصلضرب دو عدد اوليه بزرگ است كه با دقت انتخاب شده‌اند. براي اطلاع از جزئيات بيشتر مي‌توان به مراجعي كه در اين زمينه وجود دارند رجوع كرد. اين شكل محاسبات روي پردازنده‌هاي بايتي بخصوص روي ۸ بيتي‌ها كه در كارتهاي هوشمند استفاده مي‌شود بسيار كند است. بنابراين، اگرچه RSA هم تأييد هويت و هم رمزنگاري را ممكن مي‌سازد، معمولاً تنها براي تاييد هويت منبع پيام از اين الگوريتم در كارتهاي هوشمند استفاده مي‌شود.
    مي‌توان از يك سيستم نامتقارن براي نشان دادن اينكه فرستنده پيام همان شخصي است كه ادعا مي‌كند استفاده كرد كه اين عمل در اصطلاح امضاء نام دارد.
    • فرستنده متن اصلي را با استفاده از كليد اختصاصي خود رمز مي‌كند؛ اين فرآيند امضا نام دارد.
    • رمزگشايي عمليات مشابهي روي متن رمزشده اما با استفاده از كليد عمومي فرستنده است. براي تاييد امضاء بررسي مي‌كنيم كه آيا اين نتيجه با ديتاي اوليه يكسان است؛ اگر اينگونه است، امضاء توسط كليد خصوصي متناظر رمز شده است.
    به بيان ساده‌ تر چنانچه متني از شخصي براي ديگران منتشر شود، اين متن شامل متن اصلي و همان متن اما رمز شده توسط كليد خصوصي همان شخص است. حال اگر متن رمزشده توسط كليد عمومي آن شخص كه شما از آن مطلعيد رمز گشايي شود، مطابقت متن حاصل و متن اصلي نشان دهنده صحت فرد فرستنده آن است، به اين ترتيب امضاي فرد تصديق مي‌شود. ساير افراد كه از كليد خصوصي اين فرد اطلاع ندارند قادر به ايجاد متن رمز‌شده‌ اي نيستند كه با رمزگشايي توسط كليد عمومي اين فرد به متن اوليه تبديل شود.
    ساير سيستمهاي كليد نامتقارن شامل سيستمهاي لگاريتم گسسته مي‌شوند مانند Diffie-Hellman، ElGamal و ساير طرحهاي چندجمله ‌اي و منحني‌ هاي بيضوي. بسياري از اين طرحها عملكردهاي يك‌ طرفه‌اي دارند كه اجازه تاييد هويت را مي ‌دهند اما رمزنگاري ندارند.
    يك رقيب جديدتر الگوريتم RPK است. الگوريتم رمزنگاري RPK يك سيستم رمزنگاري نسبتاً جديد بر پايه كليد عمومي است كه مبتني بر رياضياتي است كه امروزه به صورت گسترده در رمزنگاري استفاده مي شود. اين الگوريتم براي كاربردهاي تجاري طراحي شده است و نياز به مطالعات و تحقيقات گسترده در زمينه هاي جديد رياضي ندارد. مطالعه بر روي اين زمينه ها مانند سيستم رمزنگاري منحني هاي بيضوي (ECC)، گاهي اوقات چندين سال به طول مي انجامد. رمزنگاري RPK تمهيداتي را براي رمزنگاري در انتقال اطلاعات در شبكه هاي با سرعت بالا، كارت هاي هوشمند و برنامه هاي مبتني بر ارتباطات بي سيم انديشيده است. اين الگوريتم براي استفاده در پروسه هاي نرم افزاري حجيم مانند تراكنش هاي كارت هاي اعتباري نيز مناسب است.
    در هسته RPK يك ابداع به نام Mixture Generator وجود دارد و در پياده سازي آن سه شيفت رجيستر خطي وجود دارند. اين ماشين وضعيت دو حالت عملياتي دارد. يك حالت از شيفت رجيسترها براي به توان رساني استفاده كرده و ديگري به عنوان يك توليد كننده جريان تصادفي از بيت ها براي كاربرد در فاز تركيب رمزنگاري به كار مي رود. سيستم RPK دو مرحله پرهزينه به توان رساني كل پيغام را به طور مؤثر كاهش داده است زيرا موتور هسته آن براي قرارداد ن سيستم در وضعيت اوليه امن به كار رفته و سپس بين دو حالتي كه در بالا توضيح داده شد براي اجراي رمزنگاري سريع سوئيچ مي كند.

    طول كليدها براي اين طرحهاي جايگزين بسيار كوتاهتر از كليدهاي مورد استفاده در RSA است كه آنها براي استفاده در چيپ ‌كارتها مناسب‌ تر است. اما ‌RSA محكي براي ارزيابي ساير الگوريتمها باقيمانده است؛ حضور و بقاي نزديك به سه ‌دهه اين الگوريتم، تضميني در برابر ضعفهاي عمده به شمار مي‌رود

    ترنسیس
  2. کاربر زیر از hmdrf برای پست مفید تشکر نموده است:


اطلاعات تاپیک

کاربران حاضر در این تاپیک

در حال حاضر 1 کاربر در حال مشاهده این تاپیک هستند. (0 عضو و 1 مهمان)

این مطلب را به اشتراک بگذارید

قوانین ارسال

  • شما نمی‌توانید تاپیک جدید ارسال کنید.
  • شما قادر به ارسال پاسخ نیستید .
  • شما نمی‌توانید فایل ارسال کنید.
  • شما نمی‌توانید پست ‌های خود را ویرایش کنید.
  •  
دانشجو در شبکه های اجتماعی
افتخارات دانشجو
لینک ها
   
سایت برگزیده مردمی در چهارمین و پنجمین جشنواره وب ایران
سایت برگزیده مردمی در چهارمین و پنجمین جشنواره وب ایران
به دانشجو امتیاز دهید:

آپلود مستقیم عکس در آپلودسنتر عکس دانشجو

توجه داشته باشید که عکس ها فقط در سایت دانشجو قابل نمایش می باشند.

Search Engine Friendly URLs by vBSEO 3.6.1