Physikalische Angriffe auf Blockchiffren am Beispiel der NESSIE Kandidaten

Größe: px
Ab Seite anzeigen:

Download "Physikalische Angriffe auf Blockchiffren am Beispiel der NESSIE Kandidaten"

Transkript

1 Physikalische Angriffe auf Blockchiffren am Beispiel der NESSIE Kandidaten Diplomarbeit Ludwig Seitz Fakultät für Informatik Universität Karlsruhe Betreuer: Prof. Dr. Thomas Beth Betreuender Mitarbeiter: Dr. Willi Geiselmann Institut für Algorithmen und Kognitive Systeme (IAKS) European Institute for System Security (E.I.S.S.) 2002

2

3 Ich bin nicht dankbar weil es vorteilhaft ist, sondern weil es Freude macht. Seneca Danksagung: Hiermit möchte ich mich bei all jenen bedanken, die mich bei der Erstellung dieser Diplomarbeit unterstützt haben: Bei Herrn Professor Beth und Herr Dr. Geiselmann, welche mir die Arbeit ermöglicht haben und mich exzellent betreut haben, bei Herrn Steinwandt, für viele Anregungen sowie dafür, daß der Titel der Arbeit auf drei Zeilen passt, bei Herrn Professor Rieder für Literaturhinweise zum Lösen fehlerbehafteter Gleichungssysteme, bei den Herren Grassl und Müller-Quade für Literaturhinweise im Bereich Quantencomputing, bei Herrn Hahn für die Betreuung meiner Versuche mit der Smart-Card, bei Herrn Professor Lazic und Herrn Chen ohne deren Hilfe die praktischen Versuche nie möglich gewesen wären und besonders bei meinen Kommilitonen Patrick Rößler und Elin A. Topp für mehrfaches Korrekturlesen. Erklärung: Hiermit versichere ich, Ludwig Seitz, die vorliegende Diplomarbeit selbständig verfaßt zu haben. Die verwendeten Quellen sind vollständig im Literaturverzeichnis angegeben. Karlsruhe, den

4

5 Inhaltsverzeichnis 1 NESSIE 3 2 Angriffe über Seitenkanäle Was sind Seitenkanäle? Kochers Zeitverhaltensangriff Modulare Exponentiation Multiplikation bei IDEA Schutz vor Zeitverhaltensangriffen Einfache Stromverbrauchsanalyse Differentielle Stromverbrauchsanalyse Ein DPA-Angriff auf IDEA Eine DPA-resistente Variante von RC Angriffe auf die Rundenschlüsselerzeugung Inferentielle Stromverbrauchsanalyse Stromverbrauchsmessungen Versuchsaufbau Grundlegende Erkenntnisse Der CPU-Stromverbrauch Quantencomputing und Blockchiffren Meilensteine des Quantencomputings Was kann Quantencomputing? Auswirkungen von Realisierungen Fazit und Ausblick 51 A Allgemeines 55 A.1 Smart-Cards A.2 Das challenge-response Protokoll A.3 Der erweiterte euklidische Algorithmus iv

6 INHALTSVERZEICHNIS v B Blockchiffren 59 B.1 Der IDEA-Algorithmus B.2 Der RC6-Algorithmus B.3 Die Schlüsselerzeugung bei SHACAL B.4 Die Schlüsselerzeugung bei SAFER

7 Abbildungsverzeichnis 2.1 Traditionelle Annahmen über die Informationen die einem Angreifer zur Verfügung stehen Informationen, die ein Angreifer über Seitenkanäle erhalten kann Die Laufzeit eines Algorithmus als messbarer Seitenkanal Die IDEA Rundenfunktion, mit Variablenbenennung der Zwischenergebnisse Der Ablauf des Zeitverhaltensangriffs auf IDEA. Die K x sind Klassen nach denen die Chiffrate Aufgeteilt werden und die E x sind Eingaben von Multiplikationen welche eine Unterscheidung der Klassen erlauben Die Korrelationsanalyse der Stromverbrauchskurve einer Square and Multiply Potenzierung. Gemessen wurde die Korrelation eines Multiplikationsschritts mit dem Rest der Kurve. Mit freundlicher Genehmigung aus [11] entliehen Der zeitliche Verlauf des DPA-Angriffs. Die gestrichelten Pfeile geben die Einzelschritte wieder. Bezeichnungen mit a, b zeigen an, daßbeide Schritte unabhängig voneinander durchgeführt werden können Die RC6-w/r/b Rundenfunktion. Hier ist f(x) = x (2x 1) und neg(x) die Bitweise negation von X Der Versuchsaufbau zur Messung des Stromverbrauchs einer Smart-Card. VCC = Versorgungsspannung, I/O = Datenleitung, RST = Reset, CLK = Externer Takt Ausschnitt von zwei Stromverbrauchsmessungen des P8WE6017. Links ist ein Übergang von CPU-Aktivität zu Coprozessorberechnungen zu erkennen. Rechts befindet sich die CPU in einer Fehlerroutine, da das Taktsignal gekappt ist Ausschnitte von Stromverbrauchsmessungen des P8WE5017. Links oben die Verbrauchskurve der CPU, rechts oben eine Kurve mit 21 DES Aufrufen und unten Mitte eine Kurve mit 4 RSA Verschlüsselungen vi

8 ABBILDUNGSVERZEICHNIS vii 3.4 Ausschnitt aus der Korrelation des Klons 4 mit der Datenreihe b. Entnahmepunkt des Klons ist bei x = Ausschnitt aus der Korrelation des Klons 1 mit der Datenreihe a. Regelmäßige Peaks bei 200, 400, 600 und B.1 Die IDEA Rundenfunktion B.2 Die RC6-w/r/b Rundenfunktion. Hier ist f(x) = x (2x 1) B.3 Die Schlüsselerzeugung bei SHACAL B.4 Die Erzeugung der Rundenschlüssel mit ungeradem Index bei SAFER B.5 Die Erzeugung der Rundenschlüssel mit geradem Index bei SAFER

9 Einleitung Als im Jahre 1977 Data Encryption Standard (DES) als amerikanischer Verschlüsselungsstandard eingeführt wurde, waren die differentielle [5] und die lineare Kryptoanalyse [30] öffentlich noch nicht bekannt. Heute sind diese Techniken wesentlich für die Analyse moderner Blockchiffren geworden. Aufgrund des robusten und vorausschauenden Designs konnten diese Angriffe DES nichts anhaben. Noch heute ist DES vielen kryptographischen Applikationen im Einsatz und wird erst langsam von Rijndael abgelöst, welches 2000 den Wettbewerb zum Advanced Encryption Standard (AES) gewonnen hat. Wir müssen also bei solchen Standards von einer Lebensdauer von über 20 Jahren ausgehen. Daher ist es angebracht, bei einem Wettbewerb für kryptographische Standards, wie NESSIE (New European Standards for Security, Integrity and Encryption) einer ist, höchste Maßstäbe im Hinblick auf die Sicherheit anzulegen, vor allem auch im Hinblick auf neue und zukünftig mögliche Techniken der Kryptoanalyse. Doch es reicht nicht aus, nur die neuen Angriffe zu betrachen, die sich direkt gegen die Algorithmen richten. Aufgrund der vielfältigen Einsatzszenarien von kryptographischen Applikationen muß auch untersucht werden, ob nicht durch eben diese praktischen Nutzungen, neue unerwartete Angriffsmöglichkeiten entstehen. Wenn solche sogenannten Angriffe über Seitenkanäle gefunden werden, lohnt es sich, zu überlegen, wie man diese auf algorithmischer Ebene verhindern kann. Die vorliegende Arbeit befaßt sich sowohl mit den Auswirkungen neuer Technologien auf die Sicherheit von Blockchiffren als auch mit den Angriffen über Seitenkanälen und entsprechenden Gegenmaßnahmen. 1

10

11 Kapitel 1 NESSIE NESSIE [33] steht für New European Schemes for Signatures, Integrity and Encryption. Es ist ein Projekt, das zum Ziel hat, Unternehmen und Regierungen eine Auswahl an geprüften und sicheren kryptographischen Primitiven zur Verfügung zu stellen. In diesem Rahmen wurde im März 2000 dazu aufgerufen, Vorschläge für Algorithmen in den folgenden Kategorien einzureichen: Blockchiffren Stromchiffren Symmetrische Signaturverfahren (Message Authentication Codes) Kryptographische Hashverfahren Asymmetrische Chiffren Asymmetrische Signaturverfahren Asymmetrische Identifikationsverfahren Die daraufhin eingereichten Vorschläge wurden dann einer ersten, kurzen Untersuchung unterzogen, bei der sowohl Sicherheitsaspekte als auch die Ausführungsgeschwindigkeit berücksichtigt wurden. Die Vorschläge, bei denen sich keine Probleme zeigten, wurden in die zweite Runde übernommen und sollen jetzt einer genaueren Untersuchung unterzogen werden. Dabei soll auch die Laufzeit von optimierten Implementierungen in Software, Hardware und auf Smart-Cards betrachtet werden. Basierend auf den Ergebnissen dieser zweiten Runde soll ein Paket von kryptographischen Primitiven als Empfehlung zusammengestellt, verbreitet und in die Standardisierungsgremien eingebracht werden. 3

