Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.02.26;
Скачать: CL | DM;

Вниз

Помогите переписать функцию с ASM на Pascal или C   Найти похожие ветки 

 
CRLF   (2011-11-08 17:05) [3]

procedure GOST_EncryptBlock(var GBlock: TGOSTBlock);
var
 i, J: LongInt;
 eax, edx, edi: Cardinal;
 eaxbyte: array [0..3] of Byte absolute eax;
 esi: PCardinal;

begin
 eax := GBlock[0];
 edx := GBlock[1];

 for I := 0 to 3 do
   for J := 0 to 7 do begin
     esi := @GostKey[J];
     edi := eax;
     eax := eax + esi^;
     eaxbyte[0] := GostTable[0][eaxbyte[0]];
     eaxbyte[1] := GostTable[0][eaxbyte[1]];
     eaxbyte[2] := GostTable[0][eaxbyte[2]];
     eaxbyte[3] := GostTable[0][eaxbyte[3]];
     eax := (eax shr 3) or ((eax and 7) shl 29); //не уверен, надо в дебагере смотреть
     eax := eax xor edx;
     edx := edi;
   end;

 for J := 7 downto 0 do begin
   esi := @GostKey[J];
   edi := eax;
   eax := eax + esi^;
   eaxbyte[0] := GostTable[0][eaxbyte[0]];
   eaxbyte[1] := GostTable[0][eaxbyte[1]];
   eaxbyte[2] := GostTable[0][eaxbyte[2]];
   eaxbyte[3] := GostTable[0][eaxbyte[3]];
   eax := (eax shr 3) or ((eax and 7) shl 29); //не уверен, надо в дебагере смотреть
   eax := eax xor edx;
   edx := edi;
 end;

 GBlock[0] := edx;
 GBlock[1] := eax;
end;



Страницы: 1 вся ветка

Текущий архив: 2012.02.26;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.008 c
6-1252422429
WinCap
2009-09-08 19:07
2012.02.26
Сетевой принтер


15-1320848351
xss22
2011-11-09 18:19
2012.02.26
Удаление элемента со сдвигом из массива array of record


1-1287040846
vasia
2010-10-14 11:20
2012.02.26
SQL запрос с датой в Delphi


6-1252430444
efim
2009-09-08 21:20
2012.02.26
WinPCap


2-1320229207
Fr
2011-11-02 13:20
2012.02.26
сокеты и браузер