تعریف رمز نگاری
چند تعریف برای معنای رمز نگاری نیاز است ابتدا آن هارا با هم بررسی کنیم
متن آشکار(Plaintext)
متنی که رمز نشده است
متن رمز(Ciphertext)
متنی که رمز شده است
رمز(Cipher)
الگورتیمی که Plaintext را به Ciphertext تبدیل میکند را گویند
کلید(Key)
اطلاعاتی که در Cipher استفاده میشود و فقط فرستنده و یا گیرنده آن را میدانند
رمز گذاری(Encipher,Encrypt)
تبدیل Plaintext به Ciphertext
رمز گشایی(Decipher,Decrypt)
استخراج Plaintext از Ciphertext
رمز نویسی(Cryptography)
علم اصول روش های encryption
تحلیل رمز(Cryptanalysis)
علم اصول و روش های Decryption بدون اطلاع از Key که به آن به اصطلاح codebreaking هم گفته میشود
رمز نگاری(Cryptology)
و بالاخره رمز نگاری یعنی علم حاصل از ترکیب Cryptography و Cryptanalysis
رمزنگاری اصولا به دو روش ۱-رمزنگاری متقارن ۲- رمزنگاری نامتقارن تقسیم میشود
در این روش از کلید مشترک برای Encrypt و Decrypt استفاده میشود از الگوریتم های معروف آن
رمز های متقارن را میتوان به دو روش عمده تولید کرد:
مد های کاری رمز های قطعه ای
در benchmark زیر سرعت الگوریتم های روش متقارن را مشاهده می کنید
اگر خواستید الگوریتم AES را امتحان کنید به اینجا مراجعه کنید
در این روش به جای استفاده از یک کلید مشترک از یک جفت کلید به نام های عمومی(public) و خصوصی(private) استفاده میشود به این صورت که با public key اطلاعات encrypt شده و با private key اطلاعات decrypt میشود
از الگوریتم های معروف این روش
رمز نگاری نا متقارن برای جایگزینی روش رمز نگاری متقارن به وجود نیامده است بلکه برای تکمیل روش رمز نگاری متقارن به وجود آمده است که به آن اصطلاح کلید عمومی گفته میشود و برای رسیدن به دو هدف طراحی شده است
ویژگی های روش نامتقارن را میتوان موارد زیر عنوان کرد
برای رمزنگاری گام های زیر را بر می داریم
در benchmark زیر سرعت الگوریتم های روش نا متقارن را مشاهده می کنید
اگر خواستید الگوریتم RSA را امتحان کنید به اینجا مراجعه کنید البته که قرار شد private key محرمانه باشد! ولی خب برای امتحان بد نیست
گمراه کنندگی (Confusion) : رابطه بین متن رمزشده و کلید تا حد امکان پیچیده باشد.
پراکندگی (Diffusion) :ساختار آماری Plantext بر روی حجم وسیعی از متنهای رمزشده ممکن پراکنده شود.
الگوریتم های رمز باید خصوصیات آماري Plaintext را به طور کامل مخفی کنند. که الگویتم های
One-Time Pad این عمل را انجام می دهند
به طور کلی هدف از حمله
و نحوه حملات را میتوان به دو روش زیر عنوان کرد
برای مثال یک روش مرسوم Brute Force است که حدس زدن cipher های مختلف و تطابق آن با cipher اصلی، plaintext پیدا میشود ولی این روش مستلزم آن است که الگوریتم استفاده شده برای رمز نگاری را بدانیم
معذرت بابت کم و کاستی های فراوان این مطلب
خیلی خوشحال میشوم نظرات خود را اینجا بگذارید
با تشکر از شما