Главная страница
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.01 c
3-1272008503
Kobylyansky
2010-04-23 11:41
2012.02.26
Firebird+многопоточность


3-1272096564
Ulugbek
2010-04-24 12:09
2012.02.26
Возможно ли восстановить записи после Delete? После Delete и Comm


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


2-1321443234
Scott Storch
2011-11-16 15:33
2012.02.26
подождать завершения работы процедуры


15-1320758892
DVM
2011-11-08 16:28
2012.02.26
Помогите переписать функцию с ASM на Pascal или C