<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Cramer-Shoup-Kryptosystem</id>
	<title>Cramer-Shoup-Kryptosystem - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Cramer-Shoup-Kryptosystem"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Cramer-Shoup-Kryptosystem&amp;action=history"/>
	<updated>2026-05-28T17:39:18Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Cramer-Shoup-Kryptosystem&amp;diff=2152316&amp;oldid=prev</id>
		<title>imported&gt;Aka: Leerzeichen vor Maßeinheit, Kleinkram</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Cramer-Shoup-Kryptosystem&amp;diff=2152316&amp;oldid=prev"/>
		<updated>2025-05-28T18:54:58Z</updated>

		<summary type="html">&lt;p&gt;Leerzeichen vor Maßeinheit, Kleinkram&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Das &amp;#039;&amp;#039;&amp;#039;Cramer-Shoup-Kryptosystem&amp;#039;&amp;#039;&amp;#039; ist ein von [[Ronald Cramer]] und [[Victor Shoup]] entwickeltes [[asymmetrisches Kryptosystem]], das als eine Erweiterung des [[Elgamal-Verschlüsselungsverfahren]]s aufgefasst werden kann.&amp;lt;ref&amp;gt;{{Literatur |Autor=Ronald Cramer and Victor Shoup |Titel=A practical public key cryptosystem provably secure against adaptive chosen ciphertext attack |Sammelwerk=Proceedings of Crypto 1998 |Datum=1998 |Seiten=13–25 |Sprache=en |Online=http://homepages.cwi.nl/~cramer/papers/cs.ps}}&amp;lt;/ref&amp;gt; Es war das erste praktikable Verschlüsselungsverfahren, das im Standardmodell (ohne [[Zufallsorakel]]) gegen adaptive Chosen-Ciphertext-Angriffe sicher war. Die Sicherheit des Verfahrens beruht auf der Schwierigkeit des [[Decisional-Diffie-Hellman-Problem]]s.&lt;br /&gt;
