باز کردن منو اصلی

تغییرات

بدون خلاصه ویرایش
تابع رمزنگاری برای قالب‎های 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>
 
==ساختارهاي مختلف رمزهاي بلوكي==
در اين ساختار برای رمزگذاری، ابتدا متن اصلی به دو قسمت تقسيم می‎شود. سپس بر روی قسمت سمت راست ساختار، با استفاده از تابع 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)
 
L_i= R_(i+1) ⊕ F(L_(i+1),K_i )
 
تفاوت اين ساختار بــا ساختار مبتنی بــر شبکه جابجايی- جانشينی اين است که، تابع F در اين ساختار لزوماً معکوس پذير نيست. همچنين اين ساختار برای رمزگذاری و يا رمزگشايی به دو قسمت تقسيم شده است، در حالی که در ساختار جابجايی- جانشينی برای رمزگذاری و يا رمزگشايی نيازی به تقسيم‎بندی متن اصلی نيست.
۶۳

ویرایش