12 KAPITEL 1. NESSIE 4 Da die Evaluierung ein offener Prozess sein soll, wird im Rahmen des NESSIE Projekts dazu eingeladen, sowohl eingereichte Vorschläge als auch den Evaluierungsprozess selbst zu kommentieren. Das Auswahlverfahren für die Blockchiffren: Die Untersuchung der Sicherheitsaspekte in der ersten Runde findet man unter dem Stichwort Security Evaluation of NESSIE First Phase [33]. Dabei wurden die Blockchiffren hauptsächlich auf Resistenz gegen differentielle [5] und lineare Kryptoanalyse [30] untersucht. Weiterhin beachtet wurde die Resistenz gegen vollständige Schlüsselsuche, Angriff über Kollision von Chiffraten (matching ciphertext attack), Teile von Differenzen (truncated differentials), unmögliche Differenzen, Differenzen höherer Ordnung, Mod n Kryptoanalyse, Angriffe über zusammenhängende Schlüssel, den Interpolationsangriff, den Angriff auf Chiffren mit nicht-surjektiven Rundenfunktionen von Rijmen-Preneel-De Win (non-surjective attack), Angriffen nach Biryukov und Wagner (slide attacks) und Summationsangriffe (Integral Attacks). Die Chiffren wurden zudem statistischen Tests unterzogen, außerdem wurden speziell auf die Struktur der Chiffren ausgelegte Angriffe untersucht. Nicht untersucht wurde die Resistenz gegen physikalische Angriffe, wie z.b. die im folgenden vorgestellten Angriffe über Seitenkanäle. Es scheint hier weitestgehend die Meinung vorzuherrschen, daß die Abwehr solcher Angriffe in der konkreten Implementierung erfolgen müsse und nicht beim Algorithmendesign. Folgende Blockchiffren wurden in die Zweite Runde übernommen: Camellia [1], eingereicht von Shiho Moriai, Nippon Telegraph and Telecommunciation Corp. und Mitsuru Matsui, Mitsubishi Electric, Japan. IDEA [27], eingereicht von Richard Straub, MediaCrypt AG, Schweiz. KHAZAD [2], eingereicht von Paulo S. L. M. Barreto, Scopus Tecnologia S. A., Brasilien und Vicent Rijmen, K. U. Leuven, Belgien. MISTY1 [31], eingereicht von Eisaku Takeda, Mitsubishi Electric Corp., Japan. RC6 [23], eingereicht von Jakob Jonsson, RSA Laboratories Europe, Schweden und Burt Kaliski, RSA Laboratories, USA. SAFER++ [29], eingereicht von Gurgen Khachatrian, Cylink Corp., USA, James Massey, ETH Zürich, Schweiz und Melsik Kuregian, Nationale Akademie der Wissenschaften, Armenien. SHACAL [19], eingereicht von Helena Handschuh und David Naccache, Gemplus, Frankreich.

13 Kapitel 2 Angriffe über Seitenkanäle Wer den kleinsten Teil seines Geheimnisses hingibt, hat den anderen nicht mehr in der Gewalt. Jean Paul ( ), dt. Erzähler Im folgenden Kapitel wird zunächst kurz die Idee eines Seitenkanals erläutert. Dann folgen die Beschreibungen der gängigsten Angriffe, die auf Seitenkanäle basieren, jeweils mit Abwehrmethoden und mehr oder weniger ausführlichen Beispielen. Langwierige Berechnungen, die das Verständnis nicht vertiefen, wurden in den Anhang ausgelagert. 2.1 Was sind Seitenkanäle? Die meisten kryptographischen Algorithmen basieren auf der Annahme, daß einem Angreifer das Chiffrat und Teile des Klartextes zur Verfügung stehen. Es wird weiterhin angenommen, daß der Angreifer den Algorithmus kennt und auch alle seine Parameter, außer dem geheimen Schlüssel (siehe Abbildung 2.1). Nach klassischer Sicht gilt ein Algorithmus dann als sicher, wenn der Angreifer aus diesen Informationen den geheimen Schlüssel nur mit unvertretbar hohem Aufwand bestimmen kann. Nachricht Kryptographischer Algorithmus (Verschlüsselung, Entschlüsselung, Signatur etc.) Chiffrat Geheime(r) Schüssel Abbildung 2.1: Traditionelle Annahmen über die Informationen die einem Angreifer zur Verfügung stehen. 5

14 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 6 Definition: Definition: Sei X ein Bitstring der Länge w, dann ist X [i] mit 0 i < w das i-te Bit, wobei X [0] das niederwertigste Bit bezeichnet. Seien X und Y jeweils ein Bitstring, dann ist Z = X Y der Bitstring, der durch Konkatenation von X und Y entsteht. Tabelle 2.1: Notation Die von Kocher entwickelten Angriffe über Seitenkanäle [25, 26] funktionieren bei vielen, nach klassischer Betrachtung sicheren Algorithmen. Grund hierfür ist, wie in Abbildung 2.2 dargestellt, daß mit zusätzlichen Informationsquellen gearbeitet wird, die bei den klassischen Angriffen bisher nicht beachtet wurden. "Informationsleck" aus einem Seitenkanal z.b. Zeitverhalten, Stromverbrauch etc. Nachricht Kryptographischer Algorithmus (Verschlüsselung, Entschlüsselung, Signatur etc.) Chiffrat Geheime(r) Schüssel Abbildung 2.2: Informationen, die ein Angreifer über Seitenkanäle erhalten kann. Bei dieser Information aus Seitenkanälen kann es sich z.b. um die Ausführungszeit, den Stromverbrauch oder die elektromagnetische Abstrahlung handeln, welche bei der Ausführung in einem Gerät messbar ist. Um diese Informationslecks nutzen zu können, muß ein Angreifer Zugriff auf das Gerät haben, in dem der Verschlüsselungsvorgang stattfindet. Vorstellbar ist dies am ehesten bei kryptographischen Applikationen auf sogenannten Smart-Cards. Diese kommen z.zt. vor allem bei Geldkarten, Krankenversicherungskarten und Gebäudezugangskarten zum Einsatz 1. Kurze Beschreibungen von gängigen Smart-Card Architekturen finden sich in Anhang A.1. In Tabelle 2.1 sind einige Notationen definiert, die im Folgenden verwendet werden. 1 Für eine ausführliche Beschreibung der Einsatzmöglichkeiten von Smart-Cards siehe z.b. oder

15 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE Kochers Zeitverhaltensangriff ei dem ersten Angriff über Seitenkanäle, den Kocher in [25] vorgestellt hat, wird als zusätzliche Information das Zeitverhalten eines Algorithmus herangezogen (siehe Abbildung 2.3). Dieses läßt sich bei allen Systemen messen, die die Verschlüsselung in Echtzeit durchführen, wie z.b. bei WWW- Applikationen oder auf Smart-Cards. Seitenkanal a t Laufzeit des Algorithmus t + a Nachricht Kryptographischer Algorithmus (Verschlüsselung, Entschlüsselung, Signatur etc.) Chiffrat Geheime(r) Schüssel Abbildung 2.3: Die Laufzeit eines Algorithmus als messbarer Seitenkanal Der Zeitverhaltensangriff basiert auf der Tatsache, daß bei manchen Operationen die Ausführungsdauer von den Operanden abhängt. Dies liegt u.a. an Optimierungen um unnötige Operationen zu vermeiden, bedingten Verzweigungen, Cache Treffern und Prozessorbefehlen (wie z.b. Multiplikation und Division) deren Laufzeit von den Eingaben abhängt. Das Zeitverhalten hängt also typischerweise vom Klartext und vom Schlüssel ab, bzw. von den Zwischenergebnissen, die sich während des Verschlüsselungsvorgangs aus beiden Parametern ergeben. Man könnte naheliegend annehmen, daß das Zeitverhalten lediglich eine geringe Menge an Informationen (z.b. das Hamming-Gewicht des Schlüssels) preisgibt, jedoch zeigen die folgenden Methoden, wie mit dieser zusätzlichen Information der gesamte geheime Schlüssel eines ungeschützten Kryptosystems bestimmt werden kann Modulare Exponentiation Als Beispiel soll hier zunächst gezeigt werden, wie eine Exponentiation modulo n, wie sie z.b. bei RSA verwendet wird, angegriffen werden kann. Der einfachste Algorithmus für eine Modulo-Exponentiation z = y x mod n (z, y, x, n N) ist square and multiply. Er wird in Tabelle 2.2 als Referenz auf die verwendeten Variablen wiedergegeben.

16 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 8 square and mutliply Eingaben: n, y und x wobei x w-bit lang ist Ausgabe: z = y x mod n s o = 1 for k = 0 to w 1 { if bit k von x gleich 1 then z k = (s k y) mod n else z k = s k s k+1 = z 2 k mod n } return (z w 1 ). Tabelle 2.2: Der square and multiply Algortihmus Ziel des Angriffs ist es, das geheime x (bei RSA der geheime Schlüssel) zu erhalten. Voraussetzungen für den Angriff sind: Die Berechnung z = y x mod n erfolgt mehrmals für verschiedene y. Das x und das n bleiben gleich. Der Angreifer kennt jeweils das y ( known-plaintext attack ). Der Angreifer kann die Ausführungszeit der einzelnen Berechnungen messen (z.b. durch Abhören eines interaktiven Protokolls). Die Ausführungszeiten von z k = (s k y) mod n und z k = s k unterscheiden sich (O.b.d.A. sei die Ausführungszeit der Multiplikation länger als die der Zuweisung). Es kann ein Erwartungswert für die jeweilige Ausführungszeit bestimmt werden. Mit dem Angriff wird das Bit x [b] des Exponenten bestimmt. Dazu werden die höherwertigen Bits {x [i], i : 0 i < b} benötigt, daher wird als Ansatz eine führende 0 für den Exponenten gewählt 2. Der Angriff kann dann solange wiederholt werden, bis alle Bits von x bestimmt sind. In jedem Schritt des Angriffs wird das höchstwertige, unbekannte Bit geraten. Da die höherwertigen Bits bekannt sind, kann die erwartete x [b] 2 D.h. ein x = 1101 wird als x = angegriffen

