55
Data Encryption Standard (DES) M.Golyani Tehran University – Kish campus Fall 2013 Copyright ©GPL [email protected]

Data encryption standard

Embed Size (px)

DESCRIPTION

DES (Data Encryption Standard) algorithm is explained in detail in Persian language. چگونگی کارکرد و ساختار الگوریتم DES

Citation preview

Page 1: Data encryption standard

Data Encryption Standard(DES)

M.GolyaniTehran University – Kish campus

Fall 2013

Copyright ©[email protected]

Page 2: Data encryption standard

فهرست مطالب

مقدمه و تاریخچه-

رم��ز - سیس��تم مع��رفی

فیستل

S-Box و P-Boxمعرفی -

DESمشخصات -

DESبررسی ساختار -

جمع بندی-

Page 3: Data encryption standard

مقدمه و تاریخچه

-DES یکی از پرطرف�دارترین الگ�وریتم ه�ای رمزنگ�اری م�ورد اس�تفاده در

سیس�تم ه�ای امنی�تی اس�ت ک�ه ب�ا وج�ود ق�دمت زی�اد، هن�وز هم در بس�یاری

سیستم ها مورد استفاده قرار می گیرد.

س�ازمان 1972در - طری�ق از متح�ده ای�االت دولت ،NIST آن در )ک�ه

ن�ام داش�ت( نی�از خ�ود ب�ه ی�ک اس�تاندارد جهت رمزنگ�اری اس�ناد NBSزم�ان

حساس غیر طبقه بندی شده را اعالم نمود.

توس�ط - رس�یده پیش�نهادهای بررس�ی از و NBSپس NSA ص�ورت ب�ه

مش�ترک، هیچک�دام ب�ه عن�وان اس�تاندارد مناس�ب در نظ�ر گرفت�ه نش�ده و

صادر نمود.1974دولت اعالمیه مجددی در

ی�ک سیس�تم رمزنگ�اری قاب�ل IBMدر پاس�خ ب�ه این اعالم نی�از، ش�رکت -

قبول پیشنهاد نمود.

ن�ام لوس�یفر - ب�ا ب�ر مبن�ای الگ�وریتم قبلی هارس�ت فیس�تل این سیس�تم

عمل می نمود.

Page 4: Data encryption standard

مقدمه و تاریخچه

انتش�ار - از انتخ�اب آن توس�ط دولت در س�ال DESپس ، نق�د 1975 و

هایی بر این استاندارد ایراد گردید.

از جمل�ه این نق�د ه�ا، می ت�وان ب�ه انتق�ادات دیفی و هلمن در م�ورد ط�ول -

و کوت�اه ش�ده این S-Boxکلی�د در اس�تفاده م�ورد ه�ای عجیب

الگوریتم اشاره نمود.

در این الگ�وریتم و ق�رار NSAدیفی و هلمن )و بس�یاری دیگ�ر( ب�ه دخ�الت -

دادن یک درب پشتی در آن مشکوک بودند.

اگرچ�ه پس از انتش�ار روش ه�ای کش�ف رم�ز] تفاض�لی توس�ط بیه�ام و -

مق�اومت و این DESش�امیر از ح�دی ت�ا حمالت، گون�ه این مقاب�ل در

بدبینی کاسته شد، لیکن هیچگاه برطرف نگردید.

Page 5: Data encryption standard

مبانی رمزنگاری پیشرفته

، از ی�ک سیس�تم رمزنگ�اری ک�ه ب�ر مبن�ای DESهمانگون�ه ک�ه اش�اره ش�د، در -

الگوریتم فیستل کار می کند استفاده شده است.

پ�ر - تردی�د ب�دون و ت�رین بنی�ادی از یکی ت�وان را می فیس�تل الگ�وریتم

رمزنگ�اری ه�ای سیس�تم در اس�تفاده م�ورد الگ�وریتم ت�رین اس�تفاده

متقارن دانست.در سیستم های رمزنگاری، رمز

فیستل ساختار متقارنی است که در

ساخت رمز های بلوکی کاربرد دارد

و با نام شبک̀ۀ فیستل نیز شناخته

.می شود

Page 6: Data encryption standard

سیستم رمز فیستل

