Einzelnen Beitrag anzeigen

Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#1

Übersetzung AES S-Box Erstellung von C in Delphi (wenig Code)

  Alt 25. Mai 2014, 00:01
Hatte ursprünglich eine Frage zur Erstellung der AES S-Box, Antwort war jedoch nur eine falsch definierte Variable. Wen es interessiert, hier der Code zur Erstellung der AES S-Box:

Delphi-Quellcode:
procedure TForm1.DoCalc;
var
  i: integer;
  logtable: array [0..255] of byte; // Log table
  exptable: array [0..255] of byte; // Log table
  a, c, s, x: Byte;
begin

  a := 1;
  
  for i := 0 to 255 do
    begin
      exptable[i] := a;
      c := a AND $80;
      a := a SHL 1;
      if (c = $80) then
        begin
          a := a xor $1b;
        end;

      a := a xor exptable[i];
      logtable[exptable[i]] := i; // Set the log table value
    end;

  exptable[255] := exptable[0];
  logtable[0] := 0;

  for i := 0 to 255 do
    begin

      if i = 0 then
        x := 0
      else
        x := exptable[(255 - logtable[i])];
  
      s := x;

      for c := 0 to 3 do
        begin
          s := (s SHL 1) OR (s SHR 7);
          x := x XOR s;
        end;

      x := x XOR 99;
      Memo1.Text := Memo1.Text + '0x' + IntToHex(x, 2) + ', ';

    end;

end;

Geändert von Martin W (25. Mai 2014 um 00:48 Uhr)
  Mit Zitat antworten Zitat