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

تغییرات

۲۴ بایت اضافه‌شده ،  ۶ سال پیش
جز
ویرایش به وسیلهٔ ابزار خودکار ابرابزار
رمز قالبی نوعی [[الگوریتم‌های کلید متقارن |رمز کليدکلید متقارن]] است که در آن ابتدا بيت‎هایبیت‎های متن اصلی به بلوک‎هايیبلوک‎هایی مجزا تقسيم‎بندیتقسیم‎بندی می‎شود، سپس الگوريتمالگوریتم رمزگذاری روی هر بلوک اعمال می‎گردد. طبق تعريفتعریف رياضی،ریاضی، رمز قالبی تابعی است که n بيتبیت متن اصلی را تحت کنترل کليدکلید K، به n بيتبیت متن رمزشده تبديلتبدیل می‎کند و نيزنیز n بيتبیت متـن رمزشده را تحت کنترل کليـدکلیـد K، به n بيتبیت متـن اصلی تبديلتبدیل می‎کند . قالب‎های متن اصلی و متن رمزشده تعداد بيتبیت یکسانی دارند. اندازه قالب را با n يایا b نمایش می‎دهند، که همان تعداد بيت‎هایبیت‎های آن قالب است.
 
تابع رمزنگاری برای قالب‎های 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>
{{پایان چپچین}}
==ساختارهاي مختلف رمزهاي بلوكي==
 
== ساختارهای مختلف رمزهای بلوکی ==
رمزهاي بلوكي، دو ساختار كلي دارند:
 
رمزهايرمزهای بلوكي،بلوکی، دو ساختار كليکلی دارند:
ساختار مبتني بر شبكه فيستل: مانند رمز DES.
 
ساختار مبتنيمبتنی بر شبكهشبکه جابجايي- جانشينيفیستل: مانند رمز AESDES.
 
