رمز نگاری 11

Cryptography – رمز نگاری

Cryptography یا رمز کردن دیتا یک فرایند نسبی است که نمی توانیم صد در صد مشخص کنیم یک الگوریتم به دیگری ارجح و یا کاملاً Secure است.

فقط در مورد برخی attack ها میتوان گفت که الگوریتم خاصی بهتر عمل میکند نسبت به مابقی الگوریتم ها , ولی در مورد brute force attack  میتوان گفت که اکثر الگوریتم ها نسبت به آن ضعف دارند.حال میخواهیم به توضیح برخی از روش های رمزنگاری بپردازیم.

انواع روش های رمز نگاری :

substitution : یکی از قدیمی ترین روش ها در رمز نگاری است. با روش تعویض کار می کند ، اولین بار این روش را ژولیوس سزار در جنگ ، برای ارسال نامه های محرمانه به فرمانده ی خود استفاده کرده است . در این روش (معمولاً) یک حرف با حرف دیگری جایگزین میشود به طور مثال حرف A با D ، حرف B با E و…..

با این کار متن معنی خود را از دست می دهد اما این روش زیاد امن نبوده و به راحتی قابل رمز گشایی شدن است.

رمز نگاری 2

 

Substitution box : در این روش یک مجموعه ای از کاراکتر ها را به یک مجموعه ای از کاراکتر ها تبدیل میکنیم مشکل این روش این است چون تعداد کاراکتر ها تعیین شده است اگر فضای کاراکتری خالی بماند باعث می شود خیلی سریع رمز گشایی شود به همین دلیل از این روش رمز نگاری به صورت ترکیبی با دیگر الگوریتم ها استفاده می شود.

(one-time pad (OTP: این الگوریتم یک key را در نظر می گیرد با plaintext ما XOR میکند ( برای بالا بردن امنیت می توانیم key را randomize اش کنیم )

WEP از این الگوریتم استفاده میکند به همین علت است که سریع رمز گشایی می شود.

Text ای را که تحویل میدهد اصطلاحاً Cipher Text می گویند.

رمز نگاری 9

امروزه بجای اینکه encryption و decryption الگوریتم ها را secure نگه دارند بیشتر روی کلید آن و امن نگه داشتنش تمرکز دارند.

الگوریتم های رمز نگاری ۲ دسته هستند :

۱- Symmetric – متقارن

۲- Asymmetric – نا متقارن

Symmetric ها الگوریتم هایی هستند که با یک کلید Encrypt و Decrypt می شوند. ضعف اصلی آنها Key Exchange شان است ، چون کلید ها در دو طرف یکسان است کلیدی که در مبدا برای رمز نگاری استفاده می شود در مقصد هم برای رمز گشایی استفاده می شود به همین دلیل باید طوری exchange کنیم که اگر هم کسی Sniff کرد کلید لو نرود.سایز کلید بین ۴۰ الی ۵۶ بیت است.

Asymmetric ها برای رمز نگاری دو کلید دارند : Public Key و Private Key

نیابد از Public Key به Private Key برسیم یا بالعکس . سایز کلید بین ۵۱۲ الی ۴۰۹۶ بیت است.

البته این معیار برای سنجش میزان امنیت که هرچه سایز کلید بزرگتر باشد ، امن تر است اشتباه است بستگی به جایی که می خواهیم الگوریتم را استفاده کنیم دارد.

در کل الگوریتم های Symmetric سریعتر هستند. Asymmetric ها حدوداً ۱۰۰۰ برابر کندتر از Symmetric ها هستند.

در مطلب بعدی به تایپ ها ، برخی الگوریتم های متقارن و نا متقارن و Hashing و Digital Signature می پردازیم 😉

نظرات