OZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI
TT va KT FAKULTETI
4 BOSQICH AX-11-17 GURUH TALABASINING
Kriptoanaliz usullari
FANIDAN TAYYORLAGAN
LABARATORIYA ISHI
Bajardi: Raximov M
Qabul qildi: Bekkamov F
QARSHI – 2020
5-лабаратория иши Мавзу: Бир мартали блокнот ва унинг таҳлили
Ишдан мақсад: Бир мартали калитлар ва уларнинг таҳлилини ўрганиш.
Назарий қисм Бир мартали блокнот
Бир мартали блокнот (one time pad) ёки Вернам шифри номи билан танилган криптотизим бардошли шифрлаш алгоритми ҳисобланиб,
тарихда турли вақтларда ва жойларда фойдаланилган бўлсада, кўп ҳолларда амалга оширишнинг имконияти мавжуд эмас. Бир мартали деб аталишига асосий сабаб, ундаги калитнинг (блокнотнинг) бир марта фойдаланилиши бўлиб, шуннинг учун уни аксарият ҳолларда амалга оширишнинг имкони мавжуд бўлмайди.
Ушбу шифрлаш алгоритмини тушунтириш учун келинг 8 та белгидан иборат бўлган алфавит олинган бўлсин. Олинган алфавит ва унга мос бўлган бинар қийматлар қуйидаги жадвалда келтирилган. Шуни эсда сақлаш керакки, алифбо ва унга мос бўлган бит қийматлари барча учун очиқ ва сир сақланмайди (ASCII жадвали каби).
Белгилар
|
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=L
|
0⨁1=L1
|
1⨁0=L1
|
1⨁1=L0
|
Юқоридаги жадвалдан, 𝑥⨁𝑦⨁𝑦=𝑥 тенглик ўринлиги билиш қийин эмас ва шунинг учун бир мартали паролда дешифрлаш учун шифрматнга калитни XOR амалида қўшишнинг ўзи етарли ҳисобланади: 𝑃=𝐶⨁𝐾 .
Фараз қилинсин А томон юқорида келтирилган очиқ матн узунлигига тенг бўлган қуйидаги калитга эга бўлсин:
111 101 110 101 111 100 000 101 110 000
Ушбу калит асосида А томон қуйидаги шифрматнни ҳисоблайди:
А томонидан юборилган шифрматн Б томонда бир хил калит мавжудлиги сабабли осонгина дешифрланади:
Ушбу шифрлаш алгоритми учун қуйидаги икки ҳолатни қараб чиқиш муҳим. Биринчи ҳолатда, фараз қилинсин А томонинг душмани M бор ва у А томон қуйидаги калитдан фойдаланилган деб билади:
101 111 000 101 111 100 000 101 110 000
Агар М душман ушбу калитни Б томонга узатишни имконидан чиқса, у ҳолда Б томон шифрматнни дешифрлаш орқали қуйидагига эга бўлади:
Агар Б томон криптографиядан умуман хабари бўлмаса, у ҳолда А
томоннинг қарори муҳокамага сабаб бўлади.
Фараз қилинсин бошқача ценарий мавжуд. А фойдаланувчи ўз ушмани M томонидан қўлга олинди ва душман шифрматнга ҳам эга. Душман шифрматтни ўқий олмайди ва шунинг учун А томондан унинг калитини айтишини талаб этади. А томон ўзини ҳар иккала томонга “ўйнашини” айтиб, шифрматтни дешифрлаш калити деб қуйидагини айтади:
111 101 000 011 101 110 001 011 101 101
Ушбу калит орқали душман М шифрматнни дешифрлаганда қуйидаги очиқ матнга эга бўлади:
Агар душман криптогарфия ҳақида маълумотга эга бўлмаса, ушбу очиқ матнга ишонади ва А томонни қўйиб юборади.
Кафолатга эга эмаслиги сабабли, ушбу келтирилган мисоллар бир мартали блокнот шифрини бардошли эканини кўрсатади. Бир мартали блокнотда агар калит тасодифий танланса ва бир марта фойдаланилган тақдирда ҳужумчи шифрматндан очиқ матн ҳақида бирор ахборотга эга бўла олмайди (албатта маълумотни узунлигидан ташқари). Яъни, берилган шифрматн учун мос “калит” ёрдамида шифрматн узунлигидаги ихтиёрий “очиқ матнлар”ни генерация қилиш мумкин ва бунда барча очиқ матнлар бир хил ўхшашликка эга. Шунинг учун шифрматндан очиқ матн ҳақида бирор фойдали ахборотни олишнинг имкони йўқ. Криптографик нутқаи назардан шифрматнлар ўзидан ортиқ маълумотни бера олмайди.
Бунинг учун албатта, бир мартали блокнот тўғри фойдаланилган, ундаги калит тасодифий танланган, бир марта фойдаланилади ва фақат А ва Б томонларга маълум бўлиши талаб этилади.
Бир мартали блокнот бардошликни таъминлар экан, нима учун ҳар доим ундан фойдаланилмайди? Бунинг асосий сабаби, ҳар бир очиқ матн учун унинг узунлигига тенг бўлган тасодифий калитни (блокноти) генерация қилиш ва қабул қилувчи дешифрлашдан олдин хавфсиз узатишнинг имконияти йўқлигидир. Агар очиқ матн узунлигидаги калитни (блокнотни) хавфсиз узатишнинг имконияти мавжуд бўлса, у ҳолда калитнинг ўрнига очиқ матнни узатиш фойдали эмасми? Уни шифрлашдан нима маъно?
Бир мартали блокнот усулидан тарихда чекланган узунликдаги маълумотларни шифрлаш қисман фойдаланилган бўлсада, ҳозирги кундаги катта ҳажмли маълумотларни узатиш учун бир мартали блокнотни тўлиқ амалий томондан қўллаб бўлмайди.
Бир мартали блокнотда калитлардан фақат бир марта фойдаланишдан мақсад нима? Фараз қилайлик, қуйидаги икки очиқ матн 𝑃1 ва 𝑃2 битта калит
𝐾 дан фойдаланиб шифрланган: 𝐶1=𝑃1⨁𝐾 ва 𝐶2=𝑃2⨁𝐾. Криптографияда ушбу ҳолатни “хавфлилик” деб аталади ва бир мартали блокнот хавфли ҳолатда деб тушинилади, яъни фойдаланилган калит ортиқ муаммо туғдирмайди:
𝐶1⨁𝐶2=𝑃1⨁𝐾⨁𝑃2⨁𝐾= 𝑃1⨁𝑃2
Мазкур ҳолда шифрматн ҳақиқий очиқ матн ҳақида баъзи ахборотни ошкор қилади. Агар бир калитдан фойдаланиб кўп марта шифрлаш амалга оширилса бу катта хавфга олиб келиши мумкин. Мазкур ҳолатни қуйидаги мисолда кўриб чиқайлик. Фараз қилайлик, қуйидаги иккита очиқ матн берилган бўлсин (белгиларнинг бинар коди юқоридаги жадвалдаги каби):
𝑃=𝐿𝐼𝐾𝐸=L100010011000 ва 𝑃=𝐾𝐼𝑇𝐸=011010111000.
Ҳар иккала очиқ матн ягона калит 𝐾 L110 011 101 111 шифрланган ва шифрматнлар қуйидагига тенг бўлган:
Агар ҳужумчи криптотаҳлил билан яқиндан таниш бўлса ва ҳар иккала очиқ матн бир хил калит ёрдамида шифрланганини билса, очиқ матнлардаги 2 ва 4 ҳарфларни бир хиллигини осонгина аниқлайди. Сабаби, мос ўриндаги шифрматн белгилари бир хил. Бундан ташқари, ҳужумчи тахминий 𝑃1 очиқ матн олади ва уни тўғрилигини 𝑃2 очиқ матн билан текшириб кўради. Фараз қилайлик, ҳужумчи биринчи очиқ матн сифатида 𝑃1=𝐾𝐼𝐿𝐿=011 010 100 100 ни олган бўлсин. Бу ҳолда у унга мос бўлган тахминий калитни қуйидагича ҳисоблайди:
K I L L
Тахминий 𝑃1: 011 010 100 100
C1 : 010 001 110 111
Тахминий 𝐾: 001 011 010 011
Олинган калит 𝐾 ёрдамида эса иккинчи шифрматндан очиқ матнни ҳисоблайди:
Ҳисобланган калит 𝐾 иккинчи очиқ матн 𝑃2 учун мос бўлмагани сабабли, ҳужумчи тахмин қилган биринчи очиқ матни 𝑃1 ни нотўғрилигини билади. Шу тарзда ҳужумчи қачонки биринчи очиқ матнни 𝑃1=𝐿𝐼𝐾𝐸 тарзида тахмин қилса, иккинчи очиқ матнни тўғри 𝑃2=𝐾𝐼𝑇𝐸 топа олади.
Do'stlaringiz bilan baham: |