در سیس�تم رم�ز فیس�تل، ورودی ب�ه دو قس�مت چپ و راس�ت تقس�یم ش�ده و -

س�پس طی چن�د دور، ت�ابع دوری فیس�تل ب�رروی ه�ر قس�مت ب�ه هم�راه کلی�د

اعمال می شود. ب�ا قس�مت - ت�ابع فیس�تل بع�د، خ�روجی در مرحل�̀ۀ

راس�ت( ی�ا )چپ ب�ه XORمقاب�ل نتیج�ه و ش�ده

عنوان ورودی دور بعدی در نظر گرفته می شود.

تابع فیس�تل بای�د ب�ه گون�ه ای ط�راحی ش�ود ت�ا اگ�ر -

خ�روجی رم�ز ش�ده و کلی�د را ب�ه عن�وان ورودی در

اختی�ار داش�ته باش�د، ورودی را ب�ه عن�وان خ�روجی

تولید کند!!

Page 7: Data encryption standard

سیستم رمز فیستل 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)

Page 8: Data encryption standard

سیستم رمز فیستل

در سیس�تم رم�ز فیس�تل از چ�نین ت�وابعی اس�تفاده می ش�ود، لیکن تواب�ع م�ورد -

استفاده باید دارای ویژگی های زیر باشند:

g بین • دور( تش�کیل 32 ت�ا 10عملی�ات رمزگ�ذاری از تع�دادی دور )معم�وال

شده است.

ماهیت عملی�ات تم�ام دور ه�ا یکس�ان ب�وده و در ه�ر دور فق�ط کلی�د تغی�یر •

می کند.

کلید هر دور باید متفاوت با دور قبلی باشد.•

الگ�وریتم رمزگ�ذاری • از بای�د ی�ک طرف�ه و مس�تقل تولی�د کلی�د الگ�وریتم

باشد.

( تقس�یم R( و راس�ت )L)ورودی سیس�تم رمزگ�ذاری ب�ه دو قس�مت چپ •

ب�رروی XORش�ده و در ه�ر دور، عملی�اتی ش�امل ت�ابع فیس�تل و عملگ�ر

این دو قسمت اعمال می شود.

خروجی هر دور، به عنوان ورودی دور بعد در نظر گرفته می شود.•

Page 9: Data encryption standard

سیستم رمزگذاری فیستل

، ی�ک ت�ابع مناس�ب انتخ�اب 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

Page 10: Data encryption standard

سیستم رمزگشایی فیستل

برای رمزگش�ایی می ت�وان از هم�ان دس�تگاه -

پیش�ین ولی ب�ا کلی�د ه�ای معک�وس و متن رم�ز

شده استفاده نمود.

این - اف�زاری س�خت س�ازی پی�اده ام�ر، این

الگوریتم را بسیار ساده تر می نماید.

کلی�̀ۀ - و الگ�وریتم این ق�درت اس�ت بدیهی

الگ�وریتم ه�ای فیس�تلی، وابس�تگی مس�تقیمی

خواهد داشت.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

Page 11: Data encryption standard

DES Feistel function بس�یار بس�یار پیچی�ده و دقی�ق انتخ�اب ش�ده f، ت�ابع DESدر سیس�تم رم�ز -

است.

وج�ود - ب�ر مب�نی ای ع�ده تردی�د ک�ه ب�ود ای گون�ه ب�ه ت�ابع این انتخ�اب

Backdoor.یا شاه کلید در مورد این الگوریتم را برانگیخت

الگ�وریتم - ت�ابع فیس�تلی از دو مفه�وم DESدر ،S-Box و P-Box اس�تفاده

شده است.

را - بی�ان س�اده هم�ان عملی�ات جابج�ایی و ج�ایگزینی این دو مفه�وم در

انجام می دهند.

Page 12: Data encryption standard

S-Box و P-Box ب�ر مبن�ای نظری�̀ۀ پیچی�دگی ش�انون P-Box و S-Boxای�دۀ̀ اولی�̀ۀ -

استوار است.

هدف اص�لی از بین ب�ردن ارتب�اط مس�تقیم بین ه�ر بیت از -

