Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   SHA-3 Hashfunktion verwenden (https://www.delphipraxis.net/188373-sha-3-hashfunktion-verwenden.html)

tommy84 25. Feb 2016 11:14

SHA-3 Hashfunktion verwenden
 
Hallo,

ich würde gern die SHA-3 Hashfunktion benutzten, die seit 5. August 2015 zum Standard neben SHA-2 gilt.

Hat Embarcadero eine Implemention zur Verfügungs gestellt bzw. gibt es eine offizielle Repo für eine Implementierung?

Bisher habe ich lediglich die Wolfgang Ehrhardts gefunden, allerdings würde ich eine Implementation von einem Privatmann gern vermeiden und auf etwas "offizielles" zurückggreifen.

- Tommy

himitsu 25. Feb 2016 11:26

AW: SHA-3 Hashfunktion verwenden
 
Das ist so neu ... das kommt frühstens mit XE30 als neues Superfeature raus.

Aber es gibt ja viele Hashing- und Krypto-Komponenten für Delphi, wo das bestimmt drin ist. (Einige auch teuer zum Kaufen)

tommy84 25. Feb 2016 12:21

AW: SHA-3 Hashfunktion verwenden
 
Hört sich ja nicht so toll an :(

Ich möchte eine Hashfunktion in meiner Applikation verwenden und wollte natürlich dann die neuste verwenden.

Auf der Suche nach Hash-Libraries bin ich natürlich wie im Eingangspost schon fündig geworden, allerdings sahen die meisten Seiten nicht so seriös aus.

Könntest du eine bestimmte, wenn möglich kostengüstige oder am besten kostenfreie, Crypto-Library empfehlen?

himitsu 25. Feb 2016 13:18

AW: SHA-3 Hashfunktion verwenden
 
Mit SHA-3 fällt mir auch nix ein, aber bin da nicht ganz auf dem Laufenden.

Vor dem XPlattform-Hype hatte ich versucht lieber was direkt von Windows zu nehmen, aber die einfache API kennt nur MD4, MD5 und SHA-1.
MSDN-Library durchsuchenMD5Init MSDN-Library durchsuchenMD5Update MSDN-Library durchsuchenMD5Final
MSDN-Library durchsuchenSHAInit MSDN-Library durchsuchenSHAUpdate MSDN-Library durchsuchenSHAFinal

Und das Neue ...
MSDN-Library durchsuchenCryptAcquireContext MSDN-Library durchsuchenCryptCreateHash MSDN-Library durchsuchenCryptGetHashParam
sieht nich so aus?
https://msdn.microsoft.com/de-de/lib.../bb931357.aspx

Schon bei Torry.net und JEDI nachgesehn?
http://blog.delphi-jedi.net/security-library/

Sir Rufo 25. Feb 2016 13:41

AW: SHA-3 Hashfunktion verwenden
 
Ich würde da nicht unbedingt so ein riesen Fass von aufmachen. Wenn es noch keine Implementierung gibt, die dir genehm ist, dann nimm eben erst einmal die, die du schon hast.

Wichtig ist, dass man auch im Nachhinein die Algorithmen tauschen kann und das Salz nicht vergisst.

Am Ende hat man immer eine Byte-Folge die man aber auch um ein paar Informationen erweitern kann:
Code:
Hash-Algorithm: 1 Byte
Salt-Size.....: 1 Byte
Salt-Data.....: <Salt-Size> Bytes
Hash-Size.....: 1 Byte
Hash-Data.....: <Hash-Size> Bytes
CRC32.........: 4 Bytes

tommy84 25. Feb 2016 14:14

AW: SHA-3 Hashfunktion verwenden
 
Danke für die Links! Da werde ich mich mal reinlesen.

Ich möchte mich am Anfang schon für eine 'starke' Hashfunktion entscheiden, damit ich später nicht auf eine andere umstellen muss.

Jumpy 25. Feb 2016 14:32

AW: SHA-3 Hashfunktion verwenden
 
Zitat:

Zitat von tommy84 (Beitrag 1331349)
Ich möchte mich am Anfang schon für eine 'starke' Hashfunktion entscheiden, damit ich später nicht auf eine andere umstellen muss.

Aber wenn du dann noch viel später doch mal eine noch bessere findest, möchtest du vielleicht dann doch mal umstellen und dann ist es praktisch, wenn du Sir Rufos Rat beherzigtigt hast!

himitsu 25. Feb 2016 15:08

AW: SHA-3 Hashfunktion verwenden
 
Einfach als VARCHAR
Delphi-Quellcode:
'HASHNAME:SALT:DERHASHSTRING'
in die DB.
z.B.
Delphi-Quellcode:
'NONE::' , 'CRC32::12345678' oder 'SHA3:abc:0123456...789'


Selbst wenn du jetzt nur SHA3 implementierst und blind das Prefix 'SHA3::' vor den HashString schreibst, so hast du später immernoch alle Möglichkeiten offen.

tommy84 26. Feb 2016 09:27

AW: SHA-3 Hashfunktion verwenden
 
Habe die Seite mir mal genauer angeschaut.

Dort findet sich folgendes:

Microsoft Enhanced RSA and AES Cryptographic Provider
Implements the following algorithms to sign, encrypt, and hash content.


Name
...
Secure Hash Algorithm (SHA256) - Hashing - Any
Secure Hash Algorithm (SHA384) - Hashing - Any
Secure Hash Algorithm (SHA512) - Hashing - Any
...


SHA256, SHA384 und SHA512 werden hier nicht genauer erläutert.
Laut Wikipedia gehörten diese zur SHA-2 Familie, allerdings werden sie auch bei SHA-3 gelistet.

Hat jemand eine Idee, ob es sich hierbei um SHA-2 oder SHA-3 handelt?

Den Rat von Sir Rufo werde ich auf jeden Fall zusätzlich berücksichtigen.

Hat jemand evtl. sogar ein Beispiel für die Implementierung von dem Microsoft Enhanced RSA and AES Cryptographic Provider in Delphi?

Sir Rufo 26. Feb 2016 09:43

AW: SHA-3 Hashfunktion verwenden
 
  • SHA2 / SHA3 beschreiben den Algorithmus
  • 256 / 384 / 512 beschreiben die erzeugte Schlüssellänge


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:06 Uhr.
Seite 1 von 2  1 2      

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