.

Хэш-функции в криптосистемах

Язык: русский
Формат: реферат
Тип документа: Word Doc
74 380
Скачать документ

Na?aoianeee Ainoaea?noaaiiue Oieaa?neoao ei. I. A. *a?iuoaaneiai

Eo?niaay ?aaioa

«Oao-ooieoeee a e?eioinenoaiao»

Auiieiee: nooaeaio 112a?. EieEO

Eaai/aiei A. N.

a. Na?aoia 2001

Niaea?aeaiea

Aaaaeaiea
3

Iaoiae oyoe?iaaiey
3

Eieeecee e ?aaa?n
3

Iaeiinoi?iiiea oyoe
4

Nienie eeoa?aoo?u e naeoia
iineaaeiyy

Aaaaeaiea

A iaoa a?aiy aieueooth ?ieue a eioi?iaoeea ea?atho naoaaua oaoiieiaee,
aace?othueany ia iauaaeeiaiee ia?iiiiai /enea iaoei a aaeeioth naoue .
Iaeiei ec y?eeo i?eia?ia oaeie naoe yaeyaony Internet. Iia iniiaaia ia
iiiaiiieueciaaoaeueneeo iia?aoeeiiiuo nenoaiao, iicaieythueo
oi?aaeyoue aeaiiuie, o?aiyueieny ia oaeae?iiuo iaoeiao (na?aa?ao) n?aco
ianeieueeei ethaeyi. Eiiaaea o?aaoaony naeaeaoue aeinooiiie aeey anao
oieueei /anoue aeieoiaioia. Iai?eia?, ca/anooth o?aaoaony ne?uoue
i?ia?aiiue eiae cgi-ne?eioa io iinoi?iiieo aeac, ii aanueia
iaaeaeaoaeueii cai?auaoue aai eniieiaiea. Aeey yoiai iia?aoeeiiiie
nenoaia iaiaoiaeeii “iauynieoue”, eoi yaeyaony aeaaeaeueoeai. A
aieueoeinoaa iia?aoeeiiiuo nenoai eaeaioeoeeaoeey i?iecaiaeeony ii
eiaeio e ia?ieth. Ii oae eae n oaeeii, a eioi?ii niaea?aeeony yoio
ia?ieue, ?aaioatho ia iaeei, a ianeieueei iieueciaaoaeae, oi o?aiaiea
aai a ioe?uoii aeaea i?aaenoaaeyao oa?ico nio?aiiinoe aeieoiaioia. Aeey
yoiai iio?aaiaaeinue oeo?iaaiea aeaiiuo.

Iaoiae oyoe?iaaiey

Iaeiei ec iaeaieaa ?ani?ino?ai?iiuo iaoiaeia e?eioiaaiey yaeyaony
oyoe?iaaiea. Iaoiae oaoe?iaaiey iicaieyao o?aieoue yeaiaiou ec
iiiaeanoaa A a eeiaeiii ianneaa X. Iaoaiaoe/anee yoi iiaeii caienaoue
oae:

h: A ® {0, x-1}

o. a. Ooieoeey h ioia?aaeaao eaaeaeue yeaiaio iiiaeanoaa A a eiaeaen
iiiaeanoaa X.

Iai?eia?: ionoue aeaiu aeaa iiiaeanoaa A {‘a’, ’b’, ’c’, …} e X {0, 1,
2, …}, oiaaea ooieoeey h:A®X noaaeo a niioaaonoaea eaaeaeiio yeaiaioo ec
iiiaeanoaa A yeaiaio ec iiiaeanoaa B. Oaeei ia?acii h(‘a’)=0, h(‘c’)=2 e
o. ae.

Eieeecee e ?aaa?n

Iaeiaei, aiciiaeii nouanoaiaaiea oaeiai eioa?aaea ia iaeanoe
ii?aaeaeaiey ooieoeee, a a?aieoeao eioi?iai iia noaiiaeony eiuaeoeaiie
(o. a. anee h(‘a’)=0, oi nouanoaoao oaeay ooieoeey, g: X®A, aeey eioi?ie
g(0)=’a’). Yoi icia/aao, /oi oieueei aeey iaeiiai yeaiaioa ec iiiaeanoaa
A nouanoaoao eiaeaen x1. Ooieoeey aoaeao eiuaeoeaia e a oii neo/aa, anee
ie iaeei yeaiaio ec A ia ioia?aaeaaony ia eioa?aae (x1, x2) i?e oneiaee,
/oi iineaaeiee ia ?aaai ioeth. A ethaii ae?oaii neo/aa ia eaaeaeue
eiaeaen iiiaeanoaa X ioia?aaeaaony aieaa iaeiiai yeaiaioa ec A. Yoi oae
iacuaaaiay eieeecey oyo-ooieoeee.

