Το Scrypt είναι μια συνάρτηση κατακερματισμού κωδικών ειδικά σχεδιασμένη για να αντιστέκεται σε επιθέσεις μαζικής ωμής βίας που χρησιμοποιούν προσαρμοσμένο υλικό.
Σε σύγκριση με το bcrypt, το scrypt απαιτεί μεγάλη ποσότητα πόρων μνήμης, γεγονός που αυξάνει σημαντικά το κόστος επιθέσεων που χρησιμοποιούν ASIC, FPGA και παρόμοιο υλικό.
Περιγραφή παραμέτρων:
• password: Ο κωδικός προς κατακερματισμό
• salt: Τιμή αλατιού για ενίσχυση της ασφάλειας
• N: Παράμετρος κόστους CPU/μνήμης (πρέπει να είναι δύναμη του 2)
• r: Παράμετρος μεγέθους μπλοκ
• p: Παράμετρος παραλληλοποίησης
• dkLen: Μήκος παραγόμενου κλειδιού (bytes)
Συνιστώμενες ρυθμίσεις: N=16384, r=8, p=1, dkLen=32. Ο κατακερματισμός είναι μονόδρομος και δεν μπορεί να αντιστραφεί για ανάκτηση του αρχικού κωδικού.