Курсовая работа: Програмна реалізація криптографічного алгоритму RC5

begin

RC5Block[1] := ROL((RC5Block[1] xor RC5Block[2]), RC5Block[2]) + S[2*i];

RC5Block[2] := ROL((RC5Block[2] xor RC5Block[1]), RC5Block[1]) + S[2*i+1];

end;

Result := TRUE;

end;

////////////////////////////////////////////////////////////////////////////////

function DecipherBlock(var Block): Boolean;

var

RC5Block : TRC5Block absolute Block;

i : Integer;

begin

for i := Rounds downto 1 do

begin

RC5Block[2] := ROR((RC5Block[2]-S[2*i+1]), RC5Block[1]) xor RC5Block[1];

RC5Block[1] := ROR((RC5Block[1]-S[2*i]), RC5Block[2]) xor RC5Block[2];

end;

Dec(RC5Block[2], S[1]);

Dec(RC5Block[1], S[0]);

Result := TRUE;

end;

////////////////////////////////////////////////////////////////////////////////

// Реалізація головних функції

function EncryptCopy(DestStream, SourseStream : TStream; Count: Int64;

Key : string): Boolean;

var

Buffer : TRC5Block;

PrCount : Int64;

AddCount : Byte;

К-во Просмотров: 425
Бесплатно скачать Курсовая работа: Програмна реалізація криптографічного алгоритму RC5