A slow and memory-intensive hash function designed for passwords

scrypt is a hash algorithm specially designed for passwords. It is based on the ideas of bcrypt.

The traditional purpose of hash functions is to sign documents or certificates. Therefore performance is one of the design goals for traditional hash functions.

As far as password hashes are concerned, however, performances is a negative property. Scrypt was designed to be slow in order to make password cracking expensive.

In addition to being expensive to calculate, it requires a significant amount of memory. The typical amount of memory available in specialized hardware is 1 KB. The default parameters of scrypt require 16 MB.

history | excerpt history