پنجشنبه ۱۳۹۳/۰۵/۱۶

رمزگذاري يا Encryption

رمزگذاري يا Encryption
يونانيان باستان براي رمزگذاري کردن از ابزاري به نام Scytale استفاده مي کردند که پيام رمز را جابه جا کرده و به سادگي آن را به دور نواري از جنس پوست بر روي سيلندر مي بستند و پيام را ارسال مي کردند که به هنگام ارسال معني خاصي نداشت اما سمت گيرنده با داشتن کليد خاص مي توانست آن را رمزگشايي و بخواند.

اين روش رمزنگاري مي تواند به راحتي شکسته شود اما توجه داشته باشيد که اين روش اولين نمونه رمزگذاري واقعي بود که در دنياي واقعي نيز استفاده مي شد.
در آن زمان ژوليوس سزار براي محرمانه کردن پيام خود در طول زمان از جابه جايي حروف به سمت چپ يا راست با توجه به موقعيت آن ها استفاه مي کرد. اين روش بعدها به عنوان رمز سزار شناخته شد. به عنوان مثال براي رمزگذاري عبارت “GEEK”‌ حروف را جابه جا کرده و به “JHHN”‌ تبديل مي شود.
 
مشکل اين روش اين است که از آنجايي که تنها دريافت کننده پيام در نظر گرفته مي شود و پيام را رمزگذاري مي کنند در نتيجه رمزگشايي براي فرد ديگري مشکل است و اين امر عجيب به نظر مي رسد اما کسي که در قبل با رمزگذاري آشنا بوده است مي تواند آن را رمزگشايي و مطالعه کند.
يکي ديگر از مدل هاي رمزگذاري استفاده از مربع ساده رمزگذاري شده است. در اين مربع موقعيت هر حرفي متناسب با اعدادي درج مي شود که در بالاي مربع نوشته شده اند و با توجه به آن مي توان رمزگشايي را انجام داد. به اين ترتيب اگر فردي نامه اي را به صورت عددي ارسال کند و از مربع رمزگذاري آگاهي داشته باشد به راحتي مي تواند محتوا ينامه را حدس بزند. مثلا اگر اعداد “23 31 31 43”‌ ارسال شود مي توان فهميد که منظور کلمه “GEEK”‌ است.
 
ماشين Enigma
اين ماشين در جنگ جهاني دوم توسط آلماني ها استفاده مي شد که رمزگذاري را به صورت انتقال به جلو و عقب انجام مي دادند.
انواع رمزگذاري مدرن
تمامي الگوريتم هاي رمزگذاري فانتزي که درباره ان ها صحبت کرديم عمدتا براي دو نوع متفاوت از رمزنگاري استفاده مي شود:
الگوربتم کليد متقارن:اين نوع کليد رمزگذاري براي رمزنگاري و رمزگشايي يکسان بوده و مرتبط عمل مي کنند.
الگوريتم کليد نامتقارن:در اين نوع الگوريتم از کليدهاي متفاوتي براي رمزگذاري و رمزگشايي استفاده مي شود که معمولا به عنوان کليد عمومي رمزنگاري معرفي شده است.
 
در الگوريتم هاي رمزنگاري با کليدهاي نامتقارن، دو کليد عمومي و خصوصي وجود دارد. در اين ميان فرستنده پيام، پيام را با استفاده از کليد عمومي که در دست گيرنده است کد کرده و به سمت او مي فرستد و گيرنده آن را با کليدي که در دست دارد باز مي کند
در الگوريتم رمزگذاري با استفاده از کليد متقارن براي آن که درک کنيد که چگونه کار مي کند مي توانيد خدمات پستي را در نظر بگيريد. فردي را در نظر بگيريد که يک پيام مخفي را در جعبه اي قرار داده و بر روي آن قفلي قرار مي دهد که کليد قفل در دستش است. زماني که بسته به دست گيرنده مي رسد با استفاده از کليدي مشابه که در دست فرستنده بود و در يک ملاقات حضوري به يکديگر داده بودند مي تواند جعبه را باز کند.
 
الگوريتم رمزگذاري متقارن
در الگوريتم رمزگذاري متقارن، اين الگوريتم يک جريان نوار مانند از پيام را به قسمت هاي واحدي تقسيم مي کند که اغلب بلوک هاي 64 بيتي هستند و سپس هر يک را در همان زمان رمزگذاري مي کند. الگوريتم هاي بسياري در اين رابطه وجود دارند که محبوب تر و شناخته شده تر هستند. در اين ميان مي توان به الگوريتم هايي مانند Blowfish، Serpent، Twofish و ... وجود دارند.
در الگوريتم هاي رمزنگاري با کليدهاي نامتقارن، دو کليد عمومي و خصوصي وجود دارد. در اين ميان فرستنده پيام، پيام را با استفاده از کليد عمومي که در دست گيرنده است کد کرده و به سمت او مي فرستد و گيرنده آن را با کليدي که در دست دارد باز مي کند. مزيت اين روش اين است که فرستنده و گيرنده نيازي به ارسال يک کپي از کليدهاي خود ندارند و اين امر موجب مي شود تا فرد جاسوسي نتواند اين کليدها را به سرقت ببرد. در نهايت براي رمزگذاري و رمزگشايي از کليدهاي مختلفي استفاده مي شود. دريافت کننده پيام يک کليد خصوصي و عمومي ايجاد مي کند. کليد عمومي بين فرستندگان پيام توزيع مي شود و آن ها براي رمز کردن پيام از اين کليد استفاده مي کنند. گيرنده پيام از کليد خصوصي که در اختيار خودش است اقدام به رمزگشايي پيام مي کند.
 
به همين دليل در اين روش نيازي به ارسال هر چيز مخفي مانند کليدهاي رمزگشايي يا رمزنگاري بر روي کانال هاي ناامن نيست. کليد عمومي شما مي تواند به راحتي منتقل شود بدون اين که هيچ گونه ناامني به وجود آيد اما کليد خصوصي شما بدون هيچ گونه نگراني بر روي سيستم شما باقي مي ماند.