رمز قالبی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
خط ۴۷:
L_i = R_(i+۱) ⊕ F(L_(i+۱),K_i)
{{پایان چپ‌چین}}
تفاوت این ساختار بــا ساختار مبتنی بــر شبکه جابجایی- جانشینی این است که، تابع F در این ساختار لزوماً معکوس پذیر نیست. همچنین این ساختار برای رمزگذاری و یا رمزگشایی به دو قسمت تقسیم شده است، در حالی که در ساختار جابجایی- جانشینی برای رمزگذاری و یا رمزگشایی نیازی به تقسیم‌بندی متن اصلی نیست.
 
از رمزهای بلوکی معروف مبتنی بر شبکه فیستل می‌توان رمزهای زیر را نام برد:
خط ۵۶:
== حالات مختلف کاری رمزهای بلوکی ==
 
برای استفاده از رمزهای بلوکی، بسته به نوع نیاز از حالات مختلفی استفاده می¬کنیم. هر حالت مزایا و معایب خود را دارد. هیچ حالتی را نمی‌توان یافت که کلیه مزایا را داشته باشد، و هیچ مشکلی نداشته باشد. بر این اساس، با توجه به نوع نیاز و نیز محدودیت‌هایی چون سرعت، حافظه، تعداد بیت‌های متن اصلی، اندازة برد سخت‌افزاری و یا میزان هزینة مورد نیاز برای عمل رمزنگاری و یا رمزگشایی و...، از حالت بهینه استفاده می‌کنیم[۶].
 
بر طبق استاندارد NIST، رمزهای قالبی از لحاظ کاربردی ۳ حالت دارند:
خط ۸۴:
حالت گالوا/ شمارنده.
 
حالات «زنجیرة بلوک رمز»، «فیدبک خروجی»، و «فیدبک رمز» علاوه بر متن اصلی و [[کلید رمز]]، به یک بردار مقدار اولیه نیز بعنوان ورودی نیاز دارند. این بردار مقدار اولیه برای هر حالت اجرایی از عملیات رمزنگاری و رمزگشایی، بعنوان اولین بلوک ورودی به تابع رمز استفاده می‌شوند. لزومی ندارد بردار مقدار اولیه را مخفی نگه داریم، اما این بردار در حالت کلی، نباید از طریق خود الگوریتم رمزنگاری و یا رمزگشایی، قابل تعیین و یا قابل پیشگویی باشد. البته در حالت «فیدبک خروجی» چنانچه بردار مقدار اولیه غیرقابل پیشگویی باشد، در امنیت سیستم رمز، مشکلی بوجود نمی‌آید. بنابراین برای هر قسمت از متن رمزشدة ارسالی، باید بردار مقدار اولیه یا اطلاعاتی که برای محاسبة آن مورد نیاز است، در دسترس باشد؛ زیرا ما برای هر قسمت از متن رمزشدة ارسالی برای ایجاد محرمانگی، به یک بردار مقدار اولیه یکتا نیاز داریم.
برای کلیه حالات، بلوک‌ها یا بندهای متن اصلی به بلوک‌ها یا بندهای متن رمز شده متناظر، با طول بیتی یکسان تبدیل می‌شوند.