2.2.2. A5/1 oqimli shifrlash algoritmi
Ushbu oqimli shifrlash algoritmi GSM mobil aloqa tizimlarida ma’lumotni
konfidensialligini ta’minlash uchun foydalaniladi. Mazkur algoritm algebraik
tuzilishga ega bo’lsada, uni sodda diagramma bilan ham tasvirlash imkoniyati
mavjud.
A5/1 shifrlash algoritmi uchta
chiziqli siljitish registr
laridan iborat bo’lib, ular
mos holda
𝑋𝑋
,
𝑌𝑌
va
𝑍𝑍
kabi belgilanadi.
𝑋𝑋
registr o’zida 19 bit (
𝑥𝑥
0
,
𝑥𝑥
1
, … ,
𝑥𝑥
18
),
𝑌𝑌
registr esa 22 bit (
𝑦𝑦
0
,
𝑦𝑦
1
, … ,
𝑦𝑦
21
) va
𝑍𝑍
registr esa 23 bit (
𝑧𝑧
0
,
𝑧𝑧
1
, … ,
𝑧𝑧
22
)
ma’lumotni
saqlaydi. Uchta registrlarning mazkur o’lchamdagi bitlarni saqlashi bejiz emas.
Sababi, chiziqli siljitish registrlari o’zida jami bo’lib 64 bitni saqlaydi. Shu sababli,
A5/1 shifrlash algoritmida foydalaniluvchi kalit
𝐾𝐾
ning uzunligi 64 bitga teng
bo’ladi va ushbu kalit uchta registrni dastlabki to’ldirish uchun foydalaniladi.
Shundan so’ng, oqimli shifrlash algoritmi talab etilgan uzunlikdagi (ochiq matn
uzunligiga teng bo’lgan) ketma-ketliklarni generasiyalaydi. Ketma-ketliklarni
generasiyalash tartibini o’rganishdan oldin, uchta registrlar haqida ba’zi
ma’lumotlarni bilish talab etiladi.
𝑋𝑋
registr siljigan vaqtida, quyidagi amallar ketma-ketligi bajariladi:
𝑆𝑆
=
𝑥𝑥
13
⨁𝑥𝑥
16
⨁𝑥𝑥
17
⨁𝑥𝑥
18
𝑆𝑆
= 18,17,16, … ,1 uchun
𝑥𝑥
𝑖𝑖
=
𝑥𝑥
𝑖𝑖−1
𝑥𝑥
0
=
𝑆𝑆
Shunga o’xshash,
𝑌𝑌
va
𝑍𝑍
registrlar uchun ham quyidagilar bajariladi:
𝑆𝑆
=
𝑦𝑦
20
⨁𝑦𝑦
21
𝑆𝑆
= 21,20,19, … ,1 uchun
𝑦𝑦
𝑖𝑖
=
𝑦𝑦
𝑖𝑖−1
𝑦𝑦
0
=
𝑆𝑆
va
35
𝑆𝑆
=
𝑧𝑧
7
⨁𝑧𝑧
20
⨁𝑧𝑧
21
⨁𝑧𝑧
22
𝑆𝑆
= 22,21,20, … ,1 uchun
𝑧𝑧
𝑖𝑖
=
𝑧𝑧
𝑖𝑖−1
𝑧𝑧
0
=
𝑆𝑆
Berilgan uchta bit
𝑥𝑥
,
𝑦𝑦
va
𝑧𝑧
uchun
𝑆𝑆𝑎𝑎𝑚𝑚
(
𝑥𝑥
,
𝑦𝑦
,
𝑧𝑧
)
funksiyasi eng ko’p bitni
qaytaradi. Agar
𝑥𝑥
,
𝑦𝑦
va
𝑧𝑧
bitlar 0 ga teng bo’lsa, u holda funksiya 0 ni qaytaradi, aks
holda birni qaytaradi. Funksiyaga kiruvchi bitlar toq bo’lgani uchun, funksiya har
doim 0 ni yoki 1 ni qaytaradi. Boshqa holatlar bo’lmaydi.
A5/1 shifrida, ketma-ketlikning har bir bitini generasiyalash uchun
quyidagilar bajariladi. Dastlab,
𝑆𝑆
=
𝑆𝑆𝑎𝑎𝑚𝑚
(
𝑥𝑥
8
,
𝑦𝑦
10
,
𝑧𝑧
10
)
funksiya qiymati hisoblanadi.
Shundan so’ng
𝑋𝑋
,
𝑌𝑌
va
𝑍𝑍
registrlar quyidagicha sijitiladi (yoki siljitilmaydi):
−
agar
𝑥𝑥
8
=
𝑆𝑆
ga teng bo’lsa,
𝑋𝑋
siljitiladi;
−
agar
𝑦𝑦
10
=
𝑆𝑆
ga teng bo’lsa,
𝑌𝑌
siljitiladi;
−
agar
𝑧𝑧
10
=
𝑆𝑆
ga teng bo’lsa,
𝑍𝑍
siljitiladi.
Shundan so’ng, ketma-ketlikning bir biti
𝑠𝑠
quyidagicha generasiyalanadi va
ochiq matn biti bilan XOR amali bajariladi (agar shifrlansa) yoki shifrmatn biti bilan
XOR amali bajariladi (agar deshifrlansa).
𝑠𝑠
=
𝑥𝑥
18
⨁𝑦𝑦
21
⨁𝑧𝑧
22
Yuqorida keltirilgan ketma-ketlikdagi amallar talab etilgunga qadar
takrorlanadi (ochiq matn yoki shifrmatn uzunligiga teng).
Agar biror registr siljitilsa, uning to’liq holati siljish natijasida o’zgaradi.
Ketma-ketlikning bir bitini hosil qilishda uchta registrdan kamida ikkitasi siljiydi va
shuning uchun yuqoridagi ketma-ketlikni davom ettirgan holda yangi bitlar ketma-
ketligini hosil qilish mumkin bo’ladi.
A5/1 oqimli shifrlash algoritmi murakkab ko’rinsada, qurilmada amalga
oshirilganida yuqori tezlik qayd etadi. Umumiy holda A5/1 oqimli shifrni 12 -
rasmdagi kabi ifodalash mumkin.
36
1
2
3
4
5
6
7
Do'stlaringiz bilan baham: |