از رمزنگاری، اهداف آن و روش انتقال اطلاعات بهصورت امن چه میدانید؟! + معرفی انواع روشهای رمزنگاری
رمزنگاری برگرفته از لغات یونانی kryptos به مفهوم «محرمانه» و دانش تغییر متن پیام به کمک کلید رمز و با استفاده از یک الگوریتم رمز است.

به گزارش خبرنگار حوزه دریچه فناوری گروه فضای مجازی باشگاه خبرنگاران جوان، رمزنگاری و تغییر اطلاعات از حالتی به حالت دیگر موضوعی نیست که ما امروز با آن برخورد کرده باشیم، بلکه سال ها است افراد بخصوص نظامیان از روش های متنوع و گوناگون رمزنگاری اطلاعاتشان استفاده میکنند و حال که امروز دست ما رسیده است.
رمزنگاری در زبان انگلیسی به Cryptography شهرت دارد، که برگرفته از لغات یونانی kryptos به مفهوم «محرمانه» و graphien به معنای «نوشتن» است.
رمزنگاری در واقع دانشی است که به بررسی و شناختِ اصول و روشهای انتقال یا ذخیرهٔ اطلاعات به صورت امن (حتی اگر مسیر انتقال اطلاعات و کانالهای ارتباطی یا محل ذخیره اطلاعات ناامن باشند) میپردازد.
رمزنگاری را میتوان، استفاده از تکنیکهای ریاضی، برای برقراری امنیت اطلاعات دانست.
دراصل رمزنگاری دانش تغییر دادن متن پیام یا اطلاعات به کمک کلید رمز و با استفاده از یک الگوریتم رمز است، به صورتی که تنها شخصی که از کلید و الگوریتم مطلع است قادر به استخراج اطلاعات اصلی از اطلاعات رمز شده باشد و شخصی که از یکی یا هر دوی آنها اطلاع ندارد، نتواند به اطلاعات دسترسی پیدا کند.
دانش رمزنگاری بر پایه مقدمات بسیاری از قبیل تئوری اطلاعات، نظریه اعداد و آمار بنا شدهاست و امروزه بهطور خاص در علم مخابرات مورد بررسی و استفاده قرار میگیرد.
رمزنگاری چه اهدافی را دنبال میکند؟!
جالب است بدانید؛ در رمزنگاری هدف ساختن طرحها یا پروتکلهایی است که بتوان با کمک آنها حتی در حضور دشمن نیز کارهای خاصی را انجام داد.
یک هدف اساسی در رمزنگاری این است که به افراد این امکان را بدهند که روی یک کانال ناامن با حفظ حریم خصوصی و اصالت دادههایشان به صورت کاملاً امن با هم ارتباط برقرار کنند.
به عنوان مثال فرض کنید؛ آلیس بخواهد از طریق اینترنت پیامی را برای باب ارسال کند.
در حالت ایدهآل میخواهیم که هیچ حمله کنندهای نتواند هیچ اطلاعاتی درباره پیام آلیس بهدست آورد و همچنین نتواند هیچ تغییری در پیام آلیس بدون اینکه باب متوجه شود، ایجاد کند.
با وجود اینکه حفظ حریم خصوصی و اصالت دادهها یک هدف اصلی برای پروتکلهای رمزنگاری است علاوه بر این امروزه علم رمزنگاری در موضوعات بسیار زیاد دیگری مانند رأیگیری الکترونیکی، پولهای الکترونیکی و مزایدههای امن پیشرفتهای قابل توجهای کرده است و مسائل زیادی در این زمینهها نیز مطرح شده است.
انواع رمز نگاری
بصورت کلی سه نوع رمز نگاری وجود دارد:
فیزیکی
ریاضیاتی
کوانتومی
رمزنگاری فیزیکی
پردازش ریاضی روی متن در رمزنگاری فیزیکی صورت نمیگیرد.
(Cipher) عمومیترین این روش عبارتی است از جابجایی یا جایگزینی حروف (کاراکترها) یا کلمات است و یا پنهان سازی اطلاعات داخل اطلاعات دیگر مانند یک تصویر (Stenography)
رمزنگاری ریاضی
در رمز نگاری ریاضی از فرآیندها و پردازشهای ریاضی روی متن یا کاراکترها استفاده میکند.
معروفترین این روش ادغام سازی یا همان Hashing است.
در این روش یک محاسبه روی پیام انجام میشود و آنرا به یک مقدار عددی تبدیل میکند که به آن Hash Value گفته میشود.
بهطور مثال هر کاراکتر را در ۳ ضرب و با هم جمع و حاصل را بر ۱۰ تقسیم کند.
این الگوریتم یک طرفه است و نمیتوان از مقدار Hash به متن رسید.
یکی از پر کاربردترین استفادههای یک تابع درهم سازی در پایگاه دادهها است هنگامی که میخواهید به وب سایت وارد شوید، رمز عبور شما دریافت میشود و تبدیل به مقدار Hash میشود و با پایگاه داده مورد نظر مقایسه میشود، اگر مقادیر برابر بود یعنی رمز شما درست است.
یکی دیگر از کاربردها اطمینان از صحت داده ارسالی یا دریافتی در مسیر یک شبکه است به این صورت که در مبدا از فایل یک مقدار Hash تهیه شده و بعد از رسیدن به مقصد نیز مجددا یک Hash تهیه کنید و مقادیر را با هم مقایسه کنید، در صورتی که مقادیر یکسان باشد فایل شما حتی اگر چند ترابایت داده نیز داشته باشد قطعا سالم و درست خواهد بود.
رمزنگاری کوانتومی
این نوع رمزنگاری، روشی جدید در رمز نگاری که تا قبل از ۲۰۰۲ کاربرد آن در آزمایشگاهها و برخی مراکز امنیتی دولتی بود.
در این روش پیام با استفاده از یکسری فوتون ارسال میگردد.
اگر دریافت کننده این فوتونها را طبق الگوریتمی که دارد بفهمد میتواند پیام را decode کند.
در غیر این صورت فوتونها تغییر یافتدهاند و فرستنده شروع به ارسال مجدد پیام با یک سری جدیدی از فوتونها میکند.
رمزنگاری کوانتومی بسیار پرهزینه است و کاربرد محدودی دارد.
حملات به رمزنگاری
برخی از معروفترین روشهای شکستن کدها عبارتند از:
Algorithm Errors
Social Engineering
Brute Force Attacks
Frequency Analysis
Human Error
الگوریتمهای رمز نگاری
سه روش اصلی برای کد کردن و یا همان رمزنگاری وجود دارد که عبارتند از؛
Hashing Asymmetric symmetric
الگوریتمهای متقارن (Symmetric)
یک کلید امنیتی تولید میکند.
یک کلید اختصاصی دارد که برای بقیه افراد غیر مجاز قابل استفاده نیست.
کلید بین فرستنده و گیرنده یکسان است.
انواع الگوریتمهای متقارن
DES از سال ۱۹۷۰ ایجاد شده است.
استاندارد اصلی که در مراکز دولتی و صنعتی بهکار میرود.
یک کلید ۱۲۸ بیتی ایجاد میکند.
AES: جایگزین DES است.
کلیدهای ۱۲۸ و ۱۹۲ و ۲۵۶ بیتی تولید میکند.
توسط ۲ نفر بنامهای Vincent Rijmen و Joan Damon طراحی شده است.
۳DES نسخه ارتقاء یافته DES است.
از DES امنتر است و شکستن قفل آن بسیار مشکل است.
CAST: توسط Carlisle Adams and Stafford Tavares طراحی شده است.
شرکتهای مایکروسافت و IBM از این الگوریتم استفاده میکنند.
کلیدهای ۴۰ و ۱۲۸ بیتی استفاده میکند.
RC: توسط آزمایشگاههای RSA استفاده میشود.
طراح آن Ron Rivest است.
انواع نسخهها: RC۵ , RC۶ کلید ۲۰۴۸ بیتی تولید میکند.
Blowfish: توسط سیستمهای Counterpane ایجاد گردیده و نویسنده اصلی آن Bruce Schneier است.
نسخه بعدی آن Twoofish است.
از کلیدهای ۴۴۸ بیتی استفاده میکند.
IDEA:از کلید ۱۲۸ بیتی استفاده میکند به لحاظ سرعت و قابلیت شبیه الگوریتم DES است، ولی امنتر از آن است.
الگوریتمهای نا متقارن (Asymmetric Algorithm)
از ۲ کلید برای code و decode کردن دادهها استفاده میکند.
این کلیدها را Public key و Private key میگویند.
Public برای کد کردن پیام توسط فرستنده و Private key برای رمزگشایی توسط گیرنده استفاده میشود.
انواع الگوریتمهای نامتقارن
RSA: طراحان آن Ron Rivest , Adi Shamir , Leonard Adleman است.
هم برای امضای دیجیتال و هم برای SSL استفاده میشود.
الگوریتم Diffie Helman: توسط ۲ نفر بنامهای دکتر W.Diffie و دکتر M.E.Hellman توسعه یافته است.
ECC: شبیه الگوریتم RSA است.
در شبکههای وایرلس کاربرد دارد.
EL Gamal: نام دیگر آن DSA است.
برای انتقال امضای دیجیتال و تبادل کلیدها استفاده میشود.
در سال ۱۹۸۵ ایجاد شده است.
بیشتر بخوانید: آیا میدانید؛ هوش مصنوعی چطور وارد عمل میشود و چه کاربردهایی دارد؟!
الگوریتم های Hashing
دو نوع اصلی دارد
SHA MD
الگوریتم SHA
یک طرفه است یک کد ۱۶۰ بیتی تولید میکند.
الگوریتم MD
یک الگوریتم یک طرفه است.
چندین نسخه دارد که مهمترین آنهاعبارتند از: MD۲ ,MD۴,MD۵ یک کد ۱۲۸ بیتی تولید میکند.
از hashing برای اطمینان از صحت اطلاعات استفاده میشود.
انتهای پیام/