17 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 9 Ausführungszeit des Algorithmus für die Exponentenbits x [0],..., x [b 1] bestimmt werden. Wenn x [b] gesetzt ist wird z b = (s b y) mod n berechnet, ansonsten wird nur die Zuweisung z b = s b ausgeführt. Wenn also das Bit b falsch geraten wird, sind die z k b falsch und können im Bezug auf den Angriff als Zufallswerte betrachtet werden. Die Zeit für die Stellen ab der falsch Geratenen wird nicht mehr mit dem Erwartungswert korreliert sein. Damit kann der Angriff auf solche geratenen Bitkombinationen beschränkt werden, deren Ausführungszeit eine hohe Korrelation mit der erwarteten Ausführungszeit aufweisen. Seien nun j Nachrichten y 0,..., y j 1 mit zugehörigen Zeitmessungen T 0,..., T j 1 gegeben, dann ist die Wahrscheinlichkeit, daß b geratene Bits des Exponenten x b := x [0],..., x [b 1] richtig sind, proportional zu j 1 P (x b ) F (T i t(y i, x b )), i=0 wobei t(y i, x b ) die Zeit ist, für die ersten b Iterationen der Berechnung von yi x mod n mit richtig geratenem x b und F die erwartete Wahrscheinlichkeitsverteilung von T t(y, x b ) für alle Werte von y mit richtigem x b. Daher ist F auch die beste Funktion, um T i t(y i, x b ) vorherzusagen. Wenn x b 1 richtig geraten ist, gibt es zwei Möglichkeiten für x b. Die Wahrscheinlichkeit, daß x b richtig ist und x b falsch berechnet sich nach der Formel j 1 i=0 F (T i t(y i, x b )) j 1 i=0 F (T i t(y i, x b )) + j 1 i=0 F (T i t(y i, x b )). Diese Erkenntnis läßt sich allerdings nicht für einen Angriff verwenden, da F nicht bekannt ist, darum wird wie folgt vereinfacht: Jede Zeitbeobachtung T i besteht aus T i = e + w 1 j=0 t j, wobei t j die Zeit ist, welche die Multiplikations- und Quadrierungsschritte für das Bit j brauchen, während e Schwankungen durch Messfehler, Schleifen-Overhead etc. darstellt. Mit dem geratenen x b kann b 1 j=0 t j für alle y i bestimmt werden. Wenn x b richtig ist, dann gilt w 1 b 1 w 1 e + t j t j = e + t j. j=0 j=0 Da die einzelnen Modulo-Multiplikationen voneinander und von e unabhängig sind, ist der Erwartungswert der Varianz von e + w 1 j=b t j über alle Datensätze gleich V ar(e) + (w b)v ar(t). Wenn nur die ersten c < b Bits des geratenen Exponenten richtig sind, ist die erwartete Varianz gleich j=b

18 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 10 V ar(e) + (w + b 2c)V ar(t), da richtige Bits in x b die Varianz um V ar(t) verringern und falsche Bits sie um V ar(t) erhöhen. Mit dieser Vereinfachng lassen sich falsch geratene Exponentenbits von x b auch praktisch feststellen, da die Varianzen leicht berechnet und verglichen werden können. Eine Abschätzung für die Anzahl j der Muster ergibt sich wie folgt: Gegeben seien zwei Annahmen für die ersten b Bits eines w-bit Exponenten. Eine ist richtig, während die andere den ersten Fehler ab dem c-ten Bit hat. Die reale Zeitmessung wird für beide Alternativen modifiziert, indem jeweils b 1 j=0 t j abgezogen wird. Die richtige Annahme wird dann erkannt, wenn ihre modifizierte Varianz kleiner ist. Wenn t i mit unabhängigen, normalverteilten Variablen approximiert wird und V ar(e) vernachlässigbar ist, ergibt sich als Erwartungswert der Wahrscheinlichkeit für ein richtig erkanntes, geratenes Ergebnis: ( j 1 ( w P bxk + ) ) j 1 2 ( w ) 2 2(b c)y k > bxk k=0 ( = P 2 ) j 1 j 1 2(b c)(w b) X k Y k + 2(b c) Yk 2 > 0, k=0 wobei X und Y normalverteilte Zufallsvariable sind, mit Mittelwert µ = 0 und Varianz σ = 1. Da j hinreichend groß ist, gilt j 1 k=0 Y k 2 j und j 1 k=0 X ky k ist annähernd normalverteilt mit µ = 0 und σ = j. Damit ergibt sich ( P 2 2(b c)(w b)( ) jz) + 2(b c)j > 0 = ( ) j(b c) P Z >, 2(w b) k=0 wobei Z eine normalverteilte Zufallsvariable ist. Mit P (Z > x) = 1 P (Z x) = 1 F Z (x) = 1 k=0 und der Normalverteilungsfunktion Φ(x) für Z gilt 3 : ( ) ( ) j(b c) j(b c) P Z > = 1 Φ = Φ 2(w b) 2(w b) x f Z (t)dt ( ) j(b c) 2(w b) Es ist zu erkennen, daß die Anzahl der benötigten Muster j proportional zur Länge des Exponenten w ist. 3 Umformungen nach Seiten 6.8 und 7.3 Hinderer [21]

19 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE Multiplikation bei IDEA Der folgende Angriff richtet sich gegen eine konkrete Implementierung des Blockchiffrealgorithmus IDEA [27]. IDEA an sich gilt als sicher. Er kann jedoch mit zusätzlicher Information, welche aus einem Seitenkanal gewonnen wird, angegriffen werden. IDEA arbeitet mit Multiplikationen modulo Eine vereinfachte Darstellung einer typischen Implementierung ist in Tabelle 2.3 dargestellt. Multiplikation modulo bei IDEA Eingaben: Zwei 16-Bit-Zahlen x und y Ausgabe: z = x y mod Besonderheit: Die Zahl 2 16 wird als dargestellt if x = 0 then return 2 16 y. else if y = 0 then return 2 16 x. else{ p = x y z = p mod 2 16 p div 2 16 if z < 0 then z = z return z. } Tabelle 2.3: Eine typische Implementierung der Multiplikation mod bei IDEA Da für die Multiplikation die Zahl 2 16 als 16 Nullen dargestellt wird 4, muß eine Sonderbehandlung erfolgen, wenn einer der Operanden gleich ist. In einer naiven Implementierung braucht eine solche Sonderbehandlung weniger Zeit als eine Multiplikation. Bei diesem Angriff nutzt man dieses abweichende Zeitverhalten aus. Für den Angriff wird die Zeit, die benötigt wird um einen Block mit IDEA zu verschlüsseln, aufgeteilt nach: 1. Operationen, die ungefähr konstante Zeit verbrauchen. Hier darf angenommen werden, daß es sich um alle Operationen außer den Multiplikationen handelt. 4 Im folgenden wird der Bitstring aus 16 Nullen mit 2 16 oder Null bezeichnet, je nachdem ob es sich um eine Multiplikation oder um eine andere Operation handelt.

20 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE Allen Multiplikationen außer der angegriffenen. Diese sind wahrscheinlich annähernd normalverteilt. 3. Der angegriffenen Multiplikation. Wenn einer ihrer Operanden 2 16 ist, wird sie weniger Zeit brauchen, als wenn ihre beiden Operanden ungleich 2 16 sind. Die Zeit, die benötigt wird um einen Block zu verschlüsseln, ist die Summe dieser drei Zeiten. Wenn die angegriffene Multiplikation einen Operanden gleich 2 16 hat, dann wird im Mittel die Ausführungszeit für diesen Verschlüsselungsblock niedriger sein als wenn die angegriffene Multiplikation nur Operanden ungleich 2 16 hat. Für diesen Angriff müssen die Chiffretextblöcke bekannt sein, außerdem müssen, über einen Seitenkanal, exakte Messungen der Laufzeit der einzelnen Chiffrierungsvorgänge gemacht werden. Dies könnte beispielsweise bei einer Smart-Card angewendet werden, die zur Authentifikation bei einem Lesegerät ein einfaches challenge-response Protokoll 5 mit einem gemeinsamen, geheimen Schlüssel durchführt. Bezeichnungen: Sei M ein 64-Bit Eingabeblock der mit IDEA chiffriert werden soll, dann sind M 1, M 2, M 3, M 4 die Aufteilung von M in 16-Bit Blöcke, entsprechend dem ersten Schritt des IDEA-Algorithmus. Sei Z der 128-Bit Schlüssel des IDEA-Algortihmus, dann sind Z (i) 1... Z (i) 6 die 6 16-Bit Rundenschlüssel für die i-te IDEA Runde mit 0 < i < 10. Seien X und Y 16-Bit Zahlen dann bezeichnet X Y das Produkt von X und Y modulo , X Y die Summe von X und Y modulo 2 16 und X Y die bitweise Verknüpfung von X und Y mit exklusivem Oder. A (1) 1 = M 1 Z (1) 1, A (1) 2 = M 2 Z (1) 2, A (1) 3 = M 3 Z (1) 3 und A (1) 4 = M 4 Z (1) 4 sind die Zwischenergebnisse der ersten Operation in der ersten IDEA-Runde. Analog sind A (i) 1... A (i) 4 die Zwischenergebnisse der ersten Operation in der i-ten IDEA Runde. B (i) 1 = A (i) 1 A (i) 3 und B (i) 2 = A (i) 2 A (i) 4 sind die Zwischenergebnisse der zweiten Operation im IDEA-Algorithmus in der i-ten Runde. 5 Für nähere Erläuterungen zu diesem Protokoll siehe A.2

21 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 13 D (i) 1 = A (i) 1 C (i) 3, D (i) 2 = A (i) 3 C (i) 3, D (i) 3 = A (i) 2 C (i) 4 und D (i) 4 = A (i) 4 C (i) 4 sind die Endergebnisse der i-ten IDEA-Rundenfunktion. Zur Veranschaulichung beachte man Abbildung 2.4 X 1 X 2 C (i) 1 = B (1) 1 Z (1) 5, C (i) 2 = B (i) 2 C (i) 1, C (i) 3 = C (i) 2 Z (i) 6 und C (i) 4 = C (i) 1 C (i) 3 sind die Zwischenergebnisse der Multiplikations-Additions- Struktur der IDEA-Rundenfunktion. Z (1) 1 Z (1) 2 Z (1) 3 Z (1) 4 A (1) 1 A (1) A (1) B (1) B (1) 2 Z (1) C (1) 1 A (1) 3 5 C (1) 2 C (1) 3 Z (1) 6 Eine Runde C (1) 4 } weitere Runden D (9) 1 D (9) 2 D (9) 3 D (9) 4 Ausgabetransformation Z (9) 1 Z (9) 2 Z (9) 3 Z (9) 4 Y 1 Y 2 Y 3 Y 4 Abbildung 2.4: Die IDEA Rundenfunktion, mit Variablenbenennung der Zwischenergebnisse Die einzelnen Schritte des Angriffs, die in Abbildung 2.5 illustriert werden sind wie folgt: 1. Messe die genaue Ausführungszeit für die Verschlüsselung von n Blöcken. Es seien T 0,...,n 1 die Zeitmessungen und Y 0,...,n 1 die entsprechenden Chiffrate. 2. Teile die Chiffrate nach den Bits Y i[48,...,63], i {0,..., n 1} in 2 16 Klassen K i 1. X 3 X 4