ساختار مبتنيمبتنی بر شبكهشبکه فيستلجابجایی- جانشینی: مانند رمز DESAES.
البته همه رمزهاي بلوكي لزوماً از اين دو ساختار تبعيت نمي‎كنند، بلكه رمزهاي بلوكي ديگري نيز هستند كه ساختارهاي منحصر بفردي دارند؛ مانند الگوریتم رمز Keeloq که رمز بلوکی مبتنی بر ساختار NLFSR (شیفت‎رحیسترهای غیرخطی) است.
<ref>[https://sites.google.com/site/sidechannela/ sidechannelattack<!-- عنوان تصحیح شده توسط ربات -->]</ref>
 
البته همه رمزهايرمزهای بلوكيبلوکی لزوماً از ايناین دو ساختار تبعيتتبعیت نمي‎كنند،نمی‎کنند، بلكهبلکه رمزهايرمزهای بلوكيبلوکی ديگريدیگری نيزنیز هستند كهکه ساختارهايساختارهای منحصر بفرديبفردی دارند؛ مانند الگوریتم رمز Keeloq که رمز بلوکی مبتنی بر ساختار NLFSR (شیفت‎رحیسترهای غیرخطی) است.<ref>[https://sites.google.com/site/sidechannela/ sidechannelattack<!-- عنوان تصحیح شده توسط ربات -->]</ref>
==ساختار مبتني بر شبكه جابجايي - جانشيني==
 
== ساختار مبتنی بر شبکه فيستلجابجایی - جانشینی ==
اين ساختار از دو اصل در هم پيچيدگي و انتشار شانون تبعيت مي‎كند . با استفاده از در هم پيچيدگي، رابطه بين بيت‎هاي كليد و بيت‎هاي متن رمزشده، غيرخطي و پيچيده مي‎گردد. با استفاده از انتشار، [[افزونگي]] موجود در متن اصلي پس از رمزكردن در متن رمز شده پخش مي‎شود.
 
ايناین ساختار از دو اصل در هم پيچيدگيپیچیدگی و انتشار شانون تبعيت مي‎كندتبعیت می‎کند. با استفاده از در هم پيچيدگي،پیچیدگی، رابطه بينبین بيت‎هايبیت‎های كليدکلید و بيت‎هايبیت‎های متن رمزشده، غيرخطيغیرخطی و پيچيدهپیچیده مي‎گرددمی‎گردد. با استفاده از انتشار، [[افزونگيافزونگی]] موجود در متن اصلياصلی پس از رمزكردنرمزکردن در متن رمز شده پخش مي‎شودمی‎شود.
در اين ساختار از شبكه هاي جابجايي- جانشيني بصورت متوالي در چند دور استفاده مي‎گردد. در هر دور، بیت‎های کلید دور با بیت‎های متن اصلی XOR می‎شود. همچنین S_BOXها بیت‎های یک بلوک از متن اصلی را با بیت‎های دیگر جایگزین کرده P_BOXها بیت‎های خروجی از S_BOXهای یک دور را با یکدیگر جابجا می کنند. درواقع درهم‎پیچیدگی توسط S_BOX و انتشار توسط P_BOX انجام می‎گیرد. در دور آخر جابجایی بیتی صورت نمی‎گیرد.نحوه رمزگشایی نیز ماندد رمزگذاری است با این تفاوت که در رمزگشایی نحوه اعمال زیرکلید برعکس رمزگذاری است.
 
در ايناین ساختار از شبكهشبکه‌های هاي جابجاييجابجایی- جانشينيجانشینی بصورت متواليمتوالی در چند دور استفاده مي‎گرددمی‎گردد. در هر دور، بیت‎های کلید دور با بیت‎های متن اصلی XOR می‎شود. همچنین S_BOXها بیت‎های یک بلوک از متن اصلی را با بیت‎های دیگر جایگزین کرده P_BOXها بیت‎های خروجی از S_BOXهای یک دور را با یکدیگر جابجا می کنندمی‌کنند. درواقع درهم‎پیچیدگی توسط S_BOX و انتشار توسط P_BOX انجام می‎گیرد. در دور آخر جابجایی بیتی صورت نمی‎گیرد. نحوه رمزگشایی نیز ماندد رمزگذاری است با این تفاوت که در رمزگشایی نحوه اعمال زیرکلید برعکس رمزگذاری است.
اگر يک بيت از متن اصلی تغيير کند، بواسطه S_BOXها چندين بيت از خروجی تغيير خواهد نمود. سپس اين تغييرات توسط P_BOXها در S_BOXهای بعدی منتشر خواهد شد. در يک سيستم رمز بلوکی خوب، P_BOXها بيت‎های مربوط به خروجی يک S_BOX را بطور کامل در S_BOXهای بعدی پراکنده می‎سازد. بدين ترتيب با تغيير يک بيت از متن اصلی، احتمال اين که يک بيت خاص از متن رمزشده تغيير کند، 0.5 است. به اين خاصيت، خاصيت بهمنی می‎گويند.
 
اگر يکیک بيتبیت از متن اصلی تغييرتغییر کند، بواسطه S_BOXها چندينچندین بيتبیت از خروجی تغييرتغییر خواهد نمود. سپس ايناین تغييراتتغییرات توسط P_BOXها در S_BOXهای بعدی منتشر خواهد شد. در يکیک سيستمسیستم رمز بلوکی خوب، P_BOXها بيت‎هایبیت‎های مربوط به خروجی يکیک S_BOX را بطور کامل در S_BOXهای بعدی پراکنده می‎سازد. بدينبدین ترتيبترتیب با تغييرتغییر يکیک بيتبیت از متن اصلی، احتمال ايناین که يکیک بيتبیت خاص از متن رمزشده تغييرتغییر کند، 0.5۰٫۵ است. به ايناین خاصيت،خاصیت، خاصيتخاصیت بهمنی می‎گويندمی‎گویند.
از رمزهای بلوکی معروف مبتنی بر شبکه شبکه جابجايی- جانشينی می‎توان رمزهای زير را نام برد:
 
از رمزهای بلوکی معروف مبتنی بر شبکه شبکه جابجايیجابجایی- جانشينیجانشینی می‎توان رمزهای زيرزیر را نام برد:
{{چپچین}}
AES، ABC، 3way،۳way، Akelarre ،Akelarre، Anubis، ARIA، BaseKing، BEAR and LION، CRYPTON
{{پایان چپچین}}
==ساختار مبتنی بر شبکه فيستل==
 
== ساختار مبتنی بر شبکه فیستل ==
در اين ساختار برای رمزگذاری، ابتدا متن اصلی به دو قسمت تقسيم می‎شود. سپس بر روی قسمت سمت راست ساختار، با استفاده از تابع F عمليات رمزگذاری صورت گرفته، خروجی تابع F (يا به نحوی تغيير يافته آن) با قسمت سمت چپ XOR می‎شود. سپس برای دور بعدی مکان دو قسمت سمت راست و چپ با يکديگر جابجا می‎شوند:
 
در ايناین ساختار برای رمزگذاری، ابتدا متن اصلی به دو قسمت تقسيمتقسیم می‎شود. سپس بر روی قسمت سمت راست ساختار، با استفاده از تابع 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 در ايناین ساختار لزوماً معکوس پذيرپذیر نيستنیست. همچنينهمچنین ايناین ساختار برای رمزگذاری و يایا رمزگشايیرمزگشایی به دو قسمت تقسيمتقسیم شده است، در حالی که در ساختار جابجايیجابجایی- جانشينیجانشینی برای رمزگذاری و يایا رمزگشايیرمزگشایی نيازینیازی به تقسيم‎بندیتقسیم‎بندی متن اصلی نيستنیست.
 
از رمزهای بلوکی معروف مبتنی بر شبکه فيستلفیستل می‎توان رمزهای زيرزیر را نام برد:
{{چپچین}}
DES،Blowfish ،CamelliaDES،Blowfish،Camellia , CAST-128 ،FEAL ،ICE، KASUMI ،LOKI97 ،۱۲۸،FEAL،ICE، LuciferKASUMI،LOKI۹۷، ،Lucifer، MARS، MAGENTA، MISTY1،MISTY۱، RC5،RC۵، TEA، Triple DES، Twofish.
{{پایان چپچین}}
 
== حالات مختلف کاری رمزهای بلوکی ==
 
برای استفاده از رمزهای بلوکی، بسته به نوع نيازنیاز از حالات مختلفی استفاده می¬کنيمکنیم. هر حالت مزايامزایا و معايبمعایب خود را دارد. هيچهیچ حالتی را نمی‎توان يافتیافت که کليهکلیه مزايامزایا را داشته باشد، و هيچهیچ مشکلی نداشته باشد. بر ايناین اساس، با توجه به نوع نيازنیاز و نيزنیز محدوديت‎هايیمحدودیت‎هایی چون سرعت، حافظه، تعداد بيت‎هایبیت‎های متن اصلی، اندازة برد سخت‎افزاری و يایا ميزانمیزان هزينةهزینة مورد نيازنیاز برای عمل رمزنگاری و يایا رمزگشايیرمزگشایی و ...، از حالت بهينهبهینه استفاده می‎کنيممی‎کنیم[6۶].
 
بر طبق استاندارد NIST، رمزهای قالبی از لحاظ کاربردی 3۳ حالت دارند:
 
رمزهای قالبی مورد استفاده برای محرمانگی: که 6۶ حالت دارد.
 
فهرست داده الکترونيکیالکترونیکی.
 
زنجيرهزنجیره بلوک-رمز.
 
فيدبکفیدبک رمز.
 
فيدبکفیدبک خروجی.
 
شمارنده.
 
رمز پيچشیپیچشی با تنظيمتنظیم افزونگی متن رمزشده.
 
رمزهای بلوکی مورد استفاده برای اعتبار پيامپیام: که شامل يکیک حالت است.
 
رمز مبتنی بر کد اعتبار پيامپیام.
 
رمزهای بلوکی مورد استفاده برای اعتبار پيامپیام و محرمانگی: که 2۲ حالت دارد.
 
شمارنده با حالات زنجيرهزنجیره بلوک_رمز- کد اعتبار پيامپیام.
رمزهای بلوکی مورد استفاده برای اعتبار پيام و محرمانگی: که 2 حالت دارد.
 
شمارنده با حالات زنجيره بلوک_رمز- کد اعتبار پيام.
 
حالت گالوا/ شمارنده.
 
حالات «زنجيرةزنجیرة بلوک رمز»، «فيدبکفیدبک خروجی»، و «فيدبکفیدبک رمز» علاوه بر متن اصلی و کليدکلید رمز، به يکیک بردار مقدار اوليهاولیه نيزنیز بعنوان ورودی نيازنیاز دارند. ايناین بردار مقدار اوليهاولیه برای هر حالت اجرايیاجرایی از عملياتعملیات رمزنگاری و رمزگشايی،رمزگشایی، بعنوان اوليناولین بلوک ورودی به تابع رمز استفاده می‎شوند. لزومی ندارد بردار مقدار اوليهاولیه را مخفی نگه داريم،داریم، اما ايناین بردار در حالت کلی، نبايدنباید از طريقطریق خود الگوريتمالگوریتم رمزنگاری و يایا رمزگشايی،رمزگشایی، قابل تعيينتعیین و يایا قابل پيشگويیپیشگویی باشد. البته در حالت «فيدبکفیدبک خروجی» چنانچه بردار مقدار اوليهاولیه غيرقابلغیرقابل پيشگويیپیشگویی باشد، در امنيتامنیت سيستمسیستم رمز، مشکلی بوجود نمی‎آيدنمی‎آید. بنابراينبنابراین برای هر قسمت از متن رمزشدة ارسالی، بايدباید بردار مقدار اوليهاولیه يایا اطلاعاتی که برای محاسبة آن مورد نيازنیاز است، در دسترس باشد؛ زيرازیرا ما برای هر قسمت از متن رمزشدة ارسالی برای ايجادایجاد محرمانگی، به يکیک بردار مقدار اوليهاولیه يکتایکتا نيازنیاز داريمداریم.
برای کلیه حالات، بلوک‎ها يایا بندهای متن اصلی به بلوک‎ها يایا بندهای متن رمز شده متناظر، با طول بيتیبیتی يکسانیکسان تبديلتبدیل می‎شوند.
 
 
== منابع ==<references/>
<references/>
 
[[رده:رمزنگاری]]
۲۴٬۰۷۶

ویرایش