AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DEC Design Frage (SHA3)

Ein Thema von TurboMagic · begonnen am 12. Mai 2021 · letzter Beitrag vom 22. Mai 2021
Antwort Antwort
Seite 5 von 5   « Erste     345   
TurboMagic

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

AW: DEC Design Frage (SHA3)

  Alt 22. Mai 2021, 17:05
Seufz!

Jetzt hab' ich mal testhalber für den SHA-224 ein paar der NIST Testvektoren von hier:
https://csrc.nist.gov/CSRC/media/Pro...estvectors.zip

in den Unit Test eingebaut (siehe Entwicklungszweig, aktueller Commit) und siehe da:
alle schlagen fehl. Egal ob die Länge des Testvektors auf ganze Byte ausgeht oder
auf einzelne Bits.

Und nein, es schlagen nicht nur die UnicodeString Tests fehl, das wäre ja erklärbar
und behebbar wenn die anderen Tests funktionierten. Es schlagen alle Tests fehl.

Kann und will mir jemand helfen?
Ich würde dafür ein Programm schreiben, welches die NIST Testdaten Dateien in
DEC Unittests "umwandeln" kann.
  Mit Zitat antworten Zitat
Michael II

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

AW: DEC Design Frage (SHA3)

  Alt 22. Mai 2021, 17:29
Hallo TM

ich hatte damals für diverse RawByteStrings DEC SHA3 Werte mit Werten von Online SHA3 Rechnern verglichen und dein DEC und die anderen Rechner hatten alle immer den gleichen SHA3 Output geliefert.

Hast du noch was geändert seit damals (ausser dass du nun auch Bit basierte Vektoren als Input erlaubst)?

Gruss
M

Soeben habe ich Grange und DEC geladen und für 300 RawByteStrings die SHA3-256 Hashwerte miteinander verglichen.

DEC und Grange liefern immer den gleichen SHA3_256 Wert.

Ich habe für den Test DECHash vom 17.5. verwendet. So habe ich getestet:

Delphi-Quellcode:
uses DWSSha3, DECFormat, DECHash;

function DEC( s : RawByteString ): RawByteString;
var WE : THash_SHA3_256;
begin
  WE := THash_SHA3_256.Create; // Wem try finally und Co hier fehlen: Behalt's für dich ;-)
  Result := WE.CalcString(s, TFormat_HexL);
  WE.free;
end;


function Grange( s : RawByteString ): RawByteString;
begin
  Result := HashSHA3_256( s );
end;

procedure TForm97.Button2Click(Sender: TObject);
var okc : integer;
begin
  s := '';
  okc := 0;
  repeat
    inc( okc, integer(dec(s) = grange(s)));
    s := s + ansichar( random(256 ) );
  until length(s) >= 300;;
  showmessage( okc.ToString );
end;
Zu NIST Bit-Testvektoren: Vielleicht hilft dies (?):
Zitat:
https://cryptosys.net/manapi/api_HASH_HexFromBits.html
Dort steht:
This example uses SHA-3-256 on a 22-bit message from the NIST SHAVS-SHA3 test vectors. Note that the convention for representing bit strings in hex used by NIST is different from our big-endian convention. For more details see Notes on SHA-3.
https://cryptosys.net/manapi/api_sha3notes.html
Unter obigem Link findest du Beispiele.
In Datei NIST SHA3_256Short findest du
Len = 22
Msg = 259028
Msg muss wahrscheinlich für DEC umgewandelt werden nach (noch nicht getestet) [ALgo siehe Link oben]
Len = 22
Msg = 2590A0

und ergibt dann bei NIST wie hoffentlich bei DEC:
MD = d5863d4b1ff41551c92a9e08c52177e32376c9bd100c611c60 7db840096eb22f

Du schreibst allerdings, dass kein NIST Wert demjenigen von DEC entspricht. Für Testvektoren der Länge l, l mod 8 = 0 ist keine Umwandlung nötig; die Resultate von DEC und die tabellierten Werte von NIST sollten bereits jetzt ok sein.

Du solltest für deine TestUnit eine Funktion schreiben, welche direkt die NIST Files einlesen und durchrechnen kann. Dann schreibst du weniger Text .

Ich teste zwei NIST Vektoren der Länge l, l mod 8=0:

NIST SHA3_256Short Vektor:
Len = 24
Msg = 2c4741
MD = 90f0c2039b0d8635f7e78ab90b26306fc2b39a388a877b3cd9 58d541eba2b158
DEC liefert:
90f0c2039b0d8635f7e78ab90b26306fc2b39a388a877b3cd9 58d541eba2b158
OK!

Und LEN = 32 auch OK!
Michael Gasser

Geändert von Michael II (22. Mai 2021 um 19:23 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

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

AW: DEC Design Frage (SHA3)

  Alt 22. Mai 2021, 19:50
Danke für den Hinweis mit der Bitreihenfolge!
Das ist bestimmt das Problem!

Fühl! Hätte es vom A3 Testvektor eigentlich noch
wissen müssen...

Naja, das Konverterprogramm ist eh geplant.
Muss Mal noch überlegen wie ich die Bits andersherum
bekomme...

Grüße und frohe Pfingsten
TurboMagic
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345   


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 04:11 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