22 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 14 Abbildung 2.5: Der Ablauf des Zeitverhaltensangriffs auf IDEA. Die K x sind Klassen nach denen die Chiffrate Aufgeteilt werden und die E x sind Eingaben von Multiplikationen welche eine Unterscheidung der Klassen erlauben.

23 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE Vergleiche die mittlere Ausführungszeit jeder Klasse einzeln mit der mittleren Ausführungszeit aller Klassen. Wenn eine dieser Klassen (mit einem hinreichend großen Konfidenzintervall) einen kleineren Wert hat als die anderen, dann muß die Eingabe der letzten Multiplikation für alle Chiffrate in dieser Klasse 2 16 gewesen sein. Damit kann man den letzten Teilschlüssel Z (9) 4 bestimmen. Wenn es keine Unterschiede in den mittleren Ausführungszeiten gibt, ist entweder einer der Parameter falsch (z.b. ein zu klein gewähltes n), oder Z (9) 4 ist gleich Null. Nach diesem Schritt kennt man Z (9) Wiederhole die Schritte 2-3 für die Bits Y i [0,..., 15] und den Teilschlüssel Z (9) 1 der Ausgabetransformation (Klassen K i 2). 5. Als nächstes wird Teilschlüssel Z (9) 3 der Ausgabetransformation angegriffen. Dazu teilt man die Chiffretexte in Klassen K i 3 nach den Bits Y i [16,..., 31] der Chiffrate. Für jede dieser Klassen berechnet man, mit welchem Teilschlüssel Z (9) 3 sich D (8) 1 = D (8) 3 ergibt. Aus D (8) 1 = A (8) 1 C (8) 3 und D (8) 3 = A (8) 3 C (8) 3 folgt D (8) 1 = D (8) 3 A (8) 1 = A (8) 3 und damit ist die Eingabe B (8) 1 = A (8) 1 A (8) 3 der ersten Multiplikation in der Multiplikations-Additions Struktur gleich Die Klasse mit dem tatsächlich richtigen Teilschlüssel Z (9) 3 sollte also eine niedrigere mittlere Ausführungszeit haben als die anderen. 6. Als nächstes richtet sich der Angriff gegen Z (9) 2 und gegen Z (8) 5. Da bis jetzt Z (9) 1 und Z (9) 3 bekannt sind, können D (8) 1 und D (8) 3 berechnet werden. Mit D (8) 1 = A (8) 1 C (8) 3 und D (8) 3 = A (8) 3 C (8) 3 folgt B (8) 1 = D (8) 1 D (8) 3. Folgende Unterschritte sind jetzt notwendig: (a) Teile die Chiffrate in 2 16 Klassen K i 4, in Abhängigkeit von B (8) 1. (b) Teile diese Klassen in 2 16 Unterklassen K ij 4a nach B (8) 2 in Abhängigkeit der möglichen Werte von Z (9) 2 (dabei ist B (8) 2 = D (9) 2 D (9) 4 ). (c) Die Unterklasse mit dem richtigen Teilschlüssel Z (9) 2, für die zusätzlich B (8) 2 C (8) 1 = 0 gilt, hat eine niedrigere mittlere Ausführungszeit, als die anderen Unterklassen derselben Klasse. Damit kann die richtige Annahme für Z (9) 2 erkannt werden. (d) Für diese Unterklasse kann jetzt nacheinander B (8) 2, C (8) 1 = B (8) 2 und Z (8) 5 = C (8) 1 1 B (8) 1 berechnet werden, wobei B (8) 2 das ad-

24 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 16 Die Schlüssel: Z (9) 1 Z (9) 2 Z (9) 3 Z (9) 4 entsprechen: Z (7) 6[9,...,15].Z(8) 1[0,...,8] Z (8) 1[9,...,15].Z(8) 2[0,...,8] Z (8) 2[9,...,15].Z(8) 3[0,...,8] Z (8) 3[9,...,15].Z(8) 4[0,...,8] Tabelle 2.4: Ergebnisse der letzen Teilschlüsselerzeugung bei IDEA ditive Inverse von B (8) 2 modulo 2 16 und C (8) 1 1 das multiplikative Inverse von C (8) 1 modulo ist Es fehlen jetzt noch Z (7) 5, Z (7) 6[0,...,8], Z(8) 4[9,...,15], sowie Z(8) 6. Der nächste Schritt des Angriffs richtet sich gegen Z (8) 4 und Z (8) 6. (a) Teile die Chiffrate in 2 16 Klassen K i 5 in Abhängigkeit von D (9) 4. (b) Teile diese Klassen in 2 16 Unterklassen K ij 5a nach A (8) 4 in Abhängigkeit der möglichen Werte von Z (8) 6 auf, wobei A (8) 4 = D (9) 4 (C (8) 1 (C (8) 2 Z (8) 6 )). (c) Die Unterklasse mit dem richtigen Teilschlüssel Z (8) 6, für die zusätzlich X (8) 4 = 2 16 gilt, hat wegen der Multiplikation Z (8) 4 X (8) 4 = 2 16 eine niedrigere mittlere Ausführungszeit, als die anderen Unterklassen derselben Klasse. Bei allen anderen Klassen sollten keine signifikante Unterschiede in mittleren Ausführungszeit der Unterklassen erkennbar sein. Damit kann die richtige Annahme für Z (8) 6 erkannt werden. (d) Man kann jetzt bei der Entsprechenden Unterklasse Z (8) 4 = (2 16 ) 1 A (8) 4 berechnen. Damit sind Z (8) 6 und Z (8) 4[9,...,15] bekannt. 8. Da nach dem vorherigen Schritt die gesamte 8. Runde zurückgerechnet werden kann, wird Z (7) 5 wie folgt angegriffen: (a) Teile die Chiffrate in 2 16 Klassen K6 i nach C (7) 1 = B (7) 1 Z (7) 5 in Abhängigkeit der möglichen Werte von Z (7) 5 mit B (7) 1 = D (7) 1 D (7) 2. (b) Teile diese Klassen in Unterklassen K ij 6a in Abhängigkeit von C (7) 2 = C (7) 1 B (7) 2 mit B (7) 2 = D (7) 3 D (7) 4. Für die Klasse mit dem richtigen Z (7) 5 hat die Unterklasse mit C (7) 2 = 0 eine niedrigere Ausführungszeit als alle anderen Unterklassen dieser Klasse. 6 Zur Bestimmung von multiplikativen Inversen in endlichen Körpern siehe Anhang A.3

25 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 17 Bei den Klassen mit falschen Z (7) 5 sollten keine signifikanten Unterschiede in der Auführungszeit der Unterklassen erkennbar sein. Damit ist Z (7) 5 bestimmt. 9. Für die fehlenden Bits Z (7) 6[0,...,8] bildet man Klassen nach A (7) 4 in Abhängigkeit der möglichen Werte von Z (7) 6. Diese Klassen unterteilt man wieder in Unterklassen nach B (7) 1. In der Klasse mit den richtigen fehlenden Bits sollte die Unterklasse mit B (7) 1 = 0 eine signifikant geringere Ausführungszeit haben als die anderen Unterklassen. Damit lassen sich die fehlenden Bits von Z (7) 6 bestimmen. Nach diesen Schritten kann der vollständige Schlüssel rekonstruiert werden, indem die Linksrotationen der Rundenschlüsselerzeugung rückgängig gemacht werden. Das Verfahren kann natürlich auch abgebrochen werden, sobald die vollständige Suche auf den verbleibenden unbekannten Schlüsselbits weniger aufwendig ist als die Fortsetzung des Verfahrens Schutz vor Zeitverhaltensangriffen Der offensichtliche Ansatz zum Schutz vor Zeitverhaltensangriffen, die Laufzeit verschiedener Programmzweige durch Wartebefehle anzugleichen, verspricht nur unzureichenden Schutz. Ein Angreifer kann leicht auf einen anderen Seitenkanal ausweichen (z.b. den Stromverbrauch). Eine weitere einfache Möglichkeit ist es, den Programmablauf so zu gestalten, daß er unabhängig vom Wert des geheimen Schlüssels ist. Bei der IDEA- Multiplikation aus der vorherigen Beispiel zeigt Tabelle 2.5 eine Möglichkeit, dies zu erreichen. Guten Schutz gewähren die Techniken, die von Chaum [9] für blinde Signaturen vorgeschlagen wurden. Vor angreifbaren Stellen im Programm müssen die verarbeiteten Daten (z.b. der Exponent x bei y x mod n) mit Zufallszahlen verknüpft werden, die nach der Verarbeitung wieder herausgerechnet werden. Dadurch sind die Zeitmessungen (und auch andere Messungen wie z.b. der Stromverbrauch) von einer Zufallsvariable abhängig und somit für den oben vorgeschlagenen Angriff unbrauchbar. 2.3 Einfache Stromverbrauchsanalyse enn ein Angreifer die kryptographische Funktionen auf einer Chipkarte einmal selbst durchführen kann, kann er durch Messung des Stromverbrauchs

