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

محتوای حذف‌شده محتوای افزوده‌شده
M2khosravizadeh (بحث | مشارکت‌ها)
بدون خلاصۀ ویرایش
M2khosravizadeh (بحث | مشارکت‌ها)
بدون خلاصۀ ویرایش
خط ۲:
 
تابع رمزنگاری برای قالب‎های n بيتی متن رمزشده، و قالب‎های n بيتی متن اصلی همراه با کليد ثابت(k)، يک تابع يک به يک و پوشا است. یعنی اگر تابع [[رمزگذاری]](E) را تحت کنترل کليد (k) به يک قالب از متن اصلی(M) اعمال کنيم، يک قالب از متن رمزشده(c) بدست می‎آيد. حال اگر تابع رمزگشایی(D) را تحت کنترل همان کليد(k) به اين قالب متن رمز شده(c) اعمال کنيم، متن اصلی(M) دوباره بازيابی می‎شود:
{{چپچین}}
 
E(D(M)) = M.
{{پایان چپچین}}
همچنين اگر تابع [[رمزگشایی]](D) را تحت کنترل کليد (k) به يک قالب از متن رمزشده(C) اعمال کنيم، يک قالب از متن اصلی(M) بدست می‎آيد. حال اگر تابع رمزگذاری(E) را تحت کنترل همان کليد(k) به اين قالب متن اصلی(M) اعمال کنيم، متن رمزشده(C) دوباره بازيابی می‎شود:
{{چپچین}}
 
D(E(C)) = C .<ref> A. Menezes, P. van Oorschot and S. Vanstone, “Handbook of Applied Cryptography”, 1997,PP 191-282. http://www.cacr.math.uwaterloo.ca/hac</ref>
{{پایان چپچین}}
 
==ساختارهاي مختلف رمزهاي بلوكي==
 
خط ۲۹:
 
از رمزهای بلوکی معروف مبتنی بر شبکه شبکه جابجايی- جانشينی می‎توان رمزهای زير را نام برد:
{{چپچین}}
AES، ABC، 3way، Akelarre ، Anubis، ARIA، BaseKing، BEAR and LION، CRYPTON
{{پایان چپچین}}
 
==ساختار مبتنی بر شبکه فيستل==
 
در اين ساختار برای رمزگذاری، ابتدا متن اصلی به دو قسمت تقسيم می‎شود. سپس بر روی قسمت سمت راست ساختار، با استفاده از تابع F عمليات رمزگذاری صورت گرفته، خروجی تابع F (يا به نحوی تغيير يافته آن) با قسمت سمت راست XOR می‎شود. سپس برای دور بعدی مکان دو قسمت سمت راست و چپ با يکديگر جابجا می‎شوند:
{{چپچین}}
 
R_(i+1) = L_i ⊕ F(R_i,K_i)
 
L_(i+1) = R_i
{{پایان چپچین}}
 
نحوة رمزگشايی نيز مانند نحوة رمزگذاری است با اين تفاوت که در رمزگشايی نحوه اعمال زيرکليد، برعکس حالت رمزگذاری است. در اين ساختار برای رمزگشايی نيز مانند حالت رمزگذاری ابتدا متن رمزشده به دو قسمت تقسيم می‎شود، سپس بر روی قسمت سمت راست ساختار با استفاده از تابع F، عمليات رمزگشايی صورت گرفته، خروجی تابع F (يـا بـه نحوی تغيير يافته آن) بـا قسمت سمت راست XOR می‎شود. سپس برای دور بعدی مکان دو قسمت سمت راست و چپ با يکديگر جابجا می‎شود:
{{چپچین}}
R_i = L_(i+1)
 
R_i L_i = R_(i+1) ⊕ F(L_(i+1),K_i)
{{پایان چپچین}}
 
L_i = R_(i+1) ⊕ F(L_(i+1),K_i)
 
تفاوت اين ساختار بــا ساختار مبتنی بــر شبکه جابجايی- جانشينی اين است که، تابع F در اين ساختار لزوماً معکوس پذير نيست. همچنين اين ساختار برای رمزگذاری و يا رمزگشايی به دو قسمت تقسيم شده است، در حالی که در ساختار جابجايی- جانشينی برای رمزگذاری و يا رمزگشايی نيازی به تقسيم‎بندی متن اصلی نيست.
 
از رمزهای بلوکی معروف مبتنی بر شبکه فيستل می‎توان رمزهای زير را نام برد:
{{چپچین}}
 
DES،Blowfish ،Camellia , CAST-128 ،FEAL ،ICE، KASUMI ،LOKI97 ، Lucifer ، MARS، MAGENTA، MISTY1، RC5، TEA، Triple DES، Twofish.
{{پایان چپچین}}
 
 
==حالات مختلف کاری رمزهای بلوکی==