<?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=Kryptologische_Hashfunktion</id>
	<title>Kryptologische Hashfunktion - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://kryptowiki.eu/index.php?action=history&amp;feed=atom&amp;title=Kryptologische_Hashfunktion"/>
	<link rel="alternate" type="text/html" href="https://kryptowiki.eu/index.php?title=Kryptologische_Hashfunktion&amp;action=history"/>
	<updated>2026-08-04T02:09:07Z</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=Kryptologische_Hashfunktion&amp;diff=1598&amp;oldid=prev</id>
		<title>C1ph4 am 17. November 2017 um 20:36 Uhr</title>
		<link rel="alternate" type="text/html" href="https://kryptowiki.eu/index.php?title=Kryptologische_Hashfunktion&amp;diff=1598&amp;oldid=prev"/>
		<updated>2017-11-17T20:36:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 17. November 2017, 22:36 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l132&quot;&gt;Zeile 132:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 132:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Douglas R. Stinson: ''Cryptography – Theory and Practice.'' Chapman&amp;amp;Hall / CRC, 2002, S.&amp;amp;nbsp;117–154.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Douglas R. Stinson: ''Cryptography – Theory and Practice.'' Chapman&amp;amp;Hall / CRC, 2002, S.&amp;amp;nbsp;117–154.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Weblinks &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Externe Links &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://ehash.iaik.tugraz.at/wiki/The_Hash_Function_Zoo Übersicht über Hash-Funktionen] (englisch)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://ehash.iaik.tugraz.at/wiki/The_Hash_Function_Zoo Übersicht über Hash-Funktionen] (englisch)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key d026f5b5-kw_:diff::1.12:old-1597:rev-1598 --&gt;
&lt;/table&gt;</summary>
		<author><name>C1ph4</name></author>
	</entry>
	<entry>
		<id>https://kryptowiki.eu/index.php?title=Kryptologische_Hashfunktion&amp;diff=1597&amp;oldid=prev</id>
		<title>C1ph4: Die Seite wurde neu angelegt: „Eine '''kryptologische Hashfunktion''' oder '''kryptographische Hashfunktion''' ist eine spezielle Form der Hashfunktion, welche Kollisionssicherheit|kol…“</title>
		<link rel="alternate" type="text/html" href="https://kryptowiki.eu/index.php?title=Kryptologische_Hashfunktion&amp;diff=1597&amp;oldid=prev"/>
		<updated>2017-11-17T20:36:27Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Eine &amp;#039;&amp;#039;&amp;#039;kryptologische Hashfunktion&amp;#039;&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;&amp;#039;kryptographische Hashfunktion&amp;#039;&amp;#039;&amp;#039; ist eine spezielle Form der &lt;a href=&quot;/index.php?title=Hashfunktion&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Hashfunktion (Seite nicht vorhanden)&quot;&gt;Hashfunktion&lt;/a&gt;, welche Kollisionssicherheit|kol…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Eine '''kryptologische Hashfunktion''' oder '''kryptographische Hashfunktion''' ist eine spezielle Form der [[Hashfunktion]], welche [[Kollisionssicherheit|kollisionsresistent]] sein sollte und nach Definition immer eine [[Einwegfunktion]] ist.&lt;br /&gt;