26 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 18 Multiplikation modulo bei IDEA Eingaben: Zwei 16 Bit Zahlen x und y Ausgabe: z = x y mod Besonderheit: Die Zahl 2 16 wird als dargestellt x = x 1 y = y 1 p = x y + x + y + 1 z = p mod 2 16 p div 2 16 if z 0 then z = z return z. Tabelle 2.5: Eine Implementierung der Multiplikation mod bei IDEA die resistent gegen Zeitverhaltensangriffe ist. der Karte einen weiteren Seitenkanal erschließen. Die Hardware, die für solche Messungen benötigt wird ist nicht aufwendig und auch relativ billig. Man braucht lediglich einen Kartenleser und ein Speicher-Oszilloskop. Während des Programmablaufs variiert der Stromverbrauch der Karte, unter anderem in Abhängigkeit der Daten- und Schlüsselbits. Aus der Stromverbrauchskurve läßt sich, bei ungeschützter Hardware, oft sogar der Schlüssel einfach auslesen. So ist z.b. bei einer RSA Verschlüsselung die modulo-exponentiation mit dem square and multipy -Algorithmus ein Ansatzpunkt. Wenn man den Teil der Verbrauchskurve identifiziert hat, der dem Exponentiationsvorgang entspricht, kann man den Anfangsteil, der einem Multiplikationsschritt entspricht, für eine Korrelationsanalyse verwenden. Es ergibt sich ein Graph wie in Abbildung 2.6, bei dem man anhand der Peaks und ihrer Abstände die Verarbeitung von Null- und Eins-Bits unterscheiden kann. Gegen Angriffe mit einfacher Stromverbrauchsanalyse existieren viele wirkungsvolle Gegenmaßnahmen auf Hardwareebene, wie z.b. das Einspielen von zufälligem Rauschen in den Stromverbrauch. Auf Softwareebene kann hier mit demselben Ansatz vorgegangen werden wie beim Zeitverhaltensangriff: Geheime Parameter müssen vor kritischen Programmschritten mit Zufallszahlen verknüpft werden, die anschließend wieder herausgerechnet werden können.

27 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 19 Abbildung 2.6: Die Korrelationsanalyse der Stromverbrauchskurve einer Square and Multiply Potenzierung. Gemessen wurde die Korrelation eines Multiplikationsschritts mit dem Rest der Kurve. Mit freundlicher Genehmigung aus [11] entliehen. 2.4 Differentielle Stromverbrauchsanalyse Die differentielle Stromverbrauchsanalyse (Differential Power Analysis - DPA) wurde 1998 von Kocher in [26] vorgestellt. Sie basiert auf der einfachen Stromverbrauchanalyse, ist jedoch wesentlich mächtiger und schwieriger abzuwehren. Bei der DPA werden statistische Analysen und Fehlerkorrekturtechniken eingesetzt, um aus den Stromverbrauchsmessungen Informationen über geheime Schlüssel zu erhalten. Das Vorgehen bei einem DPA-Angriff soll hier beispielhaft anhand einer Authentifikation mit einem Challenge-Response -Protokoll auf einer Smart- Card erläutert werden. Voraussetzungen für den Angriff sind, daß man sich (zumindest kurzfristig) im Besitz der Smart-Card befindet und daß entweder der Klartext oder der Chiffretext bekannt sind. Der Angriff läuft wie folgt ab: 1. Messe den Stromverbrauch von k Ausführungen des Authentifikations-

28 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 20 vorgangs (k 1000) mit l Abtastungen 7. Die so gesammelten Daten seien in einem zweidimensionalen Feld S[k][l] gespeichert. In diesem Beispiel seien die zugehörigen Chiffretexte C[i], 0 i < k bekannt. 2. Definiere jetzt eine DPA-Auswahl-Funktion D(C[k], b), wobei b ein geratener Teil des geheimen Schlüssels ist. D(C[k], b) ergibt 0 oder 1. Es entspricht einem Bit, welches bei der Authentifikation mit b verknüpft wird und einen Teil von C[k] ergibt. Wenn b falsch geraten ist, dann ist D(C[k], b) mit einer Wahrscheinlichkeit 1 2 richtig. 3. Berechne jetzt die Wahrscheinlichkeitsspur δ = (δ 0,..., δ l 1 ) mit δ j := k 1 i=0 D(C[i], b) S[i][j] k 1 i=0 D(C[i], b) k 1 i=0 1 D(C[i], b) S[i][j] k 1 i=0 1 D(C[i], b). δ ist die Differenz der Mittelwerte von S[i][j] für die D(C[i], b) = 1 ergibt und der Mittelwerte von S[i][j] für die D(C[i], b) = 0 ergibt. 4. Wenn das geratene b falsch war, ist das Ergebnis von D(C[i], b) unkorreliert mit den Werten, die in der Smart-Card verarbeitet werden und der Erwartungswert der δ j ist 0 für hinreichend großes l. Die Kurve von δ sollte in diesem Fall relativ flach sein. Wenn jedoch b richtig geraten war, dann ist D(C[i], b) mit Zwischenergebnissen der Authentifikationsprozedur korreliert. Da der Stromverbrauch der Smart-Card während der Ausführung von den Werten der verarbeiteten Bits abhängt, sollte ein erkennbarer Sprung in der Kurve von δ sein. Damit kann das korrekte b identifiziert werden. 5. Wiederhole die Schritte 2-4 bis alle Bits des Schlüssels (oder genügend Bits der Rundenschlüssel) bekannt sind. Beispiele erfolgreicher DPA-Angriffe finden sich in [8, 24, 37] Angreifbare Operationen In einem kryptographischen Algorithmus sind Funktionen f(k, m) = c mit dem Rundenschlüssel k und dem Klartext oder dem Zwischenergebnis m und Funktionswert c dann gut mit DPA angreifbar, wenn aus einem kleinen Teil von k bei bekanntem m mindestens ein Bit von c berechenbar ist oder entsprechend bei bekanntem c mindestens ein Bit von m zurückgerechnet werden kann. 7 Da die Taktfrequenz einer typischen Smart-Card c.a. 5 MHz ist, dürfte eine Abtastrate von 100 MHz mehr als genug sein

29 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 21 Diese Funktionen eignen sich besonders als Ziel einer DPA-Auswahl- Funktion. Beispiele solcher Funktionen sind: Addition, Subtraktion und Multiplikation mod 2 n, da hier aus den letzten Bits von m und k das letzte Bit von c und der Übertrag berechnet werden kann und dann nacheinander die höherwertigen Bits berechnet werden können. Bitweise logische Operationen wie AND, OR und XOR, da hier aus einem Bitpaar m [i] und k [i] jeweils c [i] berechnet werden kann. Weniger geeignet sind z.b. Multiplikation mod m mit m 2 n, da hier das letzte Bit von allen anderen Bits der beiden Operanden abhängt. Das bedeutet, daß für einen DPA Angriff jeweils der komplette Rundenschlüssel geraten werden muß. Schutz vor Stromverbrauchsanalysen In [8] wird zur Abwehr von DPA vorgeschlagen, die Anzahl der Verschlüsselungsvorgänge mit einem Schlüssel zu begrenzen. So soll verhindert werden, daß ein Angreifer genug Daten für eine differentielle Analyse sammeln kann. Weiterhin wird zum Schutz gegen die einfache Stromverbrauchsanalyse angeregt, den Ausführungspfad des Algorithmus unabhängig von Schlüssel und Daten zu programmieren. Sowohl in [8] als auch in [10] wird desweiteren vorgeschlagen, zufällig zwischen verschiedenen Programmsequenzen gleicher Funktionalität zu wählen und zufällige Wartebefehle in den Programmablauf zu integrieren. Daemen und Rijmen schlagen in [10] weiter vor, durch einen Hardwaregenerator zufälliges Rauschen im Stromverbrauch zu erzielen, welches die Signale der Chipkarte überdecken soll. Die Begrenzung der Verschlüsselungsvorgänge pro Schlüssel hilft allerdings nicht gegen neuartige Angriffsmethoden wie sie z.b. in [15] (siehe Kapitel 2.6) vorgeschlagen werden. Hardwarevorschläge wie der von Daemen und Rijmen sind in mehrerer Hinsicht unbefriedigend. Erstens ist es schwer, sie auf dem begrenzten Platz einer Chipkarte unterzubringen, zweitens besteht die Gefahr, das sie durch Manipulation ausgeschaltet oder durch genauere Analysen herausgerechnet werden können. Bei der zufälligen Wahl von Programmsequenzen und Wartebefehlen besteht ebenfalls die Gefahr, daß ein Angreifer diese durch weitergehende Analyse erkennen und herausrechnen könnte. Ein anderer, softwareseitiger Ansatz zum Schutz vor Stromverbrauchsanalysen wird in [32] vorgeschlagen. Er basiert wiederum auf den blinden Signaturen von Chaum [9]. Dabei ist das Vorgehen wie folgt:

30 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 22 Die Eingaben aller angreifbaren Operationen werden mit einer Zufallszahl maskiert. So würde z.b. eine Modulo-Addition z = x+y mod n folgendermaßen aussehen: z + rnd = x + (y + rnd mod n) mod n. Dabei ist rnd eine für jeden Verschlüsselunsvorgang neu gewählte Zufallsvariable und y + rnd mod n wird vor der eigentlichen Addition berechnet. Die Messdaten eines potentiellen Angreifers sind damit für die DPA wertlos, da jede von einer anderen Zufallszahl abhängig ist. So geschützte Operationen könnten zwar noch mit DPA höherer Ordnung angegriffen werden, jedoch steigt die Komplexität eines solchen Angriffs um Größenordnungen, darum soll dies hier nicht näher untersucht werden Ein DPA-Angriff auf IDEA Der im folgenden Abschnitt beschriebene Angriff richtet sich gegen eine Implementierung des bekannten und bei klassischer Betrachtung sicheren Blockchiffre-Algorithmus IDEA (eine Beschreibung des Algorithmus findet sich in Anhang B.1) auf einer Chipkarte. Dabei wird davon ausgegangen, daß auf der Chipkarte ein geheimer Schlüssel gespeichert wird, der für eine gewisse Anzahl von Verschlüsselungsoperationen benutzt wird. Der Angriff richtet sich gegen diesen geheimen Schlüssel. Da keine konkreten Implementierungen von IDEA auf Chipkarte zugänglich war, handelt es sich hier um einen theoretischen Angriff. Das Vorgehen ist jedoch so allgemein, daß es auf jede Implementierung von IDEA, ohne zusätzliche Schutzmaßnahmen, anwendbar ist. Bezeichnungen: Siehe Kapitel Voraussetzungen: 1. Known-Plaintext, d.h. mindestens ein 64-Bit Block der Eingabe ist bekannt Bei den Funktionen und sind einzelne Paare von Eingabebits mit einem Ausgabebit korreliert. (Bei ADD das letzte Paar mit dem letzen Ausgabebit und bei XOR jedes i-te Paar mit dem i-ten Ausgabebit). 3. Die Chipkarte steht für hinreichend viele Messungen zur Verfügung. 4. Der Rauschanteil der Meßdaten ist nicht zu groß. 8 Ein Known-Ciphertext Angriff ist mit analogen Methoden ebenfalls möglich

