Skip to content
EntityQ7439366· pop 16· linked from 319 articles

Also known as Scrypt key derivation function

In cryptography, scrypt (pronounced "ess crypt") is a password-based key derivation function created by Colin Percival in March 2009, originally for the Tarsnap online backup service. The algorithm was specifically designed to make it costly to perform large-scale custom hardware attacks by requiring large amounts of memory. In 2016, the scrypt algorithm was published by IETF as RFC 7914. A simplified version of scrypt is used as a proof-of-work scheme by a number of cryptocurrencies, first implemented by an anonymous programmer called ArtForz in Tenebrix and followed by Fairbrix and Litecoin

In the Vinony graph

Vinony's link graph records 319 inbound references to Scrypt, and connects out to cryptocurrency, encryption and Ethereum.

Vinony files it under Cryptographic algorithms, Cryptographic hash functions and Key derivation functions.

Vinony links it to 16 Wikipedia language editions.

Key facts

Cryptographic hash function.name
scrypt
Cryptographic hash function.designers
Colin Percival
Cryptographic hash function.publish date
2009
Cryptographic hash function.digest size
variable
Cryptographic hash function.block size
variable
Cryptographic hash function.rounds
variable
Software.name
scrypt encryption utility
Software.developer
Colin Percival

via Wikipedia infobox

Article · Русский

scrypt (читается эс-крипт) — адаптивная криптографическая функция формирования ключа на основе пароля, созданная офицером безопасности FreeBSD Колином Персивалем для системы хранения резервных копий Tarsnap. Функция создана таким образом, чтобы усложнить атаку перебором при помощи ПЛИС. Для её вычисления требуется значительный объём памяти со случайным доступом. 17 сентября 2012 года алгоритм scrypt был опубликован IETF в виде , планируется его внесение в RFC. Используется, например, в качестве доказательства выполненной работы в криптовалюте Litecoin. Основанные на пароле функции формирования ключа (password-based key derivation function, PBKDF) обычно разрабатываются таким образом, чтобы требовать относительно большого времени вычисления (по порядку величины — сотни миллисекунд). При использовании легальным пользователем требуется вычислить подобную функцию один раз (например при аутентификации) и такое время допустимо. Но при проведении атаки полного перебора атакующему требуется произвести миллиарды вычислений функции и её вычислительная сложность делает атаку более медленной и дорогой. Однако ранние функции PBKDF (например PBKDF2, разработанная ) вычисляются сравнительно быстро, и их перебор может быть эффективно реализован на специализированном оборудовании (FPGA или ASIC). Такая реализация позволяет запускать масштабные параллельные атаки перебора грубой силы, например, с использованием сотен экземпляров функции в каждой микросхеме FPGA. Функция scrypt разрабатывалась с целью усложнить аппаратные реализации путём увеличения количества ресурсов, требуемых для вычисления. Данный алгоритм использует значительное количество оперативной памяти (памяти со случайным доступом) по сравнению с другими PBKDF. Память в scrypt используется для хранения большого вектора псевдослучайных битовых последовательностей, генерируемых в начале алгоритма. После создания вектора его элементы запрашиваются в псевдослучайном порядке и комбинируются друг с другом для получения ключа. Так как алгоритм генерации вектора известен, возможна реализация scrypt, не требующая памяти, а высчитывающая каждый элемент в момент обращения. Однако, вычисление элемента относительно сложно и в процессе работы функции scrypt каждый элемент считывается много раз. В scrypt заложен такой баланс между памятью и временем, что реализации, не использующие память, слишком медленны.

Abstract from DBpedia / Wikipedia · CC BY-SA

Connections

Categories