Курсовая работа: Защита информации от несанкционированного доступа

N.v32[0]:=N.v32[1];

N.v32[1]:=s;

end;

procedure GOST_G_coding(var T: pointer; S:word64; Size:word);

var

i:integer;

begin

SEcoding64bits(S);

for i:=1 to (Size div 8) do

begin

S.v32[0]:=(S.v32[0]+C1) mod $100000000;

S.v32[1]:=((S.v32[1]+C2-1) mod ($ffffffff)) +1;

word64(Pointer(LongWord(T)+LongWord((i-1)*8))^).v32[0]:=

word64(Pointer(LongWord(T)+LongWord((i-1)*8))^).v32[0] xor S.v32[0];

word64(Pointer(LongWord(T)+LongWord((i-1)*8))^).v32[1]:=

word64(Pointer(LongWord(T)+LongWord((i-1)*8))^).v32[1] xor S.v32[1];

end;

end;

function coding_GOST(Buf: Pointer; Size: LongWord; Param: TCodingParameters):Integer;

var

i: integer;

s: word64;

begin

s.v32[0]:=0; s.v32[1]:=0;

for i:=0 to 7 do

begin

Key[i]:=(BYTE(Param.Key[i*4+3]) shr 24) or (BYTE(Param.Key[i*4+2]) shr 16) or

(BYTE(Param.Key[i*4+1]) shr 8) or (BYTE(Param.Key[i*4]));

s.v32[i mod 2]:=s.v32[i mod 2]+Key[i];

К-во Просмотров: 1177
Бесплатно скачать Курсовая работа: Защита информации от несанкционированного доступа