symmetric 3

الگوریتم های Symmetric و Asymmetric در رمز نگاری

در مطلب قبلی به بررسی روش های رمز نگاری و دسته بندی آنها پرداختیم حال می خواهیم الگوریتم های Symmetric و Asymmetric را بررسی نماییم.

الگوریتم های Symmetric دو Type دارند :

Block Cipher

Stream Cipher

در تایپ Block Cipher سایز ورودی ای که به الگوریتم می دهیم یکسان است. دیتا را ۱۲۸ بیت ، ۱۲۸ بیت تحویل می گیرید و به همین صورت هم تحویل می دهد

در Stream Cipher سایزی که به آن تحویل می دهیم معمولاً سایز خیلی کوچکی است ، یک بیت یک بیت یا نهایتاً روی یک بایت یک بایت توافق می شود.

تفاوت ها : Stream خیلی سریع است و سایز آن افزایش پیدا نمی کند اما در حالت Block چون تعیین شده بود که حتماً ۱۲۸ بیت باشد باید به آخر آن بیت اضافه شود و در نتیجه سایز آن تغییر پیدا می کند.

نمودار زمان رمز نگاری برخی الگوریتم ها:

 

symmetric 112

 

 

symmetric 200

 

انواع الگوریتم های رمز نگاری :

symmetric 114

انواع الگوریتم های Symmetric :

DES : عمدتاً در تایپ Block کار میکند اما در Stream هم می شود کانفیگش کرد. سایز کلیدش ۶۴ بیتی و سرعت آن بالاست. در IPsec هم از آن استفاده می کنیم. سایز کلید اصلی ۵۶ بین است که ما بقی آن Parity اضافه می شود.

۳DES : همانند DES است اما سایز کلیدش ۳ تا ۵۶ بیت یعنی ۱۶۸ بیت می باشد برای امنیت بیشتر.

AES : الگوریتم آن بعد از DES و ۳DES آمد و جایگزین آنها شد . سایز کلید آن می تواند ۱۲۸ ، ۱۹۲ و ۲۵۶ بیت باشد ، نسبت به دو الگوریتم قبلی خیلی سریعتر است و همچنین مورد تایید وزارت دفاع آمریکاست ، هنوز attack ای روی آن گزارش نشده است.

Digital Hashing and Signature :

به بهم ریختن message که خروجی آن با طول ثابت باشد Hashing می گویند.

معروف ترین آن MD5 است هر ورودی ای که بدهیم یک خروجی با ۳۲ کاراکتر هگزا دسیمال تحویل می دهد.

Digital Signature نتنها بررسی میکند دیتای ما در بین راه تغییر نکرده باشد بلکه از منبع معتبر هم باشد ( منبع معتبر را خودمان با پارامتر ها تعیین می کنیم)

در hashing خروجی را خرد می کند و بهم میریزد سپس خرده ها را XOR می کند نتیجه آن همان ۳۲ کاراکتر می شود که به آن Finger Print هم میگویند.

*زمانی که ورودی های مختلف بدهیم و پس از hash خروجی یکسان به ما تحویل دهد Collision اتفاق می افتد.

هرچه در الگوریتمی کالیژن کمتر باشد بهتر است الگوریتم MD5 کالیژن زیادی دارد.

نظرات