&lt;br /&gt;
== Das Verfahren ==&lt;br /&gt;
Wie alle asymmetrischen Verschlüsselungen besteht auch das Cramer-Shoup-Verfahren aus drei [[Algorithmus|Algorithmen]].&lt;br /&gt;
&lt;br /&gt;
=== Schlüsselerzeugung ===&lt;br /&gt;
* Zuerst wählt man eine (hier multiplikativ geschriebene) [[zyklische Gruppe]] &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; von Primordnung &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt; und in dieser zwei Erzeuger &amp;lt;math&amp;gt;g_1, g_2&amp;lt;/math&amp;gt;. Zusätzlich muss noch eine [[kryptologische Hashfunktion]] &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; festgelegt werden. Diese Werte sind öffentliche Parameter und können von mehreren Benutzern gleichzeitig genutzt werden.&lt;br /&gt;
* Dann werden als geheimer Schlüssel zufällige &amp;lt;math&amp;gt;x_1, x_2, y_1, y_2, z \in \mathbb{Z}_q &amp;lt;/math&amp;gt; gewählt.&lt;br /&gt;
* Aus diesen wird der öffentliche Schlüssel &amp;lt;math&amp;gt;c = g_1^{x_1} g_2^{x_2}, d = g_1^{y_1} g_2^{y_2}, h = g_1^{z}&amp;lt;/math&amp;gt; berechnet.&lt;br /&gt;
&lt;br /&gt;
=== Verschlüsselung ===&lt;br /&gt;
Um eine Nachricht &amp;lt;math&amp;gt;m \in G&amp;lt;/math&amp;gt; mit dem öffentlichen Schlüssel &amp;lt;math&amp;gt;(c,d,h)&amp;lt;/math&amp;gt; zu verschlüsseln geht man wie folgt vor:&lt;br /&gt;
&lt;br /&gt;
* Es wird ein zufälliges &amp;lt;math&amp;gt;r \in \mathbb{Z}_q&amp;lt;/math&amp;gt; gewählt.&lt;br /&gt;
* &amp;lt;math&amp;gt;u_1 = g_1^r, u_2 = g_2^r&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;e = h^r m&amp;lt;/math&amp;gt; Das ist die Verschlüsselung der Nachricht wie bei ElGamal.&lt;br /&gt;
* &amp;lt;math&amp;gt;\alpha = H(u_1, u_2, e)&amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; eine universal-one-way Hashfunktion oder eine kollisionsresistente Hashfunktion ist.&lt;br /&gt;
* &amp;lt;math&amp;gt;v = c^r d^{r\alpha}&amp;lt;/math&amp;gt;. Dieses Element stellt sicher, dass ein Angreifer nicht Teile des Chiffrats benutzen kann um weitere Chiffrate zu erzeugen und sichert so die für die Sicherheit notwendige [[Sicherheitsbegriff#Non-Malleability (NM)|Nicht-Verformbarkeit]]&lt;br /&gt;
Das Chiffrat besteht dann aus &amp;lt;math&amp;gt;(u_1, u_2, e, v)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Entschlüsselung ===&lt;br /&gt;
Um ein Chiffrat &amp;lt;math&amp;gt;(u_1, u_2, e, v)&amp;lt;/math&amp;gt; mit dem geheimen Schlüssel &amp;lt;math&amp;gt;(x_1, x_2, y_1, y_2, z)&amp;lt;/math&amp;gt; zu entschlüsseln führt man zwei Schritte durch.&lt;br /&gt;
&lt;br /&gt;
* Zuerst berechnet man &amp;lt;math&amp;gt;\alpha = H(u_1, u_2, e)&amp;lt;/math&amp;gt; und überprüft ob &amp;lt;math&amp;gt;u_1^{x_1} u_2^{x_2} (u_1^{y_1} u_2^{y_2})^{\alpha} = v&amp;lt;/math&amp;gt;. Falls das nicht der Fall ist, wird die Entschlüsselung abgebrochen und eine [[Fehlermeldung]] ausgegeben.&lt;br /&gt;
* Falls nicht, berechnet man den Klartext &amp;lt;math&amp;gt;m = e / (u_1^z)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Korrektheit ===&lt;br /&gt;
&lt;br /&gt;
Die Korrektheit des Verfahrens folgt aus&lt;br /&gt;
: &amp;lt;math&amp;gt; u_1^{z} = g_1^{r z} = h^r&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;m = e / h^r&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Instanziierung ==&lt;br /&gt;
&lt;br /&gt;
Als Sicherheitsniveau wählen wir die Standardlänge für generische Anwendungen von 128 bit.&amp;lt;ref name=&amp;quot;ECRYPT S30-32&amp;quot;&amp;gt;{{Literatur |Hrsg=European Network of Excellence in Cryptology II |Titel=ECRYPT II Yearly Report on Algorithms and Keysizes (2009–2010) |Datum=2010 |Seiten=30–32 |Sprache=en |Online=[http://www.ecrypt.eu.org/documents/D.SPA.13.pdf ecrypt.eu.org] |Format=PDF |KBytes=2400}} {{Webarchiv |url=http://www.ecrypt.eu.org/documents/D.SPA.13.pdf |text=PDF 2,4&amp;amp;nbsp;MB |wayback=20100821072710 |archiv-bot=2019-03-11 06:18:16 InternetArchiveBot}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
Daraus ergibt sich eine Ausgabelänge von 256 bit für die Hashfunktion.&amp;lt;ref name=&amp;quot;ECRYPT S30-32&amp;quot; /&amp;gt; SHA-256 kann als kollisionsresistent angenommen werden.&amp;lt;ref name=&amp;quot;ECRYPT S52&amp;quot;&amp;gt;{{Literatur |Hrsg=European Network of Excellence in Cryptology II |Titel=ECRYPT II Yearly Report on Algorithms and Keysizes (2009–2010) |Datum=2010 |Seiten=52 |Sprache=en |Online=[http://www.ecrypt.eu.org/documents/D.SPA.13.pdf ecrypt.eu.org] |Format=PDF |KBytes=2400}} {{Webarchiv |url=http://www.ecrypt.eu.org/documents/D.SPA.13.pdf |text=PDF 2,4&amp;amp;nbsp;MB |wayback=20100821072710 |archiv-bot=2019-03-11 06:18:16 InternetArchiveBot}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man braucht eine Gruppe, in welcher das [[Decisional-Diffie-Hellman-Problem]] schwierig zu berechnen ist, wie etwa &amp;lt;math&amp;gt;\mathbb{Z}_p^*&amp;lt;/math&amp;gt;. Dazu wählt man eine Primzahl &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; mit einer Länge von 3248 bit, so dass die Gruppe eine multiplikative Untergruppe von Primordnung &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt; hat, wobei &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt; eine Länge von 256 bit haben sollte&amp;lt;ref name=&amp;quot;ECRYPT S30-32&amp;quot; /&amp;gt;. Das heißt, dass &amp;lt;math&amp;gt;q|(p-1)&amp;lt;/math&amp;gt; gelten muss.&lt;br /&gt;
Aus der Wahl der Parameter ergibt sich eine Länge von &amp;lt;math&amp;gt;5 \cdot 256 = 1280&amp;lt;/math&amp;gt; bit für den geheimen Schlüssel, und &amp;lt;math&amp;gt;3 \cdot 3248 = 9744&amp;lt;/math&amp;gt; bit für den öffentlichen Schlüssel. Ein Chiffrat ist &amp;lt;math&amp;gt;4 \cdot 3248 = 12992&amp;lt;/math&amp;gt; bit lang.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Asymmetrisches Verschlüsselungsverfahren]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Aka</name></author>
	</entry>
</feed>