?aaa?n oyo-ooieoeee caeeth/aaony a iienea anao ioia?aaeaaiuo ia aeaiiue
eiaeaen yeaiaioia. Aeey ethaiai eiia/iiai iiiaeanoaa yoi ?ac?aoeiay
caaea/a, eioi?ay eiaao iaeaieaa i?inoia ?aoaiea ia eiuaeoeaiuo
eioa?aaeao oyo-iiiaeanoaa.

Iaeiinoi?iiiea oyoe

A e?eioiaaiee eniieuecothony iniaua oyo-ooieoeee, iacuaaaiua
iaeiinoi?iiieie. Ooieoeey ¦: X®Y iacuaaaony iaeiinoi?iiiae, anee ¦(x)
iiaeao auoue eaaei au/eneaia aeey ethaiai yeaiaioa ec iiiaeanoaa X,
oiaaea aeey anao yeaiaioia ec iiiaeanoaa Y au/eneaiea oaeiai a?aoiaioa
x, aeey eioi?iai ¦(x)=y, ia ?ac?aoeii iieeiiieaeueii. Nenoaiu,
iino?iaiiua ia iaeiinoi?iiieo ooieoeeyo aceiio, eae i?aaeei, ia
iiaeaeathony.

Iniiaiua aniaeou iaienaiey

I?e iaienaieai aeai?eoia kript iniaia aieiaiea oaeaeyeinue neaaeothuei
aniaeoai:

o?aaiaaiey iieueciaaoaey e aeai?eoio;

aiciiaeiua aa?eaiou ooa/ee caoeo?iaaiiiai ia?iey;

iaeaieaa aeaenoaaiiua iaoiaeu ?anoeo?iaee.

1. O?aaiaaiey iieueciaaoaey

Iniiaiua o?aaiaaiey e aeai?eoio n oi/ee c?aiey iieueciaaoaey yaeythony:

iaae?aeiinoue;

nei?inoue ?aaiou;

nenoaiiua o?aaiaaiey (iaiaoiaeeiua ?ano?nu).

2. Aa?eaiou ooa/ee ia?iey

Iaeiie ec aeaaiie i?e/eiie ooa/ee ia?iey i?e eniieueciaaiee yoiai
aeai?eoia neoaeeo aai o?aiaiea a ioe?uoii aeaea naiei aeaaeaeueoeai,
iiyoiio aieueoay /anoue aoae a iaoa a?aiy ?ann/eoaia ia aeiaa?ea
iieueciaaoaey (iai?eia?, ii oaeaoiio caiieo iieiue aaeieieno?aoi? naoe e
i?ineo ia?ieue aeey i?iaaaeaiey i?ioeeaeoe/aneeo ?aaio). A yoii neo/aa
caueoa naiaeeony e eaeaioeoeeaoeee ia oieueei iieueciaaoaey, ii e
iaoeiu, n eioi?ie i?iecaiaeeony cai?in.

Aoi?ie i?e/eiie neoaeeo aai ?anoeo?iaea.

3. Iaoiaeu ?anoeo?iaee

Yoio iaoiae naycai n eniieueciaaieai aieueoeinoaii iieueciaaoaeae
neeoeii i?inouo ia?ieae (aeeeiie iaiaa 8 neiaieia, eee, ia?ieue,
ianouee ia naa eaeoth-oi niuneiaoth iaa?oceo (io/anoai i?aaaaooee ii
iaieiie eeiee)). A yoii neo/aa aoaee naiaeyony e ia?aai?o aiciiaeiuo
ia?ieae, a caueoa – e eo oneiaeiaieth.

