Главная страница
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.013 c
15-1317792690
Наиль2011
2011-10-05 09:31
2012.02.26
вывод на монитор с частотой 30Гц и больше


2-1321739730
3asys
2011-11-20 01:55
2012.02.26
PowerPoint в OleContainer


2-1321130980
Евгений07
2011-11-13 00:49
2012.02.26
INDY сбивают ориентацию ADO


15-1320695289
_qwerty_
2011-11-07 22:48
2012.02.26
что подразумевается под клиентским по сетей microsoft?


15-1320807493
Kerk
2011-11-09 06:58
2012.02.26
Большие сложные GUI