31 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 23 Der Angriff: Bei dem Angriff werden nacheinander die Rundenschlüssel Z (1) 1 bis Z (1) 6 sowie Z (2) 1 und Z (2) 2 bestimmt. Mit diesen 8 Rundenschlüsseln hat man den kompletten Schlüssel (wie man sich leicht anhand der IDEA-Schlüsselerzeugung in Anhang B.1 überzeugen kann). Die einzelnen Schritte des Angriffs sind in Abbildung 2.7 wiedergegeben. Abbildung 2.7: Der zeitliche Verlauf des DPA-Angriffs. Die gestrichelten Pfeile geben die Einzelschritte wieder. Bezeichnungen mit a, b zeigen an, daß beide Schritte unabhängig voneinander durchgeführt werden können. Es werden zunächst die Rundenschlüssel Z (1) 2 (Schritt 1a) und Z (1) 3 (Schritt 1b) angegriffen. Diese beiden Angriffe sind analog und können unabhängig bzw. gleichzeitig durchgeführt werden. Hier wird nur der Angriff auf Z (1) 2 geschildert.

32 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 24 Man rät b = Z (1) 2[15] und wählt als DPA-Auswahlfunktion D(M, b) mit M = M 2. Das Ergebnis von D(M, b) soll dem letzten Bit von A (1) 2 = M 2 Z (1) 2 entsprechen, d.h. A (1) 2[15]. Mit dieser DPA-Auswahlfunktion kann man, anhand der Wahrscheinlichkeitsspur δ bestimmen ob das geratene b korrekt war. Da man jetzt Z (1) 2[15] kennt, kann man das Carry-Bit für A (1) 2[14] und damit den Wert von A (1) 2[14] durch Raten von Z (1) 2[14] bestimmen. Dieser Wert kann jetzt analog zu Z (1) 2[15] mit einer neuen DPA-Auswahlfunktion D (M, b ), mit b = Z (1) 2[14] Z(1) 2[15] verifiziert werden. So kann man nacheinander alle 16 Bits von Z (1) 2 und Z (1) 3 bestimmen. Die Angriffe auf die Rundenschlüssel Z (1) 1 (Schritt 2b) und Z (1) 4 (Schritt 2a) sind wiederum analog, darum wird hier nur der Angriff auf Z (1) 1 geschildert. Ansatzpunkt ist hier B (1) 1 = A (1) 1 A (1) 3, wobei nach dem vorherigen Angriff auf Z (1) 3 das Zwischenergebnis A (1) 3 bekannt ist. Die DPA- Auswahlfunktion D(M, b) sei diesmal definiert als D i (M, b i ) = B (1) 1[i] mit M = A (1) 3 und das geratene b i = A (1) 1[i]. Erneut kann man das geratene Bit anhand der Wahrscheinlichkeitsspur δ verifizieren. Für die -Operation sind die Bits B (1) 1[i] mit i = unabhängig von den Zwischenergebnissen der vorherigen Verknüpfung, d.h. sie können parallel geraten und überprüft werden. Nach Abschluss dieser Operationen erhält man die Zwischenergebnisse A (1) 1 und A (1) 4. Mit dem erweiterten euklidschen Algorithmus (siehe A.3) lassen sich effizient M1 1 und M4 1 bezüglich der Multiplikation modulo bestimmen. Damit ergibt sich dann Z (1) 1 = M1 1 A (1) 1 und Z (1) 4 = M4 1 A (1) 4 Es folgen jetzt die Angriffe auf Z (1) 5 (Schritt 3 ) und Z (1) 6 (Schritt 4 ). Diese sind auch analog, können aber nur nacheinander ausgeführt werden, da für den Angriff auf Z (1) 6 das Zwischenergebnis C (1) 1 bekannt sein muss. Als DPA-Auswahlfunktion wählt man D i (M, b i ) = C (1) 2[i] mit M = B (1) 2 und dem geratenen C (1) 1[i] mit b i = C (1) 1[i...15] nach Bestimmung von C (1) 1[i+1]. Analog zum Angriff auf Z(1) 2 kann das Carry-Bit für C(1) 2[i] bestimmt werden. Die somit erhaltenen Zwischenergebnisse C (1) 1 und C (1) Z (1) 5 = B (1) 1 1 C (1) 1 und Z (1) 6 = C (1) 1 2 C (1) auch die Endergebnisse der ersten IDEA-Runde D (1) i werden. 3 erlauben es 3 zu berechnen. Damit können, i = bestimmt

33 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 25 Da Z (2) 3 = Z (1) 2[9...15] Z(1) 3[0...8], kann Z(2) 1 (Schritt 5b) analog zu Z (1) 1 angegriffen werden. Auch der Angriff auf Z (2) 2 (Schritt 5a) erfolgt analog zu dem auf Z (1) 2. Damit ist der gesamte Schlüssel Z bekannt mit Z = Z (1) 1 Z (1) 2 Z (1) 3 Z (1) 4 Z (1) 5 Z (1) 6 Z (2) 1 Z (2) 2. Ein entsprechender Angriff ist ebenfalls durchführbar bei: Camellia [1] und KHAZAD [2] auf die XOR-Gatter, bei denen die Rundenschlüssel mit dem Chiffretext verknüpft werden. MISTY1 [31] auf die logischen UND und ODER Gatter in der Funktion F L i sowie auf die XOR-Gatter in der Funktion F O i und F I ij, bei denen die Rundenschlüssel mit dem Chiffretext verknüpft werden. SAFER++ [29] auf die XOR-Gatter und die Modulo-Additionen, bei denen die Rundenschlüssel mit dem Chiffretext verknüpft werden. RC6 [23] und SHACAL [19] auf Modulo-Additionen, bei denen die Rundenschlüssel mit dem Chiffretext verknüpft werden Eine DPA-resistente Variante von RC6 Im Folgenden wird beschrieben, wie man die Blockchiffre RC6 T M von den RSA Laboratories Europe (eine Beschreibung des Algorithmus findet sich in Anhang B.2) gegen einen DPA-Angriff auf eine Chipkartenimplementierung resistent machen kann. Dabei wird nur der Algorithmus verändert, so daß keine zusätzlichen Maßnahmen z.b. aus dem Bereich der Elektrotechnik notwendig sind. Der Algorithmus RC6 wurde zufällig aus den NESSIE Kandidaten ausgewählt, das vorgestellte Verfahren kann mit einfachen Modifikationen auf viele andere Blockchiffren übertragen werden. Bezeichnungen: Sei w, r, b eine Parametrisierung von RC6-w/r/b. Dann ist w die Wortlänge in Bits, r die Anzahl Verschlüsselungsrunden und b die Schlüssellänge in Bits. lg(w) sei der Logarithmus zur Basis 2 von w. Sei M ein (4 w)-bit Eingabeblock der mit RC6 chiffriert werden soll, dann sind A, B, C, D eine Aufteilung von M in w-bit Blöcke, entsprechend dem ersten Schritt des RC6-Algorithmus.

34 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 26 Seien X und Y zwei w-bit Zahlen, dann ist X Y die Summe modulo 2 w von X und Y, X Y die Bitweise Verknüpfung mit XOR von X und Y, X Y das Produkt modulo 2 w von X und Y und X < Y die Bitweise Rotation von X um eine Anzahl Stellen, die durch die lg(w) niederwertigsten Bits von Y gegeben ist. DPA-Angriff auf RC6: Die Voraussetzungen für einen erfolgreichen DPA-Angriff auf RC6 sind dieselben wie bei IDEA (Kapitel 2.4.1). Angegriffen werden die Additionen Modulo 2 w, man erhält die Rundenschlüssel. Da die Rundenschlüsselerzeugung von RC6 als Einwegfunktion entworfen ist, ist es sehr schwierig aus Rundenschlüsseln auf den eigentlichen Schlüssel zu schließen. Daher muß man alle Rundenschlüssel bestimmen, d.h. man hat einen Aufwand von 8w + 4rw DPA-Bitbestimmungsvorgängen. 9 Beispielsweise würde ein Angriff auf die vorgeschlagenen Parametrisierung mit w = 32 und r = 20 unabhängig von der Schlüssellänge b einen Aufwand von 2816 DPA-Bitbestimmungsvorgängen haben. Der Angriff an sich ist einfach und soll darum hier nicht näher geschildert werden. Er folgt analog dem Angriff, auf die Modulo-Additionen von IDEA. DPA-Resistenz: Schutzmaßnahmen auf algorithmischer Ebene können bei den Voraussetzungen der DPA ansetzen. Eine davon ist, daß ein Operand oder das Ergebnis der angegriffenen Funktion bekannt sein muß. So muß z.b. beim Angriff auf die erste -Operation von RC6 das B (siehe Abbildung B.2) bekannt sein. Weiterhin muß bei den DPA-Messungen der jeweils angegriffene Rundenschlüssel gleich bleiben. Für einen Angriff interessant sind nur solche Operationen, bei denen entweder einer der Operanden ein Rundenschlüssel ist oder daraus der Rundenschlüssel berechnet werden kann. Schützt man also eine angreifbare Operation, muß ein Angreifer für eine DPA den Rundenschlüssel dieser Operation durch vollständige Suche bestimmen. Wenn man also genügend Operationen am Anfang und am Ende 9 Zwei für jedes Bit, also 2w für ein RC6 Wort, also 2 2w für die ersten beiden Additionen. Das selbe nochmal am Ende also insgesamt 8w. Dazu kommen noch die jeweils zwei Additionen in jeder Verschlüsselungsrunde, also 4rw. Damit ergeben sich die 8w + 4rw.