متن اص�لی )ی�ا کلی�د( ب�ا بیت ه�ای خ�روجی )متن رم�ز ش�ده(

و تغییر شاخص های آماری می باشد.

از - اس�تفاده اص�لی ب�ردن S-Boxدلی�ل بین از منظ�ور ب�ه

، تغی�یر P-Boxارتب�اط م�ذکور ب�وده و دلی�ل اص�لی اس�تفاده از

شاخص های آماری است.

ب�ه نح�و شایس�ته ای عملی�ات ف�وق ص�ورت - در ص�ورتی ک�ه

دس�ت امن رمزگ�ذاری سیس�تم ی�ک ب�ه ت�وان می پ�ذیرد،

یافت.

g از چند برای برقراری S-Boxدر سیستم های رمزنگاری، غالبا

Confusion استفاده شده و سپس خروجی آنها، برای برقراری

Diffusion به P-Box.داده می شود

Page 13: Data encryption standard

S-Box و P-Box-S-Box ه�ا و P-Box ه�ا ب�ا توج�ه ب�ه نس�بت تع�داد بیت ه�ای ورودی و خ�روجی، ب�ه

سه دست̀ۀ مستقیم، فشرده ساز و گسترش دهنده تقسیم بندی می شوند.

ه�ا می توان�د ب�ر مبن�ای ی�ک ج�دول جس�تجو ص�ورت S-Box ه�ا و P-Boxعملی�ات -

)نظ�یر ث�ابت اس�ت ممکن ج�دول این ک�ه )نظ�یر DESپ�ذیرد متغ�یر ی�ا و )

BlowFish.باشد )

ه�ایی برگش�ت پ�ذیر هس�تند ک�ه نگاش�ت آنه�ا، ی�ک ب�ه ی�ک P-Box ه�ا و S-Boxتنه�ا -

باشد.

ممکن اس�ت خطtی ی�ا غ�یر خطtی S-Boxارتب�اط بین ورودی و خ�روجی در ی�ک -

باشد.

Page 14: Data encryption standard

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

Page 15: Data encryption standard

S-Box و P-Box ه�ا، ن�ه تنه�ا رابط�̀ۀ مس�تقیمی بین ورودی و خ�روجی P-Box ه�ا، ب�ر خالف S-Boxدر -

g y = 3x2وجود ندارد، بلکه ممکن است این رابطه خطtی نیز نباشد. )مثال + 4x -

1 .)

ه�ا وج�ود دارد ک�ه ب�ه ط�ور کلtی از S-Boxروش ه�ای مختلفی ب�رای پی�اده س�ازی -

ساختار جدول جستجو پیروی می کنند.

ه�ا این S-Boxیکی از روش ه�ای پ�ر اس�تفاده در س�اخت ج�دول جس�تجو ب�رای -

اس�ت ک�ه ورودی ب�ه دو قس�مت تقس�یم می ش�ود. ح�الت ه�ای ممکن ب�رای ی�ک

قس�مت ب�ه عن�وان ان�دیس س�طر و ح�الت ه�ای ممکن ب�رای قس�مت دیگ�ر، ب�ه

عنوان اندیس ستون در نظر گرفته خواهد شد.

بدین ت�رتیب مق�ادیر موج�ود در ج�دول، عب�ارت خ�روجی را ب�ه ازای ه�ر ت�رکیب -

ورودی مشخص می کنند.

Page 16: Data encryption standard

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:

برای راحتی کار، می توان اعداد درون جدول را در

.مبنای ده نوشت

Page 17: Data encryption standard

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تأمین

Page 18: Data encryption standard

S-Box های DES

به قدری عجیب DES های S-Boxطراحی

انجام شده که از نظر برخی امکان وجود

backdoor در این S-Box.ها وجود دارد

گفته می شود در طراحی اولیه که توسط

IBM ،صورت پذیرفت S-Box ها ساختار

درخواست NSAدیگری داشته اند، لیکن

ها به صورتی که هم اکنون S-Boxکرد تا

وجود دارد طراحی شود.

Page 19: Data encryption standard

DESمشخصات ب�ه این ص�ورت اس�ت ک�ه مق�ادیری را ب�ه عن�وان کلی�د اص�لی، و متن س�اده DESعملک�رد کلtی -

دریافت نموده و نتیج̀ۀ رمزگذاری شده را به عنوان خروجی تولید می کند.

