Upload
mohammad-golyani
View
821
Download
6
Tags:
Embed Size (px)
DESCRIPTION
DES (Data Encryption Standard) algorithm is explained in detail in Persian language. چگونگی کارکرد و ساختار الگوریتم DES
Citation preview
Data Encryption Standard(DES)
M.GolyaniTehran University – Kish campus
Fall 2013
Copyright ©[email protected]
فهرست مطالب
مقدمه و تاریخچه-
رم��ز - سیس��تم مع��رفی
فیستل
S-Box و P-Boxمعرفی -
DESمشخصات -
DESبررسی ساختار -
جمع بندی-
مقدمه و تاریخچه
-DES یکی از پرطرف�دارترین الگ�وریتم ه�ای رمزنگ�اری م�ورد اس�تفاده در
سیس�تم ه�ای امنی�تی اس�ت ک�ه ب�ا وج�ود ق�دمت زی�اد، هن�وز هم در بس�یاری
سیستم ها مورد استفاده قرار می گیرد.
س�ازمان 1972در - طری�ق از متح�ده ای�االت دولت ،NIST آن در )ک�ه
ن�ام داش�ت( نی�از خ�ود ب�ه ی�ک اس�تاندارد جهت رمزنگ�اری اس�ناد NBSزم�ان
حساس غیر طبقه بندی شده را اعالم نمود.
توس�ط - رس�یده پیش�نهادهای بررس�ی از و NBSپس NSA ص�ورت ب�ه
مش�ترک، هیچک�دام ب�ه عن�وان اس�تاندارد مناس�ب در نظ�ر گرفت�ه نش�ده و
صادر نمود.1974دولت اعالمیه مجددی در
ی�ک سیس�تم رمزنگ�اری قاب�ل IBMدر پاس�خ ب�ه این اعالم نی�از، ش�رکت -
قبول پیشنهاد نمود.
ن�ام لوس�یفر - ب�ا ب�ر مبن�ای الگ�وریتم قبلی هارس�ت فیس�تل این سیس�تم
عمل می نمود.
مقدمه و تاریخچه
انتش�ار - از انتخ�اب آن توس�ط دولت در س�ال DESپس ، نق�د 1975 و
هایی بر این استاندارد ایراد گردید.
از جمل�ه این نق�د ه�ا، می ت�وان ب�ه انتق�ادات دیفی و هلمن در م�ورد ط�ول -
و کوت�اه ش�ده این S-Boxکلی�د در اس�تفاده م�ورد ه�ای عجیب
الگوریتم اشاره نمود.
در این الگ�وریتم و ق�رار NSAدیفی و هلمن )و بس�یاری دیگ�ر( ب�ه دخ�الت -
دادن یک درب پشتی در آن مشکوک بودند.
اگرچ�ه پس از انتش�ار روش ه�ای کش�ف رم�ز] تفاض�لی توس�ط بیه�ام و -
مق�اومت و این DESش�امیر از ح�دی ت�ا حمالت، گون�ه این مقاب�ل در
بدبینی کاسته شد، لیکن هیچگاه برطرف نگردید.
مبانی رمزنگاری پیشرفته
، از ی�ک سیس�تم رمزنگ�اری ک�ه ب�ر مبن�ای DESهمانگون�ه ک�ه اش�اره ش�د، در -
الگوریتم فیستل کار می کند استفاده شده است.
پ�ر - تردی�د ب�دون و ت�رین بنی�ادی از یکی ت�وان را می فیس�تل الگ�وریتم
رمزنگ�اری ه�ای سیس�تم در اس�تفاده م�ورد الگ�وریتم ت�رین اس�تفاده
متقارن دانست.در سیستم های رمزنگاری، رمز
فیستل ساختار متقارنی است که در
ساخت رمز های بلوکی کاربرد دارد
و با نام شبک̀ۀ فیستل نیز شناخته
.می شود
سیستم رمز فیستل
در سیس�تم رم�ز فیس�تل، ورودی ب�ه دو قس�مت چپ و راس�ت تقس�یم ش�ده و -
س�پس طی چن�د دور، ت�ابع دوری فیس�تل ب�رروی ه�ر قس�مت ب�ه هم�راه کلی�د
اعمال می شود. ب�ا قس�مت - ت�ابع فیس�تل بع�د، خ�روجی در مرحل�̀ۀ
راس�ت( ی�ا )چپ ب�ه XORمقاب�ل نتیج�ه و ش�ده
عنوان ورودی دور بعدی در نظر گرفته می شود.
تابع فیس�تل بای�د ب�ه گون�ه ای ط�راحی ش�ود ت�ا اگ�ر -
خ�روجی رم�ز ش�ده و کلی�د را ب�ه عن�وان ورودی در
اختی�ار داش�ته باش�د، ورودی را ب�ه عن�وان خ�روجی
تولید کند!!
سیستم رمز فیستل kرا در نظ�ر بگیری�د. این ت�ابع ب�ه این ص�ورت عم�ل می کن�د ک�ه ی�ک ع�دد fتابع -
بی�تی از ورودی را ب�ه ص�ورت kرا ب�ه عن�وان کلی�د دری�افت نم�وده و واح�د ه�ای
آینه ای معکوس می کند:
ب�ا ب�رعکس ش�دن عملی�ات و دری�افت متن رم�ز ش�ده و کلی�د، متن - ت�ابع این
اصلی را تولید خواهد کرد:
0 1 1 0 0 1 0 1
1 0 0 1 1 0 1 0
K=2
F = mirror(each K bit of input)
1 0 0 1 1 0 1 0
K=2
F = mirror(each K bit of input)
سیستم رمز فیستل
در سیس�تم رم�ز فیس�تل از چ�نین ت�وابعی اس�تفاده می ش�ود، لیکن تواب�ع م�ورد -
استفاده باید دارای ویژگی های زیر باشند:
g بین • دور( تش�کیل 32 ت�ا 10عملی�ات رمزگ�ذاری از تع�دادی دور )معم�وال
شده است.
ماهیت عملی�ات تم�ام دور ه�ا یکس�ان ب�وده و در ه�ر دور فق�ط کلی�د تغی�یر •
می کند.
کلید هر دور باید متفاوت با دور قبلی باشد.•
الگ�وریتم رمزگ�ذاری • از بای�د ی�ک طرف�ه و مس�تقل تولی�د کلی�د الگ�وریتم
باشد.
( تقس�یم R( و راس�ت )L)ورودی سیس�تم رمزگ�ذاری ب�ه دو قس�مت چپ •
ب�رروی XORش�ده و در ه�ر دور، عملی�اتی ش�امل ت�ابع فیس�تل و عملگ�ر
این دو قسمت اعمال می شود.
خروجی هر دور، به عنوان ورودی دور بعد در نظر گرفته می شود.•
سیستم رمزگذاری فیستل
، ی�ک ت�ابع مناس�ب انتخ�اب fدر ص�ورتی ک�ه ت�ابع -
ش�ده و کلی�د ه�ا ن�یز ب�ه درس�تی گ�زینش ش�وند،
بس�یار حمالت مقاب�ل در رم�ز سیس�تم این
مقاوم خواهد بود.
تع�داد مراح�ل ب�رای اینک�ه ت�أثیر DESدر الگ�وریتم -
ب�ر بهم�نی اعم�ال ش�ود، 128فروپاش�ی بیت
مرحله باشد.7باید بیشتر از
برای رمزگش�ایی، ک�افی اس�ت متن رم�ز ش�ده -
ب�ه آخ�رین دور داده و خ�روجی Knرا ب�ه هم�راه
هم�راه ب�ه ب�ه Kn-1آن�را و آخ�ر ماقب�ل دور ب�ه
اص�لی متن ب�ه ت�ا دهیم ادام�ه ت�رتیب همین
برسیم.
0 1 1 0 0 1 0 1
0 1 1 0 0 1 0 1
K0
R0L0
K1
R1L1
Kn
Rn Ln XOR f(Kn,Rn) Li+1 = Ri
Ri+1 = Li XOR f ( Ri , Ki )C = (Rn+1,Ln+1)
0 1 1 0 0 1 1 0
m
C
سیستم رمزگشایی فیستل
برای رمزگش�ایی می ت�وان از هم�ان دس�تگاه -
پیش�ین ولی ب�ا کلی�د ه�ای معک�وس و متن رم�ز
شده استفاده نمود.
این - اف�زاری س�خت س�ازی پی�اده ام�ر، این
الگوریتم را بسیار ساده تر می نماید.
کلی�̀ۀ - و الگ�وریتم این ق�درت اس�ت بدیهی
الگ�وریتم ه�ای فیس�تلی، وابس�تگی مس�تقیمی
خواهد داشت.fبه قدرت تابع
0 1 1 0 0 1 0 1
0 1 1 0 0 1 0 1
Kn
Kn-1
Rn-1Ln-1
K0
L0 R0
Ri = Li+1
Li = Ri+1 XOR f ( Li+1, Ki )m = (L0 , R0)
0 1 1 0 0 1 1 0
Ln XOR f(Kn,Rn)Rn
c
m
DES Feistel function بس�یار بس�یار پیچی�ده و دقی�ق انتخ�اب ش�ده f، ت�ابع DESدر سیس�تم رم�ز -
است.
وج�ود - ب�ر مب�نی ای ع�ده تردی�د ک�ه ب�ود ای گون�ه ب�ه ت�ابع این انتخ�اب
Backdoor.یا شاه کلید در مورد این الگوریتم را برانگیخت
الگ�وریتم - ت�ابع فیس�تلی از دو مفه�وم DESدر ،S-Box و P-Box اس�تفاده
شده است.
را - بی�ان س�اده هم�ان عملی�ات جابج�ایی و ج�ایگزینی این دو مفه�وم در
انجام می دهند.
S-Box و P-Box ب�ر مبن�ای نظری�̀ۀ پیچی�دگی ش�انون P-Box و S-Boxای�دۀ̀ اولی�̀ۀ -
استوار است.
هدف اص�لی از بین ب�ردن ارتب�اط مس�تقیم بین ه�ر بیت از -
متن اص�لی )ی�ا کلی�د( ب�ا بیت ه�ای خ�روجی )متن رم�ز ش�ده(
و تغییر شاخص های آماری می باشد.
از - اس�تفاده اص�لی ب�ردن S-Boxدلی�ل بین از منظ�ور ب�ه
، تغی�یر P-Boxارتب�اط م�ذکور ب�وده و دلی�ل اص�لی اس�تفاده از
شاخص های آماری است.
ب�ه نح�و شایس�ته ای عملی�ات ف�وق ص�ورت - در ص�ورتی ک�ه
دس�ت امن رمزگ�ذاری سیس�تم ی�ک ب�ه ت�وان می پ�ذیرد،
یافت.
g از چند برای برقراری S-Boxدر سیستم های رمزنگاری، غالبا
Confusion استفاده شده و سپس خروجی آنها، برای برقراری
Diffusion به P-Box.داده می شود
S-Box و P-Box-S-Box ه�ا و P-Box ه�ا ب�ا توج�ه ب�ه نس�بت تع�داد بیت ه�ای ورودی و خ�روجی، ب�ه
سه دست̀ۀ مستقیم، فشرده ساز و گسترش دهنده تقسیم بندی می شوند.
ه�ا می توان�د ب�ر مبن�ای ی�ک ج�دول جس�تجو ص�ورت S-Box ه�ا و P-Boxعملی�ات -
)نظ�یر ث�ابت اس�ت ممکن ج�دول این ک�ه )نظ�یر DESپ�ذیرد متغ�یر ی�ا و )
BlowFish.باشد )
ه�ایی برگش�ت پ�ذیر هس�تند ک�ه نگاش�ت آنه�ا، ی�ک ب�ه ی�ک P-Box ه�ا و S-Boxتنه�ا -
باشد.
ممکن اس�ت خطtی ی�ا غ�یر خطtی S-Boxارتب�اط بین ورودی و خ�روجی در ی�ک -
باشد.
S-Box و P-Box ه�ای مس�تقیم )برگش�ت پ�ذیر(، ک�افی P-Boxبرای بدس�ت آوردن نگاش�ت معک�وس -
اس�ت ج�ای ان�دیس ه�ای ورودی و خ�روجی را ع�وض نم�وده و ب�ر اس�اس ان�دیس
اندیس به هم ریخته، جدول را مرتب کنیم.بیت
ورودی
اندیس بیت
خروجی
0 2
1 0
2 4
3 5
4 7
5 3
6 1
7 6
I0
I1
I2
I3
I4
I5
I6
I7
O0
O1
O2
O3
O4
O5
O6
O7
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
Straight P-Box
S-Box و P-Box ه�ا، ن�ه تنه�ا رابط�̀ۀ مس�تقیمی بین ورودی و خ�روجی P-Box ه�ا، ب�ر خالف S-Boxدر -
g y = 3x2وجود ندارد، بلکه ممکن است این رابطه خطtی نیز نباشد. )مثال + 4x -
1 .)
ه�ا وج�ود دارد ک�ه ب�ه ط�ور کلtی از S-Boxروش ه�ای مختلفی ب�رای پی�اده س�ازی -
ساختار جدول جستجو پیروی می کنند.
ه�ا این S-Boxیکی از روش ه�ای پ�ر اس�تفاده در س�اخت ج�دول جس�تجو ب�رای -
اس�ت ک�ه ورودی ب�ه دو قس�مت تقس�یم می ش�ود. ح�الت ه�ای ممکن ب�رای ی�ک
قس�مت ب�ه عن�وان ان�دیس س�طر و ح�الت ه�ای ممکن ب�رای قس�مت دیگ�ر، ب�ه
عنوان اندیس ستون در نظر گرفته خواهد شد.
بدین ت�رتیب مق�ادیر موج�ود در ج�دول، عب�ارت خ�روجی را ب�ه ازای ه�ر ت�رکیب -
ورودی مشخص می کنند.
S-Box و P-Box
00 01 10 11
0 010 101 110 001
1 111 100 011 000
ورودی به دو قسمت تقسیم
شده و حاالت ممکن برای یک
قسمت به عنوان شماره سطر
و دیگری به عنوان شماره
ستون در نظر گرفته می شود.
بیتی نوشته می شود nدر خانه های جدول، اعداد
، تعداد بیت های خروجی خواهد بود.nکه 1
0
0
m0 m1 m2 m0 m1 m2
m0
m1
m2
m0
m1 m
2
1
1
1
Straight S-Box
Lookup Table:
برای راحتی کار، می توان اعداد درون جدول را در
.مبنای ده نوشت
S-Box های DESی�ک - بیت ه�ای خ�روجی تع�داد ک�ه بیت ه�ای ورودی S-Boxدر ص�ورتی از کم�تر
g عملکرد برگشت ناپذیر خواهد بود. باشد، طبیعتا
وی�ژه اس�تفاده ش�ده اس�ت، در S-Box 8، از DESدر ت�ابع فیس�تل م�ورد اس�تفاده در -
ه�ا، بیت ه�ای مش�خص کنن�دۀ̀ س�طر، بیت اول و آخ�ر وروردی و بیت S-Boxاین
های مشخص کنندۀ̀ ستون، سایر بیت ها می باشد.S1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13m0,m5
m1,m2,m3,m4
برای S-Boxآیا انتخاب تصادفی مقادیر خانه های جدول
بهتر نبود؟Diffusionتأمین
S-Box های DES
به قدری عجیب DES های S-Boxطراحی
انجام شده که از نظر برخی امکان وجود
backdoor در این S-Box.ها وجود دارد
گفته می شود در طراحی اولیه که توسط
IBM ،صورت پذیرفت S-Box ها ساختار
درخواست NSAدیگری داشته اند، لیکن
ها به صورتی که هم اکنون S-Boxکرد تا
وجود دارد طراحی شود.
DESمشخصات ب�ه این ص�ورت اس�ت ک�ه مق�ادیری را ب�ه عن�وان کلی�د اص�لی، و متن س�اده DESعملک�رد کلtی -
دریافت نموده و نتیج̀ۀ رمزگذاری شده را به عنوان خروجی تولید می کند.
-DES دور فیس�تلی انج�ام می ده�د ک�ه در ه�ر دور، ی�ک کلی�د 16، عملی�ات رمزگ�ذاری را در
منحصر به فرد استفاده می شود.
ب�ه ص�ورت - و کلی�د اص�لی از روی g تمام�ا اس�تفاده در دور ه�ای مختل�ف، کلی�د ه�ای م�ورد
یکطرفه قابل تولید است.
برای تولی�د کلی�دهای ف�رعی از روی کلی�د اص�لی، روش ه�ای مختلفی وج�ود دارد ک�ه در پی�اده -
استفاده شده است.XOR، از عملگر شیفت و DESسازی ابتدایی
بیت 64 بیت؛ ط�ول متن ورودی، 48 بیت و ط�ول کلی�د ه�ای ف�رعی 64طول کلی�د ورودی، -
بیت می باشد.64و طول خروجی نیز
بی�تی 64 بیت، این متن ه�ا می بایس�ت ب�ه ق�الب ه�ای 64برای رمزنگ�اری مت�ون بزرگ�تر از -
شکسته شود.
DESمشخصات مش��اهده - ک��ه همانگون��ه
الگ�وریتم در ش�ود، می
DES عم��ل ی��ک ابت��دا ،
ورودی ب�رروی جابج�ایی
س�پس و گرفت�ه ص�ورت
Ri ه�ر کلی�د هم�راه ب�ه ه�ا
ت��ابع وارد ش��ده، fدور
ت�ابع این خ�روجی ب�رروی
هم�راه عم�ل Liب�ه ،XOR
ص�ورت گرفت�ه و خ�روجی
تحوی�ل Riنه�ایی ب�ه هم�راه
مرحل̀ۀ بعد می شود.
DESبررسی ساختار یک - الگوریتم، یک عمل جایگشت توسط به محض شروع و امر ابتدای -Pدر
Box بیت ورودی اعم�ال می ش�ود. ب�ه این عم�ل، جایگش�ت آغ�ازین 64 ب�ر روی
(.Initial Permutationگفته می شود )
58، ثابت و به صورت زیر است:IPجدول جستجوی - 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
1 2 3 8
9
17
25
33
41
49
57 58 59 60 61 62 63 64
4 5 6 7
DESبررسی ساختار
DESبررسی ساختار الگ�وریتم، - این اس�اس ب�ر مث�ال عن�وان ب�ه 24به بای�د ورودی از بیت |مین ا
ششمین بیت خروجی نگاشته شود.
_” را ب�ه عن�وان متن اص�لی در نظ�ر بگ�یریم، ب�رای MAGMAG“_پس اگ�ر رش�ت̀ۀ -
ب�اینری تب�دیل نم�وده و DESارائ�̀ۀ این رش�ته ب�ه الگ�وریتم ، بای�د آن�را ب�ه ص�ورت
را بر آن اعمال کنیم:IPسپس
رشته کد اسکیمعادل باینری
M 77 01001101
A 65 01000001
G 71 01000111
_ 95 01011111
بیت زیر خواهد بود:64بنابراین رشت̀ۀ ورودی به صورت باینری برابر با -
0101111101001101010000010100011101001101010000010100011101011111
DESبررسی ساختار را ب�ر روی ورودی اعم�ال می ک�نیم )توج�ه داریم ک�ه بیت ه�ای IPدر مرحل�̀ۀ اول -
رش�ته ب�رای خوان�ایی بیش�تر ب�ه ت�رتیب درون ج�دول ق�رار گرفت�ه ان�د – همین ط�ور
(:IPبیت های 58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
ورودی
0 1 0 1 1 1 1 1
0 1 0 0 1 1 0 1
0 1 0 0 0 0 0 1
0 1 0 0 0 1 1 1
0 1 0 0 1 1 0 1
0 1 0 0 0 0 0 1
0 1 0 0 0 1 1 1
0 1 0 1 1 1 1 1
1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 1 0 1 1 0 1 1
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 1
1 1 0 0 1 0 0 1
IP متن جابجا شده
8 7 6 5 4 3 2 1
9
17
25
33
41
49
57
58
59
60
61
62
63
64
8 7 6 5 4 3 2 1
9
17
25
33
41
49
57
58
59
60
61
62
63
64
DESبررسی ساختار 32، ب�رای ورود ب�ه س�امان̀ۀ فیس�تل ب�ه دو قس�مت P-Boxدر مرحل�̀ۀ بع�د، خ�روجی -
تقسیم می شود.R و Lبیتی
از - اس�تفاده ب�ا و جداگان�ه ب�ه ص�ورت ن�یز فیس�تل س�امان̀ۀ از دور ه�ر ه�ای کلی�د
مث�ال این در اس�تفاده م�ورد اص�لی )کلی�د آی�د. بدس�ت می کلی�د تولی�د الگ�وریتم
1” هگز می باشد(.4950515253545556” 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 1 0 1 1 0 1 1
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 1
1 1 0 0 1 0 0 1
1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 1 0 1 1 0 1 1
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 1
1 1 0 0 1 0 0 1
64خروجی P-Box بیتی بیت 32
ابتدایی(L0)
بیت 32انتهایی
(R0)
DESبررسی ساختار
ب�ه - بایس�ت این مرحل�ه، ورودی ه�ا می در
هم�راه کلی�د، تحوی�ل اولین دور از دوره�ای
فیستلی شوند.
ب�رروی f، ت�ابع DESدر ه�ر دور از دور ه�ای -
ورودی ه�ا و کلی�د اعم�ال ش�ده و خ�روجی
تحویل دور بعد می شود.
دور، - ه�ر کلی�د هم�ان دور Riدر ب�ه هم�راه
Li ش�ده و ب�ر روی خ�روجی آن ب�ا fوارد ت�ابع
ص�ورت می پ�ذیرد و نتیج�ه ب�ه XORعملی�ات
تحویل مرح̀ۀ بعد می شود.Ri+1عنوان
-Li+1 برابر با g خواهد بود.Ri نیز دقیقا
K0
R0L0
K1
R1L1
K16
R14 L14 XOR f(K14,R14)
0 1 1 0 0 1 1 0C(L15) (R15)
شما اینجا
!!هستید
0 1 1 0 0 1 0 1m
32
bit
32
bit
DESبررسی ساختار
انج�ام XOR عملی�ات L0 ش�ده و ب�ر روی خ�روجی ب�ا f وارد K0 و R0در این مرحل�ه، -
1می شود. 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 1 0 1 1 0 1 1
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 1
1 1 0 0 1 0 0 1
K0
R0
f
L0
Li+1 = Ri
Ri+1 = Li XOR f ( Ri , Ki )
L1
R1
L1 = R0
R1 = L0 XOR f ( R0 , K0 )
DESبررسی ساختار
هستیم.K0پس در این مرحله ما نیازمند به -
اص�لی و ب�ا اس�تفاده از عملی�ات جابج�ایی، K از روی K0همانگون�ه ک�ه ذک�ر ش�د، -
بدست می آید.XORشیفت و
از روی کلی�د اص�لی، K0الگ�وریتم م�ورد اس�تفاده ب�رای تهی�ه کلی�د ه�ای ف�رعی نظ�یر -
48 کلی�د 16 بی�تی، 64الگ�وریتم مشخص�ی ب�وده و ب�ا دری�افت ی�ک کلی�د اص�لی
بیتی برای استفاده در هر دور فیستلی ارائه می دهد.
” هگ�ز( 4950515253545556با محاس�ب̀ۀ این کلی�د ه�ا از روی کلی�د اص�لی )“-
خواهیم داشت:
K0 = 101100 001001 001011 001010 011100 001000 000101 000101
K1 = 101100 000001 101011 010010 011101 101000 000001 001100
K2 = 001101 000111 101001 010000 000000 001011 010111 001010
K3 = 000001 100111 010101 010100 001011 001011 010000 100001
K4 = 010011 100100 010101 010101 011010 100100 110001 100010
K5 = 010011 111100 000100 101001 000011 001100 100100 011010
K6 = 100010 111000 000110 101011 100001 010101 010001 010000
K7 = 101110 010000 101010 001011 110010 011000 001001 100000
K8 = 001110 010001 101010 001010 010100 011100 001000 111000
K9 = 001100 000011 100011 001100 000100 010001 110000 001100
K10= 000100 000110 110001 010100 100010 000011 000010 110100
K11= 010001 000110 110100 110100 001000 010110 101010 100101
K12= 110001 101010 010100 100101 001100 100000 100010 010011
K13= 110010 111000 011000 100011 100001 110000 000100 010111
K14= 111010 011001 001010 101010 000001 110010 001111 000000
K15= 101000 011001 001010 101010 010101 000010 001001 000011
DESبررسی ساختار با مش�خص ب�ودن کلی�د ه�ا، عملک�رد نه�ایی دور اول ب�ه -
1صورت زیر خواهد بود: 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 1 0 1 1 0 1 1
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 1
1 1 0 0 1 0 0 1
R0
f
L0
L1
R1
1 0 1 1 0 0
0 0 1 0 0 1
0 0 1 0 1 1
0 0 1 0 1 0
0 1 1 1 0 0
0 0 1 0 0 0
0 0 0 1 0 1
0 0 0 1 0 1
K0
نهفته f در تابع DESیادآوری: قدرت
است!!
بررسی تابع فیستلی DES بیت( 32 بیت( و نیمی از خ�روجی مرحل�̀ۀ قب�ل )48این ت�ابع دو مق�دار ورودی کلی�د )-
را دریافت می کند.
XORدر مرحل�̀ۀ نخس�ت این ت�ابع ب�رای اینک�ه ق�ادر باش�د این دو مق�دار را ب�ا یک�دیگر -
کن�د، ناچ�ار خواه�د ب�ود ی�ا ب�ا ی�ک نگاش�ت چن�د ب�ه ی�ک، ط�ول کلی�د را ک�اهش ده�د و ی�ا ب�ا
g گزین�̀ۀ دوم راهگش�ا ی�ک نگاش�ت ی�ک ب�ه چن�د، ط�ول ورودی را اف�زایش ده�د ک�ه طبیعت�ا
خواهد بود.
ش�دن آن ب�ا مق�دار کلی�د XOR بیت و 48 بیت ورودی ب�ه 32پس از گس�ترش ی�افتن -
آغاز می شود.fجزئی دریافت شده، عملیات اصلی تابع
بی�تی تقس�یم ش�ده 6 قس�مت 8 بیت حاص�ل از مرحل�̀ۀ قب�ل، ب�ه 48در این عملی�ات، -
S-Box می ش�ود. ب�دین ت�رتیب پس از اتم�ام ک�ار 4 ب�ه S-Box 6و ه�ر قس�مت وارد ی�ک
بیت خروجی خواهیم داشت.32ها،
پای�انی این - مس�تقیم عب�ور داده ش�ده و خ�روجی P-Box بیت از ی�ک 32در مرحل�̀ۀ
نهایی تولید می شود.
بررسی تابع فیستلی DES
بررسی تابع فیستلی DES
بیت توسط یک جدول ثابت صورت می پذیرد:48 بیت به 32عملیات گسترش -
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 1
1 1 0 0 1 0 0 1
1 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 1 1
1 1 1 0 0 1
0 1 0 0 1 0
R0 E 48-bit
E(R0)
بررسی تابع فیستلی DES
بررسی تابع فیستلی DES
K0
R0L0
K1
R1L1
K16
R14 L14 XOR f(K14,R14)
0 1 1 0 0 1 1 0C(L15) (R15)
شما اینجا
!!هستید
0 1 1 0 0 1 0 1m
32
bit
32
bit
بررسی تابع فیستلی DES
صورت می پذیرد:XOR عملیات K0 و E(R0)در مرحل̀ۀ بعد، بر روی -
1 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 1 1
1 1 1 0 0 1
0 1 0 0 1 0
48-bit
E(R0) xor K0
1 0 1 1 0 0
0 0 1 0 0 1
0 0 1 0 1 1
0 0 1 0 1 0
0 1 1 1 0 0
0 0 1 0 0 0
0 0 0 1 0 1
0 0 0 1 0 1
0 0 1 1 0 0
0 0 1 0 0 1
0 0 1 0 1 1
0 0 1 0 1 1
0 0 1 1 1 0
1 0 1 1 1 1
1 1 1 1 0 0
0 1 0 1 1 1
48-bit
E(R0)
48-bit
K0
های آن S-Box در طراحی fیادآوری: قدرت تابع
نهفته است!!
بررسی تابع فیستلی DES
مرحل�ه، - این ب�ه 48در تولی�د ش�ده، بیت ه�ر 6 قس�مت 8 و تقس�یم ش�ده بی�تی
بیت خ�روجی تولی�د خواه�د ش�د 32 ش�ده و در نه�ایت 4 ب�ه S-Box 6قس�مت وارد ی�ک
در نظ�ر گفت�ه می f مس�تقیم، ب�ه عن�وان خ�روجی ت�ابع P-Boxک�ه پس از عب�ور از ی�ک
شود:
Straigh P-Box
S1 S2 S3 S4 S5 S6 S7 S8
0 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0
0 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 1
بررسی تابع فیستلی DES
، ب�ا دیگ�ری متف�اوت ب�وده و ب�ه ش�رح S-Boxجداول ج�ایگزینی م�ورد اس�تفاده در ه�ر -
14زیر است: 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
S1 S2
S3 S4
S5 S6
S7 S8
بررسی تابع فیستلی DES
ها به صورت زیر است:S-Boxنحوۀ̀ انتخاب سطر و ستون در این -
S1
0 0 1 1 0 0
S1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
0 0
شماره
سطر =
0 1 1 0
شماره
ستون =
1 0 1 111 =
سمت -Pبه
Box
1 0 1 1
ها در مورد این مثال، S-Boxبا انجام محاسبات مشابه برای سایر
ها عبارت خواهد بود از:S-Boxخروجی نهایی1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1
بررسی تابع فیستلی DES
0 1 1 0 0 1 0 1
K0
R0L0
K1
R1L1
K16
R14 L14 XOR f(K14,R14)
0 1 1 0 0 1 1 0
m
C(L15) (R15)
شما اینجا
!!هستید
32
bit
32
bit
بررسی تابع فیستلی DES
ب�ا ج�دول ح�الت زی�ر P-Box بی�تی بدس�ت آم�ده، وارد ی�ک 32در این مرحل�ه، رش�ت̀ۀ -
خواهد شد:
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
S-Boxخروجی
ها
بیت(32)
1 0 1 1
1 0 0 1
1 0 1 0
0 1 1 0
1 1 1 1
0 1 0 0
1 1 1 1
1 0 1 1
1 1 0 1
1 0 1 0
1 1 1 0
1 1 1 1
0 1 0 1
1 0 1 0
1 1 0 1
0 0 1 1
-Pاعمال جابجایی
Box
)مستقیم(
fخروجی نهایی تابع
بیت(32)
بررسی تابع فیستلی DES
بررسی تابع فیستلی DES
1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 1 0 1 1 0 1 1
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 1
1 1 0 0 1 0 0 1
K0
R0
f
L0
Li+1 = Ri
Ri+1 = Li XOR f ( Ri , Ki )
L1
R1
L1 = R0
R1 = L0 XOR f ( R0 , K0 )
شما اینجا
!!هستید
بررسی تابع فیستلی DES
در این مرحل�ه، و ب�ه عن�وان آخ�رین فع�الیت در دور اول، ب�رروی خ�روجی بدس�ت -
XOR عملی�ات ،L0 بیت( و نیم�̀ۀ س�مت چپ رش�ت̀ۀ ورودی تحت عن�وان 32آم�ده )
تحویل دور بعد می شود:R1صورت گرفته و نتیجه تحت عنوان
1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 1 0 1 1 0 1 1
1 1 1 1 1 1 1 1
1 1 0 1
1 0 1 0
1 1 1 0
1 1 1 1
0 1 0 1
1 0 1 0
1 1 0 1
0 0 1 1
L0 f(K0,R0)
0 0 1 0
0 1 0 1
0 1 1 0
1 1 1 0
1 0 1 0
0 0 0 1
0 0 1 0
1 1 0 0
=
XOR = R1
DESخروجی نهایی 0 1 1 0 0 1 0 1
K0
R0L0
K1
R1L1
K16
R14 L14 XOR f(K14,R14)
0 1 1 0 0 1 1 0
m
C(L15) (R15)
شما اینجا
!!هستید
32
bit
32
bit ه�ر - اتم�ام از در 16پس فیس�تل ش�بک̀ۀ دور
، خ�روجی نه�ایی تحت ت�أثیر آخ�رین DESالگ�وریتم
P-Box .قرار می گیرد
ب�وده و عم�ل جابج�ایی IP، معک�وس P-Boxاین -
بیت انجام می دهد.64نهایی را بر روی
DESخروجی نهایی
0 1 0 1 0 1 0 0
1 1 0 0 0 1 1 0
1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 0L15 =
R15 =
0 1 1 0 0 0 0 1
1 0 0 1 1 0 0 0
1 1 0 0 1 0 0 1
1 0 1 0 1 1 1 1
0 1 0 1 0 1 0 0
1 1 0 0 0 1 1 0
1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 0
0 1 1 0 0 0 0 1
1 0 0 1 1 0 0 0
1 1 0 0 1 0 0 1
1 0 1 0 1 1 1 1
64 bit
0 1 0 1 0 1 0 0
1 1 0 0 0 1 1 0
1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 0
0 1 1 0 0 0 0 1
1 0 0 1 1 0 0 0
1 1 0 0 1 0 0 1
1 0 1 0 1 1 1 1
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
0 1 0 0 0 1 0 1
0 0 1 0 0 0 1 1
1 0 1 0 0 0 1 1
0 0 0 1 0 1 0 1
1 0 0 1 0 0 0 0
0 1 0 0 1 0 0 1
1 1 1 0 1 1 0 0
0 0 1 1 1 1 0 1
fخروجی IP-1 خروجی
نهایی
DESخروجی نهایی
DESخروجی نهایی و DES_” ب�ا اس�تفاده از الگ�وریتم MAGMAG“_بدین ت�رتیب رم�ز ش�دۀ̀ عب�ارت -
” هگز، برابر با رشت̀ۀ بیتی زیر خواهد بود:4950515253545556کلید “
01000101 00100011 10100011 00010101 10010000 01001001 11101100 00111101
تب�دیل ه�ر واح�د - نتیج�̀ۀ نه�ایی مع�ادل 8با ب�ه مع�ادل هگزادس�یمال، ت�ایی از این خ�روجی
“4523a3159049ec3d.هگزادسیمال بدست خواهد آمد ”
رشته معادل هگز رشته کلید هگزمعادل اسکی
کلیدخروجی نهایی
)هگز(
_MAGMAG_ 5f4d41474d41475f 4950515253545556
IPQRSTUV 4523a3159049ec3d
DESشکستن ب�ه اینک�ه - ب�ه عن�وان ی�ک اس�تاندارد ف�درال م�ورد اس�تفاده ق�رار می گ�رفت، DESبا توج�ه
دولت ایاالت متحده استفاده از این الگوریتم را برای سیستم های دولتی توصیه نمود.
قرار نگرفت.RSAاین قضیه چندان خوش آیند تولید کنندگان -
-RSA اولین چ�الش ،DES را ب�ه منظ�ور نش�ان
اینک�ه فض�ای کلی�د م�ورد اس�تفاده در دادن
DES ب�ا ج�ایزۀ̀ 1997 ناک�افی اس�ت در س�ال
ده ه�زار دالری ص�ورت پ�ذیرفت ک�ه ظ�رف
ب�ا DESCHALL روز توس�ط گ�روه 96م�دtت
جستجوی فضای حالت کلید شکسته شد.
DESشکستن
شکس�تن DESCHALLتیم - ب�رای DES ب�رای مناس�ب الگ�وریتم ی�ک نوش�تن ب�ه اق�دام ،
جستجوی فضای حالت نمود.
راه ان�دازی ش�ده و ب�ا اس�تفاده از این 486یک سیس�تم س�رور ب�ر روی ی�ک ک�امپیوتر -
عملی�ات جس�تجو ب�ر روی س�ایر سیس�تم ه�ا ن�یز انج�ام می Usenixس�رور و از طری�ق
گرفت.
DESشکستن
را ب�ا ج�ایزه ده ه�زار DES چ�الش س�وم RSAشش م�اه بع�د -
دالری برگزار نمود.
س�وم، - چ�الش س�خت EFFدر سیس�تم ی�ک ط�راحی ب�ا
ن�ام تحت ک�رک عملی�ات مخص�وص Deepcrackاف�زاری
دقیق�ه چ�الش را ب�ه 15س�اعت و 22موف�ق ش�د در م�دtت
اتمام برساند.
در - و آن از دوم RSA، 1998پس برگ�زاری چ�الش ب�ه اق�دام DES این و گ�رفت
روز ب�ا جس�تجوی فض�ای ح�الت کلی�د شکس�ته 41 در Distributed.netچ�الش توس�ط
شد.
الگ�وریتم - در س�اختار g عمال ق�درت DESاین شکس�ت بیش�تر و نک�رده وارد خللی
پردازش توزیع شده را نمایش داد.
DESشکستن
در کم�تر از ی�ک روز، DESبا شکس�ته ش�دن -
g تص�ویب نم�ود ک�ه دولت ای�االت متح�ده نهایت�ا
DES.از ایمنی کافی برخوردار نیست
DESشکستن DES ب�ورد، 5200 چیپ ب�ر روی 333000 ادع�ا ک�رده ب�ا اس�تفاده از cryptomeام�روزه -
در کمتر از نیم ساعت شکسته می شود.
ک�ه ب�ا س�اختار خط�وط لول�ه ک�ار FPGA ب�ا اس�تفاده از ی�ک س�ری PicoComputingشرکت -
440 هس�ت̀ۀ 40 را در ی�ک س�یکل انج�ام می ده�د ک�ه ب�ا داش�تن DESک�رده و ه�ر عم�ل
بیلی�ون کلی�د در ه�ر ثانی�ه می باش�د و ب�دین ت�رتیب ب�ا 18مگ�اهرتزی، ق�ادر ب�ه بررس�ی
از )FPGA 48اس�تفاده روز نص�ف در متوس�ط ب�ه شکس�ت ق�ادر س�اعت( می 12،
باشد.
ب�ه عن�وان الگ�وریتم AES و ی�ا 3DESبدین ت�رتیب، می ت�وان از الگ�وریتم ه�ای قدرتمن�د ت�ر -
های جایگزین استفاده نمود.
ب�ر روی ب�ورد ه�ای مختلفی ص�ورت گرفت�ه و DESپی�اده س�ازی س�خت اف�زاری الگ�وریتم -
، در لیس�ت دس�تورالعمل ه�ای پردازن�ده ه�ا، ARMب�رخی تولی�د کنن�دگان پردازن�ده نظ�یر
را نیز پیاده سازی نموده اند.DESدستورات مرتبط با
جمع بندی
Secure MCU with 32-bit ARM SC300 CPU, SWP interface, NESCRYPT cryptoprocessor and high-density Flash memory
جمع بندی
در پنج م�د عملی�اتی مختل�ف ک�ار می کن�د ک�ه DESالزم ب�ه ذک�ر اس�ت ک�ه الگ�وریتم -
می باشد.XORتفاوت این مد ها در نحوه دریافت ورودی و یک سری عملیات
Electronic Code یا ECB )که در مثال فوق مشاهده شد(، مد DESساده ترین نوع کارکرد -
Book.است
ک�ه هری�ک کاربرده�ای خ�اص خ�ود را CBC, CFB, OFB, CTR عبارتن�د از: DESسایر م�د ه�ای -
دارد.
مجم�وع - مبحث DESدر در ت�اکنون ک�ه اس�ت ه�ایی الگ�وریتم ت�رین قدرتمن�د از یکی
رمزنگاری تهیه شده است و هنوز نیز در بسیاری از ساختار ها مورد استفاده است.
، هن�وز کارآم�د ت�رین حمل�ه، حمالت بررس�ی DES س�ال تحقی�ق درب�ارۀ̀ 30پس از بیش از -
فضای حاالت کلید است!!
فهرست منابع
- Introduction to modern cryptography, Jonathan Katz, Yehuda Lindell
- The Day DES Died, SANS Institute InfoSec Reading Room
- Practically secure Feistel ciphers, Lars R. Knudsen, Arhus University, Denmark
- Implementation of Data Encryption Standard Using Reversible Gate Logic, Nuthan.A.C
- DES, CSIS 5857: Encoding and Encryption
- DES Walk Through, Kathryn Neugent, April 16, 2011
- United States Patent, 3,798,359 Mar.19,1974
- Cryptography and Network Security, Behruz Forouzan
- , …