35 KAPITEL 2. ANGRIFFE ÜBER SEITENKANÄLE 27 der Verschlüsselung schützt, steigt der Aufwand für eine DPA auf den einer vollständigen Schlüsselsuche. Den Schutz einer Operation vor DPA erreicht man, indem man einen der Operanden mit einer Zufallszahl verknüpft und diese später wieder herausrechnet. Die so geschützte Operation kann nicht mehr durch DPA angegriffen werden, da bei jeder Messung eine andere Zufallszahl in die Berechnung einfliesst und somit keine zusammenhängende Messreihe mehr erzeugt werden kann. Es sollte darauf geachtet werden, daß ein guter Zufallzahlengenerator verwendet wird und daß die Verknüpfung mit der Zufallszahl nach der (jetzt nicht mehr) angreifbaren Operation rückgängig gemacht werden kann. Aufgrund der Substitutions-Permutationsstruktur von Blockchiffren ist letzteres meist nur direkt nach der dazugehörigen Operation möglich. Anhand von RC6 soll hier beispielhaft erläutert werden, wie man mit möglichst geringem Aufwand einen DPA-Angriff aufwendiger als vollständige Schlüsselsuche macht. Angreifbar sind wie bereits erwähnt, alle Operationen, bei denen der unbekannte Operand nur von einem Rundenschlüssel abhängt. In diesem Fall sind dies die -Operationen, die -Operationen sowie die variablen <-Operationen (Siehe wieder Abbildung B.2). Offensichtlich ist, daß die -Operationen am Anfang geschützt werden müssen. Die -Operationen müssen ebenfalls geschützt werden, da sonst mit bekanntem A oder C ein Angriff auf das unbekannte (f(b S[0])) < lg(w) oder (f(d S[1])) < lg(w) möglich ist, über den man wiederum bei bekanntem B oder C das S[0] oder S[1] zurückrechnen kann. Ebenso müssen die variablen <-Operationen geschützt werden, da sonst mit DPA auf lg(w) Bits der davorliegenden Zwischenergebnisse zurückgeschlossen werden kann, welche wiederum von den Rundenschlüsseln abhängen. Schützt man alle obengenannten Operationen bis zu den Stellen I, II, III, IV in Abbildung 2.8, so muß der Angreifer 2 64 Möglichkeiten (die Rundenschlüssel S[0] und S[1]) durchprobieren, um mit einer DPA in Runde 2 ansetzen zu können. Schützt man die gesamte erste Runde, sowie Runde 2 bis zu den obengenannten Stellen, so steigt der Aufwand für eine DPA in der dritten Runde auf (Durchprobieren der Rundenschlüssel S[0] bis S[3]). Dieses kann man soweit fortsetzen, bis ein DPA-Angriff aufwendiger wird als die vollständige Schlüsselsuche. Analog müssen auch die letzten Runden geschützt werden, da von einem bekannten Chiffrat auszugehen ist und damit ein DPA-Angriff vom Ende der Chiffre aus möglich ist.

10. Public-Key Kryptographie

10. Public-Key Kryptographie Stefan Lucks 10. PK-Krypto 274 orlesung Kryptographie (SS06) 10. Public-Key Kryptographie Analyse der Sicherheit von PK Kryptosystemen: Angreifer kennt öffentlichen Schlüssel Chosen Plaintext Angriffe

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

11. Das RSA Verfahren und andere Verfahren

11. Das RSA Verfahren und andere Verfahren Chr.Nelius: Kryptographie (SS 2011) 31 11. Das RSA Verfahren und andere Verfahren Eine konkrete Realisierung eines Public Key Kryptosystems ist das sog. RSA Verfahren, das im Jahre 1978 von den drei Wissenschaftlern

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Ein Scan basierter Seitenangriff auf DES

Ein Scan basierter Seitenangriff auf DES Ein Scan basierter Seitenangriff auf DES Seminar Codes & Kryptographie SS04 Tobias Witteler 29.06.2004 Struktur des Vortrags 1. Einführung / Motivation 2. Struktur von DES 3. Die Attacke Begriffsklärung:

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Digitale Signaturen. Sven Tabbert

Digitale Signaturen. Sven Tabbert Digitale Signaturen Sven Tabbert Inhalt: Digitale Signaturen 1. Einleitung 2. Erzeugung Digitaler Signaturen 3. Signaturen und Einweg Hashfunktionen 4. Digital Signature Algorithmus 5. Zusammenfassung

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

10. Kryptographie. Was ist Kryptographie?

10. Kryptographie. Was ist Kryptographie? Chr.Nelius: Zahlentheorie (SoSe 2015) 39 10. Kryptographie Was ist Kryptographie? Die Kryptographie handelt von der Verschlüsselung (Chiffrierung) von Nachrichten zum Zwecke der Geheimhaltung und von dem

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009 Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen

Mehr

Kapitel 3: Etwas Informationstheorie

Kapitel 3: Etwas Informationstheorie Stefan Lucks 3: Informationstheorie 28 orlesung Kryptographie (SS06) Kapitel 3: Etwas Informationstheorie Komplexitätstheoretische Sicherheit: Der schnellste Algorithmus, K zu knacken erfordert mindestens

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Authentikation und digitale Signatur

Authentikation und digitale Signatur TU Graz 23. Jänner 2009 Überblick: Begriffe Authentikation Digitale Signatur Überblick: Begriffe Authentikation Digitale Signatur Überblick: Begriffe Authentikation Digitale Signatur Begriffe Alice und

Mehr

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden. Multiplikation Die schriftliche Multiplikation ist etwas schwieriger als die Addition. Zum einen setzt sie das kleine Einmaleins voraus, zum anderen sind die Überträge, die zu merken sind und häufig in

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Aufgabenblatt 3: Rechenbeispiel zu Stiglitz/Weiss (AER 1981)

Aufgabenblatt 3: Rechenbeispiel zu Stiglitz/Weiss (AER 1981) Aufgabenblatt 3: Rechenbeispiel zu Stiglitz/Weiss (AER 1981) Prof. Dr. Isabel Schnabel The Economics of Banking Johannes Gutenberg-Universität Mainz Wintersemester 2009/2010 1 Aufgabe 100 identische Unternehmer

Mehr

Name:... Matrikel-Nr.:... 3 Aufgabe Handyklingeln in der Vorlesung (9 Punkte) Angenommen, ein Student führt ein Handy mit sich, das mit einer Wahrscheinlichkeit von p während einer Vorlesung zumindest

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Die Methode des Robusten Trends und der CAC40 (Frankreich)

Die Methode des Robusten Trends und der CAC40 (Frankreich) Die Methode des Robusten Trends und der CAC40 (Frankreich) von Dr. Hans Uhlig Zusammenfassung Auch für den CAC40 lässt sich ein robuster Trend bestimmen, wie es für den DAX bereits gezeigt werden konnte

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

Gibt es einen Geschmacksunterschied zwischen Coca Cola und Cola Zero?

Gibt es einen Geschmacksunterschied zwischen Coca Cola und Cola Zero? Gibt es einen Geschmacksunterschied zwischen Coca Cola und Cola Zero? Manche sagen: Ja, manche sagen: Nein Wie soll man das objektiv feststellen? Kann man Geschmack objektiv messen? - Geschmack ist subjektiv

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

Verschlüsselung. Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern. 12.10.2011 Fabian Simon Bfit09

Verschlüsselung. Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern. 12.10.2011 Fabian Simon Bfit09 Verschlüsselung Fabian Simon BBS Südliche Weinstraße Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern 12.10.2011 Fabian Simon Bfit09 Inhaltsverzeichnis 1 Warum verschlüsselt man?...3

Mehr

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192. Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,

Mehr

Algorithmische Kryptographie

Algorithmische Kryptographie Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Quantenkryptographie 1 Einleitung Grundlagen aus der Physik 2 Datenübertragung 1. Idee 2. Idee Nochmal Physik 3 Sichere

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Profil A 49,3 48,2 50,7 50,9 49,8 48,7 49,6 50,1 Profil B 51,8 49,6 53,2 51,1 51,1 53,4 50,7 50 51,5 51,7 48,8

Profil A 49,3 48,2 50,7 50,9 49,8 48,7 49,6 50,1 Profil B 51,8 49,6 53,2 51,1 51,1 53,4 50,7 50 51,5 51,7 48,8 1. Aufgabe: Eine Reifenfirma hat für Winterreifen unterschiedliche Profile entwickelt. Bei jeweils gleicher Geschwindigkeit und auch sonst gleichen Bedingungen wurden die Bremswirkungen gemessen. Die gemessenen

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

Modul Diskrete Mathematik WiSe 2011/12

Modul Diskrete Mathematik WiSe 2011/12 1 Modul Diskrete Mathematik WiSe 2011/12 Ergänzungsskript zum Kapitel 4.2. Hinweis: Dieses Manuskript ist nur verständlich und von Nutzen für Personen, die regelmäßig und aktiv die zugehörige Vorlesung

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut Von Susanne Göbel und Josef Ströbl Die Ideen der Persönlichen Zukunftsplanung stammen aus Nordamerika. Dort werden Zukunftsplanungen schon

