Бир мартали блокнот
Бир мартали блокнот (one time pad) ёки Вернам шифри номи билан
танилган криптотизим бардошли шифрлаш алгоритми ҳисобланиб, тарихда
турли вақтларда ва жойларда фойдаланилган бўлсада, кўп ҳолларда амалга
оширишнинг имконияти мавжуд эмас. Бир мартали деб аталишига асосий
сабаб, ундаги калитнинг (блокнотнинг) бир марта фойдаланилиши бўлиб,
шуннинг учун уни аксарият ҳолларда амалга оширишнинг имкони мавжуд
бўлмайди.
Ушбу шифрлаш алгоритмини тушунтириш учун келинг 8 та белгидан
иборат бўлган алфавит олинган бўлсин. Олинган алфавит ва унга мос бўлган
бинар қийматлар қуйидаги жадвалда келтирилган. Шуни эсда сақлаш керакки,
алифбо ва унга мос бўлган бит қийматлари барча учун очиқ ва сир
сақланмайди (ASCII жадвали каби).
2.1-жадвал
Белгилар
E
H
I
K
L
R
S
T
Бинар
қиймат
000
001
010
011
100
101
110
111
Фараз қилинсин, бирор қонуний фойдаланувчи А бир мартали
блокнотдан фойдаланган ҳолда “HEILHITLER” матнини шифрлаб, ўз шериги
Б томонга юбориши талаб этилсин. Ушбу очиқ матнни бинар қийматдаги
кўриниши эса қуйидагича бўлади:
H
E
I
L
H
I
T
L
E
R
001
000
010
100
001
010
111
100
000
101
Бир мартали блокнот усулида шифрлаш учун очиқ матн узунлигига тенг
бўлган тасодифий танланган калит зарур бўлади. Очиқ матнга калитни XOR
амалида қўшиш орқали шифрматн ҳосил қилинади ( Р – очиқ матн, K – калит
ва С – шифрматн деб белгиланса):
𝐶
𝑃⨁𝐾. XOR амали (⨁) бинар амал
ҳисобланиб, қуйида келтирилган:
0⨁0
0
0⨁1
1
1⨁0
1
1⨁1
0
Юқоридаги жадвалдан,
𝑥⨁𝑦⨁𝑦
𝑥 тенглик ўринлиги билиш қийин
эмас ва шунинг учун бир мартали паролда дешифрлаш учун шифрматнга
калитни XOR амалида қўшишнинг ўзи етарли ҳисобланади:
𝑃
𝐶⨁𝐾.
Фараз қилинсин А томон юқорида келтирилган очиқ матн узунлигига
тенг бўлган қуйидаги калитга эга бўлсин:
111 101 110 101 111 100 000 101 110 000
Ушбу калит асосида А томон қуйидаги шифрматнни ҳисоблайди:
H
E
I
L
H
I
T
L
E
R
Очиқ матн: 001 000 010 100 001 010 111 100 000 101
Калит: 111 101 110 101 111 100 000 101 110 000
Шифрматн: 110 101 100 001 110 110 111 001 110 101
S
R
L
H
H
H
T
H
S
R
А томонидан юборилган шифрматн Б томонда бир хил калит
мавжудлиги сабабли осонгина дешифрланади:
S
R
L
H
H
H
T
H
S
R
Шифрматн: 110 101 100 001 110 110 111 001 110 101
Калит: 111 101 110 101 111 100 000 101 110 000
Очиқ матн: 001 000 010 100 001 010 111 100 000 101
H
E
I
L
H
I
T
L
E
R
Ушбу шифрлаш алгоритми учун қуйидаги икки ҳолатни қараб чиқиш
муҳим. Биринчи ҳолатда, фараз қилинсин А томонинг душмани M бор ва у А
томон қуйидаги калитдан фойдаланилган деб билади:
101 111 000 101 111 100 000 101 110 000
Агар М душман ушбу калитни Б томонга узатишни имконидан чиқса, у
ҳолда Б томон шифрматнни дешифрлаш орқали қуйидагига эга бўлади:
S
R
L
H
H
H
T
H
S
R
Шифрматн: 110 101 100 001 110 110 111 001 110 101
“Калит”: 101 111 000 101 111 100 000 101 110 000
“Очиқ матн”: 011 010 100 100 001 010 111 100 000 101
K
I
L
L
H
I
T
L
E
R
Агар Б томон криптографиядан умуман хабари бўлмаса, у ҳолда А
томоннинг қарори муҳокамага сабаб бўлади.
Фараз қилинсин бошқача ценарий мавжуд. А фойдаланувчи ўз душмани
M томонидан қўлга олинди ва душман шифрматнга ҳам эга. Душман
шифрматтни ўқий олмайди ва шунинг учун А томондан унинг калитини
айтишини талаб этади. А томон ўзини ҳар иккала томонга “ўйнашини” айтиб,
шифрматтни дешифрлаш калити деб қуйидагини айтади:
111 101 000 011 101 110 001 011 101 101
Ушбу калит орқали душман М шифрматнни дешифрлаганда қуйидаги
очиқ матнга эга бўлади:
S
R
L
H
H
H
T
H
S
R
Шифрматн: 110 101 100 001 110 110 111 001 110 101
“Калит”: 111 101 000 011 101 110 001 011 101 101
“Очиқ матн”: 001 000 100 010 011 000 110 010 011 000
H
E
L
I
K
E
S
I
K
E
Агар душман криптогарфия ҳақида маълумотга эга бўлмаса, ушбу очиқ
матнга ишонади ва А томонни қўйиб юборади.
Кафолатга эга эмаслиги сабабли, ушбу келтирилган мисоллар бир
мартали блокнот шифрини бардошли эканини кўрсатади. Бир мартали
блокнотда агар калит тасодифий танланса ва бир марта фойдаланилган
тақдирда ҳужумчи шифрматндан очиқ матн ҳақида бирор ахборотга эга бўла
олмайди (албатта маълумотни узунлигидан ташқари). Яъни, берилган
шифрматн учун мос “калит” ёрдамида шифрматн узунлигидаги ихтиёрий
“очиқ матнлар”ни генерация қилиш мумкин ва бунда барча очиқ матнлар бир
хил ўхшашликка эга. Шунинг учун шифрматндан очиқ матн ҳақида бирор
фойдали ахборотни олишнинг имкони йўқ. Криптографик нутқаи назардан
шифрматнлар ўзидан ортиқ маълумотни бера олмайди.
Бунинг учун албатта, бир мартали блокнот тўғри фойдаланилган, ундаги
калит тасодифий танланган, бир марта фойдаланилади ва фақат А ва Б
томонларга маълум бўлиши талаб этилади.
Бир мартали блокнот бардошликни таъминлар экан, нима учун ҳар доим
ундан фойдаланилмайди? Бунинг асосий сабаби, ҳар бир очиқ матн учун унинг
узунлигига тенг бўлган тасодифий калитни (блокноти) генерация қилиш ва
қабул қилувчи дешифрлашдан олдин хавфсиз узатишнинг имконияти
йўқлигидир. Агар очиқ матн узунлигидаги калитни (блокнотни) хавфсиз
узатишнинг имконияти мавжуд бўлса, у ҳолда калитнинг ўрнига очиқ матнни
узатиш фойдали эмасми? Уни шифрлашдан нима маъно?
Бир мартали блокнот усулидан тарихда чекланган узунликдаги
маълумотларни шифрлаш қисман фойдаланилган бўлсада, ҳозирги кундаги
катта ҳажмли маълумотларни узатиш учун бир мартали блокнотни тўлиқ
амалий томондан қўллаб бўлмайди.
Бир мартали блокнотда калитлардан фақат бир марта фойдаланишдан
мақсад нима? Фараз қилайлик, қуйидаги икки очиқ матн
𝑃 ва 𝑃 битта калит
𝐾 дан фойдаланиб шифрланган: 𝐶
𝑃 ⨁𝐾 ва 𝐶
𝑃 ⨁𝐾. Криптографияда
ушбу ҳолатни “хавфлилик” деб аталади ва бир мартали блокнот хавфли
ҳолатда деб тушинилади, яъни фойдаланилган калит ортиқ муаммо
туғдирмайди:
𝐶 ⨁𝐶
𝑃 ⨁𝐾⨁𝑃 ⨁𝐾
𝑃 ⨁𝑃
Мазкур ҳолда шифрматн ҳақиқий очиқ матн ҳақида баъзи ахборотни
ошкор қилади. Агар бир калитдан фойдаланиб кўп марта шифрлаш амалга
оширилса бу катта хавфга олиб келиши мумкин. Мазкур ҳолатни қуйидаги
мисолда кўриб чиқайлик. Фараз қилайлик, қуйидаги иккита очиқ матн
берилган бўлсин (белгиларнинг бинар коди юқоридаги жадвалдаги каби):
𝑃
𝐿𝐼𝐾𝐸
100 010 011 000 ва 𝑃
𝐾𝐼𝑇𝐸
011 010 111 000.
Ҳар иккала очиқ матн ягона калит
𝐾
110 011 101 111 шифрланган ва
шифрматнлар қуйидагига тенг бўлган:
L
I
K
E
𝑃 : 100 010 011 000
𝐾: 110 011 101 111
𝐶 : 010 001 110 111
I
H
S
T
ва
K
I
T
E
𝑃 : 011 010 111 000
𝐾: 110 011 101 111
𝐶 : 101 001 010 111
R
H
I
T
Агар ҳужумчи криптотаҳлил билан яқиндан таниш бўлса ва ҳар иккала
очиқ матн бир хил калит ёрдамида шифрланганини билса, очиқ матнлардаги 2
ва 4 ҳарфларни бир хиллигини осонгина аниқлайди. Сабаби, мос ўриндаги
шифрматн белгилари бир хил. Бундан ташқари, ҳужумчи тахминий
𝑃 очиқ
матн олади ва уни тўғрилигини
𝑃 очиқ матн билан текшириб кўради. Фараз
қилайлик, ҳужумчи биринчи очиқ матн сифатида
𝑃
𝐾𝐼𝐿𝐿
011 010 100 100 ни олган бўлсин. Бу ҳолда у унга мос бўлган тахминий
калитни қуйидагича ҳисоблайди:
K
I
L
L
Тахминий
𝑃 : 011 010 100 100
𝐶 :
010 001 110 111
Тахминий
𝐾: 001 011 010 011
Олинган калит
𝐾 ёрдамида эса иккинчи шифрматндан очиқ матнни
ҳисоблайди:
𝐶 : 101 001 010 111
Тахминий
𝐾: 001 011 010 111
Тахминий
𝑃 : 100 010 000 100
L
I
E
L
Ҳисобланган калит
𝐾 иккинчи очиқ матн 𝑃 учун мос бўлмагани
сабабли, ҳужумчи тахмин қилган биринчи очиқ матни
𝑃 ни нотўғрилигини
билади. Шу тарзда ҳужумчи қачонки биринчи очиқ матнни
𝑃
𝐿𝐼𝐾𝐸 тарзида
тахмин қилса, иккинчи очиқ матнни тўғри
𝑃
𝐾𝐼𝑇𝐸 топа олади.
Do'stlaringiz bilan baham: |