Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
724 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: DEC Design Frage (SHA3)

  Alt 14. Mai 2021, 10:32
Zitat:
Delphi-Quellcode:
      absorb_bytes := DataSize;
      if absorb_bytes > prorunde then absorb_bytes := prorunde;
Also mathematisch ein
      absorb_bytes := Min(DataSize, {prorunde}BlockSize);

Genau.

Es ist und war mir voll bewusst, dass man eine min Funktion schreiben könnte (hatte ich sogar während dem Testen). Oder in DECHash die Unit Math einbinden kann. Ich bin kein Fan, von Funktionsaufrufen, wo's keine braucht. Wer hier mit Lesbarkeit argumentiert, muss sich eine Hirnbrille kaufen. Also besten Dank für deinen grandiosen Hinweis .

Blocksize (dein Code). Geht zwar auch (prorunde ist in [1 bis maxint div 8] frei wählbar, BlockSize hingegen ist in DECHash definiert und eine feste Grösse abhängig vom verwendeten Zustandsvektor (5 Worte zu l Bit (hier 6)) und von n (hier 224)).
Wenn du dir function THash_SHA3Base.Absorb(Data: Pointer; DatabitLen: Int32): Int32; anschaust ist BlockSize im Gegensatz zu meiner früheren Behauptung (als ich den Code noch nicht kannte) nicht Wert der Wahl.
Michael Gasser

Geändert von Michael II (14. Mai 2021 um 10:47 Uhr)
  Mit Zitat antworten Zitat