DES SHIFRI

Data Encryption Standard • Block Cipher

DES Shifri nima?

DES (Data Encryption Standard) - bu 1970-yillarda IBM tomonidan ishlab chiqilgan va 1977-yilda AQSh hukumati tomonidan standart sifatida qabul qilingan blok shifrlash algoritmi. U 64-bit bloklarni 56-bit kalit yordamida shifrlaydi.

Asosiy tamoyil

DES Feistel tarmog'i (Feistel Network) asosida ishlaydi va 16 ta round (bosqich) dan iborat:

DES Algoritmi Diagrammasi
1
Dastlabki Permutatsiya (IP)
64-bit kirish bloki boshlang'ich permutatsiyadan o'tkaziladi
2
16 Round
Har bir round da Feistel funktsiyasi qo'llaniladi
3
Yakuniy Permutatsiya (IP⁻¹)
Round lardan keyin yakuniy permutatsiya amalga oshiriladi

Har bir round da 48-bit round kaliti ishlatiladi va Feistel funktsiyasi orqali ma'lumotlar o'zgartiriladi.

Feistel Tarmog'i

Blokni Bo'lish
64-bit blok 32-bit L va R qismlarga bo'linadi
F Funktsiyasi
R qism F funktsiyasiga kiradi va round kaliti bilan birlashtiriladi
XOR Amali
F funktsiyasi natijasi L qism bilan XOR lanadi
Almashtirish
L va R qismlar almashtiriladi (oxirgi round dan tashqari)

F Funktsiyasi Bosqichlari

Kengaytirish (E): 32-bit R qism 48-bit ga kengaytiriladi

XOR: Kengaytirilgan R qism round kaliti bilan XOR lanadi

S-qutilar (S-boxes): 48-bit 8 ta 6-bit guruhga bo'linadi va 8 ta S-quti orqali 32-bit ga aylantiriladi

Permutatsiya (P): S-qutilar chiqishi P permutatsiyasidan o'tkaziladi

Tarixi

1970s

IBM tomonidan Lucifer shifri asosida ishlab chiqilgan. 1977-yilda AQSh standarti sifatida qabul qilingan.

1990s

1998-yilda Electronic Frontier Foundation 56 soat ichida DES ni buzishga muvaffaq bo'ldi.

2000s

2002-yilda AES (Advanced Encryption Standard) DES ning o'rnini egalladi.

Xavfsizlik

Kuchli tomonlari

Feistel tarmog'i tufayli shifrlash va deshifrlash deyarli bir xil

16 round tizimi hujumlarga nisbatan mustahkamlik ta'minlaydi

Hardware va software da samarali amalga oshirilishi mumkin

Zaif tomonlari

56-bit kalit hozirgi zamon uchun juda qisqa (2⁵⁶ murakkablik)

Differensial va chiziqli kriptotahlilga nisbatan zaif

Hozirda Triple DES (3DES) yoki AES bilan almashtirilgan

DES Algoritmi - 16 Round Jarayoni

64-bit kirish bloki: 0123456789ABCDEF

Sozlamalar

Dastlabki Permutatsiya (IP)

64-bit kirish bloki boshlang'ich permutatsiyadan o'tkaziladi:

IP jadvaliga asosan bitlar qayta tartiblanadi. Bu teskari permutatsiya (IP⁻¹) bilan bekor qilinadi.
Blokni Bo'lish

Permutatsiyadan so'ng blok ikkiga bo'linadi:

L₀ (Left 32-bit)
R₀ (Right 32-bit)
L₀ va R₀ 32-bit qismlar keyingi 16 round uchun asos bo'ladi.
Round 1

Birinchi round boshlandi:

1

Feistel funktsiyasi:

  • R₀ kengaytiriladi (32-bit → 48-bit)
  • Round kaliti bilan XOR lanadi
  • S-qutilar orqali 32-bit ga qaytariladi
  • P permutatsiyasidan o'tkaziladi
  • L₀ bilan XOR lanadi
Har bir round da: Lᵢ = Rᵢ₋₁ va Rᵢ = Lᵢ₋₁ XOR F(Rᵢ₋₁, Kᵢ)
Round 2-15

Keyingi round lar davom etadi:

Har bir round da yangi round kaliti ishlatiladi va Feistel funktsiyasi qayta qo'llaniladi.

Round lar davomida L va R qismlar har round dan keyin almashtiriladi (oxirgi round dan tashqari).
Yakuniy Round va Natija

16 round tugadi:

16

Oxirgi round dan so'ng L₁₆ va R₁₆ qismlar almashtirilmaydi.

L₁₆
1
0
1
0
R₁₆
0
1
0
1
Yakuniy natija: 85E813540F0AB405

L₁₆ va R₁₆ birlashtirilib, yakuniy permutatsiyadan (IP⁻¹) o'tkaziladi.

O'zingiz sinab ko'ring

Natija bu yerda ko'rsatiladi...

Round Jarayoni

Round
0
L qism
00000000
R qism
00000000

Hisoblash Jarayoni

Hisoblash tafsilotlari shu yerda ko'rsatiladi...

Tezkor sinovlar