-DES دور فیس�تلی انج�ام می ده�د ک�ه در ه�ر دور، ی�ک کلی�د 16، عملی�ات رمزگ�ذاری را در

منحصر به فرد استفاده می شود.

ب�ه ص�ورت - و کلی�د اص�لی از روی g تمام�ا اس�تفاده در دور ه�ای مختل�ف، کلی�د ه�ای م�ورد

یکطرفه قابل تولید است.

برای تولی�د کلی�دهای ف�رعی از روی کلی�د اص�لی، روش ه�ای مختلفی وج�ود دارد ک�ه در پی�اده -

استفاده شده است.XOR، از عملگر شیفت و DESسازی ابتدایی

بیت 64 بیت؛ ط�ول متن ورودی، 48 بیت و ط�ول کلی�د ه�ای ف�رعی 64طول کلی�د ورودی، -

بیت می باشد.64و طول خروجی نیز

بی�تی 64 بیت، این متن ه�ا می بایس�ت ب�ه ق�الب ه�ای 64برای رمزنگ�اری مت�ون بزرگ�تر از -

شکسته شود.

Page 20: Data encryption standard

DESمشخصات مش��اهده - ک��ه همانگون��ه

الگ�وریتم در ش�ود، می

DES عم��ل ی��ک ابت��دا ،

ورودی ب�رروی جابج�ایی

س�پس و گرفت�ه ص�ورت

Ri ه�ر کلی�د هم�راه ب�ه ه�ا

ت��ابع وارد ش��ده، fدور

ت�ابع این خ�روجی ب�رروی

هم�راه عم�ل Liب�ه ،XOR

ص�ورت گرفت�ه و خ�روجی

تحوی�ل Riنه�ایی ب�ه هم�راه

مرحل̀ۀ بعد می شود.

Page 21: Data encryption standard

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

Page 22: Data encryption standard

DESبررسی ساختار

Page 23: Data encryption standard

DESبررسی ساختار الگ�وریتم، - این اس�اس ب�ر مث�ال عن�وان ب�ه 24به بای�د ورودی از بیت |مین ا

ششمین بیت خروجی نگاشته شود.

_” را ب�ه عن�وان متن اص�لی در نظ�ر بگ�یریم، ب�رای MAGMAG“_پس اگ�ر رش�ت̀ۀ -

ب�اینری تب�دیل نم�وده و DESارائ�̀ۀ این رش�ته ب�ه الگ�وریتم ، بای�د آن�را ب�ه ص�ورت

را بر آن اعمال کنیم:IPسپس

رشته کد اسکیمعادل باینری

M 77 01001101

A 65 01000001

G 71 01000111

_ 95 01011111

بیت زیر خواهد بود:64بنابراین رشت̀ۀ ورودی به صورت باینری برابر با -

0101111101001101010000010100011101001101010000010100011101011111

Page 24: Data encryption standard

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

Page 25: Data encryption standard

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)

Page 26: Data encryption standard

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

Page 27: Data encryption standard

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 )

Page 28: Data encryption standard

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

Page 29: Data encryption standard

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یادآوری: قدرت

است!!

Page 30: Data encryption standard

بررسی تابع فیستلی DES بیت( 32 بیت( و نیمی از خ�روجی مرحل�̀ۀ قب�ل )48این ت�ابع دو مق�دار ورودی کلی�د )-

را دریافت می کند.

XORدر مرحل�̀ۀ نخس�ت این ت�ابع ب�رای اینک�ه ق�ادر باش�د این دو مق�دار را ب�ا یک�دیگر -

کن�د، ناچ�ار خواه�د ب�ود ی�ا ب�ا ی�ک نگاش�ت چن�د ب�ه ی�ک، ط�ول کلی�د را ک�اهش ده�د و ی�ا ب�ا

g گزین�̀ۀ دوم راهگش�ا ی�ک نگاش�ت ی�ک ب�ه چن�د، ط�ول ورودی را اف�زایش ده�د ک�ه طبیعت�ا

خواهد بود.

ش�دن آن ب�ا مق�دار کلی�د XOR بیت و 48 بیت ورودی ب�ه 32پس از گس�ترش ی�افتن -

آغاز می شود.fجزئی دریافت شده، عملیات اصلی تابع

