Шифрматннинг иккилик кўриниши
С =00011100000101001000010100111001010010101011010101111111111
Очиқ матн узунлиги
Калит узунлигига
- GSM тармоғида овозли сўзлашувларни шифрлаш учун фойдаланилади.
- A5/1 оқимли шифрлаш алгоритмида 64 битли 𝐾 калитдан фойдаланилади.
- А5/1 шифрлаш алгоритми учта чизиқли силжитиш регисторларидан иборат бўлиб, киритилган калит 𝐾 уларга бўлиб ёзилади:
– 𝑋𝑋 регистор ўзида 19 бит (𝑥𝑥0, 𝑥𝑥1, … , 𝑥𝑥18)
– 𝑌𝑌 регистор эса 22 бит (𝑦𝑦0, 𝑦𝑦1, … , 𝑦𝑦21)
– 𝑍𝑍 регистор эса 23 бит (𝑧𝑧0, 𝑧𝑧1, … , 𝑧𝑧22)
A5/1 оқимли шифрлаш алгоритми
Тасодифий кетма-кетликларни генерациялаш
- Агар 𝑧10 = 𝑚 га тенг бўлса, 𝑍𝑍 силжитилади:
𝑡 = 𝑧7⨁𝑧20⨁𝑧21⨁𝑧22
𝑆𝑆 = 22,21,20, … , 1 учун 𝑧𝑖𝑖 = 𝑧𝑖𝑖−1
𝑧0 = 𝑡
- Шундан сўнг тасодифий кетма-кетликнинг
бир бити
қуйидагича ҳисобланади:
𝑠 = 𝑥18⨁𝑦21⨁𝑧22
Юқоридаги кетма-кетлик очиқ матнни узунлигига тенг битларни генерация қилгунча такрорланади.
A5/1 оқимли шифрлаш алгоритми
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
0
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
| |
21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
| |
21
|
22
| | | | | | | | | | | | | | | | | | | | | | | | |
X
Y
Z
1
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
1
|
0
| |
0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
0
|
1
|
1
|
0
| |
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0
| |
1
|
0
| | | | | | | | | | | | | | | | | | | | | | | | |
Y
Z
Мисол 1 - Шунга ўхшаш, 𝑌𝑌 регистор учун:
𝑡 = 𝑦20⨁𝑦21 = 0⨁0 = 0
𝑆𝑆 = 21,20,19, … , 1 учун 𝑦𝑖𝑖 = 𝑦𝑖𝑖−1
𝑦0 = 0
- 𝑋𝑋 ва 𝑌𝑌 регисторлари силжигандан кейинги ҳолат эса:
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
1
| |
0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
0
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
0
|
X
Y
Z
- Бир бит 𝑠 = 𝑥18⨁𝑦21⨁𝑧22 = 1 ⨁ 0 ⨁0 = 1 га тенг бўлади.
A5/1 оқимли шифрлаш алгоритми
Хулоса:
- Ҳар циклда бир бит тасодифий кетма-кетлик генерация қилинади.
- Ҳар циклда учта регистордан камида 2 таси силжийди.
- Аппарат тарзда амалга ошириш учун қулай.
Блокли симметрик шифрлаш алгоритмлари - Очиқ матн фикцирланган (блок узунлигига тенг) узунликдаги блокларга ажратилади.
- Ҳар бир блок маълум марта (раундлар сони деб аталади) такрорий шифрланади ва шифрматн блокини ҳосил қилади.
- Ҳар бир раунда фойдаланилган шифрлаш функцияси –
раунд функцияси даб аталади.
- Блокли шифрларни қуриш учун:
- Фейстел тармоғи.
- SP (Substitution – Permutation network) тармоқ.
- Лаи-Мессей тармоғи.
TEA
Kалит (128 бит)
{64-бит очиқ матн} {64-бит очиқ матн} {64-бит очиқ матн} {64-бит очиқ матн}
Очиқ матн блоки (64 бит)
Шифр матн блоки (64 бит)
{64-бит шифр матн} {64-бит шифр матн} {64-бит шифр матн} {64-бит шифр матн}
TEA (Tiny Encryption Algorithm) блокли шифрлаш алгоритми - Блок узунлиги 64 битга ва калит узунлиги 128 битга тенг.
- Раундлар сони камида 32 га тенг бўлиши керак.
|
сўзлар
|
билан
|
амаллар
|
бажаришга
|
мўлжалланган ва
фойдаланилади.
|
шунинг
|
учун
|
𝑚𝑚𝑚𝑚𝑚232
|
амалидан
| - TEA алгоритмининг ҳар бир раунди Фейстел тармоғининг икки раундига ўхшаш.
- Амалда бардошли ҳисобланмасада, ўрганиш жараёни учун етарли.
TEA - шифрлаш
𝐾 0 , 𝐾 1 , 𝐾 2 , 𝐾 3 = 128 битли калит
𝐿, 𝑅 = очиқ матн блоки (64 бит)
𝑑𝑒𝑙𝑡𝑎 = 0𝑥𝑥𝑒𝑥𝑥𝑥𝑥𝑏𝑥
𝑠𝑢𝑚 = 0
𝑓𝑓𝑚𝑚𝑟 𝑆𝑆 = 1 дан 32 гача
𝑠𝑢𝑚 = 𝑠𝑢𝑚 + 𝑑𝑒𝑙𝑡𝑎
+ 𝐾[1]))
+ 𝐾[3]))
+ 𝐾[0])⨁(𝑅 + 𝑠𝑢𝑚)⨁( 𝑅 ≫ 5
+ 𝐾[2])⨁(𝐿 + 𝑠𝑢𝑚)⨁( 𝐿 ≫ 5
𝐿 = 𝐿 + (( 𝑅 ≪ 4
𝑅 = 𝑅 + (( 𝐿 ≪ 4
кейиги 𝑆𝑆 шифрматн = (𝐿, 𝑅)
- Бу ерда “≪” амали сонни чапга суриш амали ва “≫” амали ўнга суриш амали ҳисобланади.
- Масалан, иккилик кўринишдаги бир байтли сон “10110101” га тенг бўлса, у ҳолда ушбу сонни чапга 4 бирлик суриш натижаси “01010000” га тенг бўлади.
TEA - дешифрлаш
𝐾 0 , 𝐾 1 , 𝐾 2 , 𝐾 3 = 128 битли калит
𝐿, 𝑅 = шифр матн блоки (64 бит)
+ 𝐾[3]))
+
𝑑𝑒𝑙𝑡𝑎 = 0𝑥𝑥𝑒𝑥𝑥𝑥𝑥𝑏𝑥
𝑠𝑢𝑚 = 𝑑𝑒𝑙𝑡𝑎 ≪ 5
𝑓𝑓𝑚𝑚𝑟 𝑆𝑆 = 1 дан 32 гача
𝑅 = 𝑅 − (( 𝐿 ≪ 4
𝐿 = 𝐿 − (( 𝑅 ≪ 4
𝐾[1]))
+ 𝐾[2])⨁(𝐿 + 𝑠𝑢𝑚)⨁( 𝐿 ≫ 5
+ 𝐾[0])⨁(𝑅 + 𝑠𝑢𝑚)⨁( 𝑅 ≫ 5
𝑠𝑢𝑚 = 𝑠𝑢𝑚 − 𝑑𝑒𝑙𝑡𝑎 кейиги 𝑆𝑆
очиқ матн = (𝐿, 𝑅)
- Блокли шифрлар кодлар китобига ўхшайди.
– Яъни, бир сўз ҳар доим бир кодга алмашгани каби, бир хил очиқ матн блоки ҳар доим бир хил шифрматн блокига алмашади.
- Бу эса ўз навбатида қуйидаги муаммони олиб келади:
Блокли шифрлар режимлари - Блокли шифрларни маълум режимда фойдаланиш орқали ушбу муаммони бартараф этиш мумкин.
- ECB (electronic codebook) режими
- CBC (cipher block chaining) режими.
ECB
ECB - ECB режимида қуйидаги формуладан фойдаланган ҳолда маълумотлар блоклари шифрланади:
𝑆𝑆 = 0,1,2, … лар учун 𝐶𝑖𝑖 = 𝐸𝐸(𝑃𝑖𝑖 , 𝐾)
- Дешифрлаш учун эса қуйидаги фойдаланилади:
𝑆𝑆 = 0,1,2, … лар учун 𝑃𝑖𝑖 = 𝐷𝐷(𝐶𝑖𝑖 , 𝐾)
формуладан
- Бир хил очиқ матн блоклари бир хил шифрматн блокларига алмашади.
- Битта шифрматн блокидаги ўзгариш фақат битта очиқ матн блокига таъсир қилади.
CBC
CBC - Мазкур режимда шифрлаш формуласи қуйидагича:
𝑆𝑆 = 0,1,2, … лар учун 𝐶𝑖𝑖 = 𝐸(𝑃𝑖𝑖⨁𝐶𝑖𝑖−1, 𝐾)
- Дешифрлаш функцияси эса қуйидагича бўлади:
𝑆𝑆 = 0,1,2, … лар учун 𝑃𝑖𝑖 = 𝐷(𝐶𝑖𝑖 , 𝐾)⨁𝐶𝑖𝑖−1
- Бошланғич вектор деб аталувчи (initialization vector, IV)
𝐼𝑉 дан фойдаланилади ва у мантиқий томондан 𝐶−1 га ўзлаштиралади.
– Бошланғич вектор махфий сақланмайди.
- Биринчи блокни шифрлаш қуйидагича амалга оширилади
𝐶0 = 𝐸 𝑃0⨁𝐼𝑉, 𝐾
- Биринчи блокни дешифрлаш
𝑃0 = 𝐷(𝐶0, 𝐾)⨁𝐼𝑉
CBC
хил очиқ матн блоклари турли шифр матн
блокларига ўзгаради.
- Битта шифрматн блокидаги ўзгариш иккита очиқ матн блокига таъсир қилади.
Симметрик шифрлаш усуллари муаммолари - Томонлар орасида ягона калитни алмашинишнинг мураккаблиги.
- Ҳозирги кунда симметрик шифрлардан амалда фойдаланиш учун камида 128 битли калитдан фойдаланиш талаб этилади.
- Қуйидаги жадвалда 2005 йил ҳолатига кўра турли узунликдаги калитларни бузишдаги турли нархдаги компьютерлар томонидан олинган натижалар келтирилган:
Қурилма нархи
|
Калит узунлиги
| | | |
80-бит
|
112-бит
|
128-бит
|
10 000 $
|
7 000 йил
|
1013 йил
|
1018 йил
|
100 000 $
|
700 йил
|
1012 йил
|
1017 йил
|
1 000 000 $
|
70 йил
|
1011 йил
|
1016 йил
|
10 000 000 $
|
7 йил
|
1010 йил
|
1015 йил
|
100 000 000 $
|
245 кун
|
109 йил
|
1014 йил
| ЭЪТИБОРИНГИЗ УЧУН РАХМАТ!!!
Do'stlaringiz bilan baham: |