آشنایی با تفاوت های Stream Cipher و Block Cipher و یژگی های آنها

سلام به همه پی وی لرنی های عزیز!
در این مقاله می خواهیم به آشنایی با تفاوت های Stream Cipher و Block Cipher و یژگی های آنها بپردازیم. Stream Cipher و Block Cipher هر دو جریان رمزگذاری و رمزنگاری های تکنیکی هستند که برای رمزگذاری و رمزگشایی به کار می روند؛  یعنی برای تبدیل متن ساده به متن رمزنگاری و رمزنگاری متن به متن ساده. هر دو این روش برای یک هدف هستند اما در روش ها و روند کار آن ها تفاوت وجود دارد.

آشنایی با تفاوت های Stream Cipher و Block Cipher و یژگی های آنها

Block Cipher روشی است که مستلزم رمزگذاری یک بلوک از متن ساده در یک زمان می شود و رمزگشایی توسط یک بلوک به طور همزمان انجام می شود. بنابراین در اصل دو روش محبوب برای رمزگذاری و رمزگشایی متن وجود دارد. Block Cipher بلوک های کل رمز را رمزگذاری می کنند. اما Stream Cipher روشی است که شامل رمزگذاری یک بیت متن ساده در یک زمان می شود. این رمز گذاری با گرفتن digit/element یا رقم/عنصر به طور مداوم رمزگذاری می شوند و در هر زمان یک عنصر را تولید می کنند.
Block Cipher را می توان با رمزگذاری یک بلوک کامل با رمز جریان از رمزنگاری Stream Cipher ایجاد کرد اما عکس این مسئله وجود ندارد و نمی توان Stream Cipher را از Block Cipher ایجاد نمود.

مقایسه کلی

در ادامه آشنایی با تفاوت های Stream Cipher و Block Cipher و یژگی های آنها جدولی ارائه کرده ایم که می تواند در شناخت تفاوت های عمده میان این دو مفید باشد.

تفاوت های اساسیStream CipherBlock Cipher
فرآیند رمزگذارییک بیت متن ساده را رمزگذاری می کند.یک بلاک از متن ساده را رمزگذاری می کند.
فرآیند رمزگشاییدر یک زمان مقداری از  متن ساده را رمزگشایی می کند.در یک زمان یک بلوک  متن ساده را رمزگشایی می کند.
Confusion و DiffusionStream cipher فقط از confusion استفاده می نماید.Block Cipher از هر دوی Confusion و Diffusion استفاده می کند.
تکنیک های مورد استفادهاز تکنیک های جایگزینی استفاده می کنداز تکنیک های انتقال استفاده می کند.
سرعتسریعتر از Block Cipher است.کند تر از Stream Cipher است.
دامنه افزونگی (Redundancy)هیچ فرصتی برای افزونگی وجود ندارد.افزونگی متن ساده را افزایش می دهد.
منبع کدبه کد کمتری نیاز داردبه کد بیشتری احتیاج دارد.
حالت های الگوریتماز بلوک کد الکترونیکی (ECB) و رمزگذاری بلوک رمزگذاری (CBC) استفاده می کند.از بازخورد رمزگذاری (CFB) و بازخورد خروجی (OFB) استفاده می کند.
استفاده از کلیدفقط یک بار از یک کلید استفاده می شود.از یک کلید می توان چندین بار استفاده کرد
پیاده سازیبه طور گسترده ای برای اجرای سخت افزار استفاده می شود.بیشتر برای اجرای نرم افزار مناسب است.
مثالOTP یا (One Time Pad).DES (استاندارد رمزگذاری داده ها) یا (Data Encryption Standard)

کلام آخر

آشنایی با تفاوت های Stream Cipher و Block Cipher و یژگی های آنها پرداختیم؛ امیدوارم این مقاله توانسته باشد که شما را با وجوه تمایز میان این دو آشنا کند و کاربرد هر یک از آن ها را نشان دهد.
با پی وی لرن همراه باشید.

به اشتراک بگذارید