Hash/Kripto

Scrypt Hash + Verify

Parolaları scrypt ile hash'leyin (RFC 7914, memory-hard KDF), mevcut bir hash'e karşı doğrulamayla.


                    

Scrypt (RFC 7914) was one of the first memory-hard password-hashing algorithms: it deliberately requires a lot of RAM, not just CPU time, to make parallel brute-forcing on GPUs and ASICs harder.

How to use it

Common uses

Things to keep in mind

The N parameter (memory cost) increases both required memory and compute time exponentially — tune it to your server's actual capacity.

Scrypt has been superseded by Argon2 (the official Password Hashing Competition winner) as the recommended choice for new systems, though scrypt itself still isn't considered unsafe.

Bu araç hakkında makale: Scrypt: algoritma neden bu kadar çok belleğe ihtiyaç duyar

Sıkça sorulan sorular

scrypt, bcrypt veya PBKDF2'den nasıl farklıdır?

Scrypt kasıtlı olarak hem bellek açısından zorlu hem de CPU yoğundur, bu da onu esas olarak CPU tabanlı kaba kuvvete direnen bcrypt veya PBKDF2'ye kıyasla GPU'lar veya özel ASIC donanımıyla kırmayı çok daha maliyetli hale getirir.

N, r ve p parametreleri neyi kontrol eder?

N, CPU/bellek maliyetini belirler (ikinin kuvveti olmalıdır), r işlem başına bellek kullanımını etkileyen blok boyutunu belirler ve p paralelleştirmeyi belirler — herhangi birini artırmak hem meşru kullanım hem de saldırılar için kaynak maliyetini yükseltir.

Argon2'ye kıyasla scrypt hâlâ iyi bir seçim mi?

Scrypt sağlam ve sınanmış olmaya devam ediyor, ancak bellek ve yan kanal direnci üzerinde daha ince ayarlı kontrol sunduğu için yeni sistemler için genellikle Argon2 (Password Hashing Competition kazananı) önerilir.

Scrypt gerçekte ne kadar bellek tüketir?

Yaklaşık olarak tek bir hesaplama için 128 × N × r bayt. Tipik parametrelerde (N=16384, r=8) bu, tek bir hash için yaklaşık 16 megabayttır — tek bir girişte önemsizdir, ama sunucuda binlerce eşzamanlı kimlik doğrulamada önemli hale gelir.

Scrypt, parola hash'leme dışında nerede kullanılır?

Scrypt, bazı kripto paralarda (örneğin Litecoin) proof-of-work algoritması olarak bilinir — Bitcoin'in SHA-256'sında karakteristik olan özel ASIC donanımında madencilik yapmaya karşı direnci nedeniyle tam olarak bu amaçla seçilmiştir.

Makaleler: Hash/Kripto

Hash Generator: MD5, SHA-1 ve SHA-256 birbirinden nasıl farklıdır

MD5'in neden hâlâ dosya bütünlüğünü doğrulamak için kullanıldığı, ama parolalar için değil.

Checksum Verifier: bir dosyanın bozuk olmadığı nasıl kontrol edilir

Eşleşen bir sağlama toplamının bir dosyanın bütünlüğünü onayladığını ama onu kimin oluşturduğunu onaylamadığını.

HMAC: anahtarlı bir hash sıradan bir hash'ten nasıl farklıdır

Sıradan bir SHA-256'nın bir mesajın değiştirilmesine karşı neden koruma sağlamadığı, ama HMAC'in sağladığı.

Bcrypt: parolalar neden hızlı değil yavaş hash'lenir

Hızlı bir SHA-256'nın parolalar için neden kötü bir seçim olduğu, yavaş bcrypt'in ise doğru seçim olduğu.

UUID: neredeyse hiç tekrarlanmayan tanımlayıcılar nasıl üretilir

UUID v4'ün milyonlarca makinede çakışma riski olmadan bağımsız olarak neden üretilebildiği.

Parola Üreteci: bir parolayı gerçekte ne güçlü kılar

Sözlük kelimelerinden oluşan uzun bir parolanın, sembollü ve rakamlı kısa bir paroladan neden daha güçlü olduğu.

AES: simetrik şifreleme nasıl çalışır

AES'te aynı anahtarın verileri neden hem şifrelediği hem çözdüğü, ve bunun asimetrik şifrelemeden nasıl farklı olduğu.

Argon2: bu algoritma parola hash'leme yarışmasını neden kazandı

Argon2'nin GPU ile yapılan saldırılara karşı eski parola hash'leme algoritmalarından nasıl daha iyi savunma sağladığı.

TOTP: kimlik doğrulama uygulamalarındaki tek kullanımlık kodlar nasıl çalışır

Google Authenticator'daki kodun internet olmadan neden çalıştığı ve sunucuyla yalnızca zaman üzerinden neden senkronize olduğu.

PBKDF2: en eski anahtar germe standardı

Önerilen PBKDF2 iterasyon sayısının her yıl neden arttığı.

X.509: bir SSL sertifikasının içinde ne var

Tarayıcının yeşil kilidi göstermeden önce bir sitenin sertifikasında tam olarak neyi kontrol ettiği.

PGP: genel ve özel anahtarla şifreleme nasıl çalışır

Bir PGP genel anahtarının neden özgürce paylaşılabildiği ama özel anahtarın asla paylaşılmaması gerektiği.