بی�تی تقس�یم ش�ده 6 قس�مت 8 بیت حاص�ل از مرحل�̀ۀ قب�ل، ب�ه 48در این عملی�ات، -

S-Box می ش�ود. ب�دین ت�رتیب پس از اتم�ام ک�ار 4 ب�ه S-Box 6و ه�ر قس�مت وارد ی�ک

بیت خروجی خواهیم داشت.32ها،

پای�انی این - مس�تقیم عب�ور داده ش�ده و خ�روجی P-Box بیت از ی�ک 32در مرحل�̀ۀ

نهایی تولید می شود.

Page 31: Data encryption standard

بررسی تابع فیستلی DES

Page 32: Data encryption standard

بررسی تابع فیستلی 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)

Page 33: Data encryption standard

بررسی تابع فیستلی DES

Page 34: Data encryption standard

بررسی تابع فیستلی 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

Page 35: Data encryption standard

بررسی تابع فیستلی 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یادآوری: قدرت تابع

نهفته است!!

Page 36: Data encryption standard

بررسی تابع فیستلی 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

Page 37: Data encryption standard

بررسی تابع فیستلی 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

Page 38: Data encryption standard

بررسی تابع فیستلی 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

Page 39: Data encryption standard

بررسی تابع فیستلی 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

Page 40: Data encryption standard

بررسی تابع فیستلی 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)

Page 41: Data encryption standard

بررسی تابع فیستلی DES

Page 42: Data encryption standard

بررسی تابع فیستلی 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 )

شما اینجا

!!هستید

Page 43: Data encryption standard

بررسی تابع فیستلی 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

Page 44: Data encryption standard

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نهایی را بر روی

Page 45: Data encryption standard

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 خروجی

نهایی

Page 46: Data encryption standard

DESخروجی نهایی

Page 47: Data encryption standard

DESخروجی نهایی و DES_” ب�ا اس�تفاده از الگ�وریتم MAGMAG“_بدین ت�رتیب رم�ز ش�دۀ̀ عب�ارت -

” هگز، برابر با رشت̀ۀ بیتی زیر خواهد بود:4950515253545556کلید “

01000101 00100011 10100011 00010101 10010000 01001001 11101100 00111101

تب�دیل ه�ر واح�د - نتیج�̀ۀ نه�ایی مع�ادل 8با ب�ه مع�ادل هگزادس�یمال، ت�ایی از این خ�روجی

“4523a3159049ec3d.هگزادسیمال بدست خواهد آمد ”

رشته معادل هگز رشته کلید هگزمعادل اسکی