Mehr

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen 10.6 Authentizität Zur Erinnerung: Geheimhaltung: nur der Empfänger kann die Nachricht lesen Integrität: Nachricht erreicht den Empfänger so, wie sie abgeschickt wurde Authentizität: es ist sichergestellt,

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit Thema: Asymmetrische Verschlüsselung, Digitale Signatur Vortragender: Rudi Pfister Überblick: Asymmetrische Verschlüsselungsverfahren - Prinzip

Mehr

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig? Pädagogik Melanie Schewtschenko Eingewöhnung und Übergang in die Kinderkrippe Warum ist die Beteiligung der Eltern so wichtig? Studienarbeit Inhaltsverzeichnis 1. Einleitung.2 2. Warum ist Eingewöhnung

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus 1 RYPTOSYSTEME 1 ryptosysteme Definition 1.1 Eine ryptosystem (P(A), C(B),, E, D) besteht aus einer Menge P von lartexten (plaintext) über einem lartextalphabet A, einer Menge C von Geheimtexten (ciphertext)

Mehr

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint Bilingual konkret Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint Moderner Unterricht ist ohne die Unterstützung durch Computer und das Internet fast

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr

Anleitung Thunderbird Email Verschlu sselung

Anleitung Thunderbird Email Verschlu sselung Anleitung Thunderbird Email Verschlu sselung Christoph Weinandt, Darmstadt Vorbemerkung Diese Anleitung beschreibt die Einrichtung des AddOn s Enigmail für den Mailclient Thunderbird. Diese Anleitung gilt

Mehr

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW...

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW... 12 Kryptologie... immer wichtiger Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW... Kryptologie = Kryptographie + Kryptoanalyse 12.1 Grundlagen 12-2 es gibt keine einfachen Verfahren,

Mehr

Zur Sicherheit von RSA

Zur Sicherheit von RSA Zur Sicherheit von RSA Sebastian Petersen 19. Dezember 2011 RSA Schlüsselerzeugung Der Empfänger (E) wählt große Primzahlen p und q. E berechnet N := pq und ϕ := (p 1)(q 1). E wählt e teilerfremd zu ϕ.

Mehr

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Technische Universität München Zentrum Mathematik PD Dr. hristian Karpfinger http://www.ma.tum.de/mathematik/g8vorkurs 5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Aufgabe 5.1: In einer Implementierung

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

A1.7: Entropie natürlicher Texte

A1.7: Entropie natürlicher Texte A1.7: Entropie natürlicher Texte Anfang der 1950er Jahre hat Claude E. Shannon die Entropie H der englischen Sprache mit einem bit pro Zeichen abgeschätzt. Kurz darauf kam Karl Küpfmüller bei einer empirischen

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen. HACK #39 Hack Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.»verschlüsseln Sie Ihren Temp-Ordner«[Hack #33] hat Ihnen gezeigt, wie Sie Ihre Dateien mithilfe

Mehr

DES der vergangene Standard für Bitblock-Chiffren

DES der vergangene Standard für Bitblock-Chiffren DES der vergangene Standard für Bitblock-Chiffren Klaus Pommerening Fachbereich Mathematik der Johannes-Gutenberg-Universität Saarstraße 1 D-55099 Mainz Vorlesung Kryptologie 1. März 1991, letzte Änderung:

Mehr

EINFACHES HAUSHALT- KASSABUCH

EINFACHES HAUSHALT- KASSABUCH EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)

Mehr

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen Stefan Lucks 8: Zufallsorakel 139 Kryptogr. Hashfunkt. (WS 08/09) 8: Zufallsorakel Unser Problem: Exakte Eigenschaften von effizienten Hashfunktionen nur schwer erfassbar (z.b. MD5, Tiger, RipeMD, SHA-1,...)

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Inhalt. Seminar: Codes und Kryptographie 1 1.6.2004

Inhalt. Seminar: Codes und Kryptographie 1 1.6.2004 Inhalt Grundgedanken und bereits bestehende Verfahren Anforderungen an Elektronischen Geld und grundlegende Protokolle Blinde Signaturen und Probleme die daraus erwachsen On-line Cash Off-line Cash Random

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Wie die zyklischen BCH-Codes zur Mehrbitfehler-Korrektur eignen sich auch die sehr verwandten Reed-Solomon-Codes (= RS-Codes) zur Mehrbitfehler-Korrektur.

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Das Persönliche Budget in verständlicher Sprache

Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Physik & Musik. Stimmgabeln. 1 Auftrag

Physik & Musik. Stimmgabeln. 1 Auftrag Physik & Musik 5 Stimmgabeln 1 Auftrag Physik & Musik Stimmgabeln Seite 1 Stimmgabeln Bearbeitungszeit: 30 Minuten Sozialform: Einzel- oder Partnerarbeit Voraussetzung: Posten 1: "Wie funktioniert ein

Mehr

Dame oder Tiger (Nach dem leider schon lange vergriffenen Buch von Raymond Smullyan)

Dame oder Tiger (Nach dem leider schon lange vergriffenen Buch von Raymond Smullyan) Dame oder Tiger? 1 Dame oder Tiger (Nach dem leider schon lange vergriffenen Buch von Raymond Smullyan) Der König eines nicht näher bestimmten Landes hat zwölf Gefangene und möchte aus Platzmangel einige

Mehr

Praktikum Nr. 3. Fachhochschule Bielefeld Fachbereich Elektrotechnik. Versuchsbericht für das elektronische Praktikum

Praktikum Nr. 3. Fachhochschule Bielefeld Fachbereich Elektrotechnik. Versuchsbericht für das elektronische Praktikum Fachhochschule Bielefeld Fachbereich Elektrotechnik Versuchsbericht für das elektronische Praktikum Praktikum Nr. 3 Manuel Schwarz Matrikelnr.: 207XXX Pascal Hahulla Matrikelnr.: 207XXX Thema: Transistorschaltungen

Mehr

Kugel-Fächer-Modell. 1fach. 3fach. Für die Einzelkugel gibt es 3 Möglichkeiten. 6fach. 3! Möglichkeiten

Kugel-Fächer-Modell. 1fach. 3fach. Für die Einzelkugel gibt es 3 Möglichkeiten. 6fach. 3! Möglichkeiten Kugel-Fächer-Modell n Kugeln (Rosinen) sollen auf m Fächer (Brötchen) verteilt werden, zunächst 3 Kugeln auf 3 Fächer. 1fach 3fach Für die Einzelkugel gibt es 3 Möglichkeiten } 6fach 3! Möglichkeiten Es

Mehr

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009 Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger

Mehr

Dow Jones am 13.06.08 im 1-min Chat

Dow Jones am 13.06.08 im 1-min Chat Dow Jones am 13.06.08 im 1-min Chat Dieser Ausschnitt ist eine Formation: Wechselstäbe am unteren Bollinger Band mit Punkt d über dem 20-er GD nach 3 tieferen Hoch s. Wenn ich einen Ausbruch aus Wechselstäben

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

Informatik für Ökonomen II HS 09

Informatik für Ökonomen II HS 09 Informatik für Ökonomen II HS 09 Übung 5 Ausgabe: 03. Dezember 2009 Abgabe: 10. Dezember 2009 Die Lösungen zu den Aufgabe sind direkt auf das Blatt zu schreiben. Bitte verwenden Sie keinen Bleistift und

Mehr

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002 Diffie-Hellman, ElGamal und DSS Vortrag von David Gümbel am 28.05.2002 Übersicht Prinzipielle Probleme der sicheren Nachrichtenübermittlung 'Diskreter Logarithmus'-Problem Diffie-Hellman ElGamal DSS /

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

10.1 Auflösung, Drucken und Scannen

10.1 Auflösung, Drucken und Scannen Um einige technische Erläuterungen kommen wir auch in diesem Buch nicht herum. Für Ihre Bildergebnisse sind diese technischen Zusammenhänge sehr wichtig, nehmen Sie sich also etwas Zeit und lesen Sie dieses

Mehr

Bewertung des Blattes

Bewertung des Blattes Bewertung des Blattes Es besteht immer die Schwierigkeit, sein Blatt richtig einzuschätzen. Im folgenden werden einige Anhaltspunkte gegeben. Man unterscheidet: Figurenpunkte Verteilungspunkte Längenpunkte

Mehr

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

Mehr

Anlegen eines DLRG Accounts

Anlegen eines DLRG Accounts Anlegen eines DLRG Accounts Seite 1 von 6 Auf der Startseite des Internet Service Centers (https:\\dlrg.de) führt der Link DLRG-Account anlegen zu einer Eingabemaske, mit der sich jedes DLRG-Mitglied genau

Mehr

8. Berechnung der kalkulatorischen Zinsen

8. Berechnung der kalkulatorischen Zinsen 8. Berechnung der kalkulatorischen Zinsen 8.1. Allgemeines In der laufenden Rechnung werden im Konto 322.00 Zinsen nur die ermittelten Fremdkapitalzinsen erfasst. Sobald aber eine Betriebsabrechnung erstellt

Mehr

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1 Zahlenwinkel: Forscherkarte 1 alleine Tipp 1 Lege die Ziffern von 1 bis 9 so in den Zahlenwinkel, dass jeder Arm des Zahlenwinkels zusammengezählt das gleiche Ergebnis ergibt! Finde möglichst viele verschiedene

Mehr

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln 27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln Autor Dirk Bongartz, RWTH Aachen Walter Unger, RWTH Aachen Wer wollte nicht schon mal eine Geheimnachricht übermitteln?

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Daten verarbeiten. Binärzahlen

Daten verarbeiten. Binärzahlen Daten verarbeiten Binärzahlen In Digitalrechnern werden (fast) ausschließlich nur Binärzahlen eingesetzt. Das Binärzahlensystem ist das Stellenwertsystem mit der geringsten Anzahl von Ziffern. Es kennt

Mehr

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN Der Zauberwürfel-Roboter Paul Giese Schule: Wilhelm-Raabe-Schule Jugend forscht 2013 Kurzfassung Regionalwettbewerb Bremerhaven

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr