AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Übersetzung AES S-Box Erstellung von C in Delphi (wenig Code)
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Martin W · begonnen am 25. Mai 2014 · letzter Beitrag vom 25. Mai 2014
Antwort Antwort
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
Martin W

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

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

  Alt 25. Mai 2014, 00:08
- bitte löschen, sorry -

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

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 25. Mai 2014, 00:42
Tipp: Schalte in Indexprüfung in den Projektoptionen an, dann sagt dir Delphi, daß du auf einen Array-Index zugreifen wolltest, welchen es nicht gibt.

Aber die Bereichsprüfung mußt du hier mal auslassen, denn in dieser Code arbeitet absichtlich mit Überläufen, bzw. erspart es sich die Überläufe abzufangen,
denn das macht ja das Byte bereits, welches den Wertebereicht weit genug eingrenzt, im Gegensatz zu den Integern.


PS:
UINT = unsigned integer

unsigned int = Cardinal
signed int = Integer

Aber der Code arbeitet, an dieser Stelle (i), zum Glück mit beiden Varianten.


[edit]
Jetzt stell dir mal vor jemand hat ein ähnliches Problem, findet deinen Thread, aber nun ist die Frage und die Antwort weg
und somit fehlt ihm jetzt die Lösung, aber zumindestens die SBOX ist jetzt korrekt.
$2B or not $2B

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

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

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

  Alt 25. Mai 2014, 01:06
[edit]
Jetzt stell dir mal vor jemand hat ein ähnliches Problem, findet deinen Thread, aber nun ist die Frage und die Antwort weg
und somit fehlt ihm jetzt die Lösung, aber zumindestens die SBOX ist jetzt korrekt.
Ja, das stimmt, hier war leider meine Maus schneller als ich zu Ende gedacht habe
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 25. Mai 2014, 01:37
Wie wäre es mit einem Trackball?
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz