2-SymmetricEncryption-v4.ppt

‫رمزهای قطعه ای‬
‫مبتنی بر فصل های‪ 4 ،3 ،2‬و ‪ 5‬ازکتاب‬
‫‪Network Security, Principles and‬‬
‫‪Practice,3rd Ed.‬‬
‫ویرایش شده توسط‪ :‬حمید رضا شهریاری‬
‫‪shahriari@mehr.sharif.edu‬‬
‫مركز امنبت شبكه شريف‬
‫فهرست مطالب‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تعاريف‬
‫رمزهای کالسيک‬
‫الگوریتمهای رمزهای متقارن و رمزهای قطعه ای‬
‫استانداردهای رمزگذاری آمريکا‬
‫استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫استفاده ازرمزهای قطعه ای‬
‫مدهای کاری رمزهای قطعه ای‬
‫لغت نامه‬
‫پیوست ‪DES :1‬‬
‫پیوست ‪3DES,IDEA,Blowfish, RC5, CAST-128 :2‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪2‬‬
‫برای دسترس ی به معادل انگلیس ی کلمات به اسالید لغت نامه مراجعه نماید‪.‬‬
‫مركز امنبت شبكه شريف‬
‫فهرست مطالب‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تعاريف‬
‫رمزهای کالسيک‬
‫الگوریتمهای رمزهای متقارن و رمزهای قطعه ای‬
‫استانداردهای رمزگذاری آمريکا‬
‫استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫استفاده ازرمزهای قطعه ای‬
‫مدهای کاری رمزهای قطعه ای‬
‫لغت نامه‬
‫پیوست ‪DES :1‬‬
‫پیوست ‪3DES,IDEA,Blowfish, RC5, CAST-128 :2‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪4‬‬
‫تعاریف‬









plaintext - the original message
ciphertext - the coded message
cipher - algorithm for transforming plaintext to ciphertext
key - info used in cipher known only to sender/receiver
encipher (encrypt) - converting plaintext to ciphertext
decipher (decrypt) - recovering ciphertext from plaintext
cryptography - study of encryption principles/methods
cryptanalysis (codebreaking) - the study of principles/
methods of deciphering ciphertext without knowing key
cryptology - the field of both cryptography and cryptanalysis
‫مركز امنبت شبكه شريف‬
5
‫لغت نامه‬
‫رمزنگاری متقارن )‪(Symmetric‬‬
‫‪ ‬یا معمولی‪/‬کلید خصوصی‪ /‬تک کلیدی‬
‫‪ ‬فرستنده و گیرنده از یک کلید مشترک استفاده می کنند‬
‫‪ ‬تمام رمزنگاریهای کالسیک از نوع متقارن هستند‬
‫‪ ‬تنها نوع رمزنگاری تا قبل از دهه ‪70‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪6‬‬
‫مدل رمزنگاری متقارن‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪7‬‬
‫نیازمندیها‬
‫‪‬‬
‫دو نیازمندی برای استفاده امن از رمزنگاری متقارن‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫یک الگوریتم رمزنگاری قوی‬
‫یک کلید سری که تنها فرستنده و گیرنده از آن آگاه هستند‬
‫)‪Y = EK(X‬‬
‫)‪X = DK(Y‬‬
‫فرض بر آن است که الگوریتم برای همه مشخص است‪.‬‬
‫بنابراین نیاز به یک کانال امن برای توزیع کلید است‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪8‬‬
‫رمزنگاری‬
‫‪‬‬
‫می تواند توسط ابعاد زیر مشخص شود‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تعداد کلیدهای مورد استفاده‬
‫‪‬‬
‫‪‬‬
‫نوع عملهای مورد استفاده برای رمز کردن‬
‫جایگزینی‪/‬تبدیل‪/‬ضرب‬
‫یک کلید یا خصوصی‪/‬دو کلید یا عمومی‬
‫روش پردازش متن واضح‬
‫‪‬‬
‫بلوکی‪/‬جریانی‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪9‬‬
‫انواع حمالت تحلیل رمزنگاری‬

ciphertext only


known plaintext


select plaintext and obtain ciphertext to attack cipher
chosen ciphertext


know/suspect plaintext & ciphertext to attack cipher
chosen plaintext


only know algorithm / ciphertext, statistical, can
identify plaintext
select ciphertext and obtain plaintext to attack cipher
chosen text

select either plaintext or ciphertext to en/decrypt to
attack cipher
‫مركز امنبت شبكه شريف‬
10
‫لغت نامه‬
‫جستجوی تمام حاالت‬
‫)‪(Brute Force Search‬‬
‫‪‬‬
‫‪‬‬
‫ابتدایی ترین حمله‬
‫فرض بر این است که متن واضح قابل شناسایی است‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪11‬‬
‫دیگر تعاریف‬
‫‪‬‬
‫امنیت مطلق‬
‫‪‬‬
‫‪‬‬
‫مستقل از قدرت محاسباتی در دسترس‪ ،‬متن رمز شده اطالع‬
‫کافی برای تعیین قطعی متن واضح ارائه نکند (و بنابراین‬
‫الگوریتم رمز مستقل از مدت زمانی که دشمن در اختیار دارد‬
‫قابل شکستن نباشد)‬
‫امنیت محاسباتی‪:‬‬
‫‪‬‬
‫با داشتن منابع محاسباتی محدود (مانند زمان )‪ ،‬رمز قابل‬
‫شکستن نباشد‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪12‬‬
‫فهرست مطالب‬
‫‪‬‬
‫تعاريف‬
‫رمزهای کالسيک‬
‫الگوریتمهای رمزهای متقارن و رمزهای قطعه ای‬
‫استانداردهای رمزگذاری آمريکا‬
‫استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫استفاده ازرمزهای قطعه ای‬
‫مدهای کاری رمزهای قطعه ای‬
‫لغت نامه‬
‫‪‬‬
‫پیوست ‪DES :1‬‬
‫پیوست ‪3DES,IDEA,Blowfish, RC5, CAST-128 :2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪13‬‬
‫رمزهای کالسیک‬
‫•از زمان جنگ جهانی دوم مورد استفاده قرار می گرفتند‬
‫•قبل از به وجود آمدن سیستم های کامپیوتری امروزی بصورت دستی انجام می شدند‪.‬‬
‫•مبتنی بر دو روش اصلی جايگشتی و جايگزينی است‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪14‬‬
‫رمزهای کالسیک‬
‫‪‬‬
‫جایگشتی‬
‫‪‬‬
‫‪‬‬
‫جابجایی بین حروف متن اصلی‬
‫‪‬‬
‫هدف ‪( diffusion‬درهمریختگی) بيشتر‬
‫است‬
‫شکست رمزسختتراما اگریک‬
‫‪( pattern‬الگو) آشکارشود‪ ،‬همه‬
‫متن شکسته شده است‪.‬‬
‫‪‬‬
‫جانشینی‬
‫‪‬‬
‫جانشینی یک حرف با حرف دیگر‬
‫‪‬‬
‫تک الفبایی‬
‫چند الفبایی‬
‫‪‬‬
‫حمالت شناخته شده با استفاده از‪:‬‬
‫‪‬‬
‫توزیع فرکانسها‬
‫‪ ‬تعداد رخدادها‬
‫‪ ‬حروف مشابه و احتمال کلمات‬
‫‪ ‬تحلیل ‪(pattern‬الگوها)‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪15‬‬
‫جانشینی (سزار) ‪ -‬رمز تک الفبایی‬
‫‪send another catapult‬‬
‫‪abcdefghijklmnopqrstuvwxyz‬‬
‫‪abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz‬‬
‫‪r‬‬
‫‪rdmc zmnsqds bzszotks‬‬
‫رمزتک الفبایی‬
‫‪K=y‬‬
‫)‪C = P + K (mod 26‬‬
‫•تنها از يک فرمول جايگزينی مشابه فرمول فوق استفاده می شود‬
‫• به خاطر سپاری آنها آسان است‬
‫• مشاهده ‪pattern‬ها به آسانی امکان پذير است‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪16‬‬
‫جانشینی چندالفبایی‬
‫رمز چندالفبايی‬
‫• استفاده از فرمول های جانشينی مختلف بصورت متوالی‬
‫• منجر به کاهش ‪ pattern‬ها می شود‬
‫• همچنان می توان از توزیع حروف برای شکست رمز استفاده کرد‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪17‬‬
213 ‫جانشینی‬
send another catapult
2
1
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
3
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
Ufqf bqqukgs fcudrvov
‫مركز امنبت شبكه شريف‬
18
‫لغت نامه‬
‫جدول ‪Vigenere‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نوعی رمزجانشینی چند الفبایی محسوب می شود‬
‫ازيک ماتریس ‪ 26‬در‪ 26‬و يک کليد برای رمزگذاری متن استفاده می‬
‫شود‬
‫حروف متوالی کليد‪ ،‬سطرماتريس و حروف متوالی متن‪ ،‬ستون‬
‫ماتريس را مشخص می کنند‪.‬‬
‫کليد معموال يک کلمه چندحرفی است که تکرارمی شود‪.‬‬
‫‪M = SEND ANOTHER CATAPULT‬‬
‫‪K= hail ceaserh ai lcease‬‬
‫‪C= zevo crol lvyci ectudx‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪19‬‬
‫‪Rotor Machines‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ماشین روتريک پیاده سازی الکترونیکی‪-‬مکانیکی ازرمزچندالفبايی محسوب می شود‬
‫دراین روش‪ ،‬داده ها ازداخل تعدادی سيلندرکه درمقابل هم قرارگرفته اند‪ ،‬عبور‬
‫می کنند‪.‬‬
‫به ازای هرحرف ازورودی‪ ،‬سيلندراول به اندازه يک حرف می چرخد با يک دور‬
‫گردش کامل هرروتر‪ ،‬روتربعدی به اندازه يک حرف جابجا می شود‬
‫دوره تناوب ماشین روتربا افزایش تعداد روترها افزایش می يابد(‪)26n‬‬
‫آملان ها اعتقاد داشتند که ماشین روترطراحی شده توسط آنها‪،Engima ،‬‬
‫غیرقابل شکست است‪ ،‬ولی متفقین توانستند رمزآن را کشف کند و بسياری از‬
‫اطالعات سری آنها را فاش کند‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪20‬‬
Rotor Machines
x
o
y
h
i
u
j
k
m
g
c
v
k
m
z
a
o
e
v
f
q
d
h
r
l
z
g
s
c
a
t
e
v
e
p
t
d
i
d
n
g
h
l
u
r
o
j
w
a
q
j
f
n
w
s
b
y
w
b
x
Enigma - German Machine
had 3 rotors
‫مركز امنبت شبكه شريف‬
21
‫لغت نامه‬
‫رمز جایگشتی‬
‫‪ ‬جابجایی حروف درمتن اصلی بدون تغيیرحروف الفبا‬
‫‪‬‬
‫با هدف ایجاد پراکندگی‬
‫امکان استفاده ترکیبی ازآن با رمزجانشینی‬
‫‪‬‬
‫ايده اساس ی مورداستفاده دررمزنگاری متقارن می باشد‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪22‬‬
‫مثال (جایگشتی ستونی)‬
‫ايده ‪ :‬متن را بصورت سطری بنويسيم و بصورت ستونی بخوانيم‬
‫• کلید ‪ :‬تعداد ستونها (در اینجا ‪)5‬‬
‫•کليد ‪ :‬می توان ترتيب نوشتن ستون ها را نيز تغيير داد‪.‬‬
‫*‪= SAETTENRA*NO*P*DTCU**HAL‬‬
‫* ‪SEND‬‬
‫‪ANOTH‬‬
‫‪E R * CA‬‬
‫‪TAPU L‬‬
‫* * ** ‪T‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪23‬‬
‫انواع حمالت‬
‫انواع حمالت وارده براساس امکانات تحليلگر‬
‫‪ : Cipher text Only ‬تحلیلگر تنها متن رمزشده را دارد‪.‬‬
‫‪ :Known Plaintext ‬تحلیلگرچند نمونه ازمتن اصلی و متن رمز‬
‫شده متناظربا آن را دارد‪.‬‬
‫‪ :Chosen Plaintext ‬تحلیلگر میتواند الگوریتم رمزرا برروی‬
‫مقدارزیادی ازمتن واضح اعمال نماید و متن رمزشده را ببيند‪.‬‬
‫* درکليه حالت فوق فرض شده است که الگوريتم رمرنگاری برتحليلگر روشن‬
‫است‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪24‬‬
‫ایدههای تحلیل رمزکالسیک‬
‫‪‬‬
‫فراوانی حروف )…‪(etanos‬‬
‫‪‬‬
‫فراوانی ترکیبات حروف )‪(th, nt‬‬
‫‪‬‬
‫حروف (تشخیص) ابتدا و انتهای کلمه )‪(th___, ___nt, ___gh‬‬
‫‪‬‬
‫نظم موجود در الفبای زبان‬
‫‪‬‬
‫متد ‪ : Kasiski‬اين روش بر مبنای يافتن الگوهای تکراری(عموما سه حرفی) در متن رمزشده و پيدا‬
‫کردن طول کليد مورداستفاده استوار است‪.‬‬
‫‪‬‬
‫‪‬‬
‫ايده ‪ :‬فاصله بين دو تکرار از الگوهای تکراری‪ ،‬بايد حتما بر طول کليد مورد استفاده بخشپذير باشد‪.‬‬
‫حمالت ‪Brute Force‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪25‬‬
)‫تحلیل رمز کالسيک(مثال‬
Aerial reconnaissance reports enemy
reinforcements estimated at battalion
strength entering your sector PD Clarke
‫فراوانی حروف متن اصلی‬
‫مركز امنبت شبكه شريف‬
26
‫لغت نامه‬
)‫تحلیل رمز کالسيک(مثال‬
aerialreco
nnaissance
reportsene
myreinforc
ementsesti
matedatbat
talionstre
ngthenteri
ngyoursect
orPDClarke
)‫ ستونی‬10( ‫جایگشتی‬
ANRMEMTNNO
ENEYMAAGGR
RAPRETLTYP
IIOENEIHOD
ASRITDOEUC
LSTNSANNRL
RASFETSTSS
ENEOSBTEER
CCNRTARRCK
OEECITEITE
‫مركز امنبت شبكه شريف‬
27
‫لغت نامه‬
)‫تحلیل رمز کالسيک(مثال‬
ANRMEMTNNOENEYMAAGGRRAPRETLTYPIIOENE
IHODASRITDOEUCLSTNSANNRLRASFETSTSSEN
EOSBTEERCCNRTARRCKOEECITEITE
‫فراوانی حروف متن رمزشده‬
‫مركز امنبت شبكه شريف‬
28
‫لغت نامه‬
‫تحلیل رمز کالسيک‬
‫‪‬‬
‫ازمقايسه نمودارهای قبلی می توان فهميد دررمزنگاری جايگشتی ‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فراوانی حروف در متن رمزشده تفاوتی با فراوانی متن اصلی ندارد‪.‬‬
‫تحليلگرنمی تواند ازنمودارهای فراوانی استفاده کند‪.‬‬
‫ولی درجايگزينی تک الفبايی اين امکان وجود دارد(مطابق شکل اساليد بعدی)‬
‫‪‬‬
‫با مقايسه اين نمودار با نمودار استاندارد فراوانی حروف‪ ،‬می توان تناظر احتمالی حروف‬
‫را پيدا کرد‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪29‬‬
‫تحلیل رمز کالسيک(مثال)‬
‫‪DHULDOUHFRQQLVVDQFHUHSRUWVHQHPBUH . . .‬‬
‫فراوانی حروف متن رمزشده (تک الفبایی)‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪30‬‬
‫فهرست مطالب‬
‫‪‬‬
‫تعاريف‬
‫رمزهای کالسيک‬
‫الگوریتمهای رمزهای متقارن و رمزهای قطعه ای‬
‫استانداردهای رمزگذاری آمريکا‬
‫استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫استفاده ازرمزهای قطعه ای‬
‫مدهای کاری رمزهای قطعه ای‬
‫لغت نامه‬
‫‪‬‬
‫پیوست ‪DES :1‬‬
‫پیوست ‪3DES,IDEA,Blowfish, RC5, CAST-128 :2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪31‬‬
‫رمزگذاری کالسيک‪-‬رمزگذاری مدرن‬
‫‪‬‬
‫روشهای رمزگذاری مدرن‪ ،‬عالوه بربراعمال جابجایی و جايگشت ازتوابع ساده مانند ‪XOR‬‬
‫استفاده می شود‪.‬‬
‫‪‬‬
‫مجموعه اعمال فوق طی مراحل متوالی روی متن اوليه اعمال می شوند‪.‬‬
‫‪‬‬
‫تکنيک بکارگرفته شده در‪ Rotor Machine‬ها الهام بخش روشهای رمزگذاری مدرن‬
‫بوده است‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪32‬‬
‫تابع رمزنگاری کامل(‪)One-Time Pad‬‬
‫‪‬‬
‫ايده ‪ :‬برای رمزکردن يک داده به طول ‪ n‬کليدی به طول ‪ n‬هزينه کنيم‪.‬‬
‫‪‬‬
‫دراين صورت به ازای هر‪ M‬و ‪ C‬داريم‪:‬‬
‫‪‬‬
‫يعنی داشتن هرتعداد متن نمونه رمزشده کمکی به تحليلگرنمی کند‪.‬‬
‫‪‬‬
‫امنيت اين روش به تصادفی بودن کليد بستگی دارد‪.‬‬
‫)‪P(MC) = P(M‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪33‬‬
‫تابع رمزنگاری کامل(‪)One-Time Pad‬‬
‫‪‬‬
‫درعمل استفاده ازچنین روش ی مقدور نيست‬
‫‪‬‬
‫توليد کليد تصادفی به حجم باال ازنظرعملی دشواراست‪.‬‬
‫‪‬‬
‫توزيع امن کليد ‪ :‬اگربتوانيم کانال امنی برای توزيع کليدی با اين حجم پيدا کنيم‪ ،‬آيا بهترنيست از‬
‫همین کانال برای انتقال داده اصلی استفاده کنيم؟!‬
‫‪‬‬
‫درعمل ازروشهایی استفاده می کنيم که شکستن رمزرا برای تحليلگربا توجه به تکنولوژيهای‬
‫موجود و درزمان محدود غیرممکن سازد‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪34‬‬
‫رمزنگاری متقارن‬
‫‪‬‬
‫دو طرف به دنبال برقراری ارتباط محرمانه هستند‪.‬‬
‫‪‬‬
‫‪‬‬
‫ارتباط برروی محیط نا امن انجام میپذیرد‪.‬‬
‫طرفین پیامهای خود را رمزمیکنند‪.‬‬
‫‪‬‬
‫کلید مخفی‬
‫برای تبادل این‬
‫اطالعات مخفی‬
‫نیاز به کانال امن‬
‫داريم‪ .‬‬
‫دررمزنگاری متقارن‪ ،‬الگوریتمهای رمزنگاری آنها تابع اطالعات مخفی است‬
‫که فقط طرفین ازآنها مطلع میباشند‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪35‬‬
‫‪Adversary‬‬
‫‪EVE‬‬
‫‪Bob‬‬
‫محرمانگي‬
‫شبکه ناامن‬
‫‪Alice‬‬
‫لغت نامهکلید متقارن‬
‫امنامنبت شبكه شريف‬
‫به طورمركز‬
‫منتقل میشود‬
‫‪36‬‬
‫الگوریتمهای رمزهای متقارن‬
‫‪‬‬
‫رمزهای متقارن را می توان با دو روش عمده توليد کرد‬
‫‪‬‬
‫رمزهای قطعه ای‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫پردازش پيغام ها بصورت قطعه به قطعه‬
‫سايز متعارف مود استفاده برای قطعات ‪ 128 ،64‬یا ‪ 256‬بیتی است‬
‫رمزهای دنباله ای‬
‫‪‬‬
‫پردازش پيغام ها بصورت پيوسته‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪37‬‬
‫رمزهای قطعه ای‬
‫متن واضح (تقسیم شده به قطعات)‬
‫لغت نامه‬
‫مركز امنبت شبكه شريف‬
‫قطعات خرو‬
‫جی‬
‫‪38‬‬
‫اصول رمزهای قطعه ای‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نگاشت قطعات متن واضح به قطعات متن رمزشده بايد برگشت پذير‬
‫(يك به يك) باشد‪.‬‬
‫الگوریتم قطعات ورودی را درچند مرحله ساده و متوالی پردازش‬
‫میکند‪ .‬به این مراحل دور میگوییم‪.‬‬
‫ً‬
‫هردور عموما مبتني برتركيب اعمال ساده ای همچون جايگزيني و‬
‫جایگشت استواراست‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪39‬‬
‫فهرست مطالب‬
‫‪‬‬
‫تعاريف‬
‫رمزهای کالسيک‬
‫الگوریتمهای رمزهای متقارن و رمزهای قطعه ای‬
‫استاندارد رمزگذاری داده‬
‫استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫استفاده ازرمزهای قطعه ای‬
‫مدهای کاری رمزهای قطعه ای‬
‫لغت نامه‬
‫‪‬‬
‫پیوست ‪DES :1‬‬
‫پیوست ‪3DES,IDEA,Blowfish, RC5, CAST-128 :2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪40‬‬
‫استانداردهای رمزهای قطعه ای‬
‫‪‬‬
‫رمزهای قطعه ای استاندارد‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استاندارد رمزگذاری داده ‪DES‬‬
‫استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫تحت نظارت‬
‫)‪National Institute of Science and Technology (NIST‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪41‬‬
‫ساختار رمزهای فیستل‬
‫‪‬‬
‫‪‬‬
‫معموال الگوریتمهای رمزنگاری از ساختاری تبعیت می‬
‫کنند که توسط فیستل در سال ‪ 1973‬در ‪ IBM‬پیشنهاد‬
‫شد‪.‬‬
‫رمزهای فیستل به انتخاب پارامترهای زیر بستگی دارند‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪42‬‬
‫ساختار رمزهای فیستل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫طول قطعه (بلوک)‬
‫طول کلید‬
‫تعداد دورها‬
‫الگوریتم تولید زیرکلیدها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هر چه پیچیده تر باشد‪ ،‬تحلیل هم سخت تر می شود‪.‬‬
‫سرعت رمزنگاری‪/‬رمزگشایی‬
‫تابع دور )‪(Round function‬‬
‫سادگی تحلیل‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪43‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪44‬‬
‫استاندارد رمزگذاری داده ‪DES‬‬
‫‪‬‬
‫مرور‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫درسال ‪ 1974‬توسط ‪ IBM‬توليد شد‬
‫‪ ‬پس از انجام تغیيراتی توسط ‪ ،NSA‬در سال ‪ NIST 1976‬آن را پذيرفت‪.‬‬
‫اساس الگوريتم تركيبي ازعمليات جايگزيني و جایگشت ميباشد‪.‬‬
‫مشخصات‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫طول كليد ‪ 56‬بيت‬
‫طول قطعههاي ورودي و خروجي ‪ 64 :‬بيت‬
‫تعداد دورها‪ 16 :‬دور‬
‫الگوريتمهاي رمزگذاري و رمزگشايي عمومي هستند‪ ,‬ولي مباني رياض ي و اصول طراحي آنها فاش نشد‪.‬‬
‫درگذشته بسیارپراستفاده بود‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪45‬‬
‫‪ DES‬امن نيست!‬
‫‪‬‬
‫درژانویه ‪ 1999‬این الگوریتم توسط آزمون جامع فضای کلید در‪23‬‬
‫ساعت شکسته شد!‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بیش از‪ 1000‬هزارکامپیوتربرروی اینترنت هریک بخش کوچکی ازکار‬
‫جستجو را انجام دادند‪.‬‬
‫منظور ازآزمون جامع فضای کليد همان جستجوی کامل کليد با استفاده‬
‫ازروش ‪ Brute Force‬می باشد‪.‬‬
‫به الگوریتمهای امن تربا طول کلید باالترنیازداریم‪.‬‬
‫عالوه براين ‪ DES‬طراحی شفاف و روشن ندارد‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪46‬‬
‫استاندارد رمزگذاری داده‪DES‬‬
‫قطعه ‪ 64‬بیتی متن واضح‬
‫زیر کلید دور‬
‫تولید زیر کلیدهای ‪48‬‬
‫بیتی از کلید اصلی ‪56‬‬
‫بیتی برای هر دور‬
‫دور‪1‬‬
‫دور‪2‬‬
‫دور‪15‬‬
‫دور‪16‬‬
‫لغت نامه‬
‫کلید ‪ 56‬بیتی‬
‫مركز امنبت شبكه شريف‬
‫قطعه ‪ 64‬بیتی متن رمزشده‬
‫‪47‬‬
‫یک دور از ‪DES‬‬
‫توسط زمانبندی کلید‬
‫تولید میشود‪.‬‬
‫)‪Ri (32 bit‬‬
‫)‪Ki (48 bit‬‬
‫”‪“round key‬‬
‫)‪Li (32 bit‬‬
‫‪f‬‬
‫”‪“round function‬‬
‫‪Ri+1‬‬
‫‪Li+1‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪48‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪49‬‬
‫یک دور از ‪DES‬‬
‫‪‬‬
‫اعمال انجام شده در هر دور‪:‬‬
‫‪Li = Ri-1‬‬
‫)‪Ri = Li-1 XOR F(Ri-1, Ki‬‬
‫‪‬‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪50‬‬
DES ‫ رمز‬Feistel ‫ساختار‬
X
(64)
Initial Permutation
(32)
(32)
+
F
+
F
(48)
(48)
K2
+
F
(48)
K3
Key Scheduler
K1
(56)
K
…
+
F
(48)
K16
51
Initial Permutation-1
Y
(64)
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
DES ‫تابع دور‬
32
expansion
48
Ki ‫کلید دوره‬
48
6 to 4 6 to 4 6 to 4 6 to 4 6 to 4 6 to 4 6 to 4 6 to 4
S-box S-box S-box S-box S-box S-box S-box S-box
32
permutation
‫مركز امنبت شبكه شريف‬
52
‫لغت نامه‬
‫تابع دور ‪DES‬‬
‫‪+ + + + + +‬‬
‫‪+ + + + + +‬‬
‫‪+ + + + + +‬‬
‫‪+ + + + + +‬‬
‫‪+ + + + + +‬‬
‫‪+ + + + + +‬‬
‫‪+ + + + + +‬‬
‫‪+ + + + + +‬‬
‫‪S8‬‬
‫‪S7‬‬
‫‪S6‬‬
‫‪S5‬‬
‫‪S4‬‬
‫‪S3‬‬
‫‪S2‬‬
‫‪S1‬‬
‫‪P‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪53‬‬
Key-schedule
Permuted
choice
48
bits
Di-1 (28 bit)
‫شیفت به چپ‬
PC2
Ki
Ci-1 (28 bit)
Ci (28 bit)
Di (28 bit)
‫مركز امنبت شبكه شريف‬
54
‫لغت نامه‬
‫زمانبندی کلید‬
K
(56)
Permuted Choice 1
(28)
(28)
Left shift(s)
Left shift(s)
(28)
K1
(48)
(28)
Left shift(s)
Permuted Choice 2
…
55
(48)

Permuted Choice 2
Left shift(s)
K2
ً
‫هربیت کلید حدودا در‬
‫ دور‬16‫ دور از‬14
.‫استفاده میشود‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫بررس ي ‪ s-box‬در ‪DES‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تنها بخش غیرخطي از الگوريتم ‪ DES‬می باشد‬
‫غیرقابل برگشت ميباشند‬
‫اصول طراحي آنها سري است‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استفاده از‪ S-Box 8‬كه هريك ‪ 6‬بيت ورودي را به ‪ 4‬بيت خروجي تبديل مي كنند‪.‬‬
‫بيتهاي ‪ 1‬و ‪ : 6‬انتخاب يكي از‪ 4‬سطر ماتريس‬
‫بيتهاي ‪ 2‬تا ‪ : 5‬انتخاب يكي از‪ 16‬ستون ماتريس‬
‫برگرداندن عدد موجود درآن خانه از ماتريس به عنوان خروجي‬
‫در مجموع ‪ 48‬بيت ورودي از‪ S-Box 8‬مختلف عبور مي كنند و ‪ 32‬بيت برمي گردانند‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪56‬‬
‫یک ‪ S-Box‬از ‪DES‬‬
‫شماره ستون‬
‫‪15‬‬
‫‪14‬‬
‫‪13‬‬
‫‪12‬‬
‫‪11‬‬
‫‪10‬‬
‫‪9‬‬
‫‪8‬‬
‫‪7‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫‪0‬‬
‫شماره‬
‫سطر↓‬
‫‪7‬‬
‫‪0‬‬
‫‪9‬‬
‫‪5‬‬
‫‪12‬‬
‫‪6‬‬
‫‪10‬‬
‫‪3‬‬
‫‪8‬‬
‫‪11‬‬
‫‪15‬‬
‫‪2‬‬
‫‪1‬‬
‫‪13‬‬
‫‪4‬‬
‫‪14‬‬
‫‪0‬‬
‫‪8‬‬
‫‪3‬‬
‫‪5‬‬
‫‪9‬‬
‫‪11‬‬
‫‪12‬‬
‫‪6‬‬
‫‪10‬‬
‫‪1‬‬
‫‪13‬‬
‫‪2‬‬
‫‪14‬‬
‫‪4‬‬
‫‪7‬‬
‫‪15‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪5‬‬
‫‪10‬‬
‫‪3‬‬
‫‪7‬‬
‫‪9‬‬
‫‪12‬‬
‫‪15‬‬
‫‪11‬‬
‫‪2‬‬
‫‪6‬‬
‫‪13‬‬
‫‪8‬‬
‫‪14‬‬
‫‪1‬‬
‫‪4‬‬
‫‪2‬‬
‫‪13‬‬
‫‪6‬‬
‫‪0‬‬
‫‪10‬‬
‫‪14‬‬
‫‪3‬‬
‫‪11‬‬
‫‪5‬‬
‫‪7‬‬
‫‪1‬‬
‫‪9‬‬
‫‪4‬‬
‫‪2‬‬
‫‪8‬‬
‫‪12‬‬
‫‪15‬‬
‫‪3‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪57‬‬
‫توانمندي ‪DES‬‬
‫‪ ‬اندازه كليد‬
‫‪ 56 ‬بيت داراي كل فضاي حالت ‪= 7.2 * 1016‬‬
‫‪ ‬حمله آزمون جامع هرچند مشكل‪ ,‬ولي امكانپذيراست‬
‫‪‬‬
‫‪256‬‬
‫آخرين گزارش ثبت شده در سال ‪ 1999‬نشان از كشف كليد در طول ‪ 22‬ساعت داده اند!‬
‫‪ ‬حمله زماني‬
‫‪ ‬پياده سازي ‪ DES‬را مورد هدف قرارمي دهند‬
‫‪ ‬الگوريتم براي ورودي هاي مختلف درزمانهاي متفاوت پاسخ مي دهد‬
‫‪ ‬بيشتردركارتهاي هوشمند مشكل زا مي شوند‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪58‬‬
Time to break a code (106
decryptions/µs)
‫مركز امنبت شبكه شريف‬
59
‫لغت نامه‬
‫ویژگیهای مطلوب در الگوریتم رمزنگاری‬
‫‪ ‬رمزگذاری آسان‬
‫‪ ‬رمزگشایی آسان‬
‫‪ ‬سرعت باالی رمزگذاری و رمزگشایی‬
‫‪diffusion and confusion ‬‬
‫‪ ‬دیگر ویژگیها برای کاربردهای خاص‪:‬‬
‫‪‬‬
‫کارت هوشمند‪ :‬نیاز به حافظه و قدرت پردازش کم‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪60‬‬
‫‪Diffusion and Confusion‬‬
‫‪‬‬
‫‪( Confusion‬درهمی)‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫متن رمز باید به نحو پیچیده ای به متن واضح و کلید وابسته باشد‪.‬‬
‫هدف آن است که تعیین ارتباط ویژگیهای آماری متن رمز و متن واضح‬
‫مشکل باشد‪.‬‬
‫‪( Diffusion‬انتشار)‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هر بیت متن واضح باید بر هر بیت متن رمز تاثیر داشته باشد‪.‬‬
‫هر بیت کلید باید بر هر بیت متن رمز تاثیر داشته باشد‪.‬‬
‫هدف پنهان سازی ویژگیهای آماری متن واضح است‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪61‬‬
‫‪Multiple DES‬‬
‫‪‬‬
‫مسئله ‪:‬‬
‫‪‬‬
‫‪‬‬
‫آسيب پذيري ‪ DES‬درمقابل حمله آزمون جامع‬
‫راه حل ‪:‬‬
‫‪‬‬
‫‪‬‬
‫استفاده ازالگوريتم هاي رمزنگاري ديگر‬
‫پيچيده كردن الگوريتم ‪ DES‬ازطريق اضافه كردن مراحل رمزنگاري و افزايش‬
‫طول كليد‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪62‬‬
‫‪2DES‬‬
‫‪C‬‬
‫‪E‬‬
‫‪K2‬‬
‫‪M‬‬
‫‪E‬‬
‫‪K1‬‬
‫‪D‬‬
‫‪K1‬‬
‫‪M‬‬
‫‪D‬‬
‫‪C‬‬
‫‪K2‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪63‬‬
‫‪2DES‬‬
‫‪‬‬
‫حمله مالقات درمیانه عليه ‪2DES‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تحليلگريك زوج )‪ (P,C‬را مي داند بطوريكه ‪C=Ek1,k2[P] :‬‬
‫با اين فرض داريم ‪Ek1[P]=Dk2[C] :‬‬
‫با آزمايش همه كليدها و انجام رمزگذاري و رمزگشايي به دو جدول مي رسيم‬
‫عناصرجدولها را براي رسيدن به يك انطباق جستجو مي كنيم‬
‫درمرحله اول حداكثر‪ 248‬كليد مي تواند منجربه انطباق شود‬
‫با تكرارمراحل(يافتن انطباق های جديد)‪ ،‬احتمال کليدهای مختلف که منجربه انطباق شده اند‪ ،‬بشدت‬
‫كاهش مي يابد‬
‫انجام عمليات فوق از)‪ O(256‬مي باشد‬
‫نتيجه ‪:‬‬
‫‪ DES‬دو مرحله اي درمقابل حمله آزمون جامع از‪ DES‬يك مرحله اي مقاومتر نيست‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪64‬‬
‫‪ 3DES‬با دو کلید‬
‫‪‬‬
‫استفاده ازالگوريتم ‪3DES‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ازدو مرحله رمزنگاري و يك مرحله رمزگشايي با دو كليد مجزا استفاده مي شود‬
‫فضاي كليد به ‪ 112‬بيت گسترش مي يابد‬
‫درصورت استفاده ازيك كليد يكسان‪ 3DES،‬با ‪ DES‬مطابقت مي كند‬
‫نسبت به الگوريتمهاي ديگرمانند ‪ Blowfish‬و ‪ RC5‬سرعت كمتري دارد‬
‫تاكنون حمله اي عليه آن گزارش نشده است‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪65‬‬
‫ با دو کلید‬3DES
C = EK1[DK2[EK1[P]]]




M
C = ciphertext
P = Plaintext
EK[X] = encryption of X using key K
DK[Y] = decryption of Y using key K
C
E
D
K1
E
K2
K1
‫مركز امنبت شبكه شريف‬
66
‫لغت نامه‬
‫‪3DES‬‬
‫‪‬‬
‫استفاده ازالگوريتم ‪3DES‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ازدو مرحله رمزنگاري و يك مرحله رمزگشايي با سه كليد مجزا استفاده مي شود‬
‫فضاي كليد به ‪ 168‬بيت گسترش مي يابد‬
‫درصورت استفاده ازيك كليد يكسان‪ 3DES،‬با ‪ DES‬مطابقت مي كند‬
‫نسبت به الگوريتمهاي ديگرمانند ‪ Blowfih‬و ‪ RC5‬سرعت كمتري دارد‬
‫تا كنون حمله اي عليه آن گزارش نشده است‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪67‬‬
‫ويژگيهاي الگوريتمهاي رمزنگاري مدرن‬
‫‪‬‬
‫طول كليد متغیر‬
‫عملگرهاي پيچيده(افزايش غیرخطي بودن)‬
‫انجام عمليات روي هردو نيمه داده درهردور‬
‫‪‬‬
‫چرخش(‪ )rotation‬وابسته به داده‬
‫چرخش وابسته به كليد‬
‫‪‬‬
‫‪ S-Box‬هاي وابسته به كليد‬
‫طول بالك داده و رمز متغیر‬
‫تعداد دورهاي متغیر‬
‫‪‬‬
‫استفاده ازتوابع ‪ F‬متغیر(ازيك دور تا دور بعد فرق مي كند)‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪68‬‬
‫‪IDEA‬‬
‫‪ ‬ابداع شده توسط ‪ Messay‬و ‪ Lai‬درسال ‪1990‬‬
‫‪‬‬
‫مبتني برتركيب عمليات مختلف(‪ ،XOR‬جمع و ضرب)‬
‫‪‬‬
‫انجام كليه عمليات روي زيربالك هاي ‪ 16‬بيتي(بدون اعمال‬
‫جايگشت)‬
‫‪‬‬
‫سرعت بيشترنسبت به ‪(DES‬درپياده سازي نرم افزاري)‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪69‬‬
‫‪IDEA‬‬
‫‪‬‬
‫اهداف طراحي ‪IDEA‬‬
‫‪‬‬
‫طول بالك ‪ :‬براي جلوگیري ازحمالت آماري بايد به اندازه كافي بزرگ باشد‬
‫طول كليد ‪ :‬براي جلوگیري ازحمله جستجوي كامل‬
‫‪‬‬
‫افزايش ‪Confusion‬‬
‫افزايش ‪Diffusion‬‬
‫‪‬‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪70‬‬
‫‪IDEA‬‬
‫‪‬‬
‫ويژگيها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫طول كليد ‪ 128 :‬بيت‬
‫طول بالك ‪ 64 :‬بيت‬
‫تعداد دورها ‪ 8 :‬دور‬
‫انجام عمليات روي عملوندهاي ‪ 16‬بيتي‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪71‬‬
‫‪IDEA‬‬
‫‪ ‬رمزنگاري ‪ :‬هردور ازالگوريتم شامل مراحل زيراست‪:‬‬
‫‪‬‬
‫تقسيم بالك ‪ 64‬بيت ورودي به چهارزيربالك ‪ 16‬بيتي‬
‫‪‬‬
‫تركيب با ‪ 4‬زيربالك وابسته به كليد(‪)Z1...Z4‬‬
‫ورود دو زيربالك ازبالكهاي فوق و ‪ 2‬زيربالك وابسته به كليد به‬
‫كليد(‪ )Z6,Z5‬به ساختار‪MA‬‬
‫تركيب زيربالكها با استفاده ازجمع و ضرب مدولي در‪MA‬‬
‫تركيب زيربالك ها بعد ازخروج از‪MA‬‬
‫جابجايي نهايي زيربالكها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪72‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪73‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪74‬‬
‫‪IDEA - MA‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪75‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪76‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪77‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪78‬‬
‫‪IDEA‬‬
‫‪‬‬
‫توليد زيركليد‬
‫‪‬‬
‫درمجموع ‪ 52‬زيركليد توليد مي شود‪6*8 + 4 :‬‬
‫‪‬‬
‫تقسيم كليد ‪ 128‬بيتي اوليه به ‪ 8‬گروه ‪ 16‬بيتي‬
‫‪‬‬
‫چرخش به چپ به اندازه ‪ 25‬بيت‬
‫‪‬‬
‫تقسيم مجدد به گروه هاي ‪ 8‬بيتي و توليد زيركليدهاي جديد‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪79‬‬
‫‪IDEA‬‬
‫‪‬‬
‫تحليل ‪IDEA‬‬
‫‪‬‬
‫تا كنون هيچ حمله عملي عليه ‪ IDEA‬شناخته نشده است‬
‫‪‬‬
‫به نظرمي رسد تا مدتها نسبت به حمالت امن باشد‬
‫‪‬‬
‫طول كليد ‪ 128‬بيتي حمله ‪ Brute-Force‬را غیرممكن مي كند‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪80‬‬
‫نکات پیاده سازی‬
‫‪‬‬
‫اصول پیاده سازی نرم افزاری‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫الگوریتم باید از استفاده ‪ subblock‬های معمول در نرم افزار (‪16 ،8‬‬
‫یا ‪ 32‬بیت) استفاده کند‪ IDEA .‬از بلوکهای ‪ 16‬بیتی استفاده می کند‬
‫قابل پیاده سازی با استفاده از اعمال ساده مانند جمع‪،‬شیفت و ‪...‬‬
‫اصول پیاده سازی سخت افزاری‬
‫‪‬‬
‫‪‬‬
‫شباهت رمزنگاری و رمزگشایی به طوری که تنها در نحوه اعمال کلید‬
‫متفاوت باشند‪ IDEA( .‬و ‪ DES‬این گونه هستند)‬
‫ساختار منظم‪ :‬الگوریتم باید دارای ساختار منظمی باشد به نحوی که پیاده‬
‫سازی توسط ‪ VLSI‬را تسهیل نماید‪ IDEA( .‬از دو ماجول پایه ای‬
‫تشکیل شده است)‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪81‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪82‬‬
‫‪Blowfish‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫طراحي شده توسط ‪ Schneier‬درسال ‪94/1993‬‬
‫وجود پياده سازي هاي پرسرعت روي پردازنده هاي ‪32‬بيتي‬
‫فشردگي‪ :‬نيازبه كمتراز‪ 5k‬حافظه‬
‫پياده سازي آسان‬
‫تحليل الگوريتم آسان‬
‫طول كليد متغیر‪ :‬درجه امنيت قابل تغيیراست‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪83‬‬
‫‪Blowfish‬‬
‫‪‬‬
‫ويژگيها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫طول بالك ‪ 64 :‬بيت‬
‫تعداد دورها ‪ 16 :‬دور‬
‫طول كليد متغیر‪ 32 :‬تا ‪ 448‬بيت‬
‫توليد زيركليد و ‪ S-Box‬هاي وابسته به كليد‬
‫‪ 18 ‬زيركليد ‪ 32‬بيتي كه در آرايه ‪ P‬ذخيره مي شوند‬
‫‪ 8*32 S-Box 4 ‬كه در آرايه ‪ S‬ذخيره مي شوند‬
‫‪ ‬بازتوليد كند زيركليد ها ‪ :‬توليد زيركليدها به ‪ 521‬مرحله رمزنگاري احتياج دارد‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪84‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪85‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪86‬‬
‫‪Blowfish‬‬
‫تحليل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استفاده اززيركليدها و ‪ S-Box‬هاي وابسته به كليد تحليل رمزرا‬
‫دشوارمي كند‪.‬‬
‫تغيیرهردو نيمه داده درهردور امنيت را افزايش مي دهد‬
‫با طول كليد متغیرو افزايش آن‪ ،‬حمله ‪ Brute-force‬غیرممكن مي شود‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪87‬‬
‫‪RC5‬‬
‫‪‬‬
‫‪‬‬
‫توسط ‪ Ron Riest‬در‪1994‬‬
‫اهداف طراحی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫انطباق با نرم افزارها و سخت افزارهاي مختلف‬
‫سرعت اجراي زياد ‪ :‬عمليات روي كلمه ها انجام مي شوند‬
‫انطباق با پردازنده هاي با تعداد بيتهاي متفاوت‬
‫طول بالك متغیر‬
‫طول كليد متغیر‬
‫تعداد دورهاي متغیر‬
‫نيازبه حافظه كم‬
‫طراحي و تحليل الگوريتم ساده‬
‫تعداد دورها وابسته به داده است ‪ :‬تحليل رمزرا مشكل مي كند‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪88‬‬
‫‪RC5‬‬
‫‪‬‬
‫يك خانواده ازالگوريتمهاي رمزنگاري را در برميگرد )‪RC5(w, r, b‬‬
‫‪ : W ‬طول كلمه بر حسب بيت(‪ ،)16/32/64‬طول بالك = ‪.2W‬‬
‫‪ : R ‬تعداد دورها(‪)0…255‬‬
‫‪‬‬
‫‪‬‬
‫‪ : B‬تعداد بايتهاي كليد(‪)0…255‬‬
‫نسخه نوعي ‪RC5-32/12/16 :‬‬
‫‪ ‬طول كلمات ‪ 32‬بيتي‪ ،‬طول بالك ‪ 64‬بيت مي باشد‬
‫‪‬‬
‫‪‬‬
‫استفاده از ‪ 12‬دور‬
‫استفاده از كليد ‪ 16‬بايتي(‪ 128‬بيتي)‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪89‬‬
‫‪RC5‬‬
‫توليد زيركليد‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫توليد ‪ 2r+2‬زيركليد ‪ w‬بيتي‬
‫زيركليدها در آرايه ]‪ s[0…T-1‬ذخيره مي شوند‬
‫مقداردهي ‪ S‬به مقادير اوليه ثابت شبه تصادفي‬
‫مقدار بايتي كليد به داخل آرايه ‪ L‬كپي مي شود‬
‫دو آرايه ‪ S‬و ‪ L‬با استفاده از ريزعمليات شيفت و جمع مدولي باهم تركيب شده و‬
‫آرايه نهايي ‪ S‬را تشكيل مي دهند‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪90‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪91‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪92‬‬
‫‪ – RC5‬الگوريتم رمزنگاري‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪93‬‬
‫‪ – RC5‬الگوريتم رمزگشايي‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪94‬‬
‫‪RC5‬‬
‫‪‬‬
‫مدهاي مختلف ‪RC5‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ : ECB‬همان ‪ RC5‬معمولي است‬
‫‪ : CBC‬همان مد ‪ CBC‬مورد استفاده درالگوريتم ‪ DES‬ميباشد‪.‬‬
‫بالك ورودي و خروجي هردو مضربي از‪ 2w‬هستند‬
‫‪ : CBC-Pad‬طول بالك ورودي محدوديتي ندارد‪ .‬بالك خروجي‬
‫حداكثربه اندازه ‪ 2w‬بيت ازبالك ورودي بزرگتراست‬
‫‪ : CTS‬قبول بالك ورودي به طول دلخواه و توليد خروجي به اندازه بالك‬
‫ورودي‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪95‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪96‬‬
‫‪CAST-128‬‬
‫‪ ‬ابداع شده توسط ‪ Adams‬و ‪ Tavares‬درسال ‪1997‬‬
‫‪ ‬طول كليد متغیر‪ :‬از‪ 40‬تا ‪ 128‬بيت(افزايش ‪ 8‬بيتي)‬
‫‪ ‬تعداد دور ‪ 16 :‬دور‬
‫‪ ‬مشابه ساختاركالسيك ‪ Feistel‬مي باشد با دو تفاوت زير‪:‬‬
‫‪‬‬
‫‪‬‬
‫درهردور ازدو زيركليد استفاده مي كند‬
‫تابع ‪ F‬به دور(‪ )round‬بستگي دارد‬
‫‪ ‬درحال استفاده در‪PGP‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪97‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪98‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪99‬‬
‫مقايسه سرعت الگوريتمها‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪100‬‬
‫فهرست مطالب‬
‫‪‬‬
‫تعاريف‬
‫رمزهای کالسيک‬
‫الگوریتمهای رمزهای متقارن و رمزهای قطعه ای‬
‫استانداردهای رمزگذاری آمريکا‬
‫استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫استفاده ازرمزهای قطعه ای‬
‫مدهای کاری رمزهای قطعه ای‬
‫لغت نامه‬
‫‪‬‬
‫پیوست ‪DES :1‬‬
‫پیوست ‪3DES,IDEA,Blowfish, RC5, CAST-128 :2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪101‬‬
‫استفاده از رمزهای قطعه ای‬
‫‪‬‬
‫رمزهای قطعه ای به طور مستقل امنیت زیادی را به ارمغان نمی‬
‫آورند‪ .‬بلکه بايد درمدهای کاری مناسب مورد استفاده قرارگیرند‬
‫‪ ‬رمزهای قطعه ای به عنوان اجزای سازنده الگوریتمهای رمزنگاری‬
‫استفاده میشوند‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪102‬‬
‫استفاده از رمزهای قطعه ای‪2-‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فرض کنیم یک رمزقطعه ای امن داریم‪ .‬چگونه ازآن برای رسیدن به‬
‫اهداف خود بهره جوییم؟‬
‫مساله اساس ی‪ :‬دربرخی موارد علی رغم بهره برداری ازعناصرمرغوب‪ ،‬کیفیت‬
‫نهایی دلخواه نیست‪.‬‬
‫مثال‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ساختمان ضعیف با وجود استفاده ازمصالح قوی‬
‫پوشاک نامرغوب با وجود استفاده ازپارچه های مرغوب‬
‫غذای نا مناسب با وجود استفاده ازمواد اولیه با کیفیت‬
‫درادامه خواهيم ديد مدهای کاری که متن های مشابه را به متن های رمزشده‬
‫يکسان تبديل می کنند‪ ،‬امن نيستند‪ .‬صرف نظرازرمزقطعه ای مورد استفاده!‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪103‬‬
‫وضعیت ایده آل‬
‫‪‬‬
‫ساختارالگوریتم رمزنگاری متقارن(مد کاری) به گونه ای باشد که‬
‫قابلیت های عناصرسازنده خود (رمزهای قطعه ای) را به ارث ببرد‪.‬‬
‫‪‬‬
‫‪‬‬
‫يعنی با اطمينان ازرمزهای قطعه ای‪ ،‬بتوانيم ازالگوريتم رمزنگاری نیز‬
‫مطمئن شويم‪.‬‬
‫توضيحات بيشتردرپيوست‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪104‬‬
‫فهرست مطالب‬
‫‪ ‬الگوریتمهای رمزهای متقارن و رمزهای قطعه ای‬
‫‪ ‬استانداردهای رمزگذاری آمريکا‬
‫‪ ‬استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫‪ ‬استفاده ازرمزهای قطعه ای‬
‫‪ ‬مدهای کاری رمزهای قطعه ای‬
‫‪ ‬لغت نامه‬
‫‪ ‬پیوست ‪DES :1‬‬
‫‪ ‬پیوست ‪3DES,IDEA,Blowfish, RC5, CAST-128 :2‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪105‬‬
‫مدهای کاری رمزهای قطعه ای‬
‫‪‬‬
‫امروزه مد های کاری با توجه به امنیت قابل اثبات طراحی میشوند‪.‬‬
‫‪‬‬
‫مدهای کاری می توانند ازرمزهای قطعه ای ‪ ... ،CAST-128 ،DES ،AES‬استفاده کنند‬
‫‪‬‬
‫برخی مدهای کاری پراهميت عبارتند از ‪:‬‬
‫‪ECB: Electronic Code Book‬‬
‫‪CBC: Cipher Block Chaining‬‬
‫‪CTR: Counter Mode‬‬
‫‪CFB: Cipher Feed Back‬‬
‫‪OFB: Output Feed Back‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪106‬‬
‫مد کاری ‪ECB‬‬
‫‪ ‬رمزنگاری‪:‬‬
‫‪PN‬‬
‫‪E‬‬
‫‪P2‬‬
‫‪E‬‬
‫‪K‬‬
‫‪CN‬‬
‫‪‬‬
‫‪P1‬‬
‫‪K‬‬
‫‪C2‬‬
‫‪E‬‬
‫‪K‬‬
‫‪C1‬‬
‫رمزگشایی‪:‬‬
‫‪CN‬‬
‫‪D‬‬
‫‪C2‬‬
‫‪D‬‬
‫‪K‬‬
‫‪P2‬‬
‫‪PN‬‬
‫‪C1‬‬
‫‪K‬‬
‫‪D‬‬
‫‪K‬‬
‫‪P1‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪107‬‬
‫بررس ی مد کاری ‪ECB‬‬
‫‪‬‬
‫اشکال اساس ی‪ :‬هرمتن واضح به ازاء کلید ثابت همیشه به یک متن رمزشده‬
‫نگاشته میشود‪.‬‬
‫‪‬‬
‫دشمن میتواند دریابد که پیامهای یکسان ارسال شده اند‪.‬‬
‫این مد امن محسوب نمیشود حتی اگرازیک رمزقطعه ای قوی‬
‫استفاده کنیم‪.‬‬
‫‪‬‬
‫‪ ECB‬مثالی ازمواردی است که علی رغم بهره برداری ازعناصرمرغوب‪،‬‬
‫کیفیت نهایی دلخواه نیست‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪108‬‬
‫مد کاری ‪1-CBC‬‬
‫‪‬‬
‫این مد ازیک مقداردهی اولیه تصادفی‪ ،IV،‬بهره میگیرد‪.‬‬
‫‪‬‬
‫مقدار‪ IV‬درهرباررمزنگاری به صورت تصادفی تغییرمیکند‪.‬‬
‫‪‬‬
‫‪ IV‬همراه با متن رمزشده ارسال میشود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ IV‬نیزبايد بصورت رمز شده ارسال شود‪ .‬برای اينکار می توان ازمد کاری ‪ ECB‬استفاده کرد‪.‬‬
‫در صورت ارسال ‪ IV‬بصورت متن واضح‪ ،‬تحليلگر ممکن است بتواند با فرستادن ‪ IV‬جعلی منجر‬
‫به تغيیرپيغام واگشایی شده در سمت گیرنده شود‪.‬‬
‫هرمتن واضح به ازاء کلید ثابت هربار به یک متن رمزشده متفاوت نگاشته میشود (زیرا مقدار‪IV‬‬
‫تغییرمینماید)‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪109‬‬
2-CBC ‫مد کاری‬
:‫رمزنگاری‬
P1
P2
P3
IV
+
+
+
K
E
K
IV
110
K
E
K
E
PN
…
CN-1
+
K
E
C1
C2
C3
CN-1
C1
C2
C3
CN
D
K
D
+
+
P1
P2
K
:‫ رمزگشایی‬
D
K
D
+
CN-1
+
‫مركز امنبت شبكه شريف‬
P3

PN
‫لغت نامه‬
‫)‪Electronic Codebook (ECB‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪111‬‬
‫)‪Cipher Block Chaining (CBC‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪112‬‬
‫)‪Cipher Feedback (CFB‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪113‬‬
‫)‪Output Feedback (OFB‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪114‬‬
‫)‪Counter (CTR‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪115‬‬
‫بررس ی مد کاری ‪CBC‬‬
‫‪Cipher Block Chaining‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ملزومات امنیتی‪:‬‬
‫ً‬
‫‪ IV ‬باید کامال غیرقابل پیش بینی باشد‬
‫رمزنگاری‪:‬‬
‫‪ ‬عملیات رمزنگاری قابل موازی سازی نیست‪.‬‬
‫‪ ‬مقدار‪ IV‬و متن واضح باید دردسترش باشند‪.‬‬
‫رمزگشایی‪:‬‬
‫‪ ‬عملیات رمزگشایی قابل موازی سازی است‪.‬‬
‫‪ ‬مقدار‪ IV‬و متن رمزشده باید دردسترش باشند‪.‬‬
‫طول پیام‪:‬‬
‫‪ ‬دربرخی موارد ممکن است وادار به افزایش طول پیام بشویم‪.‬‬
‫‪‬‬
‫‪‬‬
‫طول پیام باید مضربی از طول قطعه باشد‪.‬‬
‫پیاده سازی‪:‬‬
‫‪ ‬رمزگشایی و رمزنگاری‪ ،‬هردو باید پیاده سازی شوند‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪116‬‬
‫مد کاری ‪CTR‬‬
‫‪Counter-mode Encryption‬‬
‫‪‬‬
‫رمزگشایی↓‬
‫‪‬‬
‫‪‬‬
‫رمز نگاری↓‬
‫شمارنده به طول بالکهای مورنظرانتخاب شده و می تواند با مقداراوليه‬
‫صفريا بصورت تصادفی انتخاب شود‬
‫‪counter + i‬‬
‫‪counter + i‬‬
‫)‪(n‬‬
‫‪E‬‬
‫)‪(n‬‬
‫‪E‬‬
‫‪K‬‬
‫)‪(n‬‬
‫‪Pi‬‬
‫)‪(n‬‬
‫‪+‬‬
‫‪K‬‬
‫)‪(n‬‬
‫)‪(n‬‬
‫‪Ci‬‬
‫‪Ci‬‬
‫)‪(n‬‬
‫‪+‬‬
‫)‪(n‬‬
‫‪Pi‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪117‬‬
‫بررس ی مد کاری ‪CTR‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ملزومات امنیتی‪:‬‬
‫مقادیرشمارنده‪ ،‬دربازه طول عمرکلید‪ ،‬باید مجزا باشند‪.‬‬
‫‪‬‬
‫رمزنگاری‪:‬‬
‫عملیات رمزنگاری قابل موازی سازی است‪.‬‬
‫‪‬‬
‫برای عملیات رمزنگاری نیازی به متن واضح نیست‪.‬‬
‫‪‬‬
‫مقادیرشمارنده برای عملیات رمزنگاری مورد نیازاست‪.‬‬
‫‪‬‬
‫رمزگشایی‪:‬‬
‫عملیات رمزگشایی قابل موازی سازی است‪.‬‬
‫‪‬‬
‫برای عملیات رمزگشایی نیازی به متن رمزشده نیست‪.‬‬
‫‪‬‬
‫مقادیرشمارنده برای عملیات رمزنگاری مورد نیازاست‪.‬‬
‫‪‬‬
‫طول پیام‪:‬‬
‫هیچ گاه نیازی به افزایش طول پیام نداریم‪.‬‬
‫‪‬‬
‫‪ ‬متن رمز شده میتواند هم طول با پیام کوتاه شود‪.‬‬
‫پیاده سازی‪:‬‬
‫تنها رمزنگاری باید پیاده سازی شود‪.‬‬
‫‪‬‬
‫مقدار‬
‫صرفا‬
‫مزقطعه‬
‫استفاده از‬
‫صرفا‬
‫ای ای‬
‫مزقطعه‬
‫ایرای‬
‫بر ب‬
‫استفاده راز ر‬
‫است‪.‬‬
‫موردنیاز‬
‫شمار‬
‫است‬
‫موردنیاز‬
‫ندهرنده‬
‫شما‬
‫مقدار‬
‫می توان ابتدا مقدار‬
‫)‪EK(counter + i‬‬
‫را محاسبه نمود و سپس با رسيدن ‪ Ci‬متن‬
‫نهايی را بازيابی کرد‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪118‬‬
CFB ‫مد کاری‬
↓‫رمز نگاری‬
↓‫رمزگشایی‬


initialized with IV
initialized with IV
(s)
(s)
shift register (n)
shift register (n)
(n)
(n)
K
E
K
(n)
(n)
select s bits
select s bits
(s)
(s)
Pi
(s)
+
E
(s)
Ci
Ci
(s)
+
(s)
Pi
‫مركز امنبت شبكه شريف‬
119
‫لغت نامه‬
OFB ‫مد کاری‬
↓‫رمز نگاری‬
↓‫رمزگشایی‬

initialized with IV
initialized with IV
(s)
shift register (n)
(n)
E
K
select s bits
select s bits
(s)
(s)
120
(s)
+
E
(n)
(n)
Pi
(s)
shift register (n)
(n)
K

(s)
Ci
Ci
(s)
+
(s)
Pi
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫مقایسه ‪ CFB‬و ‪OFB‬‬
‫‪‬‬
‫موارد استفاده ‪ CFB‬و ‪OFB‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫عیب ‪:CFB‬‬
‫‪‬‬
‫‪‬‬
‫رمز جریانی‬
‫کاربردهای بی درنگ‬
‫انتشار خطای انتقال‬
‫‪ OFB‬این عیب را برطرف می کند‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪121‬‬
‫فهرست مطالب‬
‫‪‬‬
‫تعاريف‬
‫رمزهای کالسيک‬
‫الگوریتمهای رمزهای متقارن و رمزهای قطعه ای‬
‫استانداردهای رمزگذاری آمريکا‬
‫استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫استفاده ازرمزهای قطعه ای‬
‫مدهای کاری رمزهای قطعه ای‬
‫لغت نامه‬
‫‪‬‬
‫پیوست ‪DES :1‬‬
‫پیوست ‪3DES,IDEA,Blowfish, RC5, CAST-128 :2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪122‬‬
‫استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫‪‬‬
‫‪ NIST‬درسال ‪ 1997‬مسابقه ایی دو مرحله ایی برای طراحی استاندارد جدید برگزار‬
‫کرد‪.‬‬
‫ً‬
‫‪ ‬تمام طراحی ها باید براساس اصول کامال روشن انجام شوند‪.‬‬
‫‪ ‬سازمانهای دولتی آمریکا حق هیچ گونه دخالتی درطراحی الگوریتم‬
‫ندارند‪(.‬خوشبختانه!)‬
‫‪‬‬
‫درسال ‪ 2000‬رایندال(‪ )Rijndael‬به عنوان برنده اعالم شد‬
‫‪ ‬استاندارد جديد تحت عنوان استانداررمزگذاری پیشرفته ‪ AES‬مورد قبول‬
‫واقع شد‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪123‬‬
AES ‫فینالیست های مسابقه‬
 MARS
 RC6
 Rijndael


!‫منتخب‬
Serpent
Twofish
:‫ مقاله زيراطالعات بيشتردرباره مقایسه فيناليست ها ارائه می دهد‬
A Performance Comparison of the Five AES Finalists
B. Schneier and D. Whiting
‫مركز امنبت شبكه شريف‬
124
‫لغت نامه‬
‫مشخصات استاندارد رمزگذاری پیشرفته ‪AES‬‬
‫‪ ‬طول كليد ‪ 192 ،128‬و یا ‪ 256‬بیت‬
‫‪ ‬طول قطعههاي ورودي و خروجي ‪ 192 ،128 :‬و یا ‪ 256‬بیت‬
‫‪ ‬تعداد دورها به طول کلید و نیزطول قطعه بستگی دارد‪.‬‬
‫‪‬‬
‫برای ‪ 128‬بیت‪ 9 :‬دور‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪125‬‬
‫نحوه کار ‪AES-128‬‬
‫‪ ‬الگوریتم زمان بندی کلید نقش تهیه کلید برای هردور براساس‬
‫کلید اصلی را برعهده دارد‪.‬‬
‫‪ ‬متن واضح ‪ 128‬بیتی به شکل یک ماتریس حالت ‪ 4×4‬درمی آید‪.‬‬
‫‪‬‬
‫هردرایه یک بایت ازمتن واضح را نشان می دهد‬
‫‪‬‬
‫این ماتریس درانتها مولد متن رمزاست‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪126‬‬
‫نحوه کار ‪AES-128‬‬
‫‪ ‬درهردور ‪ 4‬عمل برروی ماتريس حالت اعمال میشود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫جایگزینی بایتها ‪ :‬جایگزینی درایه های ماتریس حالت با استفاده ازیک ‪s-box‬‬
‫جابجایی سطری‬
‫ترکیب ستونها‪ :‬ترکیب خطی ستونها با استفاده ازضرب ماتریس ی‬
‫اضافه نمودن کلید دور‪ :‬جمع مبنای دو ماتریس حالت با کلید دور‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪127‬‬
‫‪s-box‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نوعی تابع غیرخطی محسوب می شود‬
‫توسط یک جدول پیاده سازی میشود‪.‬‬
‫درآن مصالحه ای بین کارآيی و امنيت برقراراست‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫جدول بزرگ‪ :‬الگوریتم قویتر‬
‫جدول کوچک‪ :‬پیاده سازی ساده تر‬
‫ورودی تابع سطرو ستون درایه جدول را معین کرده و مقدارذخیره شده دراین‬
‫درایه خروجی تابع است‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪128‬‬
‫‪Rijndael‬‬
‫‪‬‬
‫مراحل انجام الگوريتم ‪ Rijndael‬را درقالب يک فلش بررس ی می کنيم‪.‬‬
‫‪‬‬
‫ابزارمورد نیازبرای نمایش‪Shockwave ActiveX :‬‬
‫‪‬‬
‫‪‬‬
‫درصورت استفاده از‪ IE‬با نسخه باالتر از‪4.0‬‬
‫ازآدرس زیرقابل دریافت می باشد‪:‬‬
‫‪http://www.esat.kuleuven.ac.be/~rijmen/rijndael/‬‬
‫‪‬‬
‫فايل ‪ Flash‬بايد درشاخه اساليد قرارداشته باشد‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪129‬‬
‫‪Rijndael‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪130‬‬
‫امنیت ‪AES‬‬
‫‪‬‬
‫کماکان درحال بررس ی‬
‫‪‬‬
‫ازلحاظ مقایسه با ‪:DES‬‬
‫‪‬‬
‫فرض کنید ماشینی وجود دارد که کلید ‪ DES‬را ازطریق آزمون جامع در‬
‫یک ثانیه بازیابی میکند‪ ،‬یعنی درهرثانیه ‪ 255‬کلید را امتحان میکند‪ .‬این‬
‫ماشین کلید ‪ AES‬را در‪ 1012×149‬سال بازیابی مینماید‪.‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪131‬‬
‫مراجع مطالعه ‪AES‬‬
‫برای اطالعات بیشتربه آدرسهای زیررجوع کنید‪.‬‬
‫‪http://www.nist.gov/aes‬‬
‫‪http://www.esat.kuleuven.ac.be/~rijmen/rijndael‬‬
‫‪/‬‬
‫مركز امنبت شبكه شريف‬
‫لغت نامه‬
‫‪132‬‬
‫لغت نامه‬
Meet-in-the-Middle
attack
Round
Stream Cipher
‫رمزهای دنباله ای‬
Block Cipher
‫رمزهای قطعه ای‬
‫رمزهای متقارن‬
‫زمان بندی کلید‬
plaintext
‫متن واضح‬
Confidentiality
‫محرمانگی‬
parallelization
‫موازی سازی‬
MAC: Message
authentication code
Brute Force
‫آزمون جامع‬
‫دور‬
‫رمزنگاری متقارن‬
Key Schedule
‫احراز هویت‬
‫حمله مالقات در میانه‬
Symmetric
Encryption Scheme
Symmetric Cipher
Authentication
‫کد احراز تمامیت پیام‬
AES
‫استاندارد رمزگذاری‬
‫پیشرفته‬
DES
‫استاندارد رمزگذاری داده‬
Padding
‫افزایش طول پیام‬
Provable Security
‫امنیت قابل اثبات‬
Differential
cryptanalysis
linear cryptanalysis
‫تحلیل تفاضلي‬
‫تحلیل خطي‬
Substitution
‫جایگزیني‬
Permutation
‫جایگشت‬
NSA: National
Security Agency
Timing Attack
‫حمله زماني‬
‫مركز امنبت شبكه شريف‬
133
‫لغت نامه‬