Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#1

DEC Design Frage (SHA3)

  Alt 12. Mai 2021, 23:07
Hallo,

so wie es scheint, bekomme ich den SHA3 langsam in den Griff.
Ich habe mal SHA3 224 durch Umbau von Wolfgang Erhard's (WE) Code
"roh" umgesetzt (siehe Entwicklungszweig) und mit einem Konsolenprogramm
mit dem offiziellen NIST 200 Byte Testvektor mal grundsätzlich getestet.

Nur habe ich da ein paar Fragestellungen:

1. Der ganze SHA3 Code basiert immer auf Bit als Größenangabe statt Byte.
Ich habe es mittels Schleife jetzt so umgesetzt, dass er immer max.
BufferSize an Daten berechnet, damit auch große Datenmengen möglich sind.
Gegenüber WE's Code kann das leichte Performanceverluste ergeben, da
mehr Funktionsaufrufe als bei ihm nötig auftreten können. Es geht dabei
um den Absorb Aufruf.
Die Alternative wäre, bis zu einer maximalen Datengröße die in Bit in
das Größenfeld des Absorbs passt diesen direkt aufzurufen und dann für
den evtl. vorhandenen Rest nochmal. Wie muss ich eine Prüfung ob die zu
bearbeitende Datengröße * 8 ohne Überlauf in den entsprechenden Parameter
des Absorb Aufrufes passt?

2. Der SHA3 Algorithmus hat als besonderheit im Vergleich zu anderen
Hash-Algorithmen die Eigenschaft, dass auch unvollständige Bytes verarbeiten
können. Also das Bilden eines Hashes über nur 5 Bit oder über 9 Bit ist
möglich. Nur passt das bisher nicht zur Architektur der DEC.
Wie müsste sowas angeboten werden?
Als eigentsändige Methoden in der SHA3 Basisklasse?
Und für welche Datentypen sollte das sinnvollerweise umgesetzt werden?
Diese "Sondervarianten" wären dann halt nicht in den vorhandenen Interfaces
drin oder für andere Methoden wie KDF etc. verfügbar, das ist aber vermutlich
verschmerzbar, da Hashes für solche nicht in ganzen Bytes dimensionierten
Datengrößen sicher nicht so oft benötigt werden. Oder?

Wenn das so passt, was ich da umgesetzt habe sollte wohl in absehbarer Zeit
eine neue Version mit SHA3 Unterstützung verfügbar sein.

Grüße
TurboMagic
  Mit Zitat antworten Zitat