Encryption :

بدست آوردن و خواندن Packet (بسته هاي ) عادي در يک شبکه معمولي TCP/IP کاري ساده اي است گاهي اوقات اين اطلاعات مي تواند شامل Password & Username باشد يا در برخي موارد شامل اطلاعات حساس که دوست نداريد کسي به اين اطلاعات دسترسي پيدا کند. از جمله Credit Cord يا Company secret در واقع حتياگر اين اطلاعات سري هم نباشد بازهمهيچ کاربري دوست ندارد اطلاعات او در داخل شبکه قابل رويت باشد روش هاي امنيتي که در ادامه آنها را توضيح مي دهيم براي امن تر کردن بيشتر شبکه طراحي شده است خيلي از اين روش ها از اصطلاح Encryption استفاده مي کنند.
Encryption يک عمليات است که در آن اطلاعات با يک روش معين (systematically) تغيير داده شده تا اين اطلاعات قابل خواندن براي کاربران غير مجاز نباشد. اطلاعات به صورت کدهاي رمزي شده و برروي شبکه عبور داده مي شود و کامپيوتر دريافت کننده (receiving Computer ) سپس اين اطلاعات را از حالت رمز در مي آورد تا بتواند آن را بخواند.
در واقع Encryption نيازي به کامپيوتر ندارد، روش Encryption روشي است که قرن ها استفاده شده است ، از زماني که مردم پيام هاي سري مي نوشتند. آن ها دنبال کدهايي بودند که بتواند محتويات پيغام را به صورت رمزي بنويسند. البته Encryption با کامپيوترهاي جديد بسيار پيچيده (Sophisticated ) شده است زيرا کامپيوترهامي توانند کدهاي خيلي زيادي را براي رمزگشايي در لحظه پردازش کنند.
بيشترين روش هاي رمزنگاري با کار بر روي اعداد اول بسيار بزرگ بدست مي آيند و اين روش ها (Algorithms ) به خودي خود به شدت وابسته به رياضي هستند وما نمي خواهيم به جزئيات اين روش ها وارد شويم.

Algorithms and Keys :
همانطور که درقسمت هاي پيش ياد گرفتيم Encryption

يک عمليات است که اطلاعات به حالتي تبديل مي شود که کساني که رمز مورد نياز براي باز کردن اطلاعات رمز شده را ندارد نتوانند به اين اطلاعات دسترسي پيدا کنند براي اينکه Encryption انجام شود دو عمليات زير بايد انجام شود:
1.پردازشي (Proccss ) که اطلاعات را غير قابل خواندن کند (Encryption)
2.پردازشي که اطلاعات رمز شده را به حالت اول برگرداند (Decryption )
- وقتي برنامه نويسان براي اولين بار شروع به نوشتن برنامه هاي Encryption کردند متوجه مشکل بزرگي شدند :
·اگر همه کامپيوترها از يک روش براي Encryption استفاده کنند اين برنامه به اندازه کافي امن نخواهد بود چرا که مهاجم (Eavesdropper) فقط کافي است يک کپي از اين برنامه داشته باشد و شروع به Decrypt کردن اطلاعات کند.
·اگر همه کامپيوترها از يک روش کاملا متفاوت و غير وابسته براي Encryption و Decryption استفاده کنند همه کامپيوتر ها نياز به برنامه اي متفاوت و غير مربوط خواهد داشت .هر دو کامپيوتر که مي خواهند با هم ارتباط برقرار کنند بايد برنامه اي جدا داشته باشند که اين روش باعث افزايش زياد قيمت و غير ممکن کردن مديريت در شبکه هاي بزرگ غيرهمگون خواهد داشت.
پس از برخورد با اين مشکلات مغزهاي بزرگ که تکنيک هاي رمزنگاري از آنها سرچشمه مي گيرد به سرعت سراغ راه حل جديدي رفتند. اين راه حل اين بود که عمليات Encryptionيا Decryption بايد به بخشهاي استاندارد و شبيه به هم و يکتايي تقسيم شوند و قسمت هاي يکسان در اختيار همه اعضاي شبکه قرار گيرد و قسمت يکتا فقط در اختيار کامپيوترهايي که قرار است با هم ارتباط برقرار کنند قرار مي گيرد .
قسمت استاندارد پروسه Encryption ، Encryption Algorithm ناميده مي شود اين


قسمت شامل فرايند رياضي است که اطلاعات را Encrypt و Decrypt مي کند و قسمت يکتا (Unique ) بخش سري فرآيند رمزنگاري (Key ) ناميده مي شود. علم Encryption بسيارعلم پيچيده اي است ولي شما مي توانيد تصورکنيد که اين Key يک عدد بسيار بزرگ است که الگوريتم رمزنگاري ازآن به عنوان متغيير استفاده مي کند.
بنابراين نتيجه يک الگوريتم رمزنگاري به مقدار کليد بستگي دارد پس تا زماني که مقدار کليد سري بماند کاربران غيرمجاز حتي اگر به اطلاعات و الگوريتم رمز دسترسي پيدا کنند نمي توانند اطلاعات اصلي را بدست بياورند. در ادامه با مثالي مفهوم Key و Algorithm را توضيح خواهيم داد.
- مردي دوست ندارد که مادرش از قيمتي که او براي مبلمان پرداخت مي کند اطلاع پيدا کند و او مي داند که مادرش کاملا از علم رياضيات اطلاع دارد و اگر او از روش ساده ضرب عددي در قيمت مبلمان استفاده کند احتمال لو رفتن قيمت اصلي توسط مادرش وجود دارد . پس اين مرد با همسرش قرار مي گذارد که اگر مادرش از قيمت مبلمان خريد شده سئوالي پرسيد او قيمت واقعي را تقسيم بر عدد مخصوص (Key) خواهد کرد و حاصل را در دو ضرب مي کند و سپس نتيجه را با ده (10) دلار جمع مي کند به عبارت ديگر اين مرد قرار مي گذارد از اين Algorithm زير استفاده کند :

در واقع n همان key (کليد) است. اين الگوريتم مي توانند به مکرر استفاده شود و مادر تا زماني که مقدار key را ندارد نمي تواند قسمت اصلي مبلمان را حدس بزند.
حال فرض کنيم اين مرد به همراه يک صندلي يا ميز به خانه مي آيد و مادرش را در حياط ملاقات مي کند او مخفيانه عددي را به

اطلاع همسرش مي رساند و وقتي مادرش از قيمت صندلي سوال مي کند او از الگوريتم و عدد سري قرارشده به عنوان مثال 3 استفاده مي کند و قيمت جديد را به مادرش مي گويد



همسر اين مرد که ازعدد سري مشترک Shared Secret)) مطلع است مي داند که بايد برعکس الگوريتم را محاسبه کند تا قيمت واقعي بدست آيد.

اين مثال ساده واقعا پيچيدگي روشهاي Encryption را نشان نميدهد و هدف اين مثال تنها تشريح مهم بين Algorithm و Key مي باشد .
قابل ذکر است به الگوريتمي که در مثال پيش توضيح داده شد Symmetric Encryption ( رمز گزاري متقارن ) گفته مي شود که عمل Decryption دقيقا برعکس عمل Encryption است ، در مقابل Symmetric Encryption ، Asymmetric Encryption وجود دارد که از Public Key استفاده ميکند .