Advanced Encryption Standard (AES) Source [unvollständig]

Für allgemeine Fragen zur Programmierung mit PureBasic.
dussel
Beiträge: 49
Registriert: 15.09.2004 12:52
Wohnort: Bei Frankfurt/Main

Beitrag von dussel »

Meine Portierung habe ich über die letzten Wochen step-by-step mit Zwischenergebnissen aus dem C-Code abgeglichen, überarbeitet, angepasst, korriegiert und einiges über PB gelernt.

Übersetzt und gegenüber C-Code geprüft:
  • - main
    - Procedure gentables
    - Procedure Bytesub
    - Procedure bmul
    - Procedure xtime
    - Procedure pack
Übersetzt, scheinbar korrekt aber noch nicht abschließend gegenüber C-Code geprüft:
  • - Procedure InvMixCol
    - Procedure product
    - Procedure SubByte
    - Procedure unpack
    - Procedure ROTL24
    - Procedure ROTL16
    - Procedure ROTL8
    - Procedure ROTL
Offen:
  • - Procedure encrypt
    - Procedure decrypt


Derzeit stecke ich in der Procedure gkey.

Oben habe ich die aktuelle Version vom 02.08.2006 für Euch mal gepostet.
Worauf Du aufpassen musst: im C Quellcode ist WORD als "unsigned long" definiert. In PB kannst Du das nicht einfach als .l übersetzen, denn Longs in PB sind zwar 32 Bit, aber signed!
Die Datentypen aus meiner vorherigen Version musste ich erheblich überarbeiten, um die gleichen Ergebnisse als der C-Code zu erhalten.
Antworten