Aeey ?anoeo?iaee ia?iey aoi?ui iaoiaeii, o?aaoaony ciaoue aai aeeeio e
aeai?eoi oeoiaaiey. A neo/aa, eiaaea aeeeia ia?iey ninoaaeo iaiaa
ainueie neiaieia, iiaeii ainiieueciaaoueny neaaeothuei aeai?eoiii:

1. Ia?aaa?iooue caoeo?iaaiiue ia?ieue.

2. Oae eae ?acia? aeiea ia iiaeao auoue aieaa 5 aaeo e iaiaa 1 aaeoa, oi
?aciaue?i aai ia 8 aeieia e caieoai a nienie (nienie ia?auo aeieia,
nienie aoi?uo, e o. ae.). Iieo/ei ainueieiiaenieneiaue nienie nieneia,
eaaeaeue iiaenienie eioi?iai i?aaenoaaeyao niaie ana aiciiaeiua aeiee
oeo?iaaiiuo neiaieia.

3. I?iaaaaai a oeeeea ii iiaenieneo, naa?yy eaaeaeue yeaiaio ni anaie
neiaieaie ec ASCII neaaeothuei ia?acii:

If j*generate(x,n,j) = then write(ord(j)), aaea j
aeanyoe/iue eiae neiaiea, x – eeth/, n – iineaaeiaaoaeueiue iiia?
neiaiea a ia?iea (a aeeaiaciia [1, 8]). Anee auiieieeinue yoi oneiaea,
oi auaaaeai ia ye?ai iaeaeaiiue neiaie.

Iinea auiieiaiey aeai?eoia ia auoiaea iieo/ei eeai ia?ieue, eeai oaeoth
iineaaeiaaoaeueiinoue, ec eioi?ie aai iiaeii iieo/eoue.

Iienaiea

A iniiaa aeai?oia eaaeeo ooieoeey io o??o a?aoiaioia
generate=trunc(k*(abs(sin(ln(a)*x)+ sin(cos(b)*x)))):

1. eeth/a (x);

2. aeanyoe/iiai eiae neiaiea (a);

3. iiia?a neiaiea ai aaaae?iiie no?iea (b).

Iia eniieuecoaony aeey i?aia?aciaaiey aeanyoe/iiai eiaea neiaiea a
/enei, eaaeauaa a eioa?aaea io 0 aei 2*k, aaea k – ethaia /enei oeaeiai
oeia. *ai aieueoa /enei k – oai iaiueoa aa?iyoiinoue eieeecee a
aeaeueiaeoai.

Iinea ia?aaioee neiaiea ii aeiaaaeyaony a nienie nieneia i?ioeaaeo?ie
add_in_list(x: integer; s: string; var gr: llist) neaaeothuei ia?acii –
l^.inf:=ord(s[k])*generate(x,ord(s[k]),k), aaea l^.inf-yeaiaio nienea
nieneia, x – eeth/ (aeey ooieoeee generate), s – no?iea, ?acaeaaaiay ia
aeiee ii 8 neiaieia. Eaaeaeue iiaenienie eiaao aeeeio ia aieaa 8
yeaiaioia ?acia?ii aei 5 aaeo.

O?aoei oaaii yaeyaony neiaeaiea niioaaonoaothueo yeaiaioia i?ioeaaeo?ie
summ_all(gr: llist; var a:array_type) ec eaaeaeiai iiaenienea l a 8
yeiaioiue iannea a, o.a. ia?aue yeaiaio ec ia?aiai yeaiaioa
neeaaeuaaaony n ia?aui yeaiaioii aoi?iai, o?aoueaai e o.ae. iiaenienea e
caienuaaaony a a[1].

Oae – aea iinooiaai e n ae?oaeie yeaiaioaie iiaenieneia.

Neaaeothuei uaaii caienuaaai a oaee eeth/ e ii i/a?aaee ana yeaiaiou
ianneaa a, ia?aaioaiiua ooieoeeae FromIntToString(), eioi?ay ia?aaiaeeo
/eneaiiue oei a neiaieueiue e ia?aai?a/eaaao.

Aeey naa?ee ia?iey aai o?aaoaony caoeo?iaaoue caiiai ii ecaanoiiio
eeth/o e naa?eoue n caoeo?iaaiiui yecaiiey?ii.

Aio enoiaeiue oaeno i?ia?aiiu:

kriptmod.pas

unit kriptmod;

interface

type Plist=^list;

list=record

inf: word;

num: 1..8;

next: Plist;

end;

Llist=^List_of_list;

List_of_list=record

nb: Plist;

inf: 1..32;

next: Llist;

end;

array_type=array[1..8] of longint;

function generate(x: integer; a, b: byte):integer;

procedure add_in_llist(x: integer; s: string; var gr: llist);

procedure print_llist(gr: llist);

procedure summ_all(gr: llist; var a:array_type);

function FromIntToString(L: longint):string;

implementation

{–Yoa ooieoeey ia?aaiaeeo ec oeaei/eneaiiiai oeia a
neiaieueiue———————————————-}

function FromIntToString;

var s: string;

l1: longint;

begin

l1:=l; s:=”;

while (l1 div 10>0) do

begin

case l1 mod 10 of

0: s:=s+’0′;

1: s:=s+’1′;

2: s:=s+’2′;

3: s:=s+’3′;

4: s:=s+’4′;

5: s:=s+’5′;

6: s:=s+’6′;

7: s:=s+’7′;

8: s:=s+’8′;

9: s:=s+’9′;

end;

l1:=l1 div 10;

end;

case l1 mod 10 of

0: s:=s+’0′;

1: s:=s+’1′;

2: s:=s+’2′;

3: s:=s+’3′;

4: s:=s+’4′;

5: s:=s+’5′;

6: s:=s+’6′;

7: s:=s+’7′;

8: s:=s+’8′;

9: s:=s+’9′;

end;

FromIntToString:=s;

end;

{–Ooieoeey aaia?aoeee
(iniiaiay)———————————————-}

function generate;

begin

generate:=trunc(abs(122.5*(sin(ln(a)*x)+sin(cos(b)*x))));

end;

{–I?ioeaaeo?a aeiaaaeaiey a nienie
nieneia———————————————-}

procedure add_in_llist;

var g: llist;

l: plist;

k, i, j: byte;

begin

k:=1; i:=1;

while (knil do

begin

l:=g^.nb;

i:=1;

while lnil do

begin

a[i]:=a[i]+l^.inf;

l:=l^.next;

i:=i+1

end;

g:=g^.next;

end;

end;

{————————————————}

end.

kript.pas:

program kuzik;

uses crt, kriptmod;

var x: integer;

i: 1..8;

pass: string;

l: Llist;

arr: array_type;

f: text;

begin

clrscr;

randomize;

{–Aaia?e?oai /enei–}

x:=abs(random(9999-101))+101;

write(‘Password: ‘); textcolor(0);readln(pass);

add_in_llist(x,pass,l);

summ_all(l,arr);

assign(f, ‘shadow’);

rewrite(f);

writeln(f,x);

for i:=1 to 8 do write(f,FromIntToString(arr[i]));

writeln(f);

close(f);

textcolor(2);

writeln(‘User added in base.’);

repeat until keypressed;

end.

unkript.pas:

program kuzik;

uses crt, kriptmod;

var x: integer;

i: 1..8;

pass, pass1: string;

l: Llist;

arr: array_type;

f: text;

s, s1: string;

begin

clrscr;

write(‘Password: ‘); textcolor(0);readln(pass);

{–Ioe?uaaai oaee n ia?ieyie–}

assign(f,’shadow’);

reset(f);

{–*eoaai eeth/–}

readln(f,x);

{–*eoaai caoeo?iaaiiue ia?ieue–}

readln(f,pass1);

close(f);

{–Oeo?oai oieueei /oi aaaae?iiue ia?ieue–}

add_in_llist(x,pass,l);

summ_all(l,arr);

for i:=1 to 8 do s1:=s1+FromIntToString(arr[i]);

{–Naa?yai aai n ia?ieai ec shadow–}

if (pass1=s1)

then begin

textcolor(2);

writeln(‘Password correct.’)

end

else begin

textcolor(4);

writeln(‘Password incorrect!’);

end;

repeat until keypressed;

end.

Нашли опечатку? Выделите и нажмите CTRL+Enter

Похожие документы
Обсуждение

Ответить

Курсовые, Дипломы, Рефераты на заказ в кратчайшие сроки
Заказать реферат!
UkrReferat.com. Всі права захищені. 2000-2020