Argon2 gewinnt Passwort-Hashing-Wettbewerb

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Kryptografen von der Universität Luxemburg haben mit ihrem Algorithmus Argon2 den Passwort-Hashing-Wettbewerb PHC gewonnen und sich damit gegen 9 Finalisten aus insgesamt 24 Einsendungen durchgesetzt.
http://www.heise.de/newsticker/meldung/ ... 63389.html

https://password-hashing.net/

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich dachte mir, das ist doch einfach, viel Speicher zu verbraten... Aber so richtig einfach dann doch wieder nicht. Hier mal ein Versuch:

Code: Alles auswählen

#!/usr/bin/python3
# coding: UTF-8


import hashlib
import time

def not_argon2(hash_func, password, salt, rounds, multiplier):
    buffer = b""
    for _ in range(rounds):
        buffer += ( hash_func(password + salt + buffer).digest() * multiplier)

    print("Buffer length: %.2f MBytes" % (len(buffer)/1024/1024))
    return hashlib.sha224(buffer)


if __name__ == "__main__":
    print("Calculate...")

    start_time = time.time()

    hash = not_argon2(
        hash_func = hashlib.sha512,
        password = b"Not a secret password",
        salt = b"not random",
        rounds = 100,
        multiplier = 10000,
    )

    duration = time.time() - start_time
    print("Hash: %r created in: %.2fsec" % (hash.hexdigest(), duration))
Ausgabe:

Code: Alles auswählen

Calculate...
Buffer length: 61.04 MBytes
Hash: 'ac6a6fc67ed398bc97f7b42fab49b0f683e7f5cd2fbb685f373a5811' created in: 15.41sec

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten