CINXE.COM
Kryptographische Hashfunktion – Wikipedia
<!DOCTYPE html> <html class="client-nojs" lang="de" dir="ltr"> <head> <meta charset="UTF-8"> <title>Kryptographische Hashfunktion – Wikipedia</title> <script>(function(){var className="client-js";var cookie=document.cookie.match(/(?:^|; )dewikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t.",".\t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"wgRequestId":"e06e92c1-8fe6-4885-9a68-cef3f9ad1043","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Kryptographische_Hashfunktion","wgTitle":"Kryptographische Hashfunktion","wgCurRevisionId":242505523,"wgRevisionId":242505523,"wgArticleId":2749686,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null, "wgUserGroups":["*"],"wgCategories":["Kryptographische Hashfunktion"],"wgPageViewLanguage":"de","wgPageContentLanguage":"de","wgPageContentModel":"wikitext","wgRelevantPageName":"Kryptographische_Hashfunktion","wgRelevantArticleId":2749686,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRedirectedFrom":"Kryptologische_Hashfunktion","wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgFlaggedRevsParams":{"tags":{"accuracy":{"levels":1}}},"wgStableRevisionId":242505523,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"de","pageLanguageDir":"ltr","pageVariantFallbacks":"de"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgInternalRedirectTargetUrl":"/wiki/Kryptographische_Hashfunktion","wgRelatedArticlesCompat":[], "wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q477202","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.gadget.citeRef":"ready","ext.gadget.defaultPlainlinks":"ready","ext.gadget.dewikiCommonHide":"ready","ext.gadget.dewikiCommonLayout":"ready","ext.gadget.dewikiCommonStyle":"ready","ext.gadget.NavFrame":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.math.styles":"ready","skins.vector.styles.legacy":"ready", "ext.flaggedRevs.basic":"ready","mediawiki.codex.messagebox.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","codex-search-styles":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","ext.cite.ux-enhancements","mediawiki.page.media","site","mediawiki.page.ready","mediawiki.toc","skins.vector.legacy.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.flaggedRevs.advanced","ext.gadget.createNewSection","ext.gadget.WikiMiniAtlas","ext.gadget.OpenStreetMap","ext.gadget.CommonsDirekt","ext.gadget.donateLink","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints", "ext.quicksurveys.init","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=de&modules=codex-search-styles%7Cext.cite.styles%7Cext.flaggedRevs.basic%7Cext.math.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cmediawiki.codex.messagebox.styles%7Cskins.vector.styles.legacy%7Cwikibase.client.init&only=styles&skin=vector"> <script async="" src="/w/load.php?lang=de&modules=startup&only=scripts&raw=1&skin=vector"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=de&modules=ext.gadget.NavFrame%2CciteRef%2CdefaultPlainlinks%2CdewikiCommonHide%2CdewikiCommonLayout%2CdewikiCommonStyle&only=styles&skin=vector"> <link rel="stylesheet" href="/w/load.php?lang=de&modules=site.styles&only=styles&skin=vector"> <meta name="generator" content="MediaWiki 1.44.0-wmf.6"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Kryptographische Hashfunktion – Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//de.m.wikipedia.org/wiki/Kryptographische_Hashfunktion"> <link rel="alternate" type="application/x-wiki" title="Seite bearbeiten" href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (de)"> <link rel="EditURI" type="application/rsd+xml" href="//de.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://de.wikipedia.org/wiki/Kryptographische_Hashfunktion"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de"> <link rel="alternate" type="application/atom+xml" title="Atom-Feed für „Wikipedia“" href="/w/index.php?title=Spezial:Letzte_%C3%84nderungen&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Kryptographische_Hashfunktion rootpage-Kryptographische_Hashfunktion skin-vector action-view"><div id="mw-page-base" class="noprint"></div> <div id="mw-head-base" class="noprint"></div> <div id="content" class="mw-body" role="main"> <a id="top"></a> <div id="siteNotice"><!-- CentralNotice --></div> <div class="mw-indicators"> </div> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Kryptographische Hashfunktion</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">aus Wikipedia, der freien Enzyklopädie</div> <div id="contentSub"><div id="mw-content-subtitle"><span class="mw-redirectedfrom">(Weitergeleitet von <a href="/w/index.php?title=Kryptologische_Hashfunktion&redirect=no" class="mw-redirect" title="Kryptologische Hashfunktion">Kryptologische Hashfunktion</a>)</span></div></div> <div id="contentSub2"></div> <div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Zur Navigation springen</a> <a class="mw-jump-link" href="#searchInput">Zur Suche springen</a> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>Eine <b>kryptographische Hashfunktion</b> oder <b>kryptologische Hashfunktion</b> ist eine <a href="/wiki/Hashfunktion" title="Hashfunktion">Hashfunktion</a> (Streuwertfunktion), die bestimmte Eigenschaften erfüllt, mit denen sie für <a href="/wiki/Kryptographie" title="Kryptographie">kryptographische</a> Anwendungszwecke geeignet ist. Eine Hashfunktion erzeugt effizient aus einem Eingabewert, etwa einer Nachricht oder einer Datei, einen Ausgabewert fester Länge: den Hashwert. Für den kryptographischen Einsatz werden weitere Eigenschaften gefordert: eine kryptographische Hashfunktion stellt eine <a href="/wiki/Einwegfunktion" title="Einwegfunktion">Einwegfunktion</a> dar, bietet <a href="/wiki/Kollisionsresistenz" title="Kollisionsresistenz">Kollisionsresistenz</a> und erzeugt einen <a href="/wiki/Pseudozufall" title="Pseudozufall">pseudozufälligen</a> Hashwert. </p><p>Kryptographische Hashfunktionen werden zur <a href="/wiki/Integrit%C3%A4t_(Informationssicherheit)" title="Integrität (Informationssicherheit)">Integritätsprüfung</a> von Dateien oder Nachrichten eingesetzt. Dafür wird die Funktion auf die zu prüfende Datei angewendet und mit einem bekannten Hashwert verglichen. Weicht der neue Hashwert davon ab, wurde die Datei verändert.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Um zu verhindern, dass ein Angreifer sowohl Datei als auch Hashwert verändert, kann ein schlüsselbasiertes kryptographisches Verfahren eingesetzt werden, beispielsweise eine <a href="/wiki/Digitale_Signatur" title="Digitale Signatur">digitale Signatur</a> oder ein <a href="/wiki/Message_Authentication_Code" title="Message Authentication Code">Message Authentication Code</a>. Weiter dienen kryptographische Hashfunktionen zur sicheren Speicherung von <a href="/wiki/Passwort" title="Passwort">Passwörtern</a>. Wenn ein System ein eingegebenes Passwort prüft, vergleicht es dessen Hashwert mit einem in einer <a href="/wiki/Datenbank" title="Datenbank">Datenbank</a> gespeicherten Hashwert. Stimmen beide Werte überein, ist das Passwort richtig. So kann vermieden werden, das Passwort im <a href="/wiki/Klartext_(Kryptographie)" title="Klartext (Kryptographie)">Klartext</a> abzuspeichern. Ein Angreifer, der Lesezugriff auf die Datenbank hat, erlangt somit nicht das Passwort.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Außerdem können kryptographische Hashfunktionen als Pseudo-<a href="/wiki/Zufallszahlengenerator" title="Zufallszahlengenerator">Zufallszahlengeneratoren</a> und zur Konstruktion von <a href="/wiki/Blockchiffre" class="mw-redirect" title="Blockchiffre">Blockchiffren</a> eingesetzt werden. </p><p>Es gibt viele kryptographische Hashfunktionen. Einige davon, wie zum Beispiel der <a href="/wiki/Message-Digest_Algorithm_5" title="Message-Digest Algorithm 5">MD5</a> oder <a href="/wiki/SHA-1" class="mw-redirect" title="SHA-1">SHA-1</a>, gelten nicht mehr als sicher, weil sie keine starke Kollisionsresistenz (siehe Eigenschaft 6) gewährleisten. Zu den in der Praxis oft verwendeten Funktionen, die heute noch als sicher gelten, gehören die Algorithmenfamilien <a href="/wiki/SHA-2" title="SHA-2">SHA-2</a> und <a href="/wiki/SHA-3" title="SHA-3">SHA-3</a>. </p> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="de" dir="ltr"><h2 id="mw-toc-heading">Inhaltsverzeichnis</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#Eigenschaften"><span class="tocnumber">1</span> <span class="toctext">Eigenschaften</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#Klassifikation_und_Begriffe"><span class="tocnumber">2</span> <span class="toctext">Klassifikation und Begriffe</span></a></li> <li class="toclevel-1 tocsection-3"><a href="#Konstruktion"><span class="tocnumber">3</span> <span class="toctext">Konstruktion</span></a> <ul> <li class="toclevel-2 tocsection-4"><a href="#Merkle-Damgård-Verfahren"><span class="tocnumber">3.1</span> <span class="toctext">Merkle-Damgård-Verfahren</span></a> <ul> <li class="toclevel-3 tocsection-5"><a href="#Blockchiffre-basierte_Kompressionsfunktionen"><span class="tocnumber">3.1.1</span> <span class="toctext">Blockchiffre-basierte Kompressionsfunktionen</span></a></li> <li class="toclevel-3 tocsection-6"><a href="#Kompressionsfunktionen,_die_auf_algebraischen_Strukturen_basieren"><span class="tocnumber">3.1.2</span> <span class="toctext">Kompressionsfunktionen, die auf algebraischen Strukturen basieren</span></a></li> </ul> </li> <li class="toclevel-2 tocsection-7"><a href="#Sponge-Verfahren"><span class="tocnumber">3.2</span> <span class="toctext">Sponge-Verfahren</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-8"><a href="#Angriffe"><span class="tocnumber">4</span> <span class="toctext">Angriffe</span></a> <ul> <li class="toclevel-2 tocsection-9"><a href="#Black-Box-Angriffe"><span class="tocnumber">4.1</span> <span class="toctext">Black-Box-Angriffe</span></a></li> <li class="toclevel-2 tocsection-10"><a href="#Angriffe_auf_die_Kompressionsfunktion"><span class="tocnumber">4.2</span> <span class="toctext">Angriffe auf die Kompressionsfunktion</span></a></li> <li class="toclevel-2 tocsection-11"><a href="#Angriffe_auf_die_Blockchiffrierung"><span class="tocnumber">4.3</span> <span class="toctext">Angriffe auf die Blockchiffrierung</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-12"><a href="#Übersicht_von_Hashfunktionen"><span class="tocnumber">5</span> <span class="toctext">Übersicht von Hashfunktionen</span></a></li> <li class="toclevel-1 tocsection-13"><a href="#Siehe_auch"><span class="tocnumber">6</span> <span class="toctext">Siehe auch</span></a></li> <li class="toclevel-1 tocsection-14"><a href="#Literatur"><span class="tocnumber">7</span> <span class="toctext">Literatur</span></a></li> <li class="toclevel-1 tocsection-15"><a href="#Weblinks"><span class="tocnumber">8</span> <span class="toctext">Weblinks</span></a></li> <li class="toclevel-1 tocsection-16"><a href="#Einzelnachweise"><span class="tocnumber">9</span> <span class="toctext">Einzelnachweise</span></a></li> </ul> </div> <div class="mw-heading mw-heading2"><h2 id="Eigenschaften">Eigenschaften</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=1" title="Abschnitt bearbeiten: Eigenschaften" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=1" title="Quellcode des Abschnitts bearbeiten: Eigenschaften"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Eine kryptographische Hashfunktion weist folgende Eigenschaften auf:<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-stallings2017_4-0" class="reference"><a href="#cite_note-stallings2017-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> </p> <ol><li>Beliebige Eingabelänge: Die Hashfunktion verarbeitet beliebig lange <a href="/wiki/Daten" title="Daten">Daten</a>, also eine beliebige Folge von <a href="/wiki/Bit" title="Bit">Bits</a> oder <a href="/wiki/Byte" title="Byte">Bytes</a>.</li> <li>Feste Ausgabelänge: Die Hashfunktion erzeugt einen Hashwert fester Länge (beispielsweise 256 Bits).</li> <li>Effizienz: Die Berechnung des Hashwerts <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle h(x)=y}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mi>y</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h(x)=y}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3f58e9cd73e4c5f80d79fdd22b1ab686e6e2026a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.732ex; height:2.843ex;" alt="{\displaystyle h(x)=y}"></span> ist effizient für beliebige Eingaben <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}"></span>.</li> <li><a href="/wiki/Einwegfunktion" title="Einwegfunktion">Einwegfunktion</a> (auch Urbild-Resistenz, englisch <span lang="en"><i>preimage resistance</i></span>): Es ist praktisch unmöglich, zu einem gegebenen Ausgabewert <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle y}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>y</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle y}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b8a6208ec717213d4317e666f1ae872e00620a0d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.155ex; height:2.009ex;" alt="{\displaystyle y}"></span> einen Eingabewert <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}"></span> zu finden, den die Hashfunktion auf <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle y}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>y</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle y}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b8a6208ec717213d4317e666f1ae872e00620a0d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.155ex; height:2.009ex;" alt="{\displaystyle y}"></span> abbildet: <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle h(x)=y}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mi>y</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h(x)=y}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3f58e9cd73e4c5f80d79fdd22b1ab686e6e2026a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.732ex; height:2.843ex;" alt="{\displaystyle h(x)=y}"></span>.</li> <li>Schwache <a href="/wiki/Kollisionsresistenz" title="Kollisionsresistenz">Kollisionsresistenz</a> (englisch <span lang="en"><i>weak collision resistance</i></span>, oder auch Zweites-Urbild-Resistenz, englisch <span lang="en"><i>second preimage resistance</i></span>): Es ist praktisch unmöglich, für einen gegebenen Eingabewert <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}"></span> einen davon verschiedenen Eingabewert <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x'}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>x</mi> <mo>′</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x'}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0ac74959896052e160a5953102e4bc3850fe93b2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.014ex; height:2.509ex;" alt="{\displaystyle x'}"></span> zu finden, der denselben Hashwert ergibt: <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle h(x)=h(x')\;,\;x\neq x'}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mi>h</mi> <mo stretchy="false">(</mo> <msup> <mi>x</mi> <mo>′</mo> </msup> <mo stretchy="false">)</mo> <mspace width="thickmathspace" /> <mo>,</mo> <mspace width="thickmathspace" /> <mi>x</mi> <mo>≠<!-- ≠ --></mo> <msup> <mi>x</mi> <mo>′</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h(x)=h(x')\;,\;x\neq x'}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/eee4c0575d948597145a83271b7403eb8f64b740" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:21.506ex; height:3.009ex;" alt="{\displaystyle h(x)=h(x')\;,\;x\neq x'}"></span>.</li> <li>Starke Kollisionsresistenz (englisch <span lang="en"><i>strong collision resistance</i></span>): Es ist praktisch unmöglich, ein beliebiges Paar von zwei verschiedenen Eingabewerten <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}"></span> und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x'}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>x</mi> <mo>′</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x'}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0ac74959896052e160a5953102e4bc3850fe93b2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.014ex; height:2.509ex;" alt="{\displaystyle x'}"></span> zu finden, die denselben Hashwert ergeben. Der Unterschied zur schwachen Kollisionsresistenz besteht darin, dass hier beide Eingabewerte <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}"></span> und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x'}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>x</mi> <mo>′</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x'}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0ac74959896052e160a5953102e4bc3850fe93b2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.014ex; height:2.509ex;" alt="{\displaystyle x'}"></span> frei gewählt werden dürfen.</li> <li><a href="/wiki/Pseudozufall" title="Pseudozufall">Pseudozufälligkeit</a>: Die Ausgabe der Hashfunktion ist zwar deterministisch, aber scheinbar zufällig. Statistische Tests können die Ausgabe der Hashfunktion nicht von einem nicht-deterministischen, statistisch gleichverteilten <a href="/wiki/Zufallszahlengenerator" title="Zufallszahlengenerator">Zufallszahlengenerator</a> unterscheiden.</li></ol> <p>Die ersten drei Eigenschaften sind erforderlich für die praktische Verwendbarkeit einer Hashfunktion. Mathematisch stellt eine Hashfunktion eine <a href="/wiki/Funktion_(Mathematik)" title="Funktion (Mathematik)">Abbildung</a> von einer großen <a href="/wiki/Definitionsmenge" title="Definitionsmenge">Definitionsmenge</a> auf eine kleinere <a href="/wiki/Zielmenge" title="Zielmenge">Zielmenge</a> dar, wodurch die Abbildung nicht <a href="/wiki/Injektivit%C3%A4t" class="mw-redirect" title="Injektivität">injektiv</a> ist. Daraus ergibt sich notwendigerweise die Existenz von Kollisionen, also Paaren von Eingabewerten, die denselben Hashwert ergeben.<sup id="cite_ref-HAC9_5-0" class="reference"><a href="#cite_note-HAC9-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Die Kollisionsresistenz einer kryptographischen Hashfunktion besteht darin, dass es nur unter einem unrealistisch hohen <a href="/wiki/Rechenaufwand" class="mw-redirect" title="Rechenaufwand">Rechenaufwand</a> möglich ist, eine solche Kollision zu berechnen. Somit ist es zwar theoretisch möglich, aber praktisch unrealistisch. </p><p>Die Sicherheit einer kryptographischen Hashfunktion hängt von den letzten vier Eigenschaften ab. Die Eigenschaft der Pseudozufälligkeit wird in der Literatur nicht immer explizit genannt, ist aber notwendige Voraussetzung für die Einwegeigenschaft und Kollisionsresistenz sowie für Anwendungszwecke wie beispielsweise <a href="/wiki/Schl%C3%BCsselableitung" title="Schlüsselableitung">Schlüsselableitung</a>.<sup id="cite_ref-stallings2017_4-1" class="reference"><a href="#cite_note-stallings2017-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Eine weitere mögliche Eigenschaft ist die Resistenz gegen Beinahe-Kollisionen (englisch <span lang="en"><i>near-collision resistance</i></span>). Hierbei soll es praktisch unmöglich sein, zwei verschiedene Eingabewerte <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}"></span> und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x'}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>x</mi> <mo>′</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x'}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0ac74959896052e160a5953102e4bc3850fe93b2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.014ex; height:2.509ex;" alt="{\displaystyle x'}"></span> zu finden, deren Hashwerte <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle h(x)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h(x)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/02c07825dae28705df03d15daeb8844d49c4dbd4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.478ex; height:2.843ex;" alt="{\displaystyle h(x)}"></span> und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle h(x')}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo stretchy="false">(</mo> <msup> <mi>x</mi> <mo>′</mo> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h(x')}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/df0abf2e9db399fe0ea51d7514623990e990834d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.163ex; height:3.009ex;" alt="{\displaystyle h(x')}"></span> sich nur in wenigen Bits unterscheiden. </p> <div class="mw-heading mw-heading2"><h2 id="Klassifikation_und_Begriffe">Klassifikation und Begriffe</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=2" title="Abschnitt bearbeiten: Klassifikation und Begriffe" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=2" title="Quellcode des Abschnitts bearbeiten: Klassifikation und Begriffe"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Hashfunktionen können in schlüssellose und schlüsselabhängige Hashfunktionen eingeteilt werden. Eine schlüssellose Hashfunktion erhält nur die Nachricht als Eingabewert, während eine schlüsselabhängige Hashfunktion neben der Nachricht einen geheimen Schlüssel als zweiten Eingabewert erhält. Nach ihrem Einsatzzweck wird eine schlüssellose Hashfunktion auch <i>Modification Detection Code</i> und eine schlüsselabhängige Hashfunktion <a href="/wiki/Message_Authentication_Code" title="Message Authentication Code">Message Authentication Code</a> (MAC) genannt.<sup id="cite_ref-HAC9_5-1" class="reference"><a href="#cite_note-HAC9-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Zu den MACs zählen Konstrukte wie <a href="/wiki/Keyed-Hash_Message_Authentication_Code" class="mw-redirect" title="Keyed-Hash Message Authentication Code">HMAC</a>, <a href="/wiki/CBC-MAC" class="mw-redirect" title="CBC-MAC">CBC-MAC</a> oder UMAC. </p><p>Die schlüssellosen Hashfunktionen werden ferner unterteilt in Einweg-Hashfunktionen (englisch <span lang="en">One-Way Hash Function</span>, kurz OWHF) und kollisionsresistente Hashfunktionen (englisch <span lang="en">Collision Resistant Hash Function</span>, kurz CRHF). Eine Einweg-Hashfunktionen erfüllt die Einwegeigenschaft und schwache Kollisionsresistenz, während eine kollisionsresistente Hashfunktion zusätzlich die starke Kollisionsresistenz erfüllt.<sup id="cite_ref-HAC9_5-2" class="reference"><a href="#cite_note-HAC9-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p><p><span id="Fingerprint"></span><span id="Message_Digest"></span> Der Hashwert wird auch <span lang="en"><a href="/wiki/Fingerprint_(Hashfunktion)" class="mw-redirect" title="Fingerprint (Hashfunktion)">Fingerprint</a></span> genannt (<a href="/wiki/Englische_Sprache" title="Englische Sprache">englisch</a> für ‚Fingerabdruck‘), da er eine Nachricht oder Datei nahezu eindeutig identifiziert. Ein anderer Begriff für den Hashwert ist <span lang="en"><i>message digest</i></span> (<a href="/wiki/Englische_Sprache" title="Englische Sprache">englisch</a> für ‚Nachrichten-Kurzfassung‘). </p> <div class="mw-heading mw-heading2"><h2 id="Konstruktion">Konstruktion</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=3" title="Abschnitt bearbeiten: Konstruktion" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=3" title="Quellcode des Abschnitts bearbeiten: Konstruktion"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Die meisten kryptographischen Hashfunktionen teilen die zu hashende Nachricht in Abschnitte gleicher Länge <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>m</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle m}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.04ex; height:1.676ex;" alt="{\displaystyle m}"></span>, die <a href="/wiki/Iteration" title="Iteration">nacheinander</a> in einen Datenblock der Länge <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}"></span> eingearbeitet werden. Die Nachricht wird ggfs. auf ein Vielfaches von <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>m</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle m}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.04ex; height:1.676ex;" alt="{\displaystyle m}"></span> <a href="/wiki/Padding_(Informatik)" title="Padding (Informatik)">verlängert</a>, wobei oft auch eine Kodierung der Länge der Ausgangsnachricht angefügt wird. Es gibt eine Verkettungsfunktion, die einen Nachrichtenabschnitt und den aktuellen Wert des Datenblocks als Eingabe erhält und den nächsten Wert des Datenblocks berechnet. Manche Hashalgorithmen sehen noch weitere Eingaben in die Verkettungsfunktion vor, zum Beispiel die Zahl der bis dahin verarbeiteten Nachrichtenblöcke oder -bits, siehe etwa das <a href="/wiki/HAIFA_(kryptologisches_Verfahren)" title="HAIFA (kryptologisches Verfahren)">HAIFA-Verfahren</a>. Die Größe des Datenblocks beträgt typischerweise 128 bis 512 <a href="/wiki/Bit" title="Bit">Bit</a>, teils auch mehr, bei <a href="/wiki/SHA-3" title="SHA-3">SHA-3</a> z. B. 1600 Bit. Nach Verarbeitung des letzten Nachrichtenabschnitts wird der Hashwert dem Datenblock entnommen, teils wird zuvor noch eine Finalisierungsfunktion darauf angewandt. </p><p>Die Verkettungsfunktion ist nach den Prinzipien der <a href="/wiki/Konfusion_(Kryptologie)" title="Konfusion (Kryptologie)">Konfusion</a> und der <a href="/wiki/Diffusion_(Kryptologie)" title="Diffusion (Kryptologie)">Diffusion</a> entworfen, um zu erreichen, dass man nicht durch gezielte Konstruktion der eingegebenen Nachrichtenabschnitte zwei verschiedene Nachrichten erzeugen kann, die den gleichen Hashwert ergeben (Kollisionssicherheit). </p> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/Datei:MerkleDamgaard.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/ac/MerkleDamgaard.svg/220px-MerkleDamgaard.svg.png" decoding="async" width="220" height="59" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/ac/MerkleDamgaard.svg/330px-MerkleDamgaard.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/ac/MerkleDamgaard.svg/440px-MerkleDamgaard.svg.png 2x" data-file-width="333" data-file-height="90" /></a><figcaption>Die Merkle-Damgård-Konstruktion erzeugt den Hashwert aus den Nachrichtenblöcken durch wiederholte Anwendung der Kompressionsfunktion</figcaption></figure> <p>Die meisten Hashfunktionen, die vor 2010 entwickelt wurden, folgen der Merkle-Damgård-Konstruktion. Im Zuge des <a href="/wiki/SHA-3" title="SHA-3">SHA-3</a>-Wettbewerbs wurde diese Konstruktion durch verschiedene weitere Methoden ergänzt oder modifiziert. </p> <div class="mw-heading mw-heading3"><h3 id="Merkle-Damgård-Verfahren"><span id="Merkle-Damg.C3.A5rd-Verfahren"></span>Merkle-Damgård-Verfahren</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=4" title="Abschnitt bearbeiten: Merkle-Damgård-Verfahren" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=4" title="Quellcode des Abschnitts bearbeiten: Merkle-Damgård-Verfahren"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In der <a href="/wiki/Merkles_Meta-Verfahren" title="Merkles Meta-Verfahren">Merkle-Damgård-Konstruktion</a> wird eine Kompressionsfunktion als Verkettungsfunktion genutzt, die kollisionssicher ist, d. h. es ist schwer, verschiedene Eingaben zu finden, die die gleiche Ausgabe liefern. Daraus ergibt sich auch die Eigenschaft einer <a href="/wiki/Einwegfunktion" title="Einwegfunktion">Einwegfunktion</a>, d. h. man kann nur schwer zu einer gegebenen Ausgabe einen passenden Eingabewert finden. Die Kompressionsfunktion kann auf verschiedene Arten dargestellt werden, oft wird sie aus einer Blockchiffre konstruiert. </p><p>Bei der Merkle-Damgård-Konstruktion wird die eingegebene Nachricht <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>M</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f82cade9898ced02fdd08712e5f0c0151758a0dd" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.442ex; height:2.176ex;" alt="{\displaystyle M}"></span> zuerst erweitert und dabei auch eine Kodierung der Nachrichtenlänge angefügt. Dann wird sie in Blöcke <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M_{1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M_{1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/577d686fc81d1d1eb3ae54e78aeee8957baf6718" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.308ex; height:2.509ex;" alt="{\displaystyle M_{1}}"></span> bis <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M_{t}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>t</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M_{t}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5e5dc8a427dde512f6e6ad2bc77738872d234c18" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.08ex; height:2.509ex;" alt="{\displaystyle M_{t}}"></span> der Länge <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>m</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle m}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.04ex; height:1.676ex;" alt="{\displaystyle m}"></span> geteilt. Die Kompressionsfunktion <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f:\{0,1\}^{m+n}\rightarrow \{0,1\}^{n}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo>:</mo> <mo fence="false" stretchy="false">{</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <msup> <mo fence="false" stretchy="false">}</mo> <mrow class="MJX-TeXAtom-ORD"> <mi>m</mi> <mo>+</mo> <mi>n</mi> </mrow> </msup> <mo stretchy="false">→<!-- → --></mo> <mo fence="false" stretchy="false">{</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <msup> <mo fence="false" stretchy="false">}</mo> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f:\{0,1\}^{m+n}\rightarrow \{0,1\}^{n}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c3d4d358dc8fef31150d97efd3ee32717bfaef50" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:23.356ex; height:3.009ex;" alt="{\displaystyle f:\{0,1\}^{m+n}\rightarrow \{0,1\}^{n}}"></span> erhält einen Nachrichtenblock und den Verkettungsblock als Eingabe und gibt den nächsten Verkettungsblock aus. IV bezeichnet einen konstanten Startwert für den Verkettungsblock (<i>initial value</i>). Der Wert des letzten Blocks <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H_{t}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>t</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle H_{t}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5e33c7739bb90406c5b8dd53d3f9cb82b071ac2b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.757ex; height:2.509ex;" alt="{\displaystyle H_{t}}"></span> ist das Resultat, also der Hashwert der Nachricht <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>M</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f82cade9898ced02fdd08712e5f0c0151758a0dd" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.442ex; height:2.176ex;" alt="{\displaystyle M}"></span>: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}H_{0}&=IV\\H_{i}&=f\left(M_{i},H_{i-1}\right),\qquad i=1,2,\dotsc ,t\\h\left(M\right)&=H_{t}\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>I</mi> <mi>V</mi> </mtd> </mtr> <mtr> <mtd> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <mspace width="2em" /> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>…<!-- … --></mo> <mo>,</mo> <mi>t</mi> </mtd> </mtr> <mtr> <mtd> <mi>h</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> </mtd> <mtd> <mi></mi> <mo>=</mo> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>t</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}H_{0}&=IV\\H_{i}&=f\left(M_{i},H_{i-1}\right),\qquad i=1,2,\dotsc ,t\\h\left(M\right)&=H_{t}\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/2b72e204315da7b9abb78499721d73ab2a3073fc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:41.565ex; height:9.176ex;" alt="{\displaystyle {\begin{aligned}H_{0}&=IV\\H_{i}&=f\left(M_{i},H_{i-1}\right),\qquad i=1,2,\dotsc ,t\\h\left(M\right)&=H_{t}\end{aligned}}}"></span></dd></dl> <div class="mw-heading mw-heading4"><h4 id="Blockchiffre-basierte_Kompressionsfunktionen">Blockchiffre-basierte Kompressionsfunktionen</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=5" title="Abschnitt bearbeiten: Blockchiffre-basierte Kompressionsfunktionen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=5" title="Quellcode des Abschnitts bearbeiten: Blockchiffre-basierte Kompressionsfunktionen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Die Kompressionsfunktion <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/132e57acb643253e7810ee9702d9581f159a1c61" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.279ex; height:2.509ex;" alt="{\displaystyle f}"></span> wird aus einer Blockverschlüsselung <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle E}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>E</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle E}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4232c9de2ee3eec0a9c0a19b15ab92daa6223f9b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.776ex; height:2.176ex;" alt="{\displaystyle E}"></span> konstruiert. <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle E_{K}(x)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>E</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>K</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle E_{K}(x)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/1dd7b7805eefcdb8a5669d1d48823cd3549d25c9" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.547ex; height:2.843ex;" alt="{\displaystyle E_{K}(x)}"></span> soll die Verschlüsselung von <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}"></span> mit der Blockchiffre <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle E}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>E</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle E}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4232c9de2ee3eec0a9c0a19b15ab92daa6223f9b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.776ex; height:2.176ex;" alt="{\displaystyle E}"></span> unter dem Schlüssel <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle K}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>K</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle K}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/2b76fce82a62ed5461908f0dc8f037de4e3686b0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.066ex; height:2.176ex;" alt="{\displaystyle K}"></span> bezeichnen. <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \oplus }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo>⊕<!-- ⊕ --></mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \oplus }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8b16e2bdaefee9eed86d866e6eba3ac47c710f60" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:1.808ex; height:2.176ex;" alt="{\displaystyle \oplus }"></span> steht für das <a href="/wiki/Bitweiser_Operator#XOR" title="Bitweiser Operator">bitweise XOR</a>. Wie oben sind <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M_{i}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M_{i}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/eda8fd06f1cd5de22ed07385a0f8aa19773b2de9" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.054ex; height:2.509ex;" alt="{\displaystyle M_{i}}"></span> die Nachrichtenblöcke und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H_{i}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle H_{i}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7bd0312f590cc5a400008938f3cc304d42ad3986" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.731ex; height:2.509ex;" alt="{\displaystyle H_{i}}"></span> die Werte des Verkettungsblocks. Einige verbreitete Kompressionsfunktionen sind: </p><p><i>Davies-Meyer</i> (wird unter anderem in <a href="/wiki/MD4" class="mw-redirect" title="MD4">MD4</a>, <a href="/wiki/MD5" class="mw-redirect" title="MD5">MD5</a> und <a href="/wiki/Secure_Hash_Algorithm" title="Secure Hash Algorithm">SHA</a> verwendet) verschlüsselt den Verkettungsblock mit dem Nachrichtenabschnitt als Schlüssel, der Schlüsseltext wird dann noch mit dem Verkettungsblock verknüpft, typisch per <a href="/wiki/Bitweiser_Operator#XOR" title="Bitweiser Operator">XOR</a>: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H_{i}=E_{M_{i}}(H_{i-1})\oplus H_{i-1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>E</mi> <mrow class="MJX-TeXAtom-ORD"> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> <mo>⊕<!-- ⊕ --></mo> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle H_{i}=E_{M_{i}}(H_{i-1})\oplus H_{i-1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/aff4f5be8bbb09cb4e60c92de69581d8160dcac0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:24.308ex; height:3.009ex;" alt="{\displaystyle H_{i}=E_{M_{i}}(H_{i-1})\oplus H_{i-1}}"></span>.</dd></dl> <p><i>Matyas-Meyer-Oseas</i> verschlüsselt umgekehrt den Nachrichtenabschnitt mit dem Verkettungsblock. Dabei dient die Funktion <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>g</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle g}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d3556280e66fe2c0d0140df20935a6f057381d77" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.116ex; height:2.009ex;" alt="{\displaystyle g}"></span> zur Anpassung der Blockgrößen und ist häufig die <a href="/wiki/Identische_Abbildung" title="Identische Abbildung">Identität</a>: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H_{i}=E_{g(H_{i-1})}(M_{i})\oplus M_{i}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>E</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>g</mi> <mo stretchy="false">(</mo> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>⊕<!-- ⊕ --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle H_{i}=E_{g(H_{i-1})}(M_{i})\oplus M_{i}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/61af9941881ee3cd0d2c6c1dea26ef2b3c6ae13c" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:24.298ex; height:3.176ex;" alt="{\displaystyle H_{i}=E_{g(H_{i-1})}(M_{i})\oplus M_{i}}"></span>.</dd></dl> <p><i>Miyaguchi-Preneel</i> ist sehr ähnlich wie Matyas-Meyer-Oseas, nur wird auch der Verkettungsblock mit dem Schlüsseltext verknüpft: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H_{i}=E_{g(H_{i-1})}(M_{i})\oplus M_{i}\oplus H_{i-1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>E</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>g</mi> <mo stretchy="false">(</mo> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>⊕<!-- ⊕ --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>⊕<!-- ⊕ --></mo> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle H_{i}=E_{g(H_{i-1})}(M_{i})\oplus M_{i}\oplus H_{i-1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b0e20b9173bb1e59f547636d94253dc34b44d255" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:31.97ex; height:3.176ex;" alt="{\displaystyle H_{i}=E_{g(H_{i-1})}(M_{i})\oplus M_{i}\oplus H_{i-1}}"></span>.</dd></dl> <p><i>Hirose</i> nutzt einen Verkettungsblock von der doppelten Breite eines Klar- bzw. Schlüsseltextblocks der Blockchiffre. <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle G_{i},H_{i}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle G_{i},H_{i}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/dc621e399cdc85eff448c29dd390d896718edcaa" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.391ex; height:2.509ex;" alt="{\displaystyle G_{i},H_{i}}"></span> bezeichnen je eine Hälfte des Verkettungsblocks. Hier ist <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>g</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle g}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d3556280e66fe2c0d0140df20935a6f057381d77" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.116ex; height:2.009ex;" alt="{\displaystyle g}"></span> eine <a href="/wiki/Fixpunkt_(Mathematik)" title="Fixpunkt (Mathematik)">fixpunktfreie</a> Funktion, die simpel gehalten werden kann, es genügt z. B. nur ein Bit zu invertieren. <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \|}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \|}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e255cbbb457d7ea0755f9ef09aeaf29995e5d980" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:1.162ex; height:2.843ex;" alt="{\displaystyle \|}"></span> bezeichnet die <a href="/wiki/Wort_(theoretische_Informatik)#Konkatenation" title="Wort (theoretische Informatik)">Konkatenation</a>, d. h. das Aneinanderfügen zweier Bitblöcke: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle G_{i}=E_{H_{i-1}\|M_{i}}(G_{i-1})\oplus G_{i-1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>E</mi> <mrow class="MJX-TeXAtom-ORD"> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> <mo>⊕<!-- ⊕ --></mo> <msub> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle G_{i}=E_{H_{i-1}\|M_{i}}(G_{i-1})\oplus G_{i-1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/dfa7485bc05bc723708fc14c0ee5e346b52074c8" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:28.512ex; height:3.176ex;" alt="{\displaystyle G_{i}=E_{H_{i-1}\|M_{i}}(G_{i-1})\oplus G_{i-1}}"></span>,</dd> <dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H_{i}=E_{H_{i-1}\|M_{i}}(g(G_{i-1}))\oplus g(G_{i-1})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>E</mi> <mrow class="MJX-TeXAtom-ORD"> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mo stretchy="false">(</mo> <mi>g</mi> <mo stretchy="false">(</mo> <msub> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> <mo stretchy="false">)</mo> <mo>⊕<!-- ⊕ --></mo> <mi>g</mi> <mo stretchy="false">(</mo> <msub> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle H_{i}=E_{H_{i-1}\|M_{i}}(g(G_{i-1}))\oplus g(G_{i-1})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e1d15b440863f13df1bed6f810eacfa4343aaa01" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:34.468ex; height:3.176ex;" alt="{\displaystyle H_{i}=E_{H_{i-1}\|M_{i}}(g(G_{i-1}))\oplus g(G_{i-1})}"></span>.</dd></dl> <p>Die Hashfunktion <i>MDC-2</i> beruht im Wesentlichen auf der zweifachen Anwendung der Matyas-Meyer-Oseas-Konstruktion. <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle G^{L}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>L</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle G^{L}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/afde80b4cac948c67869b11281a1a75bb32d531e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.178ex; height:2.676ex;" alt="{\displaystyle G^{L}}"></span> bzw. <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle G^{R}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>R</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle G^{R}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/360c002a1efb1bc773f1d731dbf3cf697084f1fc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.306ex; height:2.676ex;" alt="{\displaystyle G^{R}}"></span> bezeichnen die linke bzw. rechte Hälfte eines Datenblocks <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle G}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>G</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle G}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f5f3c8921a3b352de45446a6789b104458c9f90b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.827ex; height:2.176ex;" alt="{\displaystyle G}"></span> (und damit ein Viertel eines Verkettungsblocks): </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle G_{i}=E_{G_{i-1}^{L}\|H_{i-1}^{R}}(M_{i})\oplus M_{i}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>E</mi> <mrow class="MJX-TeXAtom-ORD"> <msubsup> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>L</mi> </mrow> </msubsup> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> <msubsup> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>R</mi> </mrow> </msubsup> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>⊕<!-- ⊕ --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle G_{i}=E_{G_{i-1}^{L}\|H_{i-1}^{R}}(M_{i})\oplus M_{i}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/192ddae1229d29115735062884c866754c29a02b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.671ex; width:26.569ex; height:3.676ex;" alt="{\displaystyle G_{i}=E_{G_{i-1}^{L}\|H_{i-1}^{R}}(M_{i})\oplus M_{i}}"></span>,</dd> <dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H_{i}=E_{H_{i-1}^{L}\|G_{i-1}^{R}}(M_{i})\oplus M_{i}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>E</mi> <mrow class="MJX-TeXAtom-ORD"> <msubsup> <mi>H</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>L</mi> </mrow> </msubsup> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> <msubsup> <mi>G</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>R</mi> </mrow> </msubsup> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>⊕<!-- ⊕ --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle H_{i}=E_{H_{i-1}^{L}\|G_{i-1}^{R}}(M_{i})\oplus M_{i}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a68542596a00bc11994464a41c8b19e6661bd952" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.671ex; width:26.674ex; height:3.676ex;" alt="{\displaystyle H_{i}=E_{H_{i-1}^{L}\|G_{i-1}^{R}}(M_{i})\oplus M_{i}}"></span>.</dd></dl> <div class="mw-heading mw-heading4"><h4 id="Kompressionsfunktionen,_die_auf_algebraischen_Strukturen_basieren"><span id="Kompressionsfunktionen.2C_die_auf_algebraischen_Strukturen_basieren"></span>Kompressionsfunktionen, die auf algebraischen Strukturen basieren</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=6" title="Abschnitt bearbeiten: Kompressionsfunktionen, die auf algebraischen Strukturen basieren" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=6" title="Quellcode des Abschnitts bearbeiten: Kompressionsfunktionen, die auf algebraischen Strukturen basieren"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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. MASH (Modular Arithmetic Secure Hash) verwendet einen RSA-ähnlichen Modulus <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n=pq}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> <mo>=</mo> <mi>p</mi> <mi>q</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n=pq}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/edd7540bf012670052b38c45bf043b5c8e6cd159" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.732ex; height:2.009ex;" alt="{\displaystyle n=pq}"></span>, mit <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle p}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>p</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle p}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/81eac1e205430d1f40810df36a0edffdc367af36" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.089ex; width:1.259ex; height:2.009ex;" alt="{\displaystyle p}"></span> und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle q}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>q</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle q}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/06809d64fa7c817ffc7e323f85997f783dbdf71d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.07ex; height:2.009ex;" alt="{\displaystyle q}"></span> Primzahlen. Die Kompressionsfunktion ist im Kern: <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H(i)=((M(i)\oplus H(i-1)\lor A)^{2}{\bmod {\ }}n)\oplus H(i-1)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>H</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mo stretchy="false">(</mo> <mo stretchy="false">(</mo> <mi>M</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo stretchy="false">)</mo> <mo>⊕<!-- ⊕ --></mo> <mi>H</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> <mo stretchy="false">)</mo> <mo>∨<!-- ∨ --></mo> <mi>A</mi> <msup> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mrow class="MJX-TeXAtom-ORD"> <mo lspace="thickmathspace" rspace="thickmathspace">mod</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext> </mtext> </mrow> </mrow> <mi>n</mi> <mo stretchy="false">)</mo> <mo>⊕<!-- ⊕ --></mo> <mi>H</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle H(i)=((M(i)\oplus H(i-1)\lor A)^{2}{\bmod {\ }}n)\oplus H(i-1)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/df7f49dae5a791aba21d874cf3fe99cf5585d94b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:52.52ex; height:3.176ex;" alt="{\displaystyle H(i)=((M(i)\oplus H(i-1)\lor A)^{2}{\bmod {\ }}n)\oplus H(i-1)}"></span>, wobei A für eine Konstante und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \lor }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo>∨<!-- ∨ --></mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \lor }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ab47f6b1f589aedcf14638df1d63049d233d851a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.55ex; height:2.009ex;" alt="{\displaystyle \lor }"></span> für <a href="/wiki/Bitweiser_Operator#ODER" title="Bitweiser Operator">bitweises inklusives Oder</a> steht. </p> <div class="mw-heading mw-heading3"><h3 id="Sponge-Verfahren">Sponge-Verfahren</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=7" title="Abschnitt bearbeiten: Sponge-Verfahren" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=7" title="Quellcode des Abschnitts bearbeiten: Sponge-Verfahren"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Sponge-Konstruktionen haben grundsätzlich andere Eigenschaften als Merkle-Damgård-Konstruktionen. Der bekannteste Vertreter dieser Klasse ist <a href="/wiki/SHA-3" title="SHA-3">SHA-3</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Angriffe">Angriffe</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=8" title="Abschnitt bearbeiten: Angriffe" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=8" title="Quellcode des Abschnitts bearbeiten: Angriffe"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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. </p> <div class="mw-heading mw-heading3"><h3 id="Black-Box-Angriffe">Black-Box-Angriffe</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=9" title="Abschnitt bearbeiten: Black-Box-Angriffe" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=9" title="Quellcode des Abschnitts bearbeiten: Black-Box-Angriffe"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Black-Box-Angriffe sind Angriffe auf Hashfunktionen, bei denen über die eigentliche Funktionsweise der Hashfunktion nichts bekannt ist. Lediglich die Länge des Hashwerts <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}"></span> wird als bekannt vorausgesetzt und man nimmt an, dass die Hashwerte <a href="/wiki/Gleichverteilung" title="Gleichverteilung">gleichverteilt</a> sind. </p> <ol><li>Raten (englisch: <i>2nd preimage</i>): Der Angreifer wählt zufällig eine Nachricht und vergleicht deren Hashwert mit dem einer gegebenen Nachricht. Die Erfolgsrate bei diesem Vorgehen liegt bei <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{-n}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>−<!-- − --></mo> <mi>n</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{-n}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0414b5d9e81c2eb5bd85a6ca4af24b69d5336dad" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.659ex; height:2.509ex;" alt="{\displaystyle 2^{-n}}"></span> für einen <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}"></span> Bit langen Hashwert.</li> <li><a href="/wiki/Kollisionsangriff" title="Kollisionsangriff">Kollisionsangriff</a>: 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, <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle v_{\mathrm {echt} }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>v</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">e</mi> <mi mathvariant="normal">c</mi> <mi mathvariant="normal">h</mi> <mi mathvariant="normal">t</mi> </mrow> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle v_{\mathrm {echt} }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e88c5cacac8f62abbb27e9a0d56f0d0df963df15" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:4.374ex; height:2.009ex;" alt="{\displaystyle v_{\mathrm {echt} }}"></span> und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle v_{\mathrm {falsch} }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>v</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">f</mi> <mi mathvariant="normal">a</mi> <mi mathvariant="normal">l</mi> <mi mathvariant="normal">s</mi> <mi mathvariant="normal">c</mi> <mi mathvariant="normal">h</mi> </mrow> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle v_{\mathrm {falsch} }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7a7a9b54af4a5fa25ac9a0fd798edd05fd4fe028" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:5.543ex; height:2.009ex;" alt="{\displaystyle v_{\mathrm {falsch} }}"></span>, die den gleichen Hashwert haben. Eine Kollision ist nach <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{\frac {n}{2}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>n</mi> <mn>2</mn> </mfrac> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{\frac {n}{2}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/55993043da49805ef050bf2e468740fa450214b5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.032ex; height:3.176ex;" alt="{\displaystyle 2^{\frac {n}{2}}}"></span> Versuchen zu erwarten.</li></ol> <div class="mw-heading mw-heading3"><h3 id="Angriffe_auf_die_Kompressionsfunktion">Angriffe auf die Kompressionsfunktion</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=10" title="Abschnitt bearbeiten: Angriffe auf die Kompressionsfunktion" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=10" title="Quellcode des Abschnitts bearbeiten: Angriffe auf die Kompressionsfunktion"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <dl><dt><a href="/wiki/Meet-in-the-middle-Angriff" title="Meet-in-the-middle-Angriff">Meet-in-the-Middle</a></dt> <dd>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 <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H(i+1)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>H</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle H(i+1)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5d7e8cf1d2d0f40d49d382926f5bcb0716aa86fd" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.678ex; height:2.843ex;" alt="{\displaystyle H(i+1)}"></span> ein Paar <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (H(i),M(i+1))}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <mi>H</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo stretchy="false">)</mo> <mo>,</mo> <mi>M</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> <mo stretchy="false">)</mo> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle (H(i),M(i+1))}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/49d05c5209be7bfd78d952f4078497d07dccc212" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:16.575ex; height:2.843ex;" alt="{\displaystyle (H(i),M(i+1))}"></span> finden, so dass gilt <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f(H(i),M(i+1))=H(i+1)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo stretchy="false">(</mo> <mi>H</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo stretchy="false">)</mo> <mo>,</mo> <mi>M</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> <mo stretchy="false">)</mo> <mo stretchy="false">)</mo> <mo>=</mo> <mi>H</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f(H(i),M(i+1))=H(i+1)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/421536adbc9a3ce1612b93e1022759a0e1fd74c7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:29.631ex; height:2.843ex;" alt="{\displaystyle f(H(i),M(i+1))=H(i+1)}"></span>.</dd> <dt>Correcting Block Attack</dt> <dd>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.</dd> <dt>Fixed Point Attack</dt> <dd>Der Angreifer sucht nach einem <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle H(i-1)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>H</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle H(i-1)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0e3345d7dcf53946cecab68a5483d37189a9021b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.678ex; height:2.843ex;" alt="{\displaystyle H(i-1)}"></span> und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M(i)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>M</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M(i)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f1546a9aac97931b596ee3de6917921db7755287" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.054ex; height:2.843ex;" alt="{\displaystyle M(i)}"></span>, so dass <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f(M(i),H(i-1))=H(i-1)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo stretchy="false">(</mo> <mi>M</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo stretchy="false">)</mo> <mo>,</mo> <mi>H</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> <mo stretchy="false">)</mo> <mo stretchy="false">)</mo> <mo>=</mo> <mi>H</mi> <mo stretchy="false">(</mo> <mi>i</mi> <mo>−<!-- − --></mo> <mn>1</mn> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f(M(i),H(i-1))=H(i-1)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b435ccaff5ab9486ad29804be5c0517e43f96af6" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:29.631ex; height:2.843ex;" alt="{\displaystyle f(M(i),H(i-1))=H(i-1)}"></span>. In diesem Fall kann er an diesem Punkt Nachrichtenblöcke einfügen, ohne den Hashwert zu ändern.</dd> <dt>Differenzielle Kryptanalyse</dt> <dd><a href="/wiki/Differenzielle_Kryptanalyse" class="mw-redirect" title="Differenzielle Kryptanalyse">Differenzielle Kryptanalyse</a> 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.</dd> <dt>Boomerang Attack</dt> <dd>Der Boomerang-Angriff ist eine Erweiterung der differenziellen Kryptanalyse. Er verbindet zwei unabhängige Differentialpfade zu einem Angriff.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup></dd> <dt>Rebound Attack</dt> <dd>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.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup></dd> <dt>Herding</dt> <dd>Hierbei bildet der Angreifer aus zahlreichen Zwischenwerten eine Struktur (sog. Diamond Structure). Von jedem 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.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></dd></dl> <div class="mw-heading mw-heading3"><h3 id="Angriffe_auf_die_Blockchiffrierung">Angriffe auf die Blockchiffrierung</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=11" title="Abschnitt bearbeiten: Angriffe auf die Blockchiffrierung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=11" title="Quellcode des Abschnitts bearbeiten: Angriffe auf die Blockchiffrierung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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. B. schwache Schlüssel oder eine Komplementäreigenschaft. </p> <div class="mw-heading mw-heading2"><h2 id="Übersicht_von_Hashfunktionen"><span id=".C3.9Cbersicht_von_Hashfunktionen"></span>Übersicht von Hashfunktionen</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=12" title="Abschnitt bearbeiten: Übersicht von Hashfunktionen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=12" title="Quellcode des Abschnitts bearbeiten: Übersicht von Hashfunktionen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <dl><dt><a href="/wiki/Snefru_(Hashfunktion)" title="Snefru (Hashfunktion)">Snefru</a></dt> <dd>wurde 1990 von <a href="/wiki/Ralph_Merkle" title="Ralph Merkle">Ralph Merkle</a> entworfen. Der Kern der Hashfunktion ist ähnlich dem Blockchiffriersystem Khafre (Merkle). Snefru gilt als unsicher.</dd> <dt><a href="/w/index.php?title=N-Hash&action=edit&redlink=1" class="new" title="N-Hash (Seite nicht vorhanden)">N-Hash</a></dt> <dd>wurde 1990 bei Nippon Telephone and Telegraph entwickelt. Der Algorithmus ähnelt dem Blockchiffriersystem FEAL (Nippon T&T). N-Hash gilt als unsicher.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup></dd> <dt><a href="/w/index.php?title=FFT-Hash&action=edit&redlink=1" class="new" title="FFT-Hash (Seite nicht vorhanden)">FFT-Hash</a></dt> <dd>ist eine Hashfunktion auf der Basis der <a href="/wiki/Schnelle_Fourier-Transformation" title="Schnelle Fourier-Transformation">Fast-Fourier-Transformation</a>. Sie wurde von Schnorr 1991 erstmals vorgestellt, aber bald geknackt.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> Später folgte eine zweite Version.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Sie gilt als unsicher.</dd> <dt><a href="/wiki/Message-Digest_Algorithm_4" title="Message-Digest Algorithm 4">MD4</a></dt> <dd>wurde 1990 von <a href="/wiki/Ronald_Rivest" class="mw-redirect" title="Ronald Rivest">Ronald Rivest</a> entwickelt.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> 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 <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M\equiv 448{\pmod {512}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>M</mi> <mo>≡<!-- ≡ --></mo> <mn>448</mn> <mrow class="MJX-TeXAtom-ORD"> <mspace width="1em" /> <mo stretchy="false">(</mo> <mi>mod</mi> <mspace width="0.333em" /> <mn>512</mn> <mo stretchy="false">)</mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M\equiv 448{\pmod {512}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/daf3c230af78a38b7875c12c234ec33bb305b964" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:22.199ex; height:2.843ex;" alt="{\displaystyle M\equiv 448{\pmod {512}}}"></span> 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.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> MD4 gilt als unsicher.</dd> <dt><a href="/wiki/Message-Digest_Algorithm_5" title="Message-Digest Algorithm 5">MD5</a></dt> <dd>1991 veröffentlichte Rivest ein verbessertes Hash-Verfahren, noch bevor eine ernsthafte Schwäche von MD4 aufgedeckt wurde.<br />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.<br />Der erste partielle Angriff auf MD5 von 1993 fand Pseudokollisionen, d. 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.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> Der Angriff hatte allerdings keine schwerwiegenden Konsequenzen. Ein neuer effizienter Angriff erfolgte 2005.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> 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.</dd> <dt><a href="/wiki/Secure_Hash_Algorithm" title="Secure Hash Algorithm">SHA</a></dt> <dd>Das <a href="/wiki/National_Institute_of_Standards_and_Technology" title="National Institute of Standards and Technology">NIST</a> schlug 1993 den Secure Hash Algorithm (SHA) vor. Zwei Jahre später wurde er durch SHA-1 ersetzt. SHA-1 unterscheidet sich von seinem Vorgänger nur durch eine zusätzliche 1-Bit-Rotation.<br />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.<br />1998 wurde eine differentielle Analyse gegen SHA-0 und SHA-1 durchgeführt.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><br />2002 wurden vom NIST drei weitere Varianten des Algorithmus veröffentlicht, die größere Hashwerte erzeugen. Es handelt sich dabei um SHA-256, SHA-384 und SHA-512, wobei die angefügte Zahl jeweils die Länge des Hashwerts in Bit angibt.<br />2004 wurde ein verbesserter Angriff auf SHA-0 beschrieben.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> 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<sup>51</sup>.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> Im selben Jahr gelang ein verbesserter Angriff gegen SHA-0 mit einer Komplexität von 2<sup>39</sup> Hash-Operationen<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> und gegen SHA-1 mit einer Komplexität von 2<sup>69</sup>.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> Im Februar 2017 wurde die erste Kollision für SHA-1 veröffentlicht.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup></dd> <dt><a href="/wiki/RIPEMD" class="mw-redirect" title="RIPEMD">RIPEMD</a></dt> <dd>RIPE-MD wurde 1992 im Rahmen des Projekts <i>RACE Integrity Primitives Evaluation</i> (RIPE) der <a href="/wiki/Europ%C3%A4ische_Union" title="Europäische Union">Europäischen Union</a> entwickelt. 1996 wurde die ursprüngliche Hashwert-Länge von 128 auf 160 Bits erweitert.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> Außerdem wurden die Varianten RIPEMD-256 und RIPEMD-320 eingeführt.<br />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.<br />Im ursprünglichen RIPEMD konnten mit einer Komplexität von <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{16}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mn>16</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{16}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e8e0dd3c0e42794174d2dbcb9a3ee2c6d69299d4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.039ex; height:2.676ex;" alt="{\displaystyle 2^{16}}"></span> Kollisionen gefunden werden,<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> so dass es nicht verwendet werden sollte.</dd> <dt><a href="/wiki/HAVAL" title="HAVAL">HAVAL</a></dt> <dd>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.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup><br />2003 konnten für HAVAL mit drei Runden Kollisionen gefunden werden. Der Angriff gelingt gegen alle möglichen Ausgabelängen. Die Komplexität entspricht dabei 2<sup>29</sup> Rechenschritten der Kompressionsfunktion. HAVAL sollte deswegen nicht für Applikationen verwendet werden, die Kollisionsresistenz erfordern.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup></dd> <dt><a href="/wiki/Tiger_(Hashfunktion)" title="Tiger (Hashfunktion)">Tiger</a></dt> <dd>wurde 1996 von Anderson und Biham entwickelt. Nachrichtenpadding ist wie bei MD4, d. 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.<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup></dd> <dt>PANAMA</dt> <dd>ist von Daemen und Clapp und stammt von 1998.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> 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.<br />Einer der Autoren konnte Kollisionen in nur 2<sup>6</sup> Auswertungen der Update-Funktion erzeugen, so dass Panama nicht als kollisionsresistent gelten kann.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup></dd> <dt><a href="/wiki/Whirlpool_(Algorithmus)" title="Whirlpool (Algorithmus)">Whirlpool</a></dt> <dd>wurde von Rijmen und Barreto entworfen. Es beruht auf dem Miyaguchi-Preneel-Schema.<br />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 <a href="/wiki/Advanced_Encryption_Standard" title="Advanced Encryption Standard">AES</a>-Variante in 10 Runden.<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup></dd> <dt>SMASH</dt> <dd>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 <a href="/wiki/Serpent_(Verschl%C3%BCsselung)" title="Serpent (Verschlüsselung)">Serpent</a> angelehnt ist. In der L-Runde werden Links- oder Rechtsverschiebungen durchgeführt.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup><br />SMASH wurde bald erfolgreich angegriffen und gilt als unsicher.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup></dd> <dt>FORK-256</dt> <dd>wurde beim Cryptographic Hash Workshop von Hong et al. vorgestellt.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> 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 unsicher.</dd> <dt><a href="/wiki/SHA-3" title="SHA-3">SHA-3</a> (Keccak)</dt> <dd>Das Design-Prinzip von SHA-3 unterscheidet sich von den Hash-Funktionen der MD-Gruppe einschließlich SHA-2. Es ist eine sog. <i>sponge construction</i> (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 <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{n/2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mo>/</mo> </mrow> <mn>2</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{n/2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/fd18d146490780241da66ffee2950a5f13cf6469" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.025ex; height:2.843ex;" alt="{\displaystyle 2^{n/2}}"></span> abgewehrt werden.</dd> <dt><a href="/wiki/BLAKE_(Hashfunktion)" title="BLAKE (Hashfunktion)">BLAKE</a></dt> <dd>2008 von Jean-Philippe Aumasson, Luca Henzen, Willi Meier und Raphael C.-W. Phan entwickelt; war einer der Finalisten im <a href="/wiki/SHA-3" title="SHA-3">SHA-3</a>-Auswahlverfahren.</dd></dl> <div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=13" title="Abschnitt bearbeiten: Siehe auch" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=13" title="Quellcode des Abschnitts bearbeiten: Siehe auch"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Salt_(Kryptologie)" title="Salt (Kryptologie)">Salt (Kryptologie)</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=14" title="Abschnitt bearbeiten: Literatur" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=14" title="Quellcode des Abschnitts bearbeiten: Literatur"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone: <i>Handbook of Applied Cryptography.</i> CRC Press, 1996, S. 321–384.</li> <li>Bart Preneel: <i>Cryptographic Primitives for Information Authentication – State of the Art</i>. State of the Art in Applied Cryptography, LNCS 1528. Springer-Verlag, 1998, S. 49–104.</li> <li>Douglas R. Stinson: <i>Cryptography – Theory and Practice.</i> Chapman&Hall / CRC, 2002, S. 117–154.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=15" title="Abschnitt bearbeiten: Weblinks" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=15" title="Quellcode des Abschnitts bearbeiten: Weblinks"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="http://ehash.iaik.tugraz.at/wiki/The_Hash_Function_Zoo">Übersicht über Hash-Funktionen</a> (englisch)</li> <li><a rel="nofollow" class="external text" href="http://csrc.nist.gov/groups/ST/hash/sha-3/index.html">NIST-Ausschreibung</a> (englisch)</li> <li><a rel="nofollow" class="external text" href="http://ehash.iaik.tugraz.at/wiki/The_SHA-3_Zoo">Kandidaten der Hashfunktion-Ausschreibung</a> (englisch)</li> <li><a rel="nofollow" class="external text" href="http://keccak.noekeon.org/specs_summary.html">Keccak-Spezifikation</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit&section=16" title="Abschnitt bearbeiten: Einzelnachweise" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit&section=16" title="Quellcode des Abschnitts bearbeiten: Einzelnachweise"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">Easttom 2021, S. 207 f.</span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">Easttom 2021, S. 208 f.</span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">William Easttom: <cite style="font-style:italic">Modern Cryptography: Applied Mathematics for Encryption and Information Security</cite>. Springer International Publishing, Cham 2021, <a href="/wiki/Spezial:ISBN-Suche/9783030631147" class="internal mw-magiclink-isbn">ISBN 978-3-03063114-7</a>, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>206</span>, <a href="/wiki/Digital_Object_Identifier" title="Digital Object Identifier">doi</a>:<span class="uri-handle" style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://doi.org/10.1007/978-3-030-63115-4">10.1007/978-3-030-63115-4</a></span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Kryptographische+Hashfunktion&rft.au=William+Easttom&rft.btitle=Modern+Cryptography%3A+Applied+Mathematics+for+Encryption+and+Information+Security&rft.date=2021&rft.doi=10.1007%2F978-3-030-63115-4&rft.genre=book&rft.isbn=9783030631147&rft.pages=206&rft.place=Cham&rft.pub=Springer+International+Publishing" style="display:none"> </span></span> </li> <li id="cite_note-stallings2017-4"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-stallings2017_4-0">a</a></sup> <sup><a href="#cite_ref-stallings2017_4-1">b</a></sup></span> <span class="reference-text">William Stallings: <cite style="font-style:italic">Cryptography and Network Security</cite>. Pearson Education Limited, Essex 2017, <a href="/wiki/Spezial:ISBN-Suche/9781292158587" class="internal mw-magiclink-isbn">ISBN 978-1-292-15858-7</a>, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>349<span style="display:inline-block;width:.2em"> </span>f</span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Kryptographische+Hashfunktion&rft.au=William+Stallings&rft.btitle=Cryptography+and+Network+Security&rft.date=2017&rft.genre=book&rft.isbn=9781292158587&rft.pages=349+f.&rft.place=Essex&rft.pub=Pearson+Education+Limited" style="display:none"> </span></span> </li> <li id="cite_note-HAC9-5"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-HAC9_5-0">a</a></sup> <sup><a href="#cite_ref-HAC9_5-1">b</a></sup> <sup><a href="#cite_ref-HAC9_5-2">c</a></sup></span> <span class="reference-text"> Alfred Menezes, Paul van Oorschot, Scott Vanstone: <cite style="font-style:italic">Handbook of Applied Cryptography</cite>. CRC Press, 1996, Kap. 9, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>324</span> (<a rel="nofollow" class="external text" href="http://cacr.uwaterloo.ca/hac/about/chap9.pdf">uwaterloo.ca</a> [PDF]).<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abookitem&rfr_id=info:sid/de.wikipedia.org:Kryptographische+Hashfunktion&rft.atitle=Kap.+9&rft.au=Alfred+Menezes%2C+Paul+van+Oorschot%2C+Scott+Vanstone&rft.btitle=Handbook+of+Applied+Cryptography&rft.date=1996&rft.genre=bookitem&rft.pages=324&rft.pub=CRC+Press" style="display:none"> </span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text">Antoine Joux, Thomas Peyrin: <i>Hash Functions and the (Amplified) Boomerang Attack</i>. Advances in Cryptology-CRYPTO2007, LNCS4622. Springer-Verlag, 2007, S. 244–263</span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a></span> <span class="reference-text">Florian Mendel, Christian Rechberger, Martin Schlaffer, Soren S. Thomsen: <i>The Rebound Attack: Cryptanalysis of Reduced Whirlpool and Grostl</i>. Fast Software Encryption, LNCS5665. Springer-Verlag, 2009, S. 260–276</span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text">John Kelsey, Tadayoshi Kohno: <cite style="font-style:italic">Herding Hash Functions and the Nostradamus Attack</cite>. (<a rel="nofollow" class="external text" href="http://eprint.iacr.org/2005/281.pdf">iacr.org</a> [PDF]).<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Kryptographische+Hashfunktion&rft.au=John+Kelsey%2C+Tadayoshi+Kohno&rft.btitle=Herding+Hash+Functions+and+the+Nostradamus+Attack&rft.genre=book" style="display:none"> </span></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a></span> <span class="reference-text"><a href="/wiki/Bruce_Schneier" title="Bruce Schneier">Bruce Schneier</a>: <i>Angewandte Kryptographie.</i> Addison-Wesley, 1996, S. 491–524</span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a></span> <span class="reference-text">Serge Vaudenay: <i>FFT-Hash is not yet Collision-free</i>. Advances in Cryptology-CRYPTO 92, LNCS 740. Springer-Verlag, 1993, S. 587–593.</span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><a href="#cite_ref-11">↑</a></span> <span class="reference-text"><a href="/wiki/Claus-Peter_Schnorr" class="mw-redirect" title="Claus-Peter Schnorr">Claus-Peter Schnorr</a>, Serge Vaudenay: <i>Parallel FFT-Hashing</i>, Fast Software Encryption, LNCS 809. Springer-Verlag, 1994, S. 149–156.</span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a></span> <span class="reference-text"><a href="/wiki/Ronald_L._Rivest" title="Ronald L. Rivest">Ronald L. Rivest</a>: <i>The MD4 Message Digest Algorithm</i>, Advances in Cryptology-CRYPTO 90, LNCS 537. Springer Verlag, 1991, S. 303–311.</span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><a href="#cite_ref-13">↑</a></span> <span class="reference-text">William Stallings: <i>Cryptography and Network Security.</i> Prentice Hall, 1999, S. 271–297.</span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a></span> <span class="reference-text">Bert den Boer, Antoon Bosselaers: <i>Collisions for the Compression Function of MD5</i>, Advances in Cryptology-EUROCRYPT 93, LNCS 765. Springer-Verlag, 1994, S. 293–304.</span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><a href="#cite_ref-15">↑</a></span> <span class="reference-text">Xiaoyun Wang, Hongbo Yu: <i>How to Break MD5 and Other Hash Functions</i>, Advances in Cryptology-EUROCRYPT 2005, LNCS 3496. Springer-Verlag, 2005, S. 19–35.</span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><a href="#cite_ref-16">↑</a></span> <span class="reference-text">Florent Chabaud, Antoine Joux: <i>Differential Collisions in SHA-0</i>, Advances in Cryptology-CRYPTO 98, LNCS 1462. Springer-Verlag, 1999, S. 56–71.</span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><a href="#cite_ref-17">↑</a></span> <span class="reference-text"><a href="/wiki/Eli_Biham" title="Eli Biham">Eli Biham</a>, Rafi Chen: <i>Near-Collisions of SHA-0</i>, Advances in Cryptology-CRYPTO 2004, LNCS 3152. Springer-Verlag, 2005, S. 290–305.</span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><a href="#cite_ref-18">↑</a></span> <span class="reference-text">Eli Biham, Rafi Chen et al.: <i>Collisions of SHA-0 and Reduced SHA-1</i>, Advances in Cryptology-EUROCRYPTO 2005, LNCS 3494. Springer-Verlag, 2005, S. 526–541.</span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><a href="#cite_ref-19">↑</a></span> <span class="reference-text">Xiaoyun Wang, Hongbo Yu, Yiqun Lisa Yin: <i>Efficient Collision Search Attacks on SHA-0</i>, Advances in Cryptology-CRYPTO 2005, LNCS 3621. Springer-Verlag, 2006, S. 1–16.</span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><a href="#cite_ref-20">↑</a></span> <span class="reference-text">Xiaoyun Wang, Hongbo Yu, Yiqun Lisa Yin: <i>Finding Collisions in the Full SHA-1</i>, Advances in Cryptology-CRYPTO 2005, LNCS 3621. Springer-Verlag, 2006, S. 17–36.</span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><a href="#cite_ref-21">↑</a></span> <span class="reference-text">Marc Stevens, Elie Bursztein, Pierre Karpman, Ange Albertini, Yarik Markov. <a rel="nofollow" class="external text" href="https://shattered.io/static/shattered.pdf">The first collision for full SHA-1</a></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><a href="#cite_ref-22">↑</a></span> <span class="reference-text"><a href="/wiki/Hans_Dobbertin_(Kryptologe)" title="Hans Dobbertin (Kryptologe)">Hans Dobbertin</a>, A. Basselaers, Bart Preneel: <i>RIPEMD-160:A Strengthened Version of RIPEMD</i>, Fast Software Encryption, LNCS 1039. Springer-Verlag, 1996, S. 71–79.</span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><a href="#cite_ref-23">↑</a></span> <span class="reference-text">Xiaoyun Wang et al.: <i>Cryptanalysis of the Hash Functions MD4 and RIPEMD</i>, Advances in Cryptology-EUROCRYPT 2005, LNCS 3494. Springer-Verlag, 2005, S. 1–18.</span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><a href="#cite_ref-24">↑</a></span> <span class="reference-text">Yuliang Zheng, Josef Pieprzyk, Jennifer Seberry: <i>HAVAL-A one-way hashing algorithm with variable length of output</i>, AUSCRYPT 92, LNCS 718. Springer-Verlag, 1993, S. 83–104.</span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><a href="#cite_ref-25">↑</a></span> <span class="reference-text">Bart Van Rompay, Alex Biryukov, Bart Preneel, Joos Vandewalle: <i>Cryptanalysis of 3-Pass HAVAL</i>, Advances in Cryptology-ASIACRYPT 2003, LNCS 2894. Springer-Verlag, 2003, S. 228–245.</span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><a href="#cite_ref-26">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.cs.technion.ac.il/~biham/Reports/Tiger/"><i>Tiger: A Fast New Hash Function</i>.</a> (Designed in 1995)</span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><a href="#cite_ref-27">↑</a></span> <span class="reference-text"><a href="/wiki/Joan_Daemen" title="Joan Daemen">Joan Daemen</a>, Craig Clapp: <i>Fast Hashing and Stream Encryption with PANAMA</i>, Fast Software Encryption, LNCS 1372. Springer-Verlag, 1998, S. 60–74.</span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><a href="#cite_ref-28">↑</a></span> <span class="reference-text">Joan Daemen, Gilles van Assche: <i>Producing Collisions for PANAMA, Instantaneously</i>, Fast Software Encryption, LNCS 4593. Springer-Verlag, 2007, S. 1–18.</span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><a href="#cite_ref-29">↑</a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r246413598">.mw-parser-output .webarchiv-memento{color:var(--color-base,#202122)!important}</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20060408084945/http://paginas.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html">The WHIRLPOOL Hash Function</a> (<a href="/wiki/Web-Archivierung#Begrifflichkeiten" title="Web-Archivierung"><span class="webarchiv-memento">Memento</span></a> vom 8. April 2006 im <i><a href="/wiki/Internet_Archive" title="Internet Archive">Internet Archive</a></i>)</span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><a href="#cite_ref-30">↑</a></span> <span class="reference-text">Lars R. Knudsen: <i>SMASH-A Cryptographic Hash Function</i>, Fast Software Encryption, LNCS 3557. Springer-Verlag, 2005, S. 228–242.</span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><a href="#cite_ref-31">↑</a></span> <span class="reference-text">Norbert Pramstaller, Christian Rechberger, <a href="/wiki/Vincent_Rijmen" title="Vincent Rijmen">Vincent Rijmen</a>: <i>Smashing SMASH</i>, Cryptology ePrint Archive Report 2005/081</span> </li> <li id="cite_note-32"><span class="mw-cite-backlink"><a href="#cite_ref-32">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external free" href="http://csrc.nist.gov/groups/ST/hash/first_workshop.html">http://csrc.nist.gov/groups/ST/hash/first_workshop.html</a></span> </li> </ol></div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Abgerufen von „<a dir="ltr" href="https://de.wikipedia.org/w/index.php?title=Kryptographische_Hashfunktion&oldid=242505523">https://de.wikipedia.org/w/index.php?title=Kryptographische_Hashfunktion&oldid=242505523</a>“</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Wikipedia:Kategorien" title="Wikipedia:Kategorien">Kategorie</a>: <ul><li><a href="/wiki/Kategorie:Kryptographische_Hashfunktion" title="Kategorie:Kryptographische Hashfunktion">Kryptographische Hashfunktion</a></li></ul></div></div> </div> </div> <div id="mw-navigation"> <h2>Navigationsmenü</h2> <div id="mw-head"> <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" > <h3 id="p-personal-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Meine Werkzeuge</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anonuserpage" class="mw-list-item"><span title="Benutzerseite der IP-Adresse, von der aus du Änderungen durchführst">Nicht angemeldet</span></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Spezial:Meine_Diskussionsseite" title="Diskussion über Änderungen von dieser IP-Adresse [n]" accesskey="n"><span>Diskussionsseite</span></a></li><li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Spezial:Meine_Beitr%C3%A4ge" title="Eine Liste der Bearbeitungen, die von dieser IP-Adresse gemacht wurden [y]" accesskey="y"><span>Beiträge</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/w/index.php?title=Spezial:Benutzerkonto_anlegen&returnto=Kryptographische+Hashfunktion" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich."><span>Benutzerkonto erstellen</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=Spezial:Anmelden&returnto=Kryptographische+Hashfunktion" title="Anmelden ist zwar keine Pflicht, wird aber gerne gesehen. [o]" accesskey="o"><span>Anmelden</span></a></li> </ul> </div> </nav> <div id="left-navigation"> <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-namespaces-label" > <h3 id="p-namespaces-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Namensräume</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected mw-list-item"><a href="/wiki/Kryptographische_Hashfunktion" title="Seiteninhalt anzeigen [c]" accesskey="c"><span>Artikel</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/Diskussion:Kryptographische_Hashfunktion" rel="discussion" title="Diskussion zum Seiteninhalt [t]" accesskey="t"><span>Diskussion</span></a></li> </ul> </div> </nav> <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-variants-label" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label" > <label id="p-variants-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Deutsch</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> </div> <div id="right-navigation"> <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-views-label" > <h3 id="p-views-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Ansichten</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected mw-list-item"><a href="/wiki/Kryptographische_Hashfunktion"><span>Lesen</span></a></li><li id="ca-ve-edit" class="mw-list-item"><a href="/w/index.php?title=Kryptographische_Hashfunktion&veaction=edit" title="Diese Seite mit dem VisualEditor bearbeiten [v]" accesskey="v"><span>Bearbeiten</span></a></li><li id="ca-edit" class="collapsible mw-list-item"><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=edit" title="Den Quelltext dieser Seite bearbeiten [e]" accesskey="e"><span>Quelltext bearbeiten</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=history" title="Frühere Versionen dieser Seite [h]" accesskey="h"><span>Versionsgeschichte</span></a></li> </ul> </div> </nav> <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-cactions-label" title="Weitere Optionen" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label" > <label id="p-cactions-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Weitere</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <h3 >Suche</h3> <form action="/w/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-navigation"> <input class="vector-search-box-input" type="search" name="search" placeholder="Wikipedia durchsuchen" aria-label="Wikipedia durchsuchen" autocapitalize="sentences" title="Durchsuche die Wikipedia [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Spezial:Suche"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Suche nach Seiten, die diesen Text enthalten" value="Suchen"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Gehe direkt zu der Seite mit genau diesem Namen, falls sie vorhanden ist." value="Artikel"> </div> </form> </div> </div> </div> <div id="mw-panel" class="vector-legacy-sidebar"> <div id="p-logo" role="banner"> <a class="mw-wiki-logo" href="/wiki/Wikipedia:Hauptseite" title="Hauptseite"></a> </div> <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu-portal portal vector-menu" aria-labelledby="p-navigation-label" > <h3 id="p-navigation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Navigation</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Wikipedia:Hauptseite" title="Hauptseite besuchen [z]" accesskey="z"><span>Hauptseite</span></a></li><li id="n-topics" class="mw-list-item"><a href="/wiki/Portal:Wikipedia_nach_Themen"><span>Themenportale</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Spezial:Zuf%C3%A4llige_Seite" title="Zufällige Seite aufrufen [x]" accesskey="x"><span>Zufälliger Artikel</span></a></li> </ul> </div> </nav> <nav id="p-Mitmachen" class="mw-portlet mw-portlet-Mitmachen vector-menu-portal portal vector-menu" aria-labelledby="p-Mitmachen-label" > <h3 id="p-Mitmachen-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Mitmachen</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-Artikel-verbessern" class="mw-list-item"><a href="/wiki/Wikipedia:Beteiligen"><span>Artikel verbessern</span></a></li><li id="n-Neuerartikel" class="mw-list-item"><a href="/wiki/Hilfe:Neuen_Artikel_anlegen"><span>Neuen Artikel anlegen</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Autorenportal" title="Info-Zentrum über Beteiligungsmöglichkeiten"><span>Autorenportal</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Hilfe:%C3%9Cbersicht" title="Übersicht über Hilfeseiten"><span>Hilfe</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Spezial:Letzte_%C3%84nderungen" title="Liste der letzten Änderungen in Wikipedia [r]" accesskey="r"><span>Letzte Änderungen</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Wikipedia:Kontakt" title="Kontaktmöglichkeiten"><span>Kontakt</span></a></li><li id="n-sitesupport" class="mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=de.wikipedia.org&uselang=de" title="Unterstütze uns"><span>Spenden</span></a></li> </ul> </div> </nav> <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu-portal portal vector-menu" aria-labelledby="p-tb-label" > <h3 id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Werkzeuge</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Spezial:Linkliste/Kryptographische_Hashfunktion" title="Liste aller Seiten, die hierher verlinken [j]" accesskey="j"><span>Links auf diese Seite</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Spezial:%C3%84nderungen_an_verlinkten_Seiten/Kryptographische_Hashfunktion" rel="nofollow" title="Letzte Änderungen an Seiten, die von hier verlinkt sind [k]" accesskey="k"><span>Änderungen an verlinkten Seiten</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Spezial:Spezialseiten" title="Liste aller Spezialseiten [q]" accesskey="q"><span>Spezialseiten</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Kryptographische_Hashfunktion&oldid=242505523" title="Dauerhafter Link zu dieser Seitenversion"><span>Permanenter Link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Kryptographische_Hashfunktion&action=info" title="Weitere Informationen über diese Seite"><span>Seiteninformationen</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Spezial:Zitierhilfe&page=Kryptographische_Hashfunktion&id=242505523&wpFormIdentifier=titleform" title="Hinweise, wie diese Seite zitiert werden kann"><span>Artikel zitieren</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Spezial:URL-K%C3%BCrzung&url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FKryptographische_Hashfunktion"><span>Kurzlink</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Spezial:QrKodu&url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FKryptographische_Hashfunktion"><span>QR-Code herunterladen</span></a></li> </ul> </div> </nav> <nav id="p-coll-print_export" class="mw-portlet mw-portlet-coll-print_export vector-menu-portal portal vector-menu" aria-labelledby="p-coll-print_export-label" > <h3 id="p-coll-print_export-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Drucken/exportieren</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Spezial:DownloadAsPdf&page=Kryptographische_Hashfunktion&action=show-download-screen"><span>Als PDF herunterladen</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Kryptographische_Hashfunktion&printable=yes" title="Druckansicht dieser Seite [p]" accesskey="p"><span>Druckversion</span></a></li> </ul> </div> </nav> <nav id="p-wikibase-otherprojects" class="mw-portlet mw-portlet-wikibase-otherprojects vector-menu-portal portal vector-menu" aria-labelledby="p-wikibase-otherprojects-label" > <h3 id="p-wikibase-otherprojects-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In anderen Projekten</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Cryptographic_hash_function" hreflang="en"><span>Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q477202" title="Link zum verbundenen Objekt im Datenrepositorium [g]" accesskey="g"><span>Wikidata-Datenobjekt</span></a></li> </ul> </div> </nav> <nav id="p-lang" class="mw-portlet mw-portlet-lang vector-menu-portal portal vector-menu" aria-labelledby="p-lang-label" > <h3 id="p-lang-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In anderen Sprachen</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%AF%D8%A7%D9%84%D8%A9_%D8%AA%D9%84%D8%A8%D9%8A%D8%AF_%D8%AA%D8%B9%D9%85%D9%88%D9%8A%D8%A9" title="دالة تلبيد تعموية – Arabisch" lang="ar" hreflang="ar" data-title="دالة تلبيد تعموية" data-language-autonym="العربية" data-language-local-name="Arabisch" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ast mw-list-item"><a href="https://ast.wikipedia.org/wiki/Funci%C3%B3n_hash_criptogr%C3%A1fica" title="Función hash criptográfica – Asturisch" lang="ast" hreflang="ast" data-title="Función hash criptográfica" data-language-autonym="Asturianu" data-language-local-name="Asturisch" class="interlanguage-link-target"><span>Asturianu</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%A4%E0%A6%A5%E0%A7%8D%E0%A6%AF%E0%A6%97%E0%A7%81%E0%A6%AA%E0%A7%8D%E0%A6%A4%E0%A6%BF-%E0%A6%AC%E0%A6%BF%E0%A6%B7%E0%A6%AF%E0%A6%BC%E0%A6%95_%E0%A6%B9%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B6_%E0%A6%AB%E0%A6%BE%E0%A6%82%E0%A6%B6%E0%A6%A8" title="তথ্যগুপ্তি-বিষয়ক হ্যাশ ফাংশন – Bengalisch" lang="bn" hreflang="bn" data-title="তথ্যগুপ্তি-বিষয়ক হ্যাশ ফাংশন" data-language-autonym="বাংলা" data-language-local-name="Bengalisch" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Funci%C3%B3_hash_criptogr%C3%A0fica" title="Funció hash criptogràfica – Katalanisch" lang="ca" hreflang="ca" data-title="Funció hash criptogràfica" data-language-autonym="Català" data-language-local-name="Katalanisch" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Kryptografick%C3%A1_ha%C5%A1ovac%C3%AD_funkce" title="Kryptografická hašovací funkce – Tschechisch" lang="cs" hreflang="cs" data-title="Kryptografická hašovací funkce" data-language-autonym="Čeština" data-language-local-name="Tschechisch" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/%CE%9A%CF%81%CF%85%CF%80%CF%84%CE%BF%CE%B3%CF%81%CE%B1%CF%86%CE%B9%CE%BA%CE%AE_%CE%A3%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7_%CE%9A%CE%B1%CF%84%CE%B1%CF%84%CE%B5%CE%BC%CE%B1%CF%87%CE%B9%CF%83%CE%BC%CE%BF%CF%8D" title="Κρυπτογραφική Συνάρτηση Κατατεμαχισμού – Griechisch" lang="el" hreflang="el" data-title="Κρυπτογραφική Συνάρτηση Κατατεμαχισμού" data-language-autonym="Ελληνικά" data-language-local-name="Griechisch" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Cryptographic_hash_function" title="Cryptographic hash function – Englisch" lang="en" hreflang="en" data-title="Cryptographic hash function" data-language-autonym="English" data-language-local-name="Englisch" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Funci%C3%B3n_hash_criptogr%C3%A1fica" title="Función hash criptográfica – Spanisch" lang="es" hreflang="es" data-title="Función hash criptográfica" data-language-autonym="Español" data-language-local-name="Spanisch" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%AA%D8%A7%D8%A8%D8%B9_%D9%87%D8%B4_%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C" title="تابع هش رمزنگاری – Persisch" lang="fa" hreflang="fa" data-title="تابع هش رمزنگاری" data-language-autonym="فارسی" data-language-local-name="Persisch" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Kryptografinen_tiiviste" title="Kryptografinen tiiviste – Finnisch" lang="fi" hreflang="fi" data-title="Kryptografinen tiiviste" data-language-autonym="Suomi" data-language-local-name="Finnisch" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Fonction_de_hachage_cryptographique" title="Fonction de hachage cryptographique – Französisch" lang="fr" hreflang="fr" data-title="Fonction de hachage cryptographique" data-language-autonym="Français" data-language-local-name="Französisch" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%A4%D7%95%D7%A0%D7%A7%D7%A6%D7%99%D7%99%D7%AA_%D7%92%D7%99%D7%91%D7%95%D7%91_%D7%A7%D7%A8%D7%99%D7%A4%D7%98%D7%95%D7%92%D7%A8%D7%A4%D7%99%D7%AA" title="פונקציית גיבוב קריפטוגרפית – Hebräisch" lang="he" hreflang="he" data-title="פונקציית גיבוב קריפטוגרפית" data-language-autonym="עברית" data-language-local-name="Hebräisch" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Kriptogr%C3%A1fiai_hash-f%C3%BCggv%C3%A9ny" title="Kriptográfiai hash-függvény – Ungarisch" lang="hu" hreflang="hu" data-title="Kriptográfiai hash-függvény" data-language-autonym="Magyar" data-language-local-name="Ungarisch" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Hash_kriptografis" title="Hash kriptografis – Indonesisch" lang="id" hreflang="id" data-title="Hash kriptografis" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesisch" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Funzione_crittografica_di_hash" title="Funzione crittografica di hash – Italienisch" lang="it" hreflang="it" data-title="Funzione crittografica di hash" data-language-autonym="Italiano" data-language-local-name="Italienisch" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E6%9A%97%E5%8F%B7%E5%AD%A6%E7%9A%84%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E9%96%A2%E6%95%B0" title="暗号学的ハッシュ関数 – Japanisch" lang="ja" hreflang="ja" data-title="暗号学的ハッシュ関数" data-language-autonym="日本語" data-language-local-name="Japanisch" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%95%94%ED%98%B8%ED%99%94_%ED%95%B4%EC%8B%9C_%ED%95%A8%EC%88%98" title="암호화 해시 함수 – Koreanisch" lang="ko" hreflang="ko" data-title="암호화 해시 함수" data-language-autonym="한국어" data-language-local-name="Koreanisch" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Santraukos_funkcija" title="Santraukos funkcija – Litauisch" lang="lt" hreflang="lt" data-title="Santraukos funkcija" data-language-autonym="Lietuvių" data-language-local-name="Litauisch" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Kriptogr%C4%81fiska_jauc%C4%93jfunkcija" title="Kriptogrāfiska jaucējfunkcija – Lettisch" lang="lv" hreflang="lv" data-title="Kriptogrāfiska jaucējfunkcija" data-language-autonym="Latviešu" data-language-local-name="Lettisch" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%97%E0%B5%82%E0%B4%A2%E0%B4%B6%E0%B4%BE%E0%B4%B8%E0%B5%8D%E0%B4%A4%E0%B5%8D%E0%B4%B0_%E0%B4%B9%E0%B4%BE%E0%B4%B7%E0%B5%8D_%E0%B4%AB%E0%B4%99%E0%B5%8D%E0%B4%B7%E0%B5%BB" title="ഗൂഢശാസ്ത്ര ഹാഷ് ഫങ്ഷൻ – Malayalam" lang="ml" hreflang="ml" data-title="ഗൂഢശാസ്ത്ര ഹാഷ് ഫങ്ഷൻ" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_hash_criptogr%C3%A1fica" title="Função hash criptográfica – Portugiesisch" lang="pt" hreflang="pt" data-title="Função hash criptográfica" data-language-autonym="Português" data-language-local-name="Portugiesisch" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%85%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F" title="Криптографическая хеш-функция – Russisch" lang="ru" hreflang="ru" data-title="Криптографическая хеш-функция" data-language-autonym="Русский" data-language-local-name="Russisch" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Cryptographic_hash_function" title="Cryptographic hash function – einfaches Englisch" lang="en-simple" hreflang="en-simple" data-title="Cryptographic hash function" data-language-autonym="Simple English" data-language-local-name="einfaches Englisch" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Kryptografick%C3%A1_ha%C5%A1ovacia_funkcia" title="Kryptografická hašovacia funkcia – Slowakisch" lang="sk" hreflang="sk" data-title="Kryptografická hašovacia funkcia" data-language-autonym="Slovenčina" data-language-local-name="Slowakisch" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D1%81%D0%BA%D0%B0_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%98%D0%B0_%D0%B7%D0%B0_%D1%81%D0%B0%D0%B6%D0%B8%D0%BC%D0%B0%D1%9A%D0%B5" title="Криптографска функција за сажимање – Serbisch" lang="sr" hreflang="sr" data-title="Криптографска функција за сажимање" data-language-autonym="Српски / srpski" data-language-local-name="Serbisch" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%9F%E0%B8%B1%E0%B8%87%E0%B8%81%E0%B9%8C%E0%B8%8A%E0%B8%B1%E0%B8%99%E0%B9%81%E0%B8%AE%E0%B8%8A%E0%B9%80%E0%B8%82%E0%B9%89%E0%B8%B2%E0%B8%A3%E0%B8%AB%E0%B8%B1%E0%B8%AA" title="ฟังก์ชันแฮชเข้ารหัส – Thailändisch" lang="th" hreflang="th" data-title="ฟังก์ชันแฮชเข้ารหัส" data-language-autonym="ไทย" data-language-local-name="Thailändisch" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Kriptografik_%C3%B6zet_fonksiyonu" title="Kriptografik özet fonksiyonu – Türkisch" lang="tr" hreflang="tr" data-title="Kriptografik özet fonksiyonu" data-language-autonym="Türkçe" data-language-local-name="Türkisch" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D1%96%D1%87%D0%BD%D0%B0_%D0%B3%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D1%96%D1%8F" title="Криптографічна геш-функція – Ukrainisch" lang="uk" hreflang="uk" data-title="Криптографічна геш-функція" data-language-autonym="Українська" data-language-local-name="Ukrainisch" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/H%C3%A0m_b%C4%83m_m%E1%BA%ADt_m%C3%A3" title="Hàm băm mật mã – Vietnamesisch" lang="vi" hreflang="vi" data-title="Hàm băm mật mã" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamesisch" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E5%AF%86%E7%A2%BC%E9%9B%9C%E6%B9%8A%E5%87%BD%E6%95%B8" title="密碼雜湊函數 – Chinesisch" lang="zh" hreflang="zh" data-title="密碼雜湊函數" data-language-autonym="中文" data-language-local-name="Chinesisch" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E5%AF%86%E7%A2%BC%E9%9B%9C%E6%B9%8A%E5%87%BD%E6%95%B8" title="密碼雜湊函數 – Kantonesisch" lang="yue" hreflang="yue" data-title="密碼雜湊函數" data-language-autonym="粵語" data-language-local-name="Kantonesisch" class="interlanguage-link-target"><span>粵語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q477202#sitelinks-wikipedia" title="Links auf Artikel in anderen Sprachen bearbeiten" class="wbc-editpage">Links bearbeiten</a></span></div> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> Diese Seite wurde zuletzt am 24. Februar 2024 um 04:09 Uhr bearbeitet.</li> <li id="footer-info-copyright"><div id="footer-info-copyright-stats" class="noprint"><a rel="nofollow" class="external text" href="https://pageviews.wmcloud.org/?pages=Kryptographische_Hashfunktion&project=de.wikipedia.org">Abrufstatistik</a> · <a rel="nofollow" class="external text" href="https://xtools.wmcloud.org/authorship/de.wikipedia.org/Kryptographische_Hashfunktion?uselang=de">Autoren</a> </div><div id="footer-info-copyright-separator"><br /></div><div id="footer-info-copyright-info"> <p>Der Text ist unter der Lizenz <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">„Creative-Commons Namensnennung – Weitergabe unter gleichen Bedingungen“</a> verfügbar; Informationen zu den Urhebern und zum Lizenzstatus eingebundener Mediendateien (etwa Bilder oder Videos) können im Regelfall durch Anklicken dieser abgerufen werden. Möglicherweise unterliegen die Inhalte jeweils zusätzlichen Bedingungen. Durch die Nutzung dieser Website erklären Sie sich mit den <span class="plainlinks"><a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use/de">Nutzungsbedingungen</a> und der <a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Privacy_policy/de">Datenschutzrichtlinie</a></span> einverstanden.<br /> </p> Wikipedia® ist eine eingetragene Marke der Wikimedia Foundation Inc.</div></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/de">Datenschutz</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:%C3%9Cber_Wikipedia">Über Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Impressum">Impressum</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Verhaltenskodex</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Entwickler</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/de.wikipedia.org">Statistiken</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Stellungnahme zu Cookies</a></li> <li id="footer-places-mobileview"><a href="//de.m.wikipedia.org/w/index.php?title=Kryptographische_Hashfunktion&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile Ansicht</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> <script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"codex-search-styles\".\n[1.43] Use a CodexModule with codexComponents to set your specific components used: https://www.mediawiki.org/wiki/Codex#Using_a_limited_subset_of_components");mw.config.set({"wgHostname":"mw-web.codfw.main-7bbfc6c4f5-6prqw","wgBackendResponseTime":141,"wgPageParseReport":{"limitreport":{"cputime":"0.258","walltime":"0.413","ppvisitednodes":{"value":1250,"limit":1000000},"postexpandincludesize":{"value":8400,"limit":2097152},"templateargumentsize":{"value":594,"limit":2097152},"expansiondepth":{"value":11,"limit":100},"expensivefunctioncount":{"value":1,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":20295,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 189.539 1 -total"," 38.66% 73.268 4 Vorlage:Literatur"," 23.53% 44.606 9 Vorlage:Lang"," 18.42% 34.905 1 Vorlage:Webarchiv"," 4.33% 8.207 1 Vorlage:Anker"," 3.97% 7.517 1 Vorlage:Str_find"," 2.83% 5.360 1 Vorlage:Webarchiv/Wayback"," 1.91% 3.621 2 Vorlage:EnS"]},"scribunto":{"limitreport-timeusage":{"value":"0.067","limit":"10.000"},"limitreport-memusage":{"value":3454174,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-cc877b49b-gwv6z","timestamp":"20241127114605","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Kryptographische Hashfunktion","url":"https:\/\/de.wikipedia.org\/wiki\/Kryptographische_Hashfunktion","sameAs":"http:\/\/www.wikidata.org\/entity\/Q477202","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q477202","author":{"@type":"Organization","name":"Autoren der Wikimedia-Projekte"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2007-07-11T12:11:39Z","headline":"erstellt einmalige und kollisionsfreie Werte"}</script> </body> </html>