bit
n
L
i
)
32
(
)
32
(
1
bit
n
R
bit
n
L
i
i
)
32
(
R
1
bit
n
i
)
32
(
)
,
(
)
32
(
)
32
(
R
1
1
bit
n
K
R
F
bit
n
L
bit
n
i
i
i
i
1
i
K
2
i
K
n
i
K
1
1
i
R
2
1
i
R
n
i
R
1
)
,
(
1
1
1
i
i
K
R
F
)
32
(
)
,
(
...
)
,
(
)
,
(
)
,
(
1
2
2
1
1
1
1
1
bit
n
K
R
F
K
R
F
K
R
F
K
R
F
n
i
n
i
i
i
i
i
i
i
)
,
(
2
2
1
i
i
K
R
F
)
,
(
1
n
i
n
i
K
R
F
…
…
)
,
(
1
i
i
K
R
F
7-rasm
Takomillashgan feystal tarmog’I i-raundi
Bu erda:
1.
SHifrlanishi kerak bo‘lgan ochiq ma’lumot bloklari uzunligi 64
m
bit
ga teng.
2.
Kalit uzunligi
n
K
|
|
bit
ga teng.
3.
i
K
K
K
K
n
i
i
i
i
...
2
1
-raund qism kalitlari birlashmasi.
4.
Feystel tarmog‘i
R
o‘ng va
L
chap qismlari uzunliklari:
n
R
L
32
|
|
|
|
bit
ga
teng.
5.
i
bit
n
L
i
)
32
(
1
-raund chap qismi.
6.
i
bit
n
R
i
)
32
(
1
-raund o‘ng qismi.
7.
)
32
(
1
1
bit
L
i
,
)
32
(
2
1
bit
L
i
,...,
i
bit
L
n
i
)
32
(
1
-raund chap qismning 32
bit
lik bo‘laklari.
8.
)
32
(
1
1
bit
R
i
,
)
32
(
2
1
bit
R
i
,...,
i
bit
R
n
i
)
32
(
1
-raund o‘ng qismning 32
bit
lik bo‘laklari.
9.
)
,
(
1
1
1
i
i
K
R
F
,
)
,
(
2
2
1
i
i
K
R
F
,...,
i
K
R
F
n
i
n
i
)
,
(
1
-raund Feystel funksiyasining mos
akslantirishlari.
Takomillashgan Feystel tarmog‘i
i
raundi matematik modeli quyidagicha
ifodalanadi (7-rasm):
bit
n
K
R
F
bit
n
L
bit
n
R
bit
n
R
bit
n
L
i
i
i
i
i
i
)
32
)(
,
(
)
32
(
)
32
(
)
32
(
)
32
(
1
1
1
602
Yuqorida takomillashgan va asosiy Feystel tarmog‘i sxemasidan ko‘rinib
turibdiki, takomillashgan Feystel tarmog‘ida takomillashtirish parametri
n
ga bog‘liq
bo‘lgan holda bir nechta
)
,
(
1
1
1
i
i
K
R
F
,
)
,
(
2
2
1
i
i
K
R
F
,...,
)
,
(
1
n
i
n
i
K
R
F
Feystel funksiyalari
uchraydi. Bu esa
n
ga bog‘liq holda bir necha Feystel tarmog‘iga asoslangan
algoritmlar funksiyalaridan yoki bir necha
S
-bloklardan foydalanish imkonini beradi.
SHuningdek,
n
ga bog‘liq ravishda kalit uzunliklari ham ortib boradi, ya’ni
1
n
da
kalit uzunligi 256 bit bo‘lsa,
2
n
da kalit uzunligi 512 va hakazo bo‘ladi. Kalit
uzunligi va takomillashtirish parametri
n
orasida quyidagicha bog‘liqlik o‘rnatish
mumkin:
n
l
l
1
bu erda
l
asosiy algoritm kaliti uzunligi,
1
l
takomillashgan algoritm kaliti
uzunligi[4,7,8].
Feystel tarmog‘iga asoslangan takomillashgan va asosiy algoritmlarning
shifrlash va deshifrlash tezligi teng, chunki
1
n
da algoritm blok uzunligi 64 ga teng
bo‘lib, algoritm tezligi 20 taktdan iborat bo‘lsa,
2
n
da takomillashgan algoritm blok
uzunligi 128 bit bo‘lib, tezligi 40 taktdan iborat bo‘ladi.
Demak, takomillashgan Feystel tarmog‘i quyidagi afzalliklarga ega:
1) Takomillashtirish parametri
n
ga bog‘liq holda shifrlash algoritmi xossalari
va bardoshliligini saqlab qolgan holda algoritm kaliti uzunligini oshirib borish
imkoniyati mavjud. Bu esa, o‘z navbatida, hisoblash texnikasi qurilmalarining
takomillashuvi natijasida algoritm kaliti uzunligi to‘liq tanlash usuliga bardoshsiz
bo‘lib qolishining oldini oladi.
2) Algortim tezligi takomillashtirish parametri
n
ga bog‘liq emas, ya’ni Feystel
tarmog‘iga asoslangan takomillashgan va asosiy algoritm tezliklari teng. Bu xossa o‘z
navbatida algoritm tezligini saqlab qolgan holda takomillashtirish imkoniyatini beradi.
Quyida Feystel tarmog‘iga asoslangan simmetrik blokli shifrlash algoritmlariga
misollar ko‘rib o‘tiladi.
603
DES standart shifrlash algoritmi Amerika Qo‘shma SHtatlari (AQSH) “Milliy
Standartlar Byurosi” tomonidan 1977 yilda e’lon qilingan. 1980 yilda AQSHning
“Standartlar va Texnologiyalar Milliy Instituti” bu algoritmni davlat va savdo-sotiq
moliyasi sohasidagi mahfiy bo‘lmagan, ammo muhim bo‘lgan ma’lumotlarni ruhsat
etilmagan jismoniy va yuridik shahslardan muhofaza qilinishida shifrlash algoritmi
sifatida qo‘llash standarti deb qabul qildi.
DES algoritmida: dastlabki 56 bitli kalitdan raund kalitlarini hosil qilishning
murakkab emasligi, raund asosiy akslantirishlarining apparat-texnik va dasturiy
ta’minot ko‘rinishlarida qo‘llanilishini ta’minlashning qulayligi, hamda, ular
kriptografik hossalarining samaradorligi – kriptobardoshliligining yuqoriligi, bu
algoritmning asosiy xususiyatlarini belgilaydi.
SHifrlash jarayoni 64 bitli ochiq ma’lumot bloklarini algoritmda berilgan
IP –
jadval bo‘yicha o‘rin almashtirish, uning natijasini dastlabki 56 bitli kalitdan
algoritmda keltirilgan jadvallar bilan bitlarning o‘rinlarini almashtirish,ssiklik surish
va ba’zi bitlarni yo‘qotish akslantirishlaridan foydalanib hosil qilinadigan 48 bitli
raund kalitlari hamda asosiy akslantirishlari bilan 16 marta shifrlash, shifrlash natijasi
bloki bitlarini berilgan
IP
-1
–jadval bo‘yicha o‘rinlarini almashtirishdan iborat.
Algoritm akslantirishlarini yoritish uchun quyidagi belgilashlar kiritiladi:
i
L
va
i
R
─har biri 32 bitli bloklar bo‘lib, Feystel tarmog‘ini chap va o‘ng
qisimlarini ifodalaydi,
16
,...,
1
,
0
i
;
─ bitlar bloklari vektorlari kordinatalarini
2
mod
bo‘yicha qo‘shish;
i
K
─ 48 bitli raund kalitlari;
F
─ Feystel tarmog‘i asosiy akslantirishlari funksiyasi;
IP
─ o‘rin almashtirish jadvali.
Navbatdagi T –blokni shifrlash jarayoni bu blok bitlarini quyidagi boshlang‘ich
IP
─ o‘rin almashtirish jadvali:
604
1-jadval
IP
─ o‘rin almashtirish
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
Asosida akslantirish bilan boshlanadi
T
–blokning 58-biti 1-bit o‘rniga, 50-biti
2-bit o‘rniga va hokazo qolgan bitlar ham jadvalda ko‘rsatilgan o‘rinlarga o‘tkaziladi.
So‘ngra, olingan natija ikkita 32 bitlik
0
L
va
0
R
-qismlarga ajratilib, 16 raundlik
Feystel tarmog‘i asosiy akslantirishlari funksiyasi bilan har xil 48 bitlik kalitlarda
shifrlanadi. YA’ni raund natijasi,
1
1
1
i
i
i
R
L
T
)
1
(
i
deb belgilansa, u holda, yuqorida
ta’kidlanganidek,
i
-raund natijasi quyidagi tengliklar:
;
16
,...,
2
,
1
),
,
(
,
1
1
1
i
K
R
F
L
R
R
L
i
i
i
i
i
i
bilan topiladi.
Bu erda,
)
,
(
1
i
i
K
R
F
- 32 bitli
1
i
R
va 56 bitli dastlabki kalitni akslantirish
natijasida olingan 48 bitli
i
K
vektorlarning Feytelь tarmog‘i asosiy akslantirishlarining
funksiyasini ifodalaydi. Oxirgi iteratsiya-raund natijasi
16
16
16
L
R
T
- blok bo‘lib, bu
blok bitlari ustida
IP
–jadval bo‘yicha
IP
-1
–teskari o‘rin almashtirish akslantirishi
bajariladi:
16
T
-blokning 1-biti 58-bit o‘rniga, 2-biti 50-bit o‘rniga va xokazo qolgan
bitlar ham jadvalda ko‘rsatilgan o‘rinlarga o‘tkaziladi[1,2,6].
605
Deshifrlashda shifrlash jarayonida bajarilgan akslantirishlar teskari tartibda
bajariladi, bunda ushbu:
;
1
,...,
15
,
16
),
,
(
,
1
1
i
K
L
F
R
L
L
R
i
i
i
i
i
i
munosabatlardan foydalanilib, har biri 32 bitli bo‘lgan
16
L
va
16
R
shifrma’lumot
bloklarini ketma-ket akslantirish,
0
L
va
0
R
bloklar olish, 64 bitli
0
L
0
R
blok ustida
IP
-1
- akslantirishni bajarish orqali,
T
-ochiq ma’lumot bloki olinadi.
DES algoritmi Feystel tarmog‘i asosiy akslantirishlarining
)
,
(
1
i
i
K
R
F
-
funksiyasini hisoblash sxemasi qo‘yidagicha:
8-rasm Hisoblash sxemasi
606
)
(
1
i
R
E
-kengaytirish funksiyasi
1
i
R
- 32 bitli blokning 1, 4, 5, 8, 9, 12, 13, 16, 17,
20, 21, 24, 25, 28, 29 va 32 –bitlarini ikki martadan takrorlash, hamda, quyidagi
jadval:
2- jadval
E –tablisa
Bo‘yicha joylashtirish natijasida hosil bo‘lgan 48 bitli
)
(
1
i
R
E
-blokning har bir
bitini
i
K
- 48 bitli raund kalitining mos bitlariga
-XOR (mod2 bo‘yicha) amali bilan
qo‘shilib, natija sakkizta olti bitlik
1
B
,…,
8
B
, bloklar ko‘rinishida ifodalanadi:
)
(
1
i
R
E
i
k
=
1
B
2
B
...
8
B
.
So‘ngra har bir
j
B
-olti bitlik blok
S
blokning mos jadvalli
j
S
-bloki orqali
akslantirilib, to‘rt bitli blok bilan almashtiriladi.
j
S
-bloklar o‘lchami 4
16 bo‘lgan
sakkizta o‘zgarmas jadvaldan iborat:
607
3- jadval
S
1
- S
2
4- jadval
S
3
- S
4
5- jadval
S
5
- S
6
608
6- jadval
S
7
- S
8
Har bir
j
B
=
)
(
)
(
)...
(
)
(
8
7
2
1
j
b
j
b
j
b
j
b
,
j
=1,…,8; bloklar mos
j
S
-blokning
)
(
)
(
8
1
j
b
j
b
-bitlar bilan aniqlanuvchi satri va
)
(
)...
(
7
2
j
b
j
b
-bitlar bilan aniqlanuvchi ustunlarining
kesishuvida joylashgan sonning ikkilik sanoq sistemasida ifodalanuvchi
)
(
)
(
)
(
)
(
4
3
2
1
j
z
j
z
j
z
j
z
-to‘rt bitlik ifodasi bilan almashtiriladi. Hosil bo‘lgan 32 –bitlik
)
1
(
)
1
(
)
1
(
)
1
(
4
3
2
1
z
z
z
z
...
)
8
(
)
8
(
)
8
(
)
8
(
4
3
2
1
z
z
z
z
-blok bitlari o‘rinlari algoritmda berilgan
P
–
jadval asosida almashtiriladi, uning ko‘rinishi quyidagicha:
7- jadval
R
–
jadval
609
Dastlabki 56 bitli blok 7 bitli qismbloklarga ajratilib, 8, 16, …, 64
pozitsiyalarga, har bir baytdagi birlar soni toq bo‘ladigan qilib bitlar qo‘shiladi. Bu
bitlar shifrlash jarayonida ishlatilmaydi, ular kalitlarni uzatish va saqlashda
xatoliklarga yo‘l qo‘ymaslikni nazorat qilish uchun ishlatiladi. SHunday qilib hosil
qilingan 64 –bitli kalit blokining 56 ta bitlari o‘rinlari algoritmda ko‘rsatilgan jadval
bo‘yicha almashtiriladi. Bunday almashtirish ifodasi quyidagi jadvalda keltirilgan.
8- jadval
64 –bitli kalitni 56 ta bitlariga almashtirish
Bu jadvalning yuqoridagi to‘rtta satri S
0
va keyingi to‘rtta satri D
0
, deb
belgilanadi. So‘ngra, 56 bitli S
0
D
0
-blokdan ushbu: 9, 18, 22, 25, 35, 38, 43, 54
o‘rinlarda turgan bitlar o‘chirilib, 48 bitli blok hosil qilinib, shu blok bitlari o‘rinlarini
yana algoritmda berilgan quyidagi:
610
9-jadval
56 bitlidan 48 bitli blok hosil
jadval asosida almashtirilib 1-raundning
k
1
–kaliti olinadi.
S
i
va D
i
jadvallar ulardan oldingi S
i-1
va D
i-1
(
i=
1,2,…,16), jadvallardan
algoritmda ko‘rsatilgan:
10-jadval
S
i
va D
i
ni siljitish
10-jadval bo‘yicha 1 yoki 2 bitgassiklik surish, hamda, hosil bo‘lgan 56 bitli
blokdan ushbu: 9, 18, 22, 25, 35, 38, 43, 54 o‘rinlarda turgan bitlar o‘chirilib, 48 bitli
blok hosil qilinib, shu blok bitlari o‘rinlari yana algoritmda berilgan
DES shifrlash algoritmi AQSHda 1998 yilning 31 dekabrgacha standart shifrlash
algoritmi deb hisoblangan. Bu algoritmda qo‘llanilgan akslantirishlar kriptografik
nuqtai nazardan bardoshli, ammo dastlabki 56 - bitli kalitning uzunligi, bugungi kun
hisoblash texnika va texnologiyalarining yutuqlaridan foydalanilganda, mumkin
bo‘lgan barcha 2
56
ta kalitlarni to‘la tanlab chiqish imkoniyatini sezilarli qisqartiradi.
Quyida DES shifrlash algoritmining blok sxemasi keltirilgan[1,2,3,5].
Do'stlaringiz bilan baham: |