W.Ehrhardt: CRC/Hash

Das GUI-Programm SRP16 sucht CRC16 Rocksoft-Parameter
für gegebene Daten-/CRC16-Sätze mit vielen Optionen (Vorschau).
Die Hauptroutine verarbeitet Poly-/Init-Bereiche mit
weiteren Kombinationen von refin-, refout– und xorout-Werten.

Lazcrc16, lazcrc32, lazgch, lazsrp16 sind die entsprechenden Lazarus-Programme.

Eine SFX-Installation der Delphi-EXE-Dateien befindet sich im Archiv
chksum_bin_2017-11-29.zip,
zum Selbstübersetzen werden die Quellcodes aus crc_hash_2018-01-01.zip benötigt.
(Die Lazarus-EXEs sind nicht enthalten, jedes ist über 16MB groß!)

FAR-Manager-Plugin

Die Basisroutinen sind in dem DLL-Plugin (Vorschau) für den beliebten FAR-Manager verwendet:

Wichige Information: 
Version 1.17 in HashCRC117.zip
ist die letzte veröffentlichte Version. Sie unterstützt vollständig
FAR 1.70 und arbeitet mit neueren FAR-Versionen, aber es kann
eventuell Unicode-Probleme mit Dateinamen geben – die Hashwerte der
(binären) Datei-Inhalte sind immer korrekt.
Die Entwicklung wurde eingestellt bis wieder zuverlässige englische
Domentationen (und Supportdateien für Pascal) vorhanden sind,
auch in den letzen ’stabilen‘ und ’nächtlichen‘ Versionen
gibt es keine englische Encyclopedia-Dateien und FarEng.hlp
enthält mehr als 30% kyrillisches(?) Gekrakel.

Besonderer Dank geht an Dmitry Yerokhin, der die russischen Übersetzungen der .hlp- und .lng-Dateien
zur Verfügung gestellt hat.

Den Quellcode für das Plugin gibt’s hier: HashCRC117_Src.zip. Zum Kompilieren wird Virtual
Pascal 2.1 bzw. Delphi 2 oder neuer sowie der Quellcode aus den
CRC/Hash-Basisroutinen benötigt (plugins.pas aus dem FAR-Manager-Paket ist im
Archiv vorhanden).

Historie: Version 1.2 splittet die SHA256-Ausgabe (um Abschneiden zu vermeiden), ist mit
Virtual Pascal kompiliert und die Berechnung kann mit Esc abgebrochen werden.
Version 1.3 arbeitet mit einer .lng-Datei für englische Texte und einem
neuen Esc-Check für Delphi. Neu in Version 1.4 sind CRC64 und Adler32.
Die Plugin-Version 1.6 kennt SHA224, SHA384 und SHA512 und zeigt nur die berechneten
Werte an (kein N/A für abgewählte Funktionen), sie ist ca. 40%
schneller als V1.5.

Version 1.7 erlaubt die Konfiguration HEX/Base64 und Groß/Kleinbuchstaben für HEX und ist
jetzt ohne Fehler kompilierbar mit D4…D7/9.
Die Basisroutinen sind mehr als 20% schneller als V1.6 (Code-Verbesserung und Delphi3-DLL).
Werte werden als LSB HEX-Strings angezeigt; CRC16, CRC32, Adler32 werden als
MSB HEX dargestellt (Indikator M in Separatorzeile, sonst L), wenn die Config-Option
Strict LSB nicht gesetzt ist. V1.7.1 ist die Version mit den SHA512-Bugfixes.

Version 1.8 hat zwei zusätzliche Buttons die Ergebnisse können in die Zwischenablage
oder in eine Datei geschrieben werden (der Dateiname erhält die zusätzliche Endung .chf).

Version 1.9 implementiert den Multi-Datei-Modus: Wenn mehrere
Dateien markiert sind, werden die Hash/CRC-Berechnungen für alle Dateien
durchgeführt und das Ergebnis in eine Datei geschrieben (das Format ist
ähnlich zur Ausgabe von CCH.). Der Dateiname ist via Dialog wählbar;
außerdem kann konfiguriert werden, ob eventuelle E/A-Fehler mit in die
Datei geschrieben werden.

Version 1.10 in unterstützt Whirlpool V3.0 und benutzt die Zeilenzahl der
FAR-Konsole zur Vermeidung des Überlaufs des Dialogfensters.
Vers. 1.11 benutzt die neue Hash-Architektur und unterstützt RIPEMD-160,
V1.12 unterstützt die in (Open)PGP und GnuPG verwendete CRC24.

Version 1.13 ist das Resultat einer Zusammenarbeit mit Giovanni Drusian. Sie enthält
eine Spezial-MD5-Behandlung für PE-Dateien (Portable Executable), die
nützlich ist für die Erkennung und Klassifizierung von Schadprogrammen (Malware).
Außerdem gibt es eine neue Konfigurations­option für die Ausgabe der
vollständigen Dateinamen (incl. Pfad) beim Schreiben in Datei oder Zwischenablage.
Version 1.14 korrigiert den Whirlpool-Fehler bei Dateigrößen über 512MB,
V1.15 enthält Anpassungen zur Vermeidung des Delphi-eof/4GB-Fehlers.
V1.16 berechnet MD4- und eDonkey/eMule-Hashwerte und hat ein geändertes
Layout für den Konfigurations-Dialog.
Version 1.17 korrigiert einen SHA512/384-Fehler bei Dateigrößen über 512MB.

