<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://kryptowiki.eu/index.php?action=history&amp;feed=atom&amp;title=Scrypt</id>
	<title>Scrypt - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://kryptowiki.eu/index.php?action=history&amp;feed=atom&amp;title=Scrypt"/>
	<link rel="alternate" type="text/html" href="https://kryptowiki.eu/index.php?title=Scrypt&amp;action=history"/>
	<updated>2026-05-12T05:19:20Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Kryptowiki - Die freie Enzyklopädie der Kryptowährungen</subtitle>
	<generator>MediaWiki 1.39.15</generator>
	<entry>
		<id>https://kryptowiki.eu/index.php?title=Scrypt&amp;diff=1490&amp;oldid=prev</id>
		<title>Herr E-Mark: Die Seite wurde neu angelegt: „{{SEITENTITEL:scrypt}} '''scrypt''' ist eine Passwort-basierte Schlüsselableitungsfunktion (''password based key derivation f…“</title>
		<link rel="alternate" type="text/html" href="https://kryptowiki.eu/index.php?title=Scrypt&amp;diff=1490&amp;oldid=prev"/>
		<updated>2017-11-09T09:18:35Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „{{SEITENTITEL:scrypt}} &amp;#039;&amp;#039;&amp;#039;scrypt&amp;#039;&amp;#039;&amp;#039; ist eine &lt;a href=&quot;/index.php?title=Passwort&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Passwort (Seite nicht vorhanden)&quot;&gt;Passwort&lt;/a&gt;-basierte &lt;a href=&quot;/index.php?title=Schl%C3%BCssel_(Kryptologie)&quot; title=&quot;Schlüssel (Kryptologie)&quot;&gt;Schlüsselableitungsfunktion&lt;/a&gt; (&amp;#039;&amp;#039;password based key derivation f…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{SEITENTITEL:scrypt}}&lt;br /&gt;
'''scrypt''' ist eine [[Passwort]]-basierte [[Schlüssel (Kryptologie)|Schlüsselableitungsfunktion]] (''password based key derivation function''), die 2010 von Colin Percival veröffentlicht wurde. Motiviert wurde die Entwicklung von scrypt durch die Verwundbarkeit bisheriger Schlüsselableitungsfunktionen wie [[bcrypt]] und [[PBKDF2]] gegen [[Brute-Force]]- und [[Wörterbuchangriff]]e mit spezialisierter Hardware.&lt;br /&gt;
&lt;br /&gt;
== Hintergrund ==&lt;br /&gt;
Passwörter selbst sind als kryptographische Schlüssel nicht geeignet. Der einfache [[Hashwert]] des Passworts verhindert zwar eine Rück-Berechnung des Passworts, schützt aber nicht vor [[Wörterbuchangriff]]en, der [[Brute-Force-Methode]] und [[Rainbow Tables]]. Passwort-basierte Schlüsselableitungsfunktionen lassen in die Schlüsselberechnung zusätzlich eine Zufallszahl, den [[Salt (Kryptologie)|Salt]], einfließen und erhöhen gezielt den Aufwand der Berechnung eines Schlüssels, um das „Durchprobieren“ vieler Möglichkeiten zu erschweren.&lt;br /&gt;
&lt;br /&gt;
Scrypt bemisst den Rechenaufwand im Gegensatz zu anderen Schlüsselableitungsfunktionen nicht nur nach der reinen Rechenzeit. Stattdessen erhöht scrypt auch gezielt die Kosten für die Hardware, die geeignet ist, um ein Passwort in einer bestimmten Zeit zu brechen (''dollar-seconds''). Dieser [[Paradigmenwechsel]] ist dem Umstand geschuldet, dass durch die Entwicklung spezialisierter Hardware wie [[FPGA]]s und [[Grafikprozessor]]en die reale Rechenzeit zur Brechung eines Passworts dramatisch verkürzt werden kann (''custom hardware attack''). Die in den Schlüsselableitungsfunktionen [[bcrypt]] und [[PBKDF2]] beabsichtigte Verlangsamung der Berechnung durch die Anzahl der [[Hashfunktion|Hash-Operationen]] (Iterationen) kann durch eine Parallelisierung des Angriffs bei Verwendung spezieller Hardware kompensiert werden.&amp;lt;ref&amp;gt;Markus Dürmuth, Tim Güneysu, Markus Kasper, Christof Paar, Tolga Yalcin, Ralf Zimmermann: ''Evaluation of Standardized Password-Based Key Derivation against Parallel Processing Platforms.'' In: Computer Security – ESORICS 2012, Springer-Verlag, Berlin Heidelberg 2012, ISBN 978-3-642-33166-4, S. 716–733.&amp;lt;/ref&amp;gt; Eine solche [[parallele Programmierung]] kann grundsätzlich nicht verhindert werden. Scrypt nutzt den Umstand aus, dass [[Arbeitsspeicher]] verhältnismäßig teuer ist, fordert einen Vektor mit (standardmäßig) 16&amp;amp;nbsp;MB an und treibt so die Kosten für den Einsatz spezialisierter Hardware in die Höhe. Diese Idee lag schon der Schlüsselableitungsfunktion HEKS&amp;lt;ref&amp;gt;Arnold Reinhold: ''[http://world.std.com/~reinhold/HEKSproposal.html HEKS: A Family of Key Stretching Algorithms]''.&amp;lt;/ref&amp;gt; zugrunde, wird aber in scrypt um die [[Sequentialisierung]] ergänzt.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Scrypt wurde von Colin Percival für die Firma [[Tarsnap]] entwickelt und im Mai 2009 auf der [[Berkeley Software Distribution|BSD]]-Konferenz präsentiert. Bereits 2012 wurde von der [[IETF]] ein Entwurf von scrypt als Internet-Draft veröffentlicht. Im August 2015 gab Colin Percival Version scrypt-1.2.0 frei.&amp;lt;ref&amp;gt;Tarsnap Mitteilung: ''[http://mail.tarsnap.com/scrypt/msg00217.html scrypt 1.2.0 released]''.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scrypt nimmt nicht an der [[Password Hashing Competition]] teil, einem Auswahlverfahren für ein neues Passwort-Hashing-Verfahren, obwohl Colin Percival als Experte daran beteiligt ist.&amp;lt;ref&amp;gt;Webseite des Password Hashing Competition: [https://password-hashing.net/index.html Introduction.] ''(englisch)''&amp;lt;/ref&amp;gt;&lt;br /&gt;
Mit Yescrypt von Alexander Peslyak nimmt jedoch ein Algorithmus teil, der nicht nur von scrypt inspiriert ist, sondern auf der Funktion aufbaut und neben yescrypt- auch originale scrypt-Hashwerte produzieren kann.&amp;lt;ref&amp;gt;Wiki der Password Hashing Competition: [https://password-hashing.net/wiki/doku.php/yescrypt yescrypt.] ''(englisch)''&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
Scrypt gilt als ''sequential memory-hard'' (sequenziell Speicher-intensiv). In der Funktion ROMix wird ein Vektor mit Werten der Funktion Salsa20/8, einer auf acht Runden verkürzten Version der [[Stromchiffre]] [[Salsa20]] gefüllt. Danach wird auf diesen in einer pseudozufälligen Weise zugegriffen und somit sichergestellt, dass der Vektor permanent im Speicher gehalten werden muss – oder die Rechenzeit sich extrem erhöht. Scrypt erlaubt die Parametrisierung der CPU-Kosten (Rechenzeit) und der Speicherkosten und hat zusätzlich einen Parallelisierungs-Parameter.&lt;br /&gt;
&lt;br /&gt;
Parameter:&amp;lt;br /&amp;gt;&lt;br /&gt;
N: CPU- und Speicherfaktor&amp;lt;br /&amp;gt;&lt;br /&gt;
r: Speicherfaktor&amp;lt;br /&amp;gt;&lt;br /&gt;
p: Parallelfaktor&amp;lt;br /&amp;gt;&lt;br /&gt;
Colin Percival empfahl bei der Veröffentlichung 2010 (N=16384, r=8, p=1) für normale Anforderungen und (N=1048576, r=8, p=1) für hohe Anforderungen. Die Parameter r und p waren dafür gedacht, mit der Zeit an die technische Entwicklung angepasst zu werden.&lt;br /&gt;
&lt;br /&gt;
== Verwendung in Kryptowährungen ==&lt;br /&gt;
Neben der Passwort-basierten Schlüsselableitung wird Scrypt auch für das sogenannte ''[[Bitcoin#Mining|Mining]]'' in [[Kryptowährung]]en wie [[Litecoin]] und [[Dogecoin]] verwendet. Das Einbringen von Rechenleistung für diese Währungen und damit die Teilhabe an Transaktionsgebühren sollte ursprünglich auf die Teilnehmenden möglichst gleich verteilt werden. Durch den Einsatz von spezieller Hardware (ASICs) ist es jedoch beispielsweise in der Kryptowährung [[Bitcoin]] zu einer Abhängigkeit der Rechenleistung von der Finanzkraft und damit zu einer Zentralisierung gekommen.&lt;br /&gt;
Währungen wie Litecoin wollten dem vorbeugen und nutzten dabei den Umstand aus, dass Scrypt aufgrund der hohen Speicheranforderung schlecht in [[Anwendungsspezifische integrierte Schaltung|ASICs]] implementiert werden kann.&amp;lt;ref&amp;gt;[https://litecoin.info/Comparison_between_Litecoin_and_Bitcoin#SHA256_mining_vs_scrypt_mining Vergleich zwischen Litecoin und Bitcoin Mining] ''(englisch)''&amp;lt;/ref&amp;gt;&lt;br /&gt;
Litecoin verwendet jedoch Scrypt mit niedrigeren Parametern (N=1024, r=1, p=1)&amp;lt;ref&amp;gt;Offizielle Litecoin-Webseite: [https://litecoin.info/block_hashing_algorithm Block hashing algorithm.] ''(englisch)''&amp;lt;/ref&amp;gt; als von Colin Percival empfohlen und daher mit wesentlich geringerer Speicheranforderung. Inzwischen sind auch für die in diesen Kryptowährungen verwendete Scrypt-Version ASICs auf dem Markt.&lt;br /&gt;
&amp;lt;ref&amp;gt;Bitcoinmagazine: [http://bitcoinmagazine.com/11125/asics-litecoin-come/ ASICS for Litecoin. Here They Come.] ''(englisch)''&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Kryptowährung Vertcoin führte daraufhin Scrypt mit variablem N-Faktor (''Adaptive N-Factor'') ein, einem Parameter, der die Speicheranforderung an die Entwicklung anpasst und so eine Implementierung in ASICs verhindern soll.&amp;lt;ref&amp;gt;David Muller: [https://vertcoin.org/Vertcoin-DavidMuller.pdf What is Vertcoin?] (pdf) ''(englisch)''&amp;lt;/ref&amp;gt;&lt;br /&gt;
Inzwischen hat Vertcoin angekündigt, Scrypt durch die Funktion [[Lyra2]] zu ersetzen, die ähnlich wie Scrypt Parameter für die Speicheranforderung und die Rechenleistung besitzt. Im Gegensatz zu Scrypt sind diese Parameter bei Lyra2 jedoch nicht aneinander gekoppelt.&amp;lt;ref&amp;gt;Coin-Brief-Mitteilung: [http://coinbrief.net/vertcoin-algorithm-change-lyra2/ Vertcoin (VTC) plans algorithm change to Lyra2.] ''(englisch)''&amp;lt;/ref&amp;gt; Die Passwort-Hashing-Funktion Lyra2 ist eine Kandidatin in der [[Password Hashing Competition]].&amp;lt;ref&amp;gt;Password Hashing Competition: {{Webarchiv | url=https://password-hashing.net/candidates.html | wayback=20150811120137 | text=Candidates.}} ''(englisch)''&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Viele kleinere Kryptowährungen wie YaCoin benutzen ''Scrypt-Jane'', eine flexible Implementierung von Scrypt (andere Hashfunktionen wie [[Keccak]] und ChaCha20/8), deren Speicheranforderung ebenfalls mit der Zeit ansteigt.&amp;lt;ref&amp;gt;[https://www.yacoin.org/tech.html About YACoin.] ''(englisch)''&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Scrypt-Jane bei GitHub: [https://github.com/floodyberry/scrypt-jane A flexible implementation of Colin Percival's scrypt] ''(englisch)''&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sicherheit ==&lt;br /&gt;
Scrypt ist relativ neu und unerprobt, gilt aber als eine Alternative zu [[bcrypt]] und [[PBKDF2]].&amp;lt;ref&amp;gt;''[https://password-hashing.net/ Einleitung]'' des Password Hashing Competition ''(englisch)''&amp;lt;/ref&amp;gt; Da sich die Sicherheit Passwort-basierter Schlüsselableitungsfunktionen in erster Linie nach deren Schutz vor [[Wörterbuchangriff]]en und der [[Brute-Force-Methode]] bemisst, motiviert die offensichtliche Verwundbarkeit anderer Funktionen dazu, auch relativ neue Funktionen wie scrypt zu verwenden.&lt;br /&gt;
&lt;br /&gt;
2013 wurde eine theoretische Schwachstelle von scrypt gegenüber einer [[Seitenkanalattacke]] durch ''cache timing'' veröffentlicht.&amp;lt;ref&amp;gt;Christian Forler, Stefan Lucks, Jakob Wenzel: ''[http://eprint.iacr.org/2013/525 Catena: A Memory-Consuming Password Scrambler].'' Cryptology ePrint Archive: Report 2013/525.&amp;lt;/ref&amp;gt; Die Passwort-abhängig unterschiedlichen Zugriffszeiten auf den Speicher-Vektor in den anschließenden Iterationen von scrypt kann unter bestimmten Umständen für ein Passwort-Sieb genutzt werden (''cache-time attack''). Die Autoren weisen darauf hin, dass ein solcher Angriff auf scrypt derzeit nur theoretisch gegeben ist.&lt;br /&gt;
&lt;br /&gt;
2014 verglichen Markus Dürmuth und Thorsten Kranz von der Ruhr-Universität Bochum die Passwort Hashing Verfahren bcrypt und Scrypt in Bezug auf Angriffe mit spezialisierter Hardware.&amp;lt;ref&amp;gt;Markus Dürmuth und Thorsten Kranz:[https://www.mobsec.rub.de/media/mobsec/veroeffentlichungen/2015/04/02/duermuth-2014-password-guessing.pdf On Password Guessing with GPUs and FPGAs.] (pdf)&amp;lt;/ref&amp;gt; Scrypt ist demnach trotz höherer Speicheranforderung für niedrige Parameter angreifbarer als bcrypt, da Scrypt mit niedrigen Parametern effizient von [[Grafikprozessor|GPUs]] ausgeführt werden kann. Eine Angreifbarkeit von Scrypt mit niedrigen Parametern durch GPUs wurde auch an anderer Stelle festgestellt.&amp;lt;ref&amp;gt;Openwall Mailingliste:[http://www.openwall.com/lists/crypt-dev/2012/09/02/1 using scrypt for user authentication.]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Anthony Ferrara:[http://blog.ircmaxell.com/2014/03/why-i-dont-recommend-scrypt.html Why I Don't Recommend Scrypt.] ircmaxell's blog&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Externe Links ==&lt;br /&gt;
* [https://www.tarsnap.com/scrypt.html scrypt-Seite von Tarsnap] (englisch)&lt;br /&gt;
* [http://tools.ietf.org/html/draft-josefsson-scrypt-kdf-01 Internet-Draft der IETF zu scrypt] (englisch)&lt;br /&gt;
* coinwiki.org: [http://coinwik.org/List_of_all_DCs List of all Coins.] Liste von Kryptowährungen. Aufgeführt sind auch die Algorithmen für das Mining.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Kryptologische Hashfunktion]]&lt;/div&gt;</summary>
		<author><name>Herr E-Mark</name></author>
	</entry>
</feed>