&lt;br /&gt;
Eine Hashfunktion ist eine Funktion, die eine Zeichenfolge beliebiger Länge auf eine Zeichenfolge mit fester Länge abbildet. Mathematisch ist diese Funktion nicht [[Injektivität|injektiv]] (linkseindeutig) und nicht notwendigerweise [[Surjektivität|surjektiv]] (rechtstotal).&lt;br /&gt;
&lt;br /&gt;
Anwendungen [[Kryptologie|kryptologischer]] Hashfunktionen sind vor allem die [[Datenverarbeitung]] zur [[Integrität (Informationssicherheit)|Integritätsprüfung]] von Dateien oder Nachrichten. Darüber hinaus werden sie eingesetzt zur Verschleierung von [[Passwort]]dateien, als Datenbasis [[Digitale Signatur|digitaler Signaturen]], als Pseudo-[[Zufallszahlengenerator]]en oder zur Konstruktion von [[Blockchiffre]]n.&lt;br /&gt;
&lt;br /&gt;
== Klassifizierung ==&lt;br /&gt;
Kryptologische Hashfunktionen werden in schlüssellose und schlüsselabhängige eingeteilt:&amp;lt;ref name=&amp;quot;HAC9&amp;quot; /&amp;gt;&lt;br /&gt;
* Schlüssellose Hashfunktionen (kurz Hashfunktionen) werden ferner unterteilt in Einweg-Hashfunktionen (englisch: One-Way Hash Function oder OWHF) und kollisionsresistente Hashfunktionen (englisch: Collision Resistant Hash Functions, CRHFs).&lt;br /&gt;
* Schlüsselabhängige Hashfunktionen werden auch [[Message Authentication Code]]s (MAC) genannt. Zu diesen zählen Konstrukte wie [[Keyed-Hash Message Authentication Code|HMAC]], CBC-MAC oder UMAC.&lt;br /&gt;
&lt;br /&gt;
Eine OWHF erfüllt folgende Bedingungen:&lt;br /&gt;
# Einwegfunktion: Es ist praktisch unmöglich, zu einem gegebenen Ausgabewert &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; einen Eingabewert &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; zu finden, den die Hashfunktion auf &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; abbildet: &amp;lt;math&amp;gt;h(x)=y&amp;lt;/math&amp;gt; (englisch: ''preimage resistance'').&lt;br /&gt;
# schwache Kollisionsresistenz: es ist praktisch unmöglich, für einen gegebenen Wert &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; einen davon verschiedenen &amp;lt;math&amp;gt;x'&amp;lt;/math&amp;gt; zu finden, der denselben Hashwert &amp;lt;math&amp;gt;h(x)=h(x')\;,\; x \ne x'&amp;lt;/math&amp;gt; ergibt (englisch: ''2nd-preimage resistance'').&lt;br /&gt;
&lt;br /&gt;
Für eine CRHF gilt zusätzlich:&lt;br /&gt;
&amp;lt;ol start=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;li&amp;gt;starke Kollisionsresistenz: es ist praktisch unmöglich, zwei verschiedene Eingabewerte &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;x'&amp;lt;/math&amp;gt; zu finden, die denselben Hashwert ergeben (englisch: ''collision resistance''). Der Unterschied zur schwachen Kollisionsresistenz besteht darin, dass hier beide Eingabewerte &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;x'&amp;lt;/math&amp;gt; frei gewählt werden dürfen.&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann zusätzlich eine Resistenz gegen Beinahe-Kollision fordern (englisch: ''near-collision resistance''). Hierbei sollte es schwierig sein, zwei verschiedene Eingabewerte &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;x'&amp;lt;/math&amp;gt; zu finden, deren Hashwerte &amp;lt;math&amp;gt;h(x)&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;h(x')&amp;lt;/math&amp;gt; sich nur in wenigen Bits unterscheiden.&lt;br /&gt;
&lt;br /&gt;
== Konstruktion ==&lt;br /&gt;
[[Datei:MerkleDamgaard.svg|mini|Die Merkle-Damgård-Konstruktion erzeugt den Hashwert aus den Nachrichtenblöcken durch wiederholte Anwendung der Kompressionsfunktion]]&lt;br /&gt;
&lt;br /&gt;
Die meisten Hashfunktionen, die vor 2010 entwickelt wurden, folgen der Merkle-Damgård-Konstruktion. In Folge des [[SHA-3]]-Wettbewerbs wurde die Merkle-Damgård-Konstruktion durch verschiedene Konstruktionsmethoden ersetzt oder erweitert.&lt;br /&gt;
&lt;br /&gt;
=== Merkle-Damgård-Verfahren ===&lt;br /&gt;
In der [[Merkle-Damgård-Konstruktion]] wird eine [[Kompressionsfunktion]] iteriert.&lt;br /&gt;
Eine Kompressionsfunktion nimmt als Eingabe zwei Bitfolgen der Längen &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; und gibt eine Bitfolge der Länge &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; aus. Zusätzlich ist sie eine [[Einwegfunktion]], es sollte also schwer sein, zu einer gegebenen Ausgabe passende Eingabewerte zu finden. Oft wird eine Blockchiffre als Kompressionsfunktion benutzt, die Eingaben werden dann als Nachricht und Schlüssel benutzt.&lt;br /&gt;
&lt;br /&gt;
Bei der Merkle-Damgård-Konstruktion wird die eingegebene Nachricht M zuerst in Blöcke fester Länge geteilt und mit zusätzlichen Bits aufgefüllt, so dass die Eingabelänge ein ganzzahliges Vielfaches der Blocklänge beträgt. Die Kompressionsfunktion hat als Input einen Nachrichtenblock und den Output der vorherigen Nachrichtenblöcke. Der Hashwert der gesamten Nachricht ist der Hashwert des letzten Blocks:&lt;br /&gt;
: &amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
H\left(0\right)  &amp;amp; = IV \\&lt;br /&gt;
H\left(i \right) &amp;amp; = f\left(M\left(i \right),H\left(i-1\right)\right), \qquad i=1,2,\dotsc,t \\&lt;br /&gt;
h\left(M \right) &amp;amp; = H(t)&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IV bezeichnet einen Startwert (''initial value'').&lt;br /&gt;
&lt;br /&gt;
Die Kompressionsfunktion kann auf verschiedene Arten konstruiert werden.&lt;br /&gt;
&lt;br /&gt;
==== Kompressionsfunktionen, die auf Bitoperationen basieren ====&lt;br /&gt;
Die Kompressionsfunktion kann speziell für eine Hashfunktion entwickelt werden und besteht dann aus einfachen Operationen direkt auf den Nachrichtenbits.&lt;br /&gt;
Zu dieser Klasse gehören z.&amp;amp;nbsp;B. die [[Message-Digest Algorithm 4|MD4]]-Familie einschließlich [[Secure Hash Algorithm|SHA]] und [[RIPEMD]].&lt;br /&gt;
&lt;br /&gt;
==== Kompressionsfunktionen, die auf einer Blockchiffre basieren ====&lt;br /&gt;
Dabei unterscheidet man Hashfunktionen, deren Hashwert dieselbe Länge hat wie die Blocklänge und jene, deren Hashwert die doppelte Blocklänge hat.&lt;br /&gt;
&lt;br /&gt;
# Hash-Länge gleich Blocklänge:&amp;lt;br /&amp;gt;Sei &amp;lt;math&amp;gt;E_K&amp;lt;/math&amp;gt; die Verschlüsselung mit einer Blockchiffre unter dem Schlüssel &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;M(i)&amp;lt;/math&amp;gt; die Nachrichtenblöcke und &amp;lt;math&amp;gt;H(i)&amp;lt;/math&amp;gt; die Ausgaben der Kompressionsfunktion. Drei verbreitete Konstruktionen sind die folgenden:&lt;br /&gt;
#* Matyas-Meyer-Oseas-Variante: &amp;lt;math&amp;gt;H(i)=E_{H(i-1)}(M(i))\oplus M(i)&amp;lt;/math&amp;gt;&lt;br /&gt;
#* Davies-Meyer-Variante: &amp;lt;math&amp;gt;H(i)=E_{M(i)}(H(i-1))\oplus H(i-1)&amp;lt;/math&amp;gt;&lt;br /&gt;
#* Miyaguchi-Preneel-Variante: &amp;lt;math&amp;gt;H(i)=E_{H(i-1)}(M(i))\oplus M(i)\oplus H(i-1)&amp;lt;/math&amp;gt;&lt;br /&gt;
# Hash-Länge mit doppelter Blocklänge: Dazu zählen MDC-2 und MDC-4. Sie bestehen im Wesentlichen aus der zwei- bzw. vierfachen Anwendung der Matyas-Meyer-Oseas-Konstruktion.&lt;br /&gt;
&lt;br /&gt;
==== Kompressionsfunktionen, die auf algebraischen Strukturen basieren ====&lt;br /&gt;
Um die Sicherheit der Kompressionsfunktion auf ein schwieriges Problem reduzieren zu können, wird deren Operation in entsprechenden algebraischen Strukturen definiert. Der Preis für die beweisbare Sicherheit ist ein Verlust an Geschwindigkeit.&lt;br /&gt;
MASH (Modular Arithmetic Secure Hash) verwendet einen RSA-ähnlichen Modulus &amp;lt;math&amp;gt;n=pq&amp;lt;/math&amp;gt;, mit &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt; Primzahlen. Die Kompressionsfunktion ist im Kern:&lt;br /&gt;
&amp;lt;math&amp;gt;H(i)=((M(i)\oplus H(i-1)\lor A)^2 \bmod\ n)\oplus H(i-1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A: Konstante,&lt;br /&gt;
&amp;lt;math&amp;gt;\oplus&amp;lt;/math&amp;gt;: [[XOR|exklusives Oder]],&lt;br /&gt;
&amp;lt;math&amp;gt;\lor&amp;lt;/math&amp;gt;: [[Disjunktion|inklusives Oder]]&lt;br /&gt;
&lt;br /&gt;
=== Sponge-Verfahren ===&lt;br /&gt;
Sponge-Konstruktionen haben grundsätzlich andere Eigenschaften als Merkle-Damgård-Konstruktionen. Der bekannteste Vertreter dieser Klasse ist [[SHA-3]].&lt;br /&gt;
&lt;br /&gt;
== Angriffe ==&lt;br /&gt;
Angriffe gegen Hashfunktionen können allgemeiner Art sein, und nur von der Bit-Länge des Hashwerts abhängen und den Hash-Algorithmus als Black-Box behandeln. Sie können sich andererseits gegen die Kompressionsfunktion richten. Bei Hashfunktionen, die auf einem Block-Chiffre basieren, kann ein Angriff gegen die zugrundeliegende Block-Chiffrierung erfolgen. Überdies sind Angriffe auf die Implementierung des Hash-Algorithmus möglich.&lt;br /&gt;
&lt;br /&gt;
=== Black-Box-Angriffe ===&lt;br /&gt;
Black-Box-Angriffe sind Angriffe auf Hashfunktionen, bei denen über die eigentliche Funktionsweise der Hashfunktion nichts bekannt ist. Lediglich die Länge des Hashwerts&amp;amp;nbsp;&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; wird als bekannt vorausgesetzt und man nimmt an, dass die Hashwerte [[Gleichverteilung|gleichverteilt]] sind.&lt;br /&gt;
&lt;br /&gt;
# Raten (englisch: ''2nd preimage''): Der Angreifer wählt zufällig eine Nachricht und vergleicht deren Hashwert mit dem einer gegebenen Nachricht. Die Erfolgsrate bei diesem Vorgehen liegt bei &amp;lt;math&amp;gt;2^{-n}&amp;lt;/math&amp;gt; für einen &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;&amp;amp;nbsp;Bit langen Hashwert.&lt;br /&gt;
# [[Kollisionsangriff]]: Der Angreifer erzeugt viele Variationen einer echten Nachricht und viele Variationen einer gefälschten Nachricht. Anschließend vergleicht er die beiden Mengen und sucht nach zwei Nachrichten, &amp;lt;math&amp;gt;v_\mathrm{echt}&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;v_\mathrm{falsch}&amp;lt;/math&amp;gt;, die den gleichen Hashwert haben. Eine Kollision ist nach &amp;lt;math&amp;gt;2^{\frac{n}{2}}&amp;lt;/math&amp;gt; Versuchen zu erwarten.&lt;br /&gt;
&lt;br /&gt;
=== Angriffe auf die Kompressionsfunktion ===&lt;br /&gt;
; [[Meet-in-the-middle-Angriff|Meet-in-the-Middle]]&lt;br /&gt;
: Der Angreifer erzeugt Variationen der ersten Hälfte einer gefälschten Nachricht und Variationen der zweiten Hälfte. Er berechnet die Hashwerte vorwärts beim Startwert IV beginnend und rückwärts vom Hash-Resultat aus und versucht eine Kollision am Angriffspunkt zu finden. Das heißt, er muss die Kompressionsfunktion effizient invertieren können: gegeben &amp;lt;math&amp;gt;H(i+1)&amp;lt;/math&amp;gt; ein Paar &amp;lt;math&amp;gt;(H(i), M(i+1))&amp;lt;/math&amp;gt; finden, so dass gilt &amp;lt;math&amp;gt;f(H(i), M(i+1))=H(i+1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
; Correcting Block Attack&lt;br /&gt;
: Der Angreifer ersetzt alle Blöcke einer Nachricht bis auf einen – etwa den ersten. Anschließend legt er diese Variable so fest, dass sie im Laufe der Verkettung den gewünschten Gesamt-Hashwert liefert.&lt;br /&gt;
; Fixed Point Attack&lt;br /&gt;
: Der Angreifer sucht nach einem &amp;lt;math&amp;gt;H(i-1)&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;M(i)&amp;lt;/math&amp;gt;, so dass &amp;lt;math&amp;gt;f(M(i), H(i-1))=H(i-1)&amp;lt;/math&amp;gt;. In diesem Fall kann er an diesem Punkt Nachrichtenblöcke einfügen, ohne den Hashwert zu ändern.&lt;br /&gt;
; Differenzielle Kryptanalyse&lt;br /&gt;
: [[Differenzielle Kryptanalyse]] ist ein Angriff auf Blockchiffriersysteme, die auf Hashfunktionen übertragen werden kann. Hierbei werden Eingabedifferenzen und die korrespondierenden Ausgabedifferenzen untersucht. Eine Differenz von Null entspricht dann einer Kollision.&lt;br /&gt;
; Boomerang Attack&lt;br /&gt;
: Der Boomerang Angriff ist eine Erweiterung der differenziellen Kryptanalyse. Er verbindet zwei unabhängige Differentialpfade zu einem Angriff.&amp;lt;ref&amp;gt;Antoine Joux, Thomas Peyrin: ''Hash Functions and the (Amplified) Boomerang Attack''. Advances in Cryptology-CRYPTO2007, LNCS4622. Springer-Verlag, 2007, S.&amp;amp;nbsp;244–263&amp;lt;/ref&amp;gt;&lt;br /&gt;
; Rebound Attack&lt;br /&gt;
: Die innere Struktur einer Hashfunktion wird als dreiteilig betrachtet, mit E=E(bw)·E(in)·E(iw). Die Inboundphase ist ein Meet-in-the-Middle-Angriff, dem vorwärts wie rückwärts eine differenzielle Kryptanalyse folgt.&amp;lt;ref&amp;gt;Florian Mendel, Christian Rechberger, Martin Schlaffer, Soren S. Thomsen: ''The Rebound Attack: Cryptanalysis of Reduced Whirlpool and Grostl''. Fast Software Encryption, LNCS5665. Springer-Verlag, 2009, S.&amp;amp;nbsp;260–276&amp;lt;/ref&amp;gt;&lt;br /&gt;
; Herding&lt;br /&gt;
: Hierbei bildet der Angreifer aus zahlreichen Zwischenwerten eine Struktur (sog. Diamond Structure). Von jeder der Zwischenwerte ausgehend kann eine Nachricht erstellt werden, die denselben Hashwert H ergibt. Bei einer gegebenen Nachricht P (preimage) sucht der Angreifer einen einzelnen Block, der an P angehängt einen der gespeicherten Zwischenwerte in der Struktur ergibt. Dann erzeugt der Angreifer eine Folge von Nachrichtenblöcken, die diesen Zwischenwert mit H verbinden.&amp;lt;ref&amp;gt;{{Literatur |Autor=John Kelsey, Tadayoshi Kohno |Titel=Herding Hash Functions and the Nostradamus Attack |Datum= |Online=[http://eprint.iacr.org/2005/281.pdf eprint.iacr.org] (PDF)}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Angriffe auf die Blockchiffrierung ===&lt;br /&gt;
Schwachstellen eines Blockchiffrierverfahrens, die, solange das Verfahren zur Verschlüsselung verwendet wird, eigentlich irrelevant sind, können bedeutende Auswirkungen haben, wenn es zur Konstruktion eines Hash-Verfahrens herangezogen wird. Diese wären z.&amp;amp;nbsp;B. schwache Schlüssel oder eine Komplementäreigenschaft.&lt;br /&gt;
&lt;br /&gt;
== Übersicht von Hashfunktionen ==&lt;br /&gt;
; [[Snefru (Hashfunktion)|Snefru]]&lt;br /&gt;
: wurde 1990 von [[Ralph Merkle]] entworfen. Der Kern der Hashfunktion ist ähnlich dem Blockchiffriersystem Khafre (Merkle). Snefru gilt als unsicher.&lt;br /&gt;
; [[N-Hash]]&lt;br /&gt;
: wurde 1990 bei Nippon Telephone and Telegraph entwickelt. Der Algorithmus ähnelt dem Blockchiffriersystem FEAL (Nippon T&amp;amp;T). N-Hash gilt als unsicher.&amp;lt;ref&amp;gt;[[Bruce Schneier]]: ''Angewandte Kryptographie.'' Addison-Wesley, 1996, S. 491–524&amp;lt;/ref&amp;gt;&lt;br /&gt;
; [[FFT-Hash]]&lt;br /&gt;
: ist eine Hashfunktion auf der Basis der [[Schnelle Fourier-Transformation|Fast-Fourier-Transformation]]. Sie wurde von Schnorr 1991 erstmals vorgestellt, aber bald geknackt.&amp;lt;ref&amp;gt;Serge Vaudenay: ''FFT-Hash is not yet Collision-free''. Advances in Cryptology-CRYPTO 92, LNCS 740. Springer-Verlag, 1993, S. 587–593.&amp;lt;/ref&amp;gt; Später folgte eine zweite Version.&amp;lt;ref&amp;gt;[[Claus-Peter Schnorr]], Serge Vaudenay: ''Parallel FFT-Hashing'', Fast Software Encryption, LNCS 809. Springer-Verlag, 1994, S. 149–156.&amp;lt;/ref&amp;gt; Sie gilt als unsicher.&lt;br /&gt;
; [[Message-Digest Algorithm 4|MD4]]&lt;br /&gt;
: wurde 1990 von [[Ronald Rivest]] entwickelt.&amp;lt;ref&amp;gt;[[Ronald L. Rivest]]: ''The MD4 Message Digest Algorithm'', Advances in Cryptology-CRYPTO 90, LNCS 537. Springer Verlag, 1991, S. 303–311.&amp;lt;/ref&amp;gt; Sie erzeugt nach drei Runden einen 128 Bit langen Hashwert. Zu Beginn wird die Länge der Nachricht auf ein ganzzahliges Vielfaches von 512 Bit gebracht. Dazu wird sie mit einer „1“ und entsprechend vielen „0“ aufgefüllt, so dass &amp;lt;math&amp;gt;M \equiv 448\pmod{512}&amp;lt;/math&amp;gt; ist. Ihr wird die Länge der ursprünglichen Nachricht in 64-Bit-Darstellung angehängt. Als Nächstes wird der Puffer initialisiert. Die Hauptschleife besteht aus drei Runden mit je 16 Schritten. Jede Runde erhält als Eingabe einen 512 Bit langen Nachrichtenblock und den 128 Bit langen Pufferinhalt. Jede Runde benutzt 16-mal eine nichtlineare Rundenfunktion. Der ausgegebene Hashwert ist die Konkatenation (Verkettung) der letzten 32-Bit-Worte im Puffer.&amp;lt;ref&amp;gt;William Stallings: ''Cryptography and Network Security.'' Prentice Hall, 1999, S. 271–297.&amp;lt;/ref&amp;gt; MD4 gilt als unsicher.&lt;br /&gt;
; [[Message-Digest Algorithm 5|MD5]]&lt;br /&gt;
: 1992 veröffentlichte Rivest ein verbessertes Hash-Verfahren, noch bevor eine ernsthafte Schwäche von MD4 aufgedeckt wurde.&amp;lt;br /&amp;gt;Die wesentlichen Veränderungen sind: MD5 hat eine vierte Runde. Die vierte Runde hat eine neue Rundenfunktion; die der zweiten Runde wurde durch eine neue Funktion ersetzt. Die additiven Konstanten wurden neu definiert.&amp;lt;br /&amp;gt;Der erste partielle Angriff auf MD5 von 1993 findet Pseudokollisionen, d.&amp;amp;nbsp;h. es können zu einem Nachrichtenblock zwei sich in nur wenigen Bits voneinander unterscheidende Verkettungsvariablen V1 und V2 gefunden werden, die denselben Output ergeben.&amp;lt;ref&amp;gt;Bert den Boer, Antoon Bosselaers: ''Collisions for the Compression Function of MD5'', Advances in Cryptology-EUROCRYPT 93, LNCS 765. Springer-Verlag, 1994, S. 293–304.&amp;lt;/ref&amp;gt; Der Angriff hat allerdings keine schwerwiegenden Konsequenzen. Ein neuer effizienter Angriff erfolgte 2005.&amp;lt;ref&amp;gt;Xiaoyun Wang, Hongbo Yu: ''How to Break MD5 and Other Hash Functions'', Advances in Cryptology-EUROCRYPT 2005, LNCS 3496. Springer-Verlag, 2005, S. 19–35.&amp;lt;/ref&amp;gt; Hierbei suchten die Autoren nach einem Nachrichtenpaar mit je zwei Blöcken, die nach Verarbeitung des zweiten Blocks eine Kollision erzeugen. MD5 gilt als unsicher.&lt;br /&gt;
; [[Secure Hash Algorithm|SHA]]&lt;br /&gt;
: Das [[National Institute of Standards and Technology|NIST]] schlug 1993 den Secure Hash Algorithm (SHA) vor. Zwei Jahre später wurde es durch SHA-1 ersetzt. SHA-1 unterscheidet sich von seinem Vorgänger nur durch eine zusätzliche 1-Bit-Rotation.&amp;lt;br /&amp;gt;Die Nachricht wird wie bei MD4 aufgefüllt. Der Puffer wird mit fünf Konstanten initialisiert. Die Hauptschleife besteht aus vier Runden mit je 20 Schritten.&amp;lt;br /&amp;gt;1998 wurde eine differentielle Analyse gegen SHA-0 und SHA-1 durchgeführt.&amp;lt;ref&amp;gt;Florent Chabaud, Antoine Joux: ''Differential Collisions in SHA-0'', Advances in Cryptology-CRYPTO 98, LNCS 1462. Springer-Verlag, 1999, S. 56–71.&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;2002 wurden vom NIST drei weitere Varianten des Algorithmus veröffentlicht, die größere Hashwerte erzeugen. Es handelt sich dabei um den SHA-256, SHA-384 und SHA-512 wobei die angefügte Zahl jeweils die Länge des Hashwerts in Bit angibt.&amp;lt;br /&amp;gt;2004 ist ein verbesserter Angriff auf SHA-0 beschrieben.&amp;lt;ref&amp;gt;[[Eli Biham]], Rafi Chen: ''Near-Collisions of SHA-0'', Advances in Cryptology-CRYPTO 2004, LNCS 3152. Springer-Verlag, 2005, S. 290–305.&amp;lt;/ref&amp;gt; Hier fanden die Autoren Beinahe-Kollisionen, sowie Kollisionen für eine auf 65 Runden reduzierte Version von SHA. Ein Jahr später berichten dieselben Autoren von einem Angriff auf die volle Rundenzahl von SHA-0 mit einer Komplexität von 2&amp;lt;sup&amp;gt;51&amp;lt;/sup&amp;gt;.&amp;lt;ref&amp;gt;Eli Biham, Rafi Chen et al.: ''Collisions of SHA-0 and Reduced SHA-1'', Advances in Cryptology-EUROCRYPTO 2005, LNCS 3494. Springer-Verlag, 2005, S. 526–541.&amp;lt;/ref&amp;gt; Im selben Jahr gelingt ein verbesserter Angriff gegen SHA-0 mit einer Komplexität von 2&amp;lt;sup&amp;gt;39&amp;lt;/sup&amp;gt; Hash-Operationen&amp;lt;ref&amp;gt;Xiaoyun Wang, Hongbo Yu, Yiqun Lisa Yin: ''Efficient Collision Search Attacks on SHA-0'', Advances in Cryptology-CRYPTO 2005, LNCS 3621. Springer-Verlag, 2006, S. 1–16.&amp;lt;/ref&amp;gt; und gegen SHA-1 mit einer Komplexität von 2&amp;lt;sup&amp;gt;69&amp;lt;/sup&amp;gt;.&amp;lt;ref&amp;gt;Xiaoyun Wang, Hongbo Yu, Yiqun Lisa Yin: ''Finding Collisions in the Full SHA-1'', Advances in Cryptology-CRYPTO 2005, LNCS 3621. Springer-Verlag, 2006, S. 17–36.&amp;lt;/ref&amp;gt; Im Februar 2017 wurde die erste Kollision für SHA-1 veröffentlicht.&amp;lt;ref&amp;gt;Marc Stevens, Elie Bursztein, Pierre Karpman, Ange Albertini, Yarik Markov. [https://shattered.io/static/shattered.pdf The first collision for full SHA-1]&amp;lt;/ref&amp;gt;&lt;br /&gt;
; [[RIPEMD]]&lt;br /&gt;
: RIPE-MD wurde 1992 im Rahmen des Projekts ''RACE Integrity Primitives Evaluation'' (RIPE) der [[Europäische Union|Europäischen Union]] entwickelt. 1996 wurde die ursprüngliche Hashwert-Länge von 128 auf 160 Bits erweitert.&amp;lt;ref&amp;gt;[[Hans Dobbertin (Kryptologe)|Hans Dobbertin]], A. Basselaers, Bart Preneel: ''RIPEMD-160:A Strengthened Version of RIPEMD'', Fast Software Encryption, LNCS 1039. Springer-Verlag, 1996, S. 71–79.&amp;lt;/ref&amp;gt; Außerdem wurden die Varianten RIPEMD-256 und RIPEMD-320 eingeführt.&amp;lt;br /&amp;gt;Die Nachricht wird wie bei MD4 aufgefüllt. Der Puffer wird mit fünf Konstanten initialisiert. Die Hauptschleife besteht aus fünf Runden mit je 16 Schritten. Der Algorithmus läuft in zwei Ausführungen parallel. Nach jedem Block werden die beiden Ausgabewerte beider Linien zu den Verkettungsvariablen addiert.&amp;lt;br /&amp;gt;Im ursprünglichen RIPEMD konnten mit einer Komplexität von &amp;lt;math&amp;gt;2^{16}&amp;lt;/math&amp;gt; Kollisionen gefunden werden,&amp;lt;ref&amp;gt;Xiaoyun Wang et al.: ''Cryptanalysis of the Hash Functions MD4 and RIPEMD'', Advances in Cryptology-EUROCRYPT 2005, LNCS 3494. Springer-Verlag, 2005, S. 1–18.&amp;lt;/ref&amp;gt; so dass es nicht verwendet werden sollte.&lt;br /&gt;
; [[HAVAL]]&lt;br /&gt;
: wurde 1992 vorgestellt und gehört ebenfalls zur MD4-Familie. Die Nachrichten werden in 1024 Bit langen Blöcken verarbeitet. Der Hashwert kann 128, 160, 192, 224 oder 256 Bit lang sein. Auch die Rundenzahl kann von drei bis fünf variieren. Jede Runde besteht aus 16 Schritten.&amp;lt;ref&amp;gt;Yuliang Zheng, Josef Pieprzyk, Jennifer Seberry: ''HAVAL-A one-way hashing algorithm with variable length of output'', AUSCRYPT 92, LNCS 718. Springer-Verlag, 1993, S. 83–104.&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;2003 konnte für HAVAL mit drei Runden Kollisionen gefunden werden. Der Angriff gelingt gegen alle möglichen Ausgabelängen. Die Komplexität entspricht dabei 2^29 Rechenschritten der Kompressionsfunktion. HAVAL sollte deswegen nicht für Applikationen verwendet werden, die Kollisionsresistenz erfordern.&amp;lt;ref&amp;gt;Bart Van Rompay, Alex Biryukov, Bart Preneel, Joos Vandewalle: ''Cryptanalysis of 3-Pass HAVAL'', Advances in Cryptology-ASIACRYPT 2003, LNCS 2894. Springer-Verlag, 2003, S. 228–245.&amp;lt;/ref&amp;gt;&lt;br /&gt;
; [[Tiger (Hashfunktion)|TIGER]]&lt;br /&gt;
: wurde 1996 von Anderson und Biham entwickelt. Nachrichtenpadding ist wie bei MD4, d.&amp;amp;nbsp;h. der Nachricht wird eine „1“ plus eine Folge von „0“, sowie die Nachrichtenlänge als ein 63-Bit-Wort angehängt. Das Resultat wird in 512 Bit lange Blöcke geteilt. Der Hashwert enthält 192 Bits. Aus Gründen der Kompatibilität sind TIGER/128 oder TIGER/160 definiert, die die ersten 128, bzw. 160 Bits von TIGER/192 verwenden.&amp;lt;ref&amp;gt;[http://www.cs.technion.ac.il/~biham/Reports/Tiger/ ''Tiger: A Fast New Hash Function''.] (Designed in 1995)&amp;lt;/ref&amp;gt;&lt;br /&gt;
; PANAMA&lt;br /&gt;
: ist von Daemen und Clapp und stammt aus 1998.&amp;lt;ref&amp;gt;[[Joan Daemen]], Craig Clapp: ''Fast Hashing and Stream Encryption with PANAMA'', Fast Software Encryption, LNCS 1372. Springer-Verlag, 1998, S. 60–74.&amp;lt;/ref&amp;gt; Es verarbeitet Nachrichtenblöcke mit 256 Bit Länge und gibt einen Hashwert mit 256 Bit aus. Der Puffer ist ein lineares Schieberegister mit 32 Zuständen mit je acht Worten.&amp;lt;br /&amp;gt;Einer der Autoren konnte Kollisionen in nur 2&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt; Auswertungen der Update-Funktion erzeugen, so dass Panama nicht als kollisionsresistent gelten kann.&amp;lt;ref&amp;gt;Joan Daemen, Gilles van Assche: ''Producing Collisions for PANAMA, Instantaneously'', Fast Software Encryption, LNCS 4593. Springer-Verlag, 2007, S. 1–18.&amp;lt;/ref&amp;gt;&lt;br /&gt;
; [[Whirlpool (Algorithmus)|Whirlpool]]&lt;br /&gt;
: wurde von Rijmen und Barreto entworfen. Es beruht auf dem Miyaguchi-Preneel-Schema.&amp;lt;br /&amp;gt;Die Nachricht wird wie bei MD4 aufgefüllt. Die aufgefüllte Nachricht wird in 512 Bit lange Blöcke geteilt. Der Hashwert ist 512 Bit lang. Whirlpool verwendet als Funktion eine [[Advanced Encryption Standard|AES]]-Variante in 10 Runden.&amp;lt;ref&amp;gt;{{Webarchiv|url=http://paginas.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html | wayback=20060408084945 | text=The WHIRLPOOL Hash Function}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
; SMASH&lt;br /&gt;
: wurde 2005 von Knudsen entwickelt. Nach dem Nachrichtenpadding zu Beginn wird die Nachricht wahlweise in 256 bzw. 512 Bit langen Blöcken verarbeitet und liefert einen 256 bzw. 512 Bit langen Hashwert. Die Hauptrunde besteht aus mehreren Runden, die H-Runden und L-Runden genannt werden. Drei verschiedene H-Runden sind definiert. Jede H-Runde enthält eine eigene S-Box (Substitutionstabelle), die an die des Blockchiffrierverfahrens [[Serpent (Verschlüsselung)|Serpent]] angelehnt sind. In der L-Runde werden Links- oder Rechtsverschiebungen durchgeführt.&amp;lt;ref&amp;gt;Lars R. Knudsen: ''SMASH-A Cryptographic Hash Function'', Fast Software Encryption, LNCS 3557. Springer-Verlag, 2005, S. 228–242.&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;SMASH wurde bald erfolgreich angegriffen und gilt als unsicher.&amp;lt;ref&amp;gt;Norbert Pramstaller, Christian Rechberger, [[Vincent Rijmen]]: ''Smashing SMASH'', Cryptology ePrint Archive Report 2005/081&amp;lt;/ref&amp;gt;&lt;br /&gt;
; FORK-256&lt;br /&gt;
: wurde beim Cryptographic Hash Workshop von Hong et al. vorgestellt.&amp;lt;ref&amp;gt;[http://csrc.nist.gov/groups/ST/hash/first_workshop.html]&amp;lt;/ref&amp;gt; Es verarbeitet 512 Bit lange Nachrichtenblöcke, unterteilt in 16 Worte, und liefert einen 256 Bit langen Hashwert. Die Hauptschleife besteht aus vier Verzweigungen und acht Schritten je Zweig. FORK-256 gilt als gebrochen.&lt;br /&gt;
; [[SHA-3]] (Keccak)&lt;br /&gt;
: Das Design-Prinzip von SHA-3 unterscheidet sich von den Hash-Funktionen der MD-Gruppe einschließlich SHA-2. Es ist eine sog. ''sponge construction'' (Schwamm-Konstruktion). Die Sponge-Construction ist eine iterative Funktion, bei der der State (Anzahl Bits im internen Zustand) größer ist als das Output (Ausgabebits). Damit sollen generische Angriffe wie etwa eine Kollision mit Komplexität unter &amp;lt;math&amp;gt;2^{n/2}&amp;lt;/math&amp;gt; abgewehrt werden.&lt;br /&gt;
; [[BLAKE (Hashfunktion)|BLAKE]]&lt;br /&gt;
: 2008 von Jean-Philippe Aumasson, Luca Henzen, Willi Meier und Raphael C.-W. Phan entwickelt; war einer der Finalisten im [[SHA-3]]-Auswahlverfahren.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Salt (Kryptologie)]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone: ''Handbook of Applied Cryptography.'' CRC Press, 1996, S.&amp;amp;nbsp;321–384.&lt;br /&gt;
* Bart Preneel: ''Cryptographic Primitives for Information Authentication – State of the Art''. State of the Art in Applied Cryptography, LNCS 1528. Springer-Verlag, 1998, S.&amp;amp;nbsp;49–104.&lt;br /&gt;
* Douglas R. Stinson: ''Cryptography – Theory and Practice.'' Chapman&amp;amp;Hall / CRC, 2002, S.&amp;amp;nbsp;117–154.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://ehash.iaik.tugraz.at/wiki/The_Hash_Function_Zoo Übersicht über Hash-Funktionen] (englisch)&lt;br /&gt;
* [http://csrc.nist.gov/groups/ST/hash/sha-3/index.html NIST-Ausschreibung] (englisch)&lt;br /&gt;
* [http://ehash.iaik.tugraz.at/wiki/The_SHA-3_Zoo Kandidaten der Hashfunktion-Ausschreibung] (englisch)&lt;br /&gt;
* [http://keccak.noekeon.org/specs_summary.html Keccak-Spezifikation]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;HAC9&amp;quot;&amp;gt;&lt;br /&gt;
{{Literatur&lt;br /&gt;
 |Autor=Alfred Menezes, Paul van Oorschot, Scott Vanstone&lt;br /&gt;
 |Titel=Handbook of Applied Cryptography&lt;br /&gt;
 |Verlag=CRC Press&lt;br /&gt;
 |Datum=1996&lt;br /&gt;
 |Kapitel=Kap. 9&lt;br /&gt;
 |Seiten=324&lt;br /&gt;
 |Online=[http://cacr.uwaterloo.ca/hac/about/chap9.pdf cacr.uwaterloo.ca] (PDF)}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Kryptologische Hashfunktion| ]]&lt;/div&gt;</summary>
		<author><name>C1ph4</name></author>
	</entry>
</feed>