به گزارش خبرنگار حوزه دریچه فناوری گروه فضای مجازی باشگاه خبرنگاران جوان، رمزنگاری و تغییر اطلاعات از حالتی به حالت دیگر موضوعی نیست که ما امروز با آن برخورد کرده باشیم، بلکه سال ها است افراد بخصوص نظامیان از روش های متنوع و گوناگون رمزنگاری اطلاعاتشان استفاده میکنند و حال که امروز دست ما رسیده است. رمزنگاری در زبان انگلیسی به Cryptography شهرت دارد، که برگرفته از لغات یونانی kryptos به مفهوم «محرمانه» و graphien به معنای «نوشتن» است. رمزنگاری در واقع دانشی است که به بررسی و شناختِ اصول و روشهای انتقال یا ذخیرهٔ اطلاعات به صورت امن (حتی اگر مسیر انتقال اطلاعات و کانالهای ارتباطی یا محل ذخیره اطلاعات ناامن باشند) میپردازد.
رمزنگاری را میتوان، استفاده از تکنیکهای ریاضی، برای برقراری امنیت اطلاعات دانست. دراصل رمزنگاری دانش تغییر دادن متن پیام یا اطلاعات به کمک کلید رمز و با استفاده از یک الگوریتم رمز است، به صورتی که تنها شخصی که از کلید و الگوریتم مطلع است قادر به استخراج اطلاعات اصلی از اطلاعات رمز شده باشد و شخصی که از یکی یا هر دوی آنها اطلاع ندارد، نتواند به اطلاعات دسترسی پیدا کند. دانش رمزنگاری بر پایه مقدمات بسیاری از قبیل تئوری اطلاعات، نظریه اعداد و آمار بنا شدهاست و امروزه بهطور خاص در علم مخابرات مورد بررسی و استفاده قرار میگیرد.
جالب است بدانید؛ در رمزنگاری هدف ساختن طرحها یا پروتکلهایی است که بتوان با کمک آنها حتی در حضور دشمن نیز کارهای خاصی را انجام داد. یک هدف اساسی در رمزنگاری این است که به افراد این امکان را بدهند که روی یک کانال ناامن با حفظ حریم خصوصی و اصالت دادههایشان به صورت کاملاً امن با هم ارتباط برقرار کنند.
به عنوان مثال فرض کنید؛ آلیس بخواهد از طریق اینترنت پیامی را برای باب ارسال کند. در حالت ایدهآل میخواهیم که هیچ حمله کنندهای نتواند هیچ اطلاعاتی درباره پیام آلیس بهدست آورد و همچنین نتواند هیچ تغییری در پیام آلیس بدون اینکه باب متوجه شود، ایجاد کند. با وجود اینکه حفظ حریم خصوصی و اصالت دادهها یک هدف اصلی برای پروتکلهای رمزنگاری است علاوه بر این امروزه علم رمزنگاری در موضوعات بسیار زیاد دیگری مانند رأیگیری الکترونیکی، پولهای الکترونیکی و مزایدههای امن پیشرفتهای قابل توجهای کرده است و مسائل زیادی در این زمینهها نیز مطرح شده است.
بصورت کلی سه نوع رمز نگاری وجود دارد:
پردازش ریاضی روی متن در رمزنگاری فیزیکی صورت نمیگیرد.
(Cipher) عمومیترین این روش عبارتی است از جابجایی یا جایگزینی حروف (کاراکترها) یا کلمات است و یا پنهان سازی اطلاعات داخل اطلاعات دیگر مانند یک تصویر (Stenography)
در رمز نگاری ریاضی از فرآیندها و پردازشهای ریاضی روی متن یا کاراکترها استفاده میکند. معروفترین این روش ادغام سازی یا همان Hashing است. در این روش یک محاسبه روی پیام انجام میشود و آنرا به یک مقدار عددی تبدیل میکند که به آن Hash Value گفته میشود.
بهطور مثال هر کاراکتر را در ۳ ضرب و با هم جمع و حاصل را بر ۱۰ تقسیم کند. این الگوریتم یک طرفه است و نمیتوان از مقدار Hash به متن رسید. یکی از پر کاربردترین استفادههای یک تابع درهم سازی در پایگاه دادهها است هنگامی که میخواهید به وب سایت وارد شوید، رمز عبور شما دریافت میشود و تبدیل به مقدار Hash میشود و با پایگاه داده مورد نظر مقایسه میشود، اگر مقادیر برابر بود یعنی رمز شما درست است.
یکی دیگر از کاربردها اطمینان از صحت داده ارسالی یا دریافتی در مسیر یک شبکه است به این صورت که در مبدا از فایل یک مقدار Hash تهیه شده و بعد از رسیدن به مقصد نیز مجددا یک Hash تهیه کنید و مقادیر را با هم مقایسه کنید، در صورتی که مقادیر یکسان باشد فایل شما حتی اگر چند ترابایت داده نیز داشته باشد قطعا سالم و درست خواهد بود.
این نوع رمزنگاری، روشی جدید در رمز نگاری که تا قبل از ۲۰۰۲ کاربرد آن در آزمایشگاهها و برخی مراکز امنیتی دولتی بود. در این روش پیام با استفاده از یکسری فوتون ارسال میگردد. اگر دریافت کننده این فوتونها را طبق الگوریتمی که دارد بفهمد میتواند پیام را decode کند. در غیر این صورت فوتونها تغییر یافتدهاند و فرستنده شروع به ارسال مجدد پیام با یک سری جدیدی از فوتونها میکند. رمزنگاری کوانتومی بسیار پرهزینه است و کاربرد محدودی دارد.
سه روش اصلی برای کد کردن و یا همان رمزنگاری وجود دارد که عبارتند از؛
یک کلید امنیتی تولید میکند. یک کلید اختصاصی دارد که برای بقیه افراد غیر مجاز قابل استفاده نیست. کلید بین فرستنده و گیرنده یکسان است.
از ۲ کلید برای code و decode کردن دادهها استفاده میکند. این کلیدها را Public key و Private key میگویند. Public برای کد کردن پیام توسط فرستنده و Private key برای رمزگشایی توسط گیرنده استفاده میشود.
بیشتر بخوانید: آیا میدانید؛ هوش مصنوعی چطور وارد عمل میشود و چه کاربردهایی دارد؟!
دو نوع اصلی دارد
یک طرفه است یک کد ۱۶۰ بیتی تولید میکند.
یک الگوریتم یک طرفه است. چندین نسخه دارد که مهمترین آنهاعبارتند از: MD۲ ,MD۴,MD۵ یک کد ۱۲۸ بیتی تولید میکند. از hashing برای اطمینان از صحت اطلاعات استفاده میشود.
انتهای پیام/