کلیدخروجی نهایی

)هگز(

_MAGMAG_ 5f4d41474d41475f 4950515253545556

IPQRSTUV 4523a3159049ec3d

Page 48: Data encryption standard

DESشکستن ب�ه اینک�ه - ب�ه عن�وان ی�ک اس�تاندارد ف�درال م�ورد اس�تفاده ق�رار می گ�رفت، DESبا توج�ه

دولت ایاالت متحده استفاده از این الگوریتم را برای سیستم های دولتی توصیه نمود.

قرار نگرفت.RSAاین قضیه چندان خوش آیند تولید کنندگان -

-RSA اولین چ�الش ،DES را ب�ه منظ�ور نش�ان

اینک�ه فض�ای کلی�د م�ورد اس�تفاده در دادن

DES ب�ا ج�ایزۀ̀ 1997 ناک�افی اس�ت در س�ال

ده ه�زار دالری ص�ورت پ�ذیرفت ک�ه ظ�رف

ب�ا DESCHALL روز توس�ط گ�روه 96م�دtت

جستجوی فضای حالت کلید شکسته شد.

Page 49: Data encryption standard

DESشکستن

شکس�تن DESCHALLتیم - ب�رای DES ب�رای مناس�ب الگ�وریتم ی�ک نوش�تن ب�ه اق�دام ،

جستجوی فضای حالت نمود.

راه ان�دازی ش�ده و ب�ا اس�تفاده از این 486یک سیس�تم س�رور ب�ر روی ی�ک ک�امپیوتر -

عملی�ات جس�تجو ب�ر روی س�ایر سیس�تم ه�ا ن�یز انج�ام می Usenixس�رور و از طری�ق

گرفت.

Page 50: Data encryption standard

DESشکستن

را ب�ا ج�ایزه ده ه�زار DES چ�الش س�وم RSAشش م�اه بع�د -

دالری برگزار نمود.

س�وم، - چ�الش س�خت EFFدر سیس�تم ی�ک ط�راحی ب�ا

ن�ام تحت ک�رک عملی�ات مخص�وص Deepcrackاف�زاری

دقیق�ه چ�الش را ب�ه 15س�اعت و 22موف�ق ش�د در م�دtت

اتمام برساند.

در - و آن از دوم RSA، 1998پس برگ�زاری چ�الش ب�ه اق�دام DES این و گ�رفت

روز ب�ا جس�تجوی فض�ای ح�الت کلی�د شکس�ته 41 در Distributed.netچ�الش توس�ط

شد.

الگ�وریتم - در س�اختار g عمال ق�درت DESاین شکس�ت بیش�تر و نک�رده وارد خللی

پردازش توزیع شده را نمایش داد.

Page 51: Data encryption standard

DESشکستن

در کم�تر از ی�ک روز، DESبا شکس�ته ش�دن -

g تص�ویب نم�ود ک�ه دولت ای�االت متح�ده نهایت�ا

DES.از ایمنی کافی برخوردار نیست

Page 52: Data encryption standard

DESشکستن DES ب�ورد، 5200 چیپ ب�ر روی 333000 ادع�ا ک�رده ب�ا اس�تفاده از cryptomeام�روزه -

در کمتر از نیم ساعت شکسته می شود.

ک�ه ب�ا س�اختار خط�وط لول�ه ک�ار FPGA ب�ا اس�تفاده از ی�ک س�ری PicoComputingشرکت -

440 هس�ت̀ۀ 40 را در ی�ک س�یکل انج�ام می ده�د ک�ه ب�ا داش�تن DESک�رده و ه�ر عم�ل

بیلی�ون کلی�د در ه�ر ثانی�ه می باش�د و ب�دین ت�رتیب ب�ا 18مگ�اهرتزی، ق�ادر ب�ه بررس�ی

از )FPGA 48اس�تفاده روز نص�ف در متوس�ط ب�ه شکس�ت ق�ادر س�اعت( می 12،

باشد.

ب�ه عن�وان الگ�وریتم AES و ی�ا 3DESبدین ت�رتیب، می ت�وان از الگ�وریتم ه�ای قدرتمن�د ت�ر -

های جایگزین استفاده نمود.

ب�ر روی ب�ورد ه�ای مختلفی ص�ورت گرفت�ه و DESپی�اده س�ازی س�خت اف�زاری الگ�وریتم -

، در لیس�ت دس�تورالعمل ه�ای پردازن�ده ه�ا، ARMب�رخی تولی�د کنن�دگان پردازن�ده نظ�یر

را نیز پیاده سازی نموده اند.DESدستورات مرتبط با

Page 53: Data encryption standard

جمع بندی

Secure MCU with 32-bit ARM SC300 CPU, SWP interface, NESCRYPT cryptoprocessor and high-density Flash memory

Page 54: Data encryption standard

جمع بندی

در پنج م�د عملی�اتی مختل�ف ک�ار می کن�د ک�ه DESالزم ب�ه ذک�ر اس�ت ک�ه الگ�وریتم -

می باشد.XORتفاوت این مد ها در نحوه دریافت ورودی و یک سری عملیات

Electronic Code یا ECB )که در مثال فوق مشاهده شد(، مد DESساده ترین نوع کارکرد -

Book.است

ک�ه هری�ک کاربرده�ای خ�اص خ�ود را CBC, CFB, OFB, CTR عبارتن�د از: DESسایر م�د ه�ای -

دارد.

مجم�وع - مبحث DESدر در ت�اکنون ک�ه اس�ت ه�ایی الگ�وریتم ت�رین قدرتمن�د از یکی

رمزنگاری تهیه شده است و هنوز نیز در بسیاری از ساختار ها مورد استفاده است.

، هن�وز کارآم�د ت�رین حمل�ه، حمالت بررس�ی DES س�ال تحقی�ق درب�ارۀ̀ 30پس از بیش از -

فضای حاالت کلید است!!

Page 55: Data encryption standard

فهرست منابع

- 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

- , …