A5/1 SHIFRI

GSM Aloqalar Xavfsizligi • Stream Cipher

A5/1 Shifri nima?

A5/1 - bu GSM mobil aloqa tarmoqlarida ovozli aloqalarni shifrlash uchun ishlatiladigan stream cipher (oqim shifri) algoritmi. U 1987-yilda ishlab chiqilgan va Yevropada keng qo'llanilgan.

Asosiy tamoyil

A5/1 algoritmi 3 ta Linear Feedback Shift Register (LFSR) dan foydalanadi:

LFSR 1 (19 bit)
Clock bit: 8 | Taps: 13, 16, 17, 18
LFSR 2 (22 bit)
Clock bit: 10 | Taps: 20, 21
LFSR 3 (23 bit)
Clock bit: 10 | Taps: 7, 20, 21, 22

Har bir LFSR o'zining soat bitiga ega va majority clocking mexanizmi orqali boshqariladi.

Algoritm Qadamlari

1. Soatlash

Har bir LFSR uchun soat bitlari o'qiladi va majority (ko'pchilik) qiymati hisoblanadi.

2. Siljish

Soat biti majority qiymatiga teng bo'lgan LFSR lar siljiydi.

3. Chiqish

Barcha LFSR larning oxirgi bitlari XOR operatsiyasi orqali birlashtiriladi.

Majority Clocking Mexanizmi

Soat bitlari: LFSR1[8], LFSR2[10], LFSR3[10]

Majority hisoblash: Uchta soat bitidan ikkitasi 1 bo'lsa, majority=1, aks holda majority=0

Siljish qoidasi: Soat biti majority ga teng bo'lgan LFSR lar siljiydi

Xavfsizlik

Kuchli tomonlari

Dastlabki davrlarda yuqori xavfsizlik darajasi (2⁶⁴ murakkablik)

Ishlash tezligi yuqori - real vaqt rejimida GSM aloqalari uchun mos

Hardware da samarali amalga oshirilishi mumkin

Zaif tomonlari

1999-yilda hujum usullari topilgan

Zamonaviy kompyuterlar bilan 2²⁴ murakkablikda buzish mumkin

GSM tarmoqlarida A5/3 algoritmi bilan almashtirilmoqda

A5/1 Algoritmi - Soatlash va Siljish

Kalit: 0000000000000000000

Sozlamalar

Boshlang'ich Holat

3 ta LFSR boshlang'ich holatga o'rnatiladi:

LFSR 1 (19 bit)
LFSR 2 (22 bit)
LFSR 3 (23 bit)
Har bir LFSR kalit va frame raqamidan boshlang'ich holatni oladi.
Soat Bitlarini O'qish

Har bir LFSR dan soat bitlari o'qiladi:

1
1
1

Soat bitlari:

  • LFSR1[8] = 1
  • LFSR2[10] = 1
  • LFSR3[10] = 1
Soat bitlari majority (ko'pchilik) qiymatini hisoblash uchun ishlatiladi.
Majority Hisoblash

Soat bitlaridan majority (ko'pchilik) qiymati hisoblanadi:

1

Hisoblash: (1 + 1 + 1) / 3 = 1 (majority = 1)

Agar ikkita yoki undan ko'p soat biti 1 bo'lsa, majority=1, aks holda majority=0.
LFSR larni Siljish

Soat biti majority ga teng bo'lgan LFSR lar siljiydi:

LFSR 1 - SILJIDI
LFSR 2 - SILJIDI
LFSR 3 - SILJIDI
Har bir siljigan LFSR uchun yangi bit feedback tap lar orqali hisoblanadi.
Keystream Yaratish

Keystream biti yaratildi:

LFSR1[18] XOR LFSR2[21] XOR LFSR3[22] = 1

LFSR 1 oxirgi bit
1
LFSR 2 oxirgi bit
1
LFSR 3 oxirgi bit
1
Keystream: 1

Bu bit matnni shifrlash uchun ishlatiladi.

O'zingiz sinab ko'ring

Natija bu yerda ko'rsatiladi...

LFSR Holatlari

LFSR 1 (19 bit)
LFSR 2 (22 bit)
LFSR 3 (23 bit)

Keystream

Hisoblash Jarayoni

Hisoblash tafsilotlari shu yerda ko'rsatiladi...

Tezkor sinovlar