Start CRC/Hash Krypto Sonstiges Links English

Keccak, SHA-3 und SHAKE

Blake2

Bob Jenkins‘ lookup3

CRC/Hash-Demoprogramme

  • Auf Benutzerwunsch gibt es die Unit
    BJL3,
    die Bob Jenkins‘ nicht-kryptographische Hashfunktion
    lookup3 implementiert (Basisfunktion wie in Delphis System.hash-Unit);
  • Noch ein Benutzerwunsch: Die [hash]file Funktionen haben jetzt
    einen string als Dateinamen-Parametertyp (str255 war ein
    Überbleibsel von alten Versionen mit DLL-kompatiblen Funktionen);
  • Aktualisierte (englische) Hash/HMAC/KDF-Einführung.
© 2018 W.Ehrhardt Letzte Änderung 18. Juni 2018
Start CRC/Hash Krypto Sonstiges Info Links English
CRC / HASH / HMAC
D3/Std D3/Std D6/Std D6/PP FPC/PP FPC-64 D18-64
Name MB/s Cyc/B Cyc/B Cyc/B Cyc/B Cyc/B Cyc/B
CRC16 200.16 8.5 8.5 33.4 44.9 16.3 14.7
CRC24 180.17 9.4 9.4 29.9 35.1 15.3 14.2
CRC32 276.51 6.1 6.1 19.7 22.3 15.2 14.2
FCRC32 389.18 4.4 4.4 19.4 17.0 5.8 5.6
Adler32 350.85 4.8 4.5 4.6 7.2 2.2 2.0
BJ lookup3 412.23 4.1 4.1 4.1 9.0 3.5 2.8
CRC64 93.06 18.2 18.3 93.2 59.8 11.4 10.3
eDonkey 208.88 8.1 8.1 8.1 23.9 7.0 8.2
MD4 206.74 8.2 8.1 8.1 23.2 7.0 8.2
MD5 151.30 11.2 11.2 11.2 44.5 10.5 10.5
RMD160 53.27 31.8 31.7 31.9 88.6 29.0 27.9
SHA1 51.27 33.1 38.1 41.7 52.6 25.8 18.7
SHA224 28.88 58.7 55.6 50.1 64.2 45.7 34.8
SHA256 28.91 58.6 55.4 50.2 64.6 45.8 34.6
SHA384 9.79 173.2 205.7 206.2 219.9 28.4 25.2
SHA512 9.77 173.4 205.7 206.4 227.6 28.5 25.1
SHA512/224 9.77 173.5 205.7 206.6 227.7 28.5 25.1
SHA512/256 9.79 173.1 205.8 206.2 219.2 28.5 25.2
Whirlpool 17.14 98.9 98.9 99.1 98.7 66.1 58.3
SHA3-224 15.20 111.5 110.7 109.4 124.1 23.6 22.5
SHA3-256 14.60 116.1 116.7 115.9 132.5 24.9 23.8
SHA3-384 10.97 154.5 151.5 149.9 173.7 32.6 30.9
SHA3-512 7.87 215.5 216.1 215.3 234.6 46.7 44.6
Blake2s-224 33.87 50.0 50.4 49.7 68.1 40.8 30.0
Blake2s-256 33.76 50.2 49.2 49.2 62.0 40.7 30.0
Blake2b-384 12.17 139.3 116.5 116.4 104.6 23.8 18.2
Blake2b-512 12.17 139.2 116.4 116.3 104.6 23.7 18.2

Vor dem Herunterladen von Software von diesen Seiten bitte diesen
rechtlichen Hinweis beachten.
Letzte Änderungen: Feb. 2006Mai 2008Aug. 2015Juni 2017T_SpeedAMD4, eDonkey/eMule:ed2kUnits SHA5_224 und SHA5_256:Int64-Unterstützung für SHA384/512:BASM16-Tabellenausrichtung:align.incPascal-Pur-Versionen:64-Bit-kompatibelNicola LugatoRocksoft™ CRC-Modellalgorithmus:crcmodelcrcm_cattcrc16/tcrc32crcm_catSRP16nicht identischSHA3_FinalBit_LSBEddyHawkBlake2sBlake2bkeine kryptographische Hashfunktion.Achtung:Letzte Änderungen: CCH.EXEGCH.EXEtcrc16/tcrc32crcm_catSHA-512/224 und SHA-512/256 können
effizientere Alternativen sein zu SHA-224 bzw. SHA-256 auf Plattformen,
die für 64-Bit-Operationen optimiert sind.
{$define PurePascal}Lizenzzlib-licensecrc_hash_2018-01-01.zipEinführunghrtimerFIPS 180-4TabelleA Painless Guide to CRC Error Detection AlgorithmsHTML-VersionCatalogue of Parameterised CRC Algorithmschksum_bin_2017-11-29.zipNISTKeccakkeccak_2013-01-07.zipStandard SHA3 / FIPS202crc_hash_2018-01-01.zipKeccakBlake2RFC 7693chksum_src_2018-06-18.zipVorschauVorschau

Nach oben scrollen