35
Seminararbeit - Bitcoin Julia Kohlhofer, Sandra K¨ unzl, Stefan Lechner, Christian Lackner 11. April 2019 Lehrveranstaltung: KO Mathematik macht Freu(n)de Lehrveranstaltungsleiter: Univ.-Prof. Dr. Michael Eichmair Mentor: Univ.-Prof. Dipl.-Ing. Dr. Gerald Teschl Semester: Wintersemester 2018/2019 1

Seminararbeit - Bitcoin · Seminararbeit - Bitcoin Julia Kohlhofer, Sandra Kunzl, Stefan Lechner, Christian Lackner 11. April 2019 Lehrveranstaltung: KO Mathematik macht Freu(n)de

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Seminararbeit - Bitcoin

Julia Kohlhofer, Sandra Kunzl,Stefan Lechner, Christian Lackner

11. April 2019

Lehrveranstaltung: KO Mathematik macht Freu(n)de

Lehrveranstaltungsleiter: Univ.-Prof. Dr. Michael Eichmair

Mentor: Univ.-Prof. Dipl.-Ing. Dr. Gerald Teschl

Semester: Wintersemester 2018/2019

1

Inhaltsverzeichnis

1 Das herkommliche Finanzsystem – elektronische Zahlungssysteme 41.1 Kryptowahrungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Kryptowahrungen: Definition . . . . . . . . . . . . . . . . . . . . . . 41.3 Die Geschichte des Bitcoin . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Was ist Bitcoin? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5 Der Unterschied zum herkommlichen Finanzsystem . . . . . . . . . . 5

2 Wie funktioniert Bitcoin? Eine Ubersicht 62.1 Technischer Hintergrund . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.1 Das Verschlusselungsverfahren . . . . . . . . . . . . . . . . . . 62.1.2 Das Public-Key-Verfahren . . . . . . . . . . . . . . . . . . . . 62.1.3 Wallet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.4 Die Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Double Spending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.1 Hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.2 Digitale Signatur . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Der Secure-Hash-Algorithmus SHA-1 im Detail . . . . . . . . . . . . 112.3.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.2 Funktion des SHA-1 . . . . . . . . . . . . . . . . . . . . . . . 13

3 Der mathematische Hintergrund 163.1 Zyklische Gruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2 Ellyptische Kurven . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2.1 Voraussetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.2 Die Abbildung . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2.3 Elliptische Kurven in (Zp, ∗) . . . . . . . . . . . . . . . . . . . 18

4 Praktische Umsetzung des Themas in der Schule 214.1 Planung und Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2 Erster Tag des Projekts . . . . . . . . . . . . . . . . . . . . . . . . . 214.3 Zweiter Tag des Projekts . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.3.1 Berechnung einer Stufe eines SHA-1 Hashes mit Microsoft Excel 234.3.2 Blockchain Demo . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.4 Dritter Tag des Projekts . . . . . . . . . . . . . . . . . . . . . . . . . 26

2

Abbildungsverzeichnis

1 Beispiel aus [Paar/Pelzl 2016, S.338] . . . . . . . . . . . . . . . . . . 82 Beispiele fur elliptische Kurven, (3) mit Punkt im Unendlichen [Watzke 2011] 173 Ausschnitt aus Tabellenblatt 2 . . . . . . . . . . . . . . . . . . . . . . 254 Blockchain Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Erster Kastchencode [Goller] . . . . . . . . . . . . . . . . . . . . . . . 306 Zweiter Kastchencode [Goller] . . . . . . . . . . . . . . . . . . . . . . 307 Dritter Kastchencode [Goller] . . . . . . . . . . . . . . . . . . . . . . 308 Entschlussle diesen Geheimtext . . . . . . . . . . . . . . . . . . . . . 309 Graph −x3 − x+ y2 = 1 . . . . . . . . . . . . . . . . . . . . . . . . . 3110 Graph −x3 + 2.6x+ y2 = 5 . . . . . . . . . . . . . . . . . . . . . . . 3111 Graph −x3 − 2.8x+ y2 = 0 . . . . . . . . . . . . . . . . . . . . . . . 3212 Graph −x3 + 2.9x+ y2 = 0 . . . . . . . . . . . . . . . . . . . . . . . 3213 Drehscheibe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3

1 Das herkommliche Finanzsystem – elektroni-

sche Zahlungssysteme

Transaktionen im Internet konnen mit unterschiedlichen Methoden durchgefuhrtwerden, wie mit Zahlung durch Kreditkarte oder Online-Bezahlsystemen. Doch esist gleich, welches Zahlungsinstrument verwendet wird, eines haben sie gemeinsam:Sie alle sind bankbezogen, haben daher einen Bankkontext und basieren auf wohl-bekannter Technologie. Wirtschaftlich gesehen existiert eine zentrale Plattform, aufder sich ein Zahlungssender und ein Zahlungsempfanger treffen, wobei letzterer furdie Abwicklungen der Zahlungen verantwortlich ist. [Lempp 2018] Somit entsteht einauf Vertrauen basierendes Modell, da Transaktionen im Internet durch Finanzein-richtungen, welchen als dritte Partei im elektrischen Zahlungsprozess vertraut wird,verarbeitet werden. Es ist nicht moglich, Transaktionen vollkommen umzukehren, dadie Finanzinstitute bei solchen Schwierigkeiten vermitteln, wodurch Kosten entste-hen. Ein viel großeres Problem stellt jedoch die Tatsache dar, dass keine unumkehr-baren Zahlungen fur unumkehrbare Dienstleistungen abgewickelt werden konnen.Diese Irreversibilitat von Transaktionen hat zur Folge, dass sich sowohl das erfor-derliche Vertrauen als auch das Misstrauen der Handler gegenuber ihren Klientenerhoht und sie mehr personliche Informationen von diesen einholen mussen. Na-turlich konnen eine direkte Kommunikation und das Verwenden einer physischenWahrung die eben genannten Kosten und Unsicherheiten vermeiden, doch damitist das Problem fur Transaktionen, die uber einen nicht vertrauenswurdigen Kanalerfolgen, nicht gelost [Satoshi 2011].

1.1 Kryptowahrungen

Losungen dieses Problems stellen Kryptowahrungen dar, die sich dadurch auszeich-nen, dass die Notenbanken nicht mehr durch Institute gesteuert werden, sonderndurch Rechenprozesse, die uber ein dezentrales Netzwerk verfugen [Ertel 2018].

1.2 Kryptowahrungen: Definition

Als Kryptowahrungen werden Wahrungen bezeichnet, die ausnahmslos in verschlus-selter und digitaler Form existieren und sowohl fur private als auch kommerzielleTransaktionen von Geld verwendet werden konnen. Kryptowahrungen unterschei-den sich von anderen Wahrungen durch die folgenden Merkmale:

• Sie weisen nur eine digitale Existenz auf, keine physikalische.

• Da die Wahrungen nicht von Banken und anderen Institutionen abhangig sind,sind sie dezentral. Es erfolgt keine Kontrolle oder Regulierung durch die Re-gierung und zentrale Organisationen.

• Meistens beruhen Kryptowahrungen auf einem Angebot, das im Zeitverlaufabnimmt. So liegt die Obergrenze fur Bitcoins bei 21 Millionen Coins, kannjedoch je nach Kryptowahrung unterschiedlich sein.

4

• Transaktionen konnen online stattfinden, ohne Bargeld zu benotigen.

• Kryptografische Transaktionsprotokolle gewahrleisten die Sicherheit.[Lempp 2018]

1.3 Die Geschichte des Bitcoin

Die Geschichte der Kryptowahrung”Bitcoin“ hat ihren Anfang am 31. Oktober 2008

mit der Veroffentlichung des White Papers”Bitcoin: A Peer-to-Peer Electronic Cash

System“ durch Satoshi Nakamoto [Sixt 2017]:A purely peer-to-peer version of electronic cash would allow online payments to besent directly from one party to another without going through a financial institution.Digital signatures provide part of the solution, but the main benefits are lost if atrusted third party is still required to prevent double-spending. We propose a solutionto the double-spending problem using a peer-to-peer network [Satoshi 2011]

Satoshi Nakamoto gilt als Begrunder von Bitcoin, der wohl bekanntesten virtu-ellen Wahrung, dessen ersten Client er im Jahr 2009 [Ertel 2018, S.261] verbreitete.Der Name Satoshi Nakamoto ist jedoch ein Pseudonym, von dem bis heute unklarist, wer sich dahinter verbirgt. Es kann sich sowohl um eine Einzelperson, als auchum eine Gruppe handeln. Das im Dezember 2010 aufgezeichnete Posting Nakamotosist bis jetzt das letzte des Bitcoin-Entwicklers geblieben. [Sixt 2017]

1.4 Was ist Bitcoin?

Wenn der Begriff”Bitcoin“ verwendet wird, sollte einem bewusst sein, dass dieser

zwei Bedeutungen hat. Einerseits bezeichnet er die Wahrung Bitcoin, also das di-gitale Geld. Anderseits die Technologie Bitcoin, wobei vor allem das Protokoll desSystems gemeint ist, das sich auf den Computern der User verbreitet und fur denFortbestand der Blockkette, die sozusagen das Grundbuch darstellt, sowie des mo-netaren Wahrungssystems verantwortlich ist. Es beinhaltet die Betriebsanweisungenund notwendigen Informationen fur die Transaktionen. [CaseyVigna 2015]

1.5 Der Unterschied zum herkommlichen Finanzsystem

Bitcoin stellt somit eine Kryptowahrung dar, die sich radikal von herkommlichenZahlungsmethoden unterscheidet. Es wird eine direkte Transaktion von Internetuserzu Internetuser moglich gemacht, ohne dass diese von dem Staat, Kreditkartengesell-schaften und besonders den Banken abhangig sind. So geschieht eine Transaktion inder Wahrung Bitcoin

”peer-to-peer“, was durch folgendes Beispiel verdeutlicht wird:

Zwei Personen laden sich jeweils die kostenlose Software aus dem Internet herun-ter. Erfolgt eine Uberweisung des Bitcoin-Geldes von einer Person zur anderen, sogeschieht dies online durch ein System, das niemand besitzt und nicht zwischen ge-wollt und ungewollt getatigten Uberweisungen unterscheidet. [Mey 2015] Des Wei-teren fallen grundsatzlich keine Transaktionskosten an und es ist kein Vertrauenmehr an einen Finanzdienstleister notwendig, wodurch dessen Existenz gefahrdet

5

ist. Denn dieses Vertrauen wird nun durch Rechnerleistung und Algorithmen er-setzt. [Lempp 2018]

2 Wie funktioniert Bitcoin? Eine Ubersicht

Nehmen wir an, Alice mochte Bob einen Betrag in Bitcoins uberweisen. Sie erstellteine Nachricht, die an alle Teilnehmer im Bitcoin-System geschickt wird. Alice hatdabei ein Paar aus einem Public und Private Key. Die Nachricht enthalt dabei u.a.den Betrag, der transferiert wird, und den Empfanger (dessen Bitcoin-Adresse, diepraktisch gesehen der offentliche Schlussel von Bob ist). Damit nur Alice eine solcheNachricht, in der Bitcoins von ihrem

”Konto“ ubertragen werden, erstellen kann,

wird fur die Nachricht eine digitale Signatur erstellt. Damit kann jeder Teilneh-mer einfach uberprufen, ob die Nachricht tatsachlich von Alice stammt. Was dannpassiert, ist, dass die Transaktion (gemeinsam mit weiteren Transaktionen) in dieBlockchain aufgenommen wird. Die Blockchain, wie weiter unten noch im Detailausgefuhrt wird, ist das Verzeichnis aller bisherigen Transaktionen. Fur die Block-chain wird laufend ein Kontrollwert (Hash) berechnet, der es unmoglich macht, diebisherigen Transaktionen zu manipulieren. Je mehr dieser Kontrollwerte fortlaufendberechnet wurden, desto aussichtsloser ist eine Manipulation. Der

”Kontostand“ ei-

nes Teilnehmers besteht aus der Summe der bisherigen Transaktionen (eingehendeund ausgehende). Falls also Alice aus der Vergangenheit ein Bitcoin hatte und diesesan Bob transferiert, kann jeder Teilnehmer aus der Blockchain ersehen, dass Alicenun kein Bitcoin mehr hat. Da Alice nicht in der Lage ist, die Blockchain zu ma-nipulieren, wird ein mehrfaches Ausgeben desselben Bitcoins (

”double spending“)

verhindert. In den folgenden Unterkapiteln werden die technischen Grundlagen furBitcoin dargestellt.

2.1 Technischer Hintergrund

2.1.1 Das Verschlusselungsverfahren

Durch kryptographische Methoden ist es moglich, dass Daten und Informationen ver-und entschlusselt werden. Es gibt verschiedene Verschlusselungsverfahren, die sichvon der Art des Schlussels her unterscheiden, der unter anderem aus einer Geheim-nummer, Bits oder Passwortern bestehen kann. Die Basis des Verschlusselungsver-fahrens von Bitcoin ist eine besondere mathematische Funktion, die Elliptische Kur-venmultiplikation. Es ist ein asymmetrisches Verschlusselungsverfahren, das auch alsPublic-Key-Verfahren bezeichnet wird.

2.1.2 Das Public-Key-Verfahren

Das Public-Key-Verfahren besteht aus zwei Schlusseln, einem privaten (Privat Key)und einem offentlichen (Public Key), die einmalig durch einen Algorithmus erstelltwerden. Der offentliche Schlussel ist fur das Erhalten des Geldes verantwortlich undmit der Adresse des Bitcoin-Besitzers verbunden. Will dieser eine Transaktion aufdie Adresse einer anderen Person tatigen, muss er auch deren offentlichen Schlussel

6

wissen. Zur Verwirklichung dieser Transaktion benotigt der uberweisende Partnerden privaten Schlussel, der fur das Zeichnen der Informationen verantwortlich ist.Nur damit kann die Uberweisung von der Adresse des Besitzers autorisiert werden.

2.1.3 Wallet

Fur die sichere Aufbewahrung der Schlussel und um die verschlusselten Daten vorMissbrauch zu schutzen existieren sogenannte

”Wallets“, die den User mit dem de-

zentralen Netzwerk verbinden. Jeder Akteur, der die Bitcoin Client Software, auchBitcoin Wallet genannt, auf seinem Computer installiert hat, kann mit deren Hil-fe Transaktionen tatigen und den Kontostand uberprufen, da alle Benutzer in demNetzwerk sichtbar sind.

2.1.4 Die Blockchain

Die Blockchain (Blockkette) ist eine Kette aus Blocken, in denen alle Transaktionengesammelt werden, sozusagen die Buchhaltung. Sie befindet sich auf allen Compu-tern, ist daher im Gegensatz zu einem normalen Kassenbuch ein offentliches, undkann praktisch unbegrenzt wachsen, solange das System arbeitet. [Lempp 2018]

2.2 Double Spending

Bei herkommlichen Zahlungssystemen gibt es eine zentrale Instanz, die jeglicheTransaktionen auf Mehrfachausgaben, also Double Spending, pruft. Auch bei Bit-coin ist es notwendig, zu uberprufen, dass kein coin doppelt ausgegeben wird, jedochsoll dies ohne der Abhangigkeit zu einer zentralen Institution geschehen. Der Zah-lungsempfanger soll sich also gewiss sein, dass keine Transaktionen schon zuvor vonden vorherigen Besitzern signiert worden sind [Satoshi 2011].

Zu diesem Zweck, einigen sich die Nutzer auf die chronologische Abfolge derTransaktionen. Wenn also zwei Transaktionen, die uber denselben digitalen Wertverfugen, auftreten, muss gewahrleistet werden dass nur die erste der beiden in dieBlockchain aufgenommen wird. Außerdem muss jeder Nutzer dieselbe Transaktionals gultig und nicht ruckgangig zu machen sehen [Sixt 2017].

Nur Bitcoins, die man tatsachlich hat, durfen uberwiesen werden. Eine Uberpru-fung jedes Bitcoin-Transfers nehmen die Miner vor, indem sie aus der Blockchainden aktuellen Kontostand jedes Teilnehmers kalkulieren und die Zahlungsfahigkeitsowie die Signatur kontrollieren [Fox 2015] Ein Verstoß gegen die Regeln hat einenAusschluss des einzelnen Nutzers zur Folge, bis diese wieder befolgt werden. Fallseine Veranderung durch einen Miner bewusst geschieht, damit die bitcoins mehrals ein Mal ausgegeben werden konnen, so bildet sich eine Gabelung, wobei nur dielangste Kette gultig wird. Neue Blocke werden nur an diese langste Blockchain ange-hangt [Sixt 2017]. Doch die Entscheidung, welcher Zweig in weiterer Folge ausgebautwird, liegt bei der Mehrheit der Systeme, die sich an der Kontrolle beteiligen. Ver-kummert ein langerer Zweig, so verfallen alle Transaktionen, die in diesem getatigtwurden. Transaktionen, die nicht bestatigt sind oder etwaige Abzweigungen werdenvon der Liste der Transaktionen entfernt [Fox 2015]. Aus diesem Grund, kann erst

7

nach einer Zeit von cirka 60 Minuten (sechs Blocke) und dem Empfang von sechsBestatigungen, sichergestellt werden, dass eine Transaktion auch vollkommen in dieentscheidende Form der Blockchain aufgenommen wird. Nach dieser Zeit ist dieWahrscheinlichkeit extrem gering, dass sich eine alternative Blockchain durchsetzt.Es empfiehlt sich daher, erst diesen Ausbau abzuwarten, bevor ein Zahlungseingangals verlasslich angesehen werden kann. [Sixt 2017]

2.2.1 Hashing

Hashfunktionen1 sind wichtige Bestandteile im Bereich der Kryptographie, sie wer-den aber auch z.B. fur das Speichern von Passwortern gebraucht. Die Grundideeeines Hash-Wertes, der in der Literatur auch als

”Fingerabdruck einer Nachricht“

[Paar/Pelzl 2016, S.335] bezeichnet wird, ist, dass fur eine beliebig lange Nachrichtein (im Allgemeinen) kurzerer, immer gleich langer Wert errechnet wird. Die Hash-funktion h errechnet aus der Nachricht m den Hash-Wert z mit z = h(m).

Abbildung 1: Beispiel aus [Paar/Pelzl 2016, S.338]

Fur Hash-Funktionen werden drei Sicherheitseigenschaften gefordert:

• Urbildresistenz, d.h. es soll rechentechnisch unmoglich sein, aus einem Hash-Wert z den bzw. einen zugehorigen Eingangswert m zu errechnen.

• Schwache Kollisionsresistenz, d.h. es soll nicht moglich sein, fur eine Nachrichtem1 eine Nachricht m2 zu erzeugen, sodass die Nachrichten denselben Hash-Wert z = h(m1) = h(m2) haben.

• Starke Kollisionsresistenz, d.h. es soll auch nicht moglich sein, zwei Nachrichtenbeliebig zu erzeugen, die denselben Hash-Wert haben.

1Im Deutschen ist der Begriff”Streuwertfunktion“ ublich.

”Hash“ steht fur Zerhacken und kommt

aus der Funktechnik.

8

Eine weitere Forderung fur Hash-Algorithmen ist der”Avalanche Effect“

[Schmeh 2012, 225ff]. Dabei soll bei der Anderung eines einzelnen Bits in der Nach-richt moglichst die Halfte der Bits im Hash-Wert verandert werden. In Bitcoin findenSHA-256 (Secure Hash Algorithm 256) und RIPEMD160 (RACE Integrity Primi-tives Evaluation Message Digest 160) Verwendung. Beide gehoren zur sogenanntenMD4-Familie. Der MD4 (MD steht fur

”message digest“) Algorithmus wurde 1990

von Ronald Rivest veroffentlicht [Paar/Pelzl 2016, S.347]. SHA-1, ebenfalls Mitgliedder MD4-Familie, hat sich ab Mitte der 1990er Jahre als dominates Entwurfsmusterfur Hash-Funktionen durchgesetzt. Aus diesem Grund wird der SHA-1 Algorithmussowie die dafur notwendigen Grundlagen spater im Detail vorgestellt.

Starke Kollisionsresistenz und das Geburtstagsparadox Wahrend die An-zahl der Moglichkeiten, fur eine gegebene Nachricht m1 eine zweite Nachricht m2 mitdemselben Hashwert zu finden etwa der Lange des Hashwertes entspricht (also beieinem 80-bit Hash waren das 280 Versuche), so liegt die Anzahl der Moglichkeitenbei zwei frei wahlbaren Nachrichten deutlich darunter, etwa bei nur 240 Versuchen.Dieses unerwartete Verhalten basiert auf dem sogenannten Geburtstagsparadoxon.Die Darstellung dessen sowie der Nachweis befindet sich im Anhang, Seite 27 .

Hash-Baum (Merkel Tree) Die zugrundeliegende Uberlegung [Schmeh 2012,S.263ff] fur Hash-Baume ist jene, dass man bei einer Reihe von Informationsein-heiten L0, L1, ...Ln bei der Anderung nur einer Informationseinheit nicht fur alleEinheiten den Hash-Wert neu berechnen muss. Ein Hash-Baum entspricht einerBaumstruktur mit Informationseinheiten als Blatter. Je Informationseinheit wirdein Hash-Wert ai berechnet, aus je zwei ai, ai+1 wird ein Hash-Wert bj berechnet,und weiter aus bj, bj+1 ein ck und so weiter, bis es einen Wurzel-Hash-Wert gibt.Will man Anderungen in einer Informationseinheit Lx uberprufen, so reicht es aus,von dort ausgehend die je ubergeordneten a, b, ... zu berechnen. Nicht benotigte In-formationen (z.B. Transaktionen in Bitcoin, die nicht mehr relevant sind) mussennicht jedes Mal neu berechnet werden.

Das mathematische Ratsel des Minings der Blockchain Fur die unveran-derliche Einschreibung von Transaktionen in die Blockchain werden die Eintrage mitHash-Werten versehen. Damit kann nachtraglich keine Anderung mehr durchgefuhrtwerden, ohne dass sich der Hash-Wert andern wurde. Das liegt an der Forderung furHash-Algorithmen nach

”Urbildresistenz“. Liegt fur einen Eintrag ein Hash-Wert vor,

ist es unmoglich, den Eintrag so zu manipulieren, dass bei geandertem Eintrag dergleiche Hash-Wert herauskommt. Um nun zu verhindern, dass sich mehrere gultigeBlockchains gleichzeitig in Umlauf befinden, ist die Berechnung des Hash-Wertes aneine Bedingung geknupft. Der gesuchte Hash-Wert muss zu Beginn eine bestimmteAnzahl von Nullen aufweisen. Damit der Hash-Wert variiert werden kann, enthaltder Eintrag in die Blockchain einen kleinen Teil frei wahlbarer Daten, das sogenannte

”Nonce“. Da die Hash-Funktion eine

”Einwegfunktion“ [Ertel 2018, S.155] darstellt,

kann nur durch Ausprobieren der Zielwert erreicht werden. Die Wahrscheinlichkeit,an erster Stelle eine 0 aus {0,1} zu bekommen, liegt bei 0.50. Ist n die Anzahl der

9

fuhrenden Nullen, so errechnet sich die Wahrscheinlichkeit p = 12n

. Die Gemeinschaftder Schurfer versucht nun, dieses Ratsel standig zu losen, um aktuelle Transaktio-nen in der Blockchain abzusichern. Ein Zielwert fur die Zeit zur Losung liegt bei10 Minuten. Sollte dieser Wert durch erhohte Rechenleistung im System wesent-lich unterschritten werden, so kann die Schwelle (Anzahl fuhrender Nullen erhohtwerden).

2.2.2 Digitale Signatur

In Bitcoin wird ECDSA (Elliptic Curve Digital Signature Algorithm - siehe in De-tail ab Seite 17) verwendet. Hier soll allgemein auf digitale Signaturen eingegangenwerden [Paar/Pelzl 2016, S.297ff]. Mit einer digitalen Signatur kann, ahnlich einerUnterschrift auf Papier, bewiesen werden, dass:

• eine Nachricht wahrend der Ubertragung nicht geandert wurde (Integritat)

• eine Nachricht von einem bestimmten Sender stammt (Authentisierung)

• der Sender nicht abstreiten kann, die Nachricht geschickt zu haben (Nichtzu-ruckweisbarkeit)

Es ist wichtig zu betonen, dass die digitale Signatur nur dann berechnet werdenkann, wenn man den geheimen Schlussel kennt. Mochte jetzt Bob eine Nachrichtan Alice senden und sie signieren, benotigt Bob zuerst ein Schlusselpaar kpr, kpub.Fur die Nachricht m wird nun die Signatur s mit einem Signaturalgorithmus sigerzeugt: s = sig(kpr,m). Die Nachricht und die Signatur werden an Alice uber-tragen. Alice verifiziert nun mit dem Verifikationsalgorithmus ver, ob die Nach-richt von Bob stammt. Dazu verwendet sie den offentlichen Schlussel kpub, sodassver(kpub,m, s) = wahr genau dann gilt, wenn die Nachricht unverandert von Bobangekommen ist. Ansonsten ergibt der Algorithmus den Wert falsch. Typische Ver-fahren sind RSA (Faktorisierung von Primzahlen), Elgamal/DSA (diskretes Loga-rithmus Problem) und das in dieser Arbeit naher ausgefuhrte ECDSA. Eine we-sentliche Einschrankung von digitaler Signatur ist die Nachrichtenlange. Diese kannbeispielsweise bei RSA nicht langer als der Modul sein (also in der Praxis zwischen128 und 384Byte [Paar/Pelzl 2016, S.336]). Daher muss im Allgemeinen vor der digi-talen Signatur ein Hash-Wert der Nachricht berechnet werden. Im Beispiel von obenwurde also Bob zuerst den Hash-Wert der Nachricht berechnen, dann daraus dieSignatur. Alice kann aus der Nachricht selbst den Hash-Wert berechnen und dannmit dem Schussel verifizieren.Bob berechnet z = h(m), s = sig(kpr, z) schickt m, s an Alice, die berechnet z′ =h(m), ver(kpub, s, z

′) = wahr/falschBei Bitcoin wird aus den Transaktionsdaten ein Hash-Wert gebildet (verwendetSHA-256 und RIPEMD160), danach wird dieser Hash-Wert mit dem offentlichenSchlussel (des DCDSA Schlusselpaares) signiert.

10

2.3 Der Secure-Hash-Algorithmus SHA-1 im Detail

2.3.1 Grundlagen

Stellenwertsystem Das uns vertraute Dezimalsystem ist ein Positionssystem zurBasis 10 [Kemnitz 2013, S.34ff]. Ist eine Zahl in der Darstellung anan−1an−2...a1a0gegeben, so betragt der Wert zur Basis 10:

a =n∑

i=0

aiBi,mitB = 10

Binarzahlen Im Dualsystem gibt es nur zwei Ziffern {0, 1}, die Basis ist 2. DieBerechnung erfolgt analog der obigen Formel fur das Dezimalsystem mit B = 2. ZurVermeidung von Irrtumern schreiben wir die Basis als Index am Ende einer Zahl,z.B. 10011012 = 7710.

Hexadezimalschreibweise Da die Lange der Zahlen im Dualsystem schnell un-ubersichtlich wird und das Konvertieren in das Dezimalsystem nicht

”glatt“ von

statten geht, da kein Zusammenhang zwischen Stellen in beiden Systemen besteht,wurde die Hexadezimalschreibweise eingefuhrt. Es gibt in diesem System zur Ba-sis B = 16 sechzehn Ziffern, {0...9, A,B,C,D,E, F}, wobei A = 10, B = 11 usw.Vier Stellen des Dualsystems ergeben genau eine Stelle im Hexadezimalsystem, z.B.0100 11012 = 8D16 mit 01002 = 816 und 11012 = D16.

Zeichenkodierung und ASCII Um fur den Computer verarbeitbar zu sein, mus-sen letztlich alle Informationen in Zahlen umgewandelt werden. Fur die Kodierungvon alphanumerischen Zeichen wurde 1963 der ASCII (American Standard Code forInformation Interchange) veroffentlicht[wiki:ASCII]. Obwohl die Verwendung einesBytes (=8 Bit) eigentlich 256 Zeichen ermoglicht hatte, werden nur 127 verwendet(mit 7 Bit darstellbar). Es wird zwischen Groß- und Kleinschreibung unterschie-den (A=65, a=97). Es haben sich seither weitere Systeme entwickelt, beispielsweiseUTF-8, das 8 Bit verwendet und auch beispielsweise deutsche Umlaute ermoglicht.

Rechnen in Restklassen Auf den ganzen Zahlen Z ist die Relation kongruentmodulo definiert[Schichl/Steinbauer 2012, S.151ff] als k ≡ l :⇔ ∃m ∈ Z mitk =l+mn, wobei 2 ≤ n ∈ N. Wir schreiben k ≡ l mod n. Modulo n ist eine Aquivalenz-relation und erzeugt genau n Aquivalenzklassen. Die entsprechende Faktormenge Zn

enthalt genau n Restklassen modulo n.Beispielsweise hat die Restmengenklasse Z4 die Elemente {0, 1, 2, 3}, wobei die Aqui-valenzklasse 1 fur [1] = {1, 1±4, 1±2 ·4, 1±3 ·4, ...} enthalt, analog fur die anderenKlassen.In den Restklassen sind die Operationen + , · definiert[Schichl/Steinbauer 2012,S.199f] als:

[a] + [b] = [a+ b]

[a] · [b] = [a · b]

11

wobei [a] und [b] Aquivalenzklassen einer Restklassenmenge Zn sind.Praktisch heißt das, dass es egal ist, ob die Operation mit den Aquivalenzklassendurchgefuhrt wird, oder zuerst die Operation und dann als Vertreter die entspre-chend Auqivalenzklasse gewahlt wird. In Z4 konnen wir rechnen:

[1] + [3] = [1 + 3] = [4] = [0]

[2] · [3] = [2 · 3] = [6] = [2]

Die Verknupfungen einer Restmenge kann mittels Cayley-Tafel illustriert werden,als Beispiel fur Z4:

+ 0 1 2 30 0 1 2 31 1 2 3 02 2 3 0 13 3 0 1 2

Algebraisch bilden die Restklassenmengen bezuglich Addition eine Gruppe, gemein-sam mit der Multipliktion sind alle Restklassenmengen Zn kommutative Ringe mitEinselement. Handelt es sich bei n um eine Primzahl, so ist Zp ein algebraischerKorper.

Welche Bedeutung haben nun Restklassenmengen im Bereich von Computern?Da Computer immer der Einschrankung unterliegen, endliche Dimensionen zu haben(z.B. Speichergroße), gibt es z.B. die ganzen Zahlen Z fur Computer nicht. Beibegrenzten Registergroßen fuhrt ein Uberlauf dazu, dass ein Flag (Overflow) gesetztwird, aber der Registerinhalt die Stelle, die uber seine Bitzahl hinausgeht, nichtmehr speichern kann. Das entspricht einer modulo Rechnung.

Beispielsweise kann eine unsigned-32-bit-Integer Variable Zahlen von 0 bis 232−1darstellen. Wenn in der Variable bereits 232−1 gespeichert ist und 1 addiert, so gibtes einen Uberlauf und im Register steht 0. Diese Rechnung entspricht der Addtionin einer Zn, wobei n hier 232 ist.

Interessant ist auch die zweielementige Restklasse Z2, da diese (wie im weiterengezeigt wird), der logischen XOR-Verknupfung entspricht.

Digitale Grundverknupfungen UND, ODER, XOR und Negation sowieBit-Verschiedbung In der Boolschen Algebra konnen (binare) Variablen nur zweiZustande einnehmen, namlich wahr oder falsch bzw. 1 oder 0. Die wichtigsten bi-naren und unaren Verknupfungen sind (Darstellung jeweils mit Wahrheitstafel):Logische UND Verknupfung

a b a ∧ b0 0 00 1 01 0 01 1 1

Logische ODER Verknupfung

12

a b a ∨ b0 0 00 1 11 0 11 1 1

Logische XOR Verknupfung (eXclusive OR, ausschlißendes ODER)

a b a⊕ b0 0 00 1 11 0 11 1 0

Wenn wir nun die Verknupfungstabelle von XOR mit der Cayley-Tafel fur Z2 ver-gleichen,

+ 0 10 0 11 1 0

sehen wir, dass die Operationen XOR und Addition mod 2 identisch sind.Negation (invertiert jeweils den Wert)

a ¬a0 11 0

Eine letzte bitweise Operation, die wir noch benotigen, ist die Verschiebung. Dabeiwerden zyklisch die Bits einer Binarzahl nach links oder rechts verschoben. Die Bits,die auf der linken bzw. rechten Seite

”rausfallen“, werden auf der jeweils anderen

Seite wieder eingefugt. Schiebt man eine n-stellige Binarzahl um n Stellen nachlinks oder rechts, bleibt sie gleich. Fur den Schiebeoperator schreiben wir ≪n furLinksverschiebung um n bzw. ≫n fur Rechtsverschiebung.Als Beispiel sei eine 8-bit Binarzahl gegeben.

(10010111)≪3 = (10111100)

(10010111)≫3 = (11110111)

2.3.2 Funktion des SHA-1

SHA-1 erlaubt eine Nachrichtengroße von maximal 264− 1Bit. Der berechnete Has-hwert hat eine Lange von 160 bit. Es werden in der Kompressionsfunktion Blockevon 512 bit verarbeitet. Das heißt, die Nachricht muss so erganzt werden, dass siedie Lange eines Vielfachen von 512 bit aufweist.

13

Vorverarbeitung Um nun die gewunschte Lange zu erhalten, wird am Ende derNachricht folgendes angefugt. Ganz am Ende wird die Lange der Nachricht in 64bit Binarkodierung angefugt (also z.B. Nachrichtenlange 24 bit = 110002 bzw. mit0 aufgefullt 00...00110002). Vor dem 64 Bitblock kommt dann ein Block mit einerfuhrenden Eins gefolgt von Nullen, die eine solche Lange k hat, dass auch der letzteBlock der Nachricht 512 bit hat. k errechnet sich mit:

k = 512− 64− 1− l = 448− (l + 1)mod 512

Wobei l die Lange der Nachricht in bit ist.

Berechnen des Hash-Wertes Die Nachricht wird in Blocke zu je 512 bit (=64Byte) unterteilt, x1, x2, ...xi. Jeder dieser Blocke wird als Zusammensetzung von16 Wortern mit je 32 Bit gesehen. Ein Wort kann man sich dabei vorstellen alsZahl von 0 bis 4294967295 oder auch als 4 Byte in ASCII Code, also 4 Zeichen.Fur die Nachricht

”Liebe Alice, wie geht es dir? Ich beschaftige mich gerade mit

Kryptographie.“ ware dann der erste Block (64 Byte = Zeichen)”Liebe Alice, wie

geht es dir? Ich beschaftige mich gerade mit Kr“. Das erste Wort x1 ware”Lieb“,

umgerechnet in eine Zahl 128197565010 bzw. 4C69656216. Fur die Durchfuhrung derBerechnung wird ein sogenannter

”Nachrichtenfahrplan“ erstellt. Dabei werden 80

32-bit-Worter Wj, 0 ≤ j ≤ 79 nach folgender Vorschrift berechnet:

Wj =

{x(j)i falls 0 ≤ j ≤ 15

(Wj−16 ⊕Wj−14 ⊕Wj−8 ⊕Wj−3)≪1 16 ≤ j ≤ 79

Der Ablauf erfolgt fur jeden Block in 4 Stufen. Jede Stufe umfasst 20 Runden. AlsEingangswert Hi zu Beginn dient das Ergebnis des vorigen Durchlaufs sowie derNachrichtenfahrplan xi des jeweiligen Blocks. Da es beim ersten Block x1 keinenEingangswert gibt, wird dieser Wert H0 mit der Lange von 160 bit (funf 32-bitWoter) vom Algorithmus fix vorgegeben. Der Algorithmus verfugt uber funf RegisterA,B,C,D und E. In diese werden die funf Worter aus H geladen. In der ersten Stufewerden nun 20 Runden (Rundenzahler j) gedreht. Folgende Operation wird jeweilsdurchgefuhrt:

A,B,C,D,E = (E + ft(B,C,D) + (A)≪5 +Wj +Kt), A, (B)≪30, C,D

Wobei hier gilt:A,B,C,D,E . . . . . 32-Bit Wortert . . . . . . . . . . . . . . Stufe (1 bis 4)j . . . . . . . . . . . . . . Runde innerhalb der Stufe (1-20)Kt . . . . . . . . . . . . . 32-bit Konstanten vom Algorith-

mus vorgegebenft . . . . . . . . . . . . . Rundenfunktion laut Tabelle, wo

je drei Worter verknupft zu einemneuen Wort werden

Fur die Rundenfunktionen und Konstanten gilt folgende Tabelle:

14

Stufe t Runde j Konstante Kt in hex Funktion ft

1 0...19 K1 = 5A827999 f1(B,C,D) = (B ∧ C) ∨ (¬B ∧D)2 20...39 K2 = 6ED9EBA1 f2(B,C,D) = B ⊕ C ⊕D

3 40...59 K3 = 8F1BBCDCf3(B,C,D) =

(B ∧ C) ∨ (B ∧D) ∨ (C ∧D)4 60...79 K4 = CA62C1D6 f4(B,C,D) = B ⊕ C ⊕D

Die Ergebnisse A,B,C,D,E einer Stufe dienen als Eingangswerte der nachsten Stufe.Nach der vierten (letzten) Stufe werden die Ergebniswerte A’,B’,C’,D’,E’ noch mitden jeweiligen Eingangswerten vor der ersten Stufe A,B,C,D,E verknupft, und zwarals

AdditionA′′ = A+ A′mod 232

Die Verkettung von A”...E” ergibt nun den Hash-Wert Hi, also nach dem erstenDurchlauf H1. Dieser Wert ist nun wieder Eingangswert fur den nachsten Block.Nach Erreichen des letzten Blocks ist dann Hi der fertige 160-bit Hash-Wert.

15

3 Der mathematische Hintergrund

3.1 Zyklische Gruppen

Als mathematische Sicherheit der Kryptographie, die auf dem Problem des DiskretenLogarithmus beruht, werden zyklische Gruppen verwendet. Wir werden nun klaren,wann eine Gruppe Zm mit m ∈ N als zyklisch gilt.

Gruppe|Untergruppe Eine mathematische Gruppe ist eine Zahlenmenge M , diemit einer Verknupfung ∗ ein Paar (M, ∗) bilden. Zudem muss die Gruppe mit ihrerVerknupfung 3 Axiome erfullen: [Schichl/Steinbauer 2012, S.219]

• Assoziativgesetz: ∀a, b, c ∈M : a ∗ (b ∗ c) = (a ∗ b) ∗ c

• Neutrales Element: ∃e ∈M : ∀m ∈M : m ∗ e = e ∗m = m

• Inverses Element: ∀a ∈M : ∃a−1 ∈M : a ∗ a−1 = a−1 ∗ a = e

Weiters ist eine Teilmenge H ⊆ M eine Untergruppe, falls (H, ∗) auch eineGruppe ist [Schichl/Steinbauer 2012, S.226].

Ordnung einer Gruppe Die Ordnung einer Gruppe M ist die Anzahl der Ele-mente dieser Gruppe. Sie wird geschrieben mit |M |. Zusatzlich ist |H|, fur eineUntergruppe H ⊆M , Teiler von |M |.

Ordnung eines Elements Sei (M, ∗) eine endliche Gruppe, a ∈ M und n dasneutrale Element. Dann ist die Ordnung des Elementes a ist die kleinste naturlicheZahl k mit:

a ∗ a ∗ a ∗ a ∗ a ∗ ... ∗ a ∗ a = ak = n (1)

a wird k mal mit sich selbst verknupft. Man schreibt ord(a)=k bzw. a ∗ a ∗ a ∗ a ∗... ∗ a ∗ a = ak.

Zyklische Gruppe Wir berachten jetzt die Gruppe Z7\{0} mit der multiplika-tiven Verknupfung ∗. Wir bestimmen jetzt alle Elemente dieser Gruppe und derenOrdnung:

a a1 a2 a3 a4 a5 a6 ord(a)1 1 1 1 1 1 1 12 2 4 1 2 4 1 33 3 2 6 4 5 1 64 4 2 1 4 2 1 35 5 4 6 2 3 1 66 6 1 6 1 6 1 2

16

Wir sehen, dass die Elemente a = 3 und a = 5 die gesamte Gruppe erzeugen. Siehaben auch die maximale Ordnung, ord(a)=6, also gleich der Anzahl der Elementevon (Z7\{0}, ∗). Und genau das ist es, was eine zyklische Gruppe ausmacht.

Eine endliche Gruppe M heißt zyklisch, wenn sie (mindestens) ein Element a mitmaximaler Ordnung, das heißt ord(a) = |M|, besitzt. Dieses Element nennt manGenerator (oder auch erzeugendes Element, Primitivwurzel, ...).

Abschließend ist noch zu sagen, dass jede Gruppe (Zp, ∗) mit p ∈ P, der Mengealler Primzahlen, eine zyklische Gruppe ist. Um das zu beweisen benotigen wirallerdings hohere Mathematik. [CSPotsdam1]

3.2 Ellyptische Kurven

3.2.1 Voraussetzung

Eine elliptische Kurve besteht aus allen Punkten, deren Koordinaten (x, y) ∈ R2 dieGleichung

y2 = x3 + ax+ b (2)

erfullen.

Abbildung 2: Beispiele fur elliptische Kurven, (3) mit Punkt im Unendlichen[Watzke 2011]

Diese Elliptischen Kurven haben entweder 1 oder 3 Nullstellen. Kurven mit mehr-fachen Nullstellen konnen nicht fur Kryptowahrungen verwendet werden. An einermehrfachen Nullstelle gibt es keine Tangente, weswegen die Addition nicht definiertist. Daher schreiben wir folgendes vor:

4a3 + 27b2 6= 0 (3)

Warum ist das so? Bei (mindestens) einer doppelten Nullstelle gilt: p(x0) = x30 +ax0 + b = 0 und p′(x0) = 3x20 + a = 0. Aus der 2. Gleichung erhalten wir: x20 = −a

3.

Die erste Gleichung lasst sich auch mit 0 = x0(x20 +a)+b schreiben. Durch einsetzen

erhalten wir x0 = − 3b2a

. Aus x20 = 9b2

4a2= −a

3folgt 4a3 + 27b2 = 0. Um genau

diesen Fall zu vermeiden, schließen wir diesen einen Fall aus und wir erhalten keine

17

doppelten Nullstellen mehr. Daher erhalten wir fur Kurven mit einer Nullstelle (3).[Watzke 2011]

3.2.2 Die Abbildung

Wir haben gerade die Grundvorraussetzung an Elliptische Kurven gestellt. Jetztwollen wir eine Verknupfung zwischen zwei Punkten P und Q mit P= (x1, y1) undQ= (x2, y2) einen dritten Punkt R, mit R= (x3, y3) zuordnen, die alle auf unsererKurve liegen. Die Kurve mit der Abbildung soll eine abelsche Gruppe bilden. Dazu:

• P ist nicht spiegelsymmetrisch zu Q, d.h. P 6= Q∗

• Wir legen eine Sekante s durch die 2 Punkte P und Q. Diese Schneidet dieKurver an (genau) einer weiteren Stelle. Diesen Punkt nennen wir R∗.

• Durch Spiegeln von R∗ an der x-Achse erhalten wir den Punkt R, da die Kurveja symmetrisch zur x-Achse ist.

• Falls P=Q wird die Sekante zur Tangente.

Die x- und y-Werte des neuen Punktes ergeben sich durch:

x3 =s2 − x1 − x2y3 =s(x1 − x3)− y1

und weiters

s =

y2 − y1x2 − x1

fur P 6= Q (4)

3x2 + a

2y1fur P = Q (5)

Durch Spiegelung des Punktes R∗ an der X-Achse erhalten wir mit der Verknup-fung eine abelsche Gruppe. Wurden wir das nicht tun, wurde das Assoziativgesetznicht gelten. Fur den Fall, dass P = Q ist, fugen wir noch einen Punkt im

”Unend-

lichen“ hinzu und nennen ihn O. Dieser Punkt wird spater unser neutrales Element[CSPotsdam1]. Und das war schon die ganze Hexerei. Wir haben eine abelsche Grup-pe auf einer Elliptischen Kurve in R2 definiert. Aber damit nicht genug versuchen wirnun das selbe in (Zp\{0}, ∗), der zyklischen Gruppe einer von uns beliebig gewahltenPrimzahl p.

3.2.3 Elliptische Kurven in (Zp, ∗)

Bisher haben wir Elliptische Kurven in R definiert, nun wenden wir das auf EndlicheMengen, also (Zp, ∗) an. Was schon in (2) und (3) verlangt wurde, gilt naturlich auchin (Zp, ∗), mit dem Zusatz:

y2 = x3 + ax+ b (mod p)

4a3 + 27b2 6= 0 (mod p)

18

Und auch (4) und (5) gelten mit dem Zusatz (mod p). Der erzeugte Punkt wirdwieder mit:

x3 =s2 − x1 − x2y3 =s(x1 − x3)− y1

berechnet. Das Vielfache und neutrale Element konnen wir auch 1:1 aus demvorherigen Abschnitt ubernehmen.

Beispiel Gegeben ist die elliptische Kurve ξ : y2 = x3 − 3x+ 1 uber Z11.

A Uberprufe, ob 4a3 + 27b2 6= 0 (mod 11) gilt

B Gib alle Punkte von ξ an.

A ist erfullt, da 4 ∗ 13 + 27 ∗ (−3)2 = 247 = 5 mod 11 6= 0 mod 11 Zu B: Wirberechnen zu jeder x-Koordinate auf ξ die zugehorige y-Koordinate. Dazu legen wirzuerst eine Hilfstabelle an, um von y2 auf y schließen zu konnen.

y 0 1 2 3 4 5 6 7 8 9 10y2 mod 11 0 1 4 9 5 3 3 5 9 4 1

Als nachstes setzen wir nacheinander fur x = 1, 2, 3, ..., 10 in ξ ein und berechendie y2 mod 11 - Werte daraus. Durch vergleichen mit der Hilfstabelle erhalten wirfolglich die y1- und y2- Werte:

x y2 mod 11 y1 y20 1 1 101 10 - -2 3 5 63 8 - -4 9 3 85 1 1 106 1 1 107 4 2 98 5 4 79 10 - -10 3 5 6

Wir sehen also, dass ξ 17 Punkte, inklusive des neutralen Punktes O. Wenn eineelliptische Kurve uber Zp eine prime Anzahl von Punkten besitzt, also wie hier vonPrimer Ordnung (zB. 17) ist, dann ist jeder Punkt, bis auf O, ein erzeugender Punkt.

19

Nach dem Satz von Hasse gilt fur die Gruppenordnung n einer elliptischen Kurveuber Zp folgendes:

p+ 1− 2√p ≤ n ≤ p+ 1 + 2

√p (6)

In der Kryptographie ist es wichtig zu wissen wie viele Punkte eine elliptische Kurvebesitzt. Der Satz von Hasse schatzt dies schon gut ab. Fur eine genaue Berechnungexistiert der Schoof-Elkies-Aktin-Algorithmus, auf den wir aber nicht weiter einge-hen. Wie nach kurzer Rechnung zu sehen ist, trifft der Satz von Hasse auch fur unserBeispiel zu. Eine ellyptische Kurve ist umso sicherer, je mehr Elemente sie besitzt,da ja der geheime Schlussel ein Element dieser Punktwolke ist.

20

4 Praktische Umsetzung des Themas in der Schu-

le

4.1 Planung und Konzept

Da man das Thema”Bitcoin“ aus unterschiedlichen Bereichen behandeln kann, wird

sich folgendes Unterrichtskonzept nicht nur auf mathematische Inhalte rund umdas Thema beschranken, sondern auch andere Facher wie zum Beispiel Informatikals auch Geographie und Wirtschaftskunde beinhalten. Dadurch soll gewahrleistetwerden, dass ein Thema nicht immer nur in einem Unterrichtsfach zur Anwendungkommen kann beziehungsweise muss und es soll die Vielfalt des Themas aufzeigen.

Das folgende Unterrichtskonzept rund um das Thema”Bitcoin“ kann zum Bei-

spiel fur Projekttage in der letzten Schulwoche in der 11. Schulstufe zum Einsatzkommen. Es weist einen Umfang von mindestens drei Tagen auf. Im folgenden Ka-pitel sollen alle fur das Projekt notwendigen Materialien und deren Verwendungenaufgearbeitet werden.

1. TagEinfuhrung in das ThemaVerschlusselungen

2. TagBlockchainBerechnung einer Stufe eines SHA-1 Hashes mit Microsoft Excel

3. Tag elliptische Kurven

4.2 Erster Tag des Projekts

Eine Einfuhrung in das Thema”Bitcoin“ soll mittels einem Video geschehen, welches

allgemeine Informationen rund um das Thema liefert. Die Methode des Videos wirdgewahlt, damit der theoretische Input nicht allzu lang ist. Nur beim Schauen desVideos soll es jedoch nicht bleiben, da zur Ergebnissicherung ein Arbeitsblatt vonden Schulerinnen und Schulern auszufullen ist. Im Idealfall sollten die Schulerinnenund Schulern das Arbeitsblatt nach dem Schauen ohne Hilfe ausfullen konnen, jedochkann zur Hilfe das Video noch einmal herangezogen werden, wenn es Schwierigkeitenbeim Erganzen der Satze geben sollte beziehungsweise Begriffe nicht im Gedachtnishangen geblieben sind.

Das Video ist unter dem Link https://www.youtube.com/watch?v=2473NHJtdFAabrufbar. Das Arbeitsblatt inklusive der Losungen ist im Anhang unter

”Arbeitsblatt

1 Luckentext zum Video“ auffindbar.Anschließend kann man gemeinsam mit den Schulerinnen und Schulern daruber

nachdenken, warum Bitcoins eingefuhrt worden sind und wieso einige Menschen ge-glaubt haben, dass man die Menschheit durch die Kryptowahrung aus der Finanz-krise retten konnte. Dabei spielen vor allem die zentralen Vorstellungen von Geld

21

eine Rolle und wie sie sich mit Bitcoin decken oder unterscheiden. Um Anregungenbezuglich des Inputs fur die Diskussion zu finden, ist in [Weber 2012, S.91-102] zumNachlesen.

Verschlusselungen

Nachdem die Schulerinnen und Schuler einen Einblick in das Thema bekommenhaben, sollen sie nun tiefer in die Materie eintauchen. Da Verschlusselungen ein we-sentlicher Bestandteil vom Konzept von Bitcoin sind, sollen die Schulerinnen undSchulern zuerst einen Einblick in verschiedene Verschlusselungen bekommen. Da-bei soll den Jugendlichen anfangs der Unterschied zwischen

”Klartext“ und

”Ge-

heimtext“ [Teschl 2015, S.1ff.] aufgezeigt werden. Danach sollen sie zwischen mo-noalphabetischen oder polyalphabetischen Verschlusselungen unterscheiden konnen.Anfangs sollen die Schulerinnen und Schuler mittels Kastchencodes Geheimschriftenentschlusseln. Beim Kastchencode werden die Buchstaben des Alphabetes in einemRaster eingetragen. Die Schwierigkeit besteht jedoch darin, dass es hier mehrereMoglichkeiten gibt, die Buchstaben in einem Raster einzutragen, weshalb nur der

”richtige“ Kastchencode den Geheimtext entschlusseln kann. Anhand dessen sollen

die Schulerinnen und Schuler erkennen, dass diese Methode der Verschlusselung nochnicht ganz eindeutig ist. Außerdem erfahren sie dadurch schon zwei Grundprinzipi-en von Verschlusselungen, namlich einerseits, dass sowohl diejenige beziehungsweisederjenige, der den Text verschlusselt, als auch diejenige beziehungsweise derjeni-ge, der den Text entschlusselt, die gleichen Raster verwenden mussen (mit anderenWorten, den gleichen Schlussel). Andererseits sollten die Schulerinnen und Schulererkennen, dass Bijektivitat zwischen dem Klartext und dem Geheimtext herrscht, al-so dass es eindeutig umkehrbar ist.Diese Aufgabe sollen die Schulerinnen und Schulerauf dem 2. Arbeitsblatt, das im Anhang zu finden ist, durchfuhren.

Anschließend sollen sie erste Erfahrungen mit der monoalphabetischen Verschlus-selung machen. Dabei soll anfangs den Schulerinnen und Schulern erklart werden,dass bei einer monoalphabetischen Verschlusselung unser Alphabet gleich der Mengeder Buchstaben A, . . . ,Z (ohne Umlaute und Sonderzeichen, etc.) ist.

E : {A, . . . , Z} → {A, . . . , Z} (7)

x→ y = E(x) (8)

Klartextbuchstabe x: A B C D . . . X Y ZGeheimtextbuchstabe y: M S E R . . . B H G

Anhand dessen sollen die Schulerinnen und Schuler verstehen, dass jedes A im Ge-heimtext durch ein M ersetzt wird. Nach dieser kurzen Einfuhrung sollen die Schu-lerinnen und Schuler Zusatzmaterial 1 (im Anhang zu finden) ausschneiden unddie beiden Scheiben mit einem Splint zusammengeben. Diese Scheiben auf denen

22

das Alphabet oben steht, sollen ihnen dann beim Knacken der Geheimschriften hel-fen. Ziel ware es, dass die Schulerinnen und Schulern nach einigen Beispielen auf diemathematische Funktionsweise und dessen Formel kommen, sodass sie sich jeden zu-geordneten Zahlenwert zu einem Buchstaben ausrechnen konnen. Dies soll anfangsjede beziehungsweise jeder selbst ausprobieren und anschließend sollen sich die Ju-gendlichen in Gruppen zusammenfinden und ihre Ideen miteinander austauschenund kritisch uber die verschiedenen Meinungen nachdenken.

Darauffolgend wird der Begriff der polyalphabetischen Verschlusselung einge-fuhrt. Da die Vigenere-Verschlusselung auf der Casarverschiebung[Paar/Pelzl 2016, S.14f.] beruht und sie die im Vorhinein schon erarbeitet habensollten, steht der Bearbeitung dieser nicht viel im Weg. Dabei mussen die Schulerin-nen und Schuler lediglich erkennen, dass die einzelnen Buchstaben nicht symmetrischverschoben werden, da mehrere Schlussel verwendet werden, je nachdem wo sich derKlartextbuchstabe befindet. Dabei sollen jeweils zwei Jugendliche zusammenarbei-ten und sich ein Schlusselwort und einen Klartext uberlegen. Danach sollen sie dasSchlusselwort immer wieder unter den Klartext schreiben, wobei stellenweise addiertwird. Eine Addition von A bedeutet, dass ein Buchstabe um eine Stelle verschobenwird, eine Addition von B bedeutet, dass ein Buchstabe um zwei Stellen verscho-ben wird. Genau so funktioniert es mit den restlichen Buchstaben. Anschließendsoll das verschlusselte Wort einem anderen

”Parchen“ weitergegeben werden und sie

sollen versuchen, den Geheimtext zu knacken, wobei sie sich mit dem Friedman-Testhelfen sollen. Die Funktionsweise dessen sollen sie selbststandig recherchieren undanschließend den Geheimtext wieder in einen Klartext verwandeln.

4.3 Zweiter Tag des Projekts

Der Fokus an diesem Tag wird auf Hashing gelegt - im Rahmen des facheruber-greifenden Unterrichts mit Informatik. Das Prinzip wird mit einer einfachen Dar-stellung (vgl. Abbildung ...) erklart. Weiters werden die Grundlagen prasentiert,also (1) Binarzahlen. (2) Rechnen in Restklassen: Hierfur empfiehlt sich Z256, alsoeine 8-bit Binarzahl, die nach Uberlauf (Uberschreiten von 255 wieder bei 0 be-ginnt). Insbesodere ist die Addition als Operation darzustellen. (3) Digitale Grund-verknupfungen mit Wahrheitstafeln. Eine schone Anschauung hierfur waren elek-trische Taster mit Lampchen. Die Serienschaltung zweier Schalter entspricht derUND-Verknupfung, Parallelschaltung entspricht ODER, ein Taster mit Ruhekon-takt entspricht der Negation. Fur die XOR Verknupfung braucht es aber Tastermit gegenseitigem Ausschluss, was vielleicht etwas komplizierter ist, aber dafurzeigt, wie man eine XOR Verknupfung mit anderen Verknupfungen herstellen kann(A ⊕ B = (A ∧ ¬B) ∨ (¬A ∧ B)). (4) Bitverschiebung und was das mathematischbedeuten konnte, bzw. ob dieses Prinzip der Informatik mathematisch Sinn macht.

4.3.1 Berechnung einer Stufe eines SHA-1 Hashes mit Microsoft Excel

Zwei Ideen stecken hinter der Umsetzung mit Microsoft Excel. Zum einen kanndie Komplexitat der Hash-Wert Berechnung veranschaulicht werden. Zum anderenkonnen einzelne einfachere Rechenschritte nachvollzogen werden. Hierfur mussen die

23

SuS jedoch bereits entsprechende Erfahrung in MS Excel haben. Andernfalls kanndieser Teil ubersprungen werden und mit dem online Blockchain Demo fortgefahrenwerden.

Im Folgenden wird das Excel File, welches der Lehrperson fertig zur Verfugungsteht, naher beschrieben, insbesodere die darin verwendeten, vielleicht nicht gelau-figen, Funktionen.

Tabellenblatt 1 Ein vorgegebener Text wird in einzelne Zeichen zerlegt. Fur je-des Zeichen wird der ASCII-Code errechnet mit =CODE(zelle). Je vier dieser einByte (8 bit) Werte ergeben ein 32-bit Wort. Die Zeichen mussen mit Faktoren mul-tipliziert werden, sodass eine Zahl entsteht, die Binar der Aneinanderreihung dervier Zeichen entspricht. Ein Beispiel: “Lieb” ergibt als ASCII-Codes 76, 105, 101, 98bzw. Binar 01001100, 01101001, 01100101, 01100010. Um aus den 4 mal 8 Bit eineZahl zu machen, muss die erste Zahl mit 28∗3 multipliziert werden, die zweite mit28∗2, die dritte 28∗1 und die vierte mit 28∗3, was einer Multiplikation mit 1 entspricht.Wir bekommen also 01001100011010010110010101100010, was dezimal 1281975650ergibt, und das ist unser x

(0)1 .

Fur die Berechnung der Wj brauchen wir einerseits die XOR-Verknupfung ⊕. Die-se erhalten wir in Excel mit =BITXODER(zelle1;zelle2). Zum zweiten brauchenwir die bitweise Verschiebung ≪ n. Excel bietet uns zwar eine bitweise Verschie-bung nach links mit =BITLVERSCHIEB(zellle;n), dabei wird aber die Zahl um eineStelle langer, es wird hinten ein 0 angefugt, also BITLVERSCHIEB(100110;1) ergibt1001100. Fur den Zweck der Hash-Wert Berechnung mochten wir aber eine zyklischeVerschiebung, d.h., wenn eine 32-bit Zahl mit einer 1 an der hochsten Stelle um eineStelle nach links verschoben wird, so soll die Zahl weiterhin 32 Bit haben. Die hochs-te Stelle wird dann an der niederwertigsten eingefugt. Aus 100110 wird dann 001101.Dies erreichen wir in Excel, indem wir die 32-bit Zahl nach links verschieben. Dannwird modolo 232 gerechnet. Sollte die Zahl großer 232 sein, ware das hochstwertigebit 1 und musste somit an der niedrigsten Stelle eingefugt werden. Somit ergibt sichfur Excel die Formel: =REST(zelleX;zhoch32)+GANZZAHL(zelleX/zhoch32), wobeizelleX den zu verschiebenden Wert enthalt und zhoch32 eine benannte Konstantefur 232 darstellt. Die Funktion GANZZAHL schneidet die Nachkommastellen ab.

Tabellenblatt 2 Modulo Rechnungen werden in Excel uber die Rest-Funktion,die den Rest bei Division ergibt, berechnet: =REST(z1;divisor).Fur die Berechnungen der Funktionen f1...f4 werden die bitweisen Excel Funktio-nen BITODER(z1;z2), BITUND(z1;z2), BITXODER(z1;z2) verwendet. Da hiefur inExcel nur binare Operatoren vorgesehen sind, mussen diese bei Bedarf geschachteltwerden. Fur z1 ∨ z2 ∨ z3 verwendet BITODER(BITODER(z1;z2);z3). Aufgrund derAssoziativitat von ∨,∧,⊕ ist die Reihenfolge unerheblich. Excel kann kein bitwei-ses Nicht. Dies kann aber umgangen werden, in dem man die zu negierende Zahlmit einer Zahl, die nur aus 1 besteht, XOR verknupft. Fur 32-bit Zahlen verwendetman praktisch: =BITXODER(z1;zhoch32-1), wobei z1 die zu negierende Zahl ist undzhoch32 wie oben eine Konstante.

Die Verschiebung um 30 bit nach links ist in Excel nicht moglich. Dies kann aber

24

Abbildung 3: Ausschnitt aus Tabellenblatt 2

einfach umgangen werden. Eine Verschiebung um 30 bit nach links ist gleich einerVerschiebung um 2 bit nach rechts:

(a31a30a29...a2a1a0)≪30 = (a1a0a31a30...a4a3a2)

(a31a30a29...a2a1a0)≫2 = (a1a0a31a30...a4a3a2)

Ubrigens konnen in Excel die Darstellungsformen konvertiert werden mit =DE-

ZINBIN(zelle), =DEZINHEX(zelle), =HEXINDEZ(zelle)...

Ziel der Excel-Simulation ist einerseits zu zeigen, dass eine Hash-Berechnung eineaufwendige Angelegenheit ist, andererseits kann diese mit relativ einfachen Mittelnim Sinne von Divide & Conquer auf kleine Einzelschritte aufgeteilt und nachgebautwerden.

4.3.2 Blockchain Demo

Es gibt im Internet auf der Seite von Anders Brownworth [Brownworth 2018] eineBlockchain Demo.

Dabei werden die Blocke von links nach rechts dargestellt. Jeder Block enthaltfolgende Felder:

• Block Nr. (in der chronologischen Abfolge)

• Nonce, das ist der variierbare Wert fur das Mining. Sehr anschaulich ist, dassdurch die Variation des Nonce von Hand der Hashwert geandert wird. DieSuS konnten nun versuchen, ein oder zwei fuhrende Nullen zu erreichen. Dadies nur durch Zufall funktioniert, wird klar, wie schwierig das mathematischeRatsel beim Mining zu losen ist.

25

Abbildung 4: Blockchain Demo

• Data (Das sind die Transaktionsdaten)

• Prev (Das ist der Hashwert des vorigen Blockes, der jeweils”weiter-gehasht“

wird. Sobald man einen fruheren Block verandern wurde, wurde auch der Has-hwert aller folgenden Blocke verandert)

• Hash (Hier wird der Hashwert angezeigt)

• Mine (Durch Betatgigen dieses Buttons wird die Nonce automatisch so vari-iert, dass die fuhrenden vier Stellen des Hashwertes Null sind. Dieser Vorgangdauert nur wenige Sekunden, bei Bitcoin sind das cirka 10 Minuten)

Diese Demonstration zeigt das Funktionieren der Blockchain fur SuS anschau-lich und unmittelbar. Mit dem entsprechenden Vorwissen konnen SuS damit amComputer experimentieren, und zugleich verstehen sie auch exemplarisch, was anMathematik bzw. Informatik in der Blockchain steckt.

4.4 Dritter Tag des Projekts

Zum Abschluss des Projekts sollen die Schulerinnen und Schuler einen Einblick inelliptische Kurven bekommen. Dabei sollen sie einerseits wissen, wie die Funktions-gleichung einer elliptischen Kurve ausschaut. Andererseits sollen sie Wertetabellenaufstellen konnen und anschließend den Funktionsgraphen mittels Geogebra zeich-nen. Zu Beginn dieses Blocks wird ihnen y2 = x3+ax+b als die allgemeine Gleichungeiner elliptischen Kurve prasentiert. Anschließend bekommen sie ein Arbeitsblatt,auf dem Gleichungen elliptischer Kurven gegeben sind und sie Wertetabellen aufstel-len sollen, die dann anschließend mit Geogebra gezeichnet werden sollen. Außerdem

26

sollen sie Abbildungen von elliptischen Kurven den passenden Gleichungen zuord-nen konnen. Anschließend sollen sie anhand der bereits bearbeiteten Beispiele dieEigenschaften von elliptischen Kurven in Gruppen herausfinden und diese notieren.Abschließend von dem Block wird das gesamte Arbeitsblatt in der Klasse verglichenund mogliche Probleme geklart.

Anhang

Das Geburtstagsparadoxon

Analog zur Uberlegung, wie groß die Wahrscheinlichkeit ist, zwei Nachrichten zuerzeugen, welchen denselben Hashwert haben, wird das Szenario einer Party heran-gezogen und die Wahrscheinlichkeit, dass zwei Personen auf der Party am gleichenTag (ohne Jahr) Geburtstag haben. Intuitiv wurde man vielleicht annehmen, dassman cirka 183 Personen (die Halfte also von 365 moglichen Tagen) benotigt. Tat-sachlich sind es aber 23 [Ertel 2018, S.341ff] fur eine 50% Wahrscheinlichkeit.

Warum ist das so? Wir beginnen mit zwei Personen. Die Wahrscheinlichkeit PK

fur eine Kollision bei zwei Personen liegt bei 1365

, eine Gunstige durch 365 Mogliche.Sei P die Wahrscheinlichkeit fur keine Kollision, so erhalten wir fur zwei Personen

P =

(1− 1

365

)Kommt nun eine dritte Person hinzu, kann er oder sie mit beiden Personen kollidie-ren, also denselben Geburtstag haben. Die Wahrscheinlichkeit des Eintretens zweierunabhangiger Ereignisse errechnet sich durch das Produkt der Einzelwahrscheinlich-keiten. Fur drei Personen gilt daher:

P =

(1− 1

365

)·(

1− 2

365

)Fur t Personen erhalten wir:

P =

(1− 1

365

)·(

1− 2

365

)· ... ·

(1− t− 1

365

)Mit 23 Personen erhalt man P ≈ 0.4927, daher ist die Wahrscheinlichkeit fur eineKollision PK = 1 − P ≈ 0.5073. Fur die Berechnung der Kollision bei Hashingkonnen wir die Berechnung nicht mehr einfach in 23 Schritten durchfuhren. Statt365 fur die moglichen Ereignisse haben wir jetzt 2n, die Lange des Hash-Wertes.Fur (1 − i

2n) wenn i

2n� 1 gilt, gibt es eine Approximation e−

i2n . Dies kommt aus

der Taylorreihe fur ex [TeschlTeschl 2014, S.87]:

e−x = 1− x+x2

2!− x3

3!+x4

4!− ...

27

Da unser x = i2n� 1 ergibt, folgt, dass x2

2!und die hoheren Potenzen von x in

der Naherung vernachlassigbar werden. Setzen wir dies in unser Produkt ein, sobekommen wir fur:

P ≈t−1∏i=1

e−i

2n ≈ e−1+2+3+...+t−1

2n

Die arithmetische Reihe im Zahler des Exponenten ergibt 1+2+3+...+t−1 = t(t−1)2

,und damit bekommen wir fur unsere Wahrscheinlichkeit P (keine Kollision):

P ≈ e−t(t−1)2·2n

Bzw. die Wahrscheinlichkeit PK fur eine Kollision:

PK = 1− P ≈ 1− e−t(t−1)2·2n

Wir losen die Gleichung nach t:

ln(1− PK) = −t(t− 1)

2 · 2n

t(t− 1) ≈ 2n+1 · ln(

1

1− PK

)In der Praxis gilt, dass t immer deutlich großer als 1 ist. Daher kann t(t − 1) ≈ t2

angenommen werden. Somit folgt

t ≈

√2n+1 · ln

(1

1− PK

)Wir ziehen 2n+1 noch vor die Wurzel und erhalten

t ≈ 2n+12

√ln

(1

1− PK

)Wollen wir nun fur PK = 0.5 und PK = 0.9 den Ausdruck unter der Wurzel betrach-ten, so erhalten wir Werte, die weniger als um den Faktor 2 unterschiedlich sind,namlich 0.833 und 1.51. Das bedeutet, dass man ungefahr sagen kann, die Anzahlder Nachrichten fur eine Kollision liegt bei t ≈

√2n = 2

n2 . Dieses Ergebnis ist fur

die Sicherheit von Hashes sehr wichtig. Wahrend es namlich praktisch unmoglichist, 280 Moglichkeiten durchzuprobieren, ist das bei 240 kein Problem fur moder-ne Computer. Daher mussen fur Hashfunktionen, die stark kollisionsresistent sind,Schlussellangen von 160bit oder daruber verwendet werden. Interessant ist auch,dass es relativ unerheblich ist, ob man eine Wahrscheinlichkeit von 0.5 oder 0.9fordert (siehe oben, das andert den Exponenten nur um 1)

28

Arbeitsblatt 1

Schaue dir das folgende Video uber Bitcoin an und fulle anschließend das Arbeits-blatt aus! Wenn du dir unsicher bist, kannst du dir das Video noch einmal anschauen.(https://www.youtube.com/watch?v=2473NHJtdFA)

Die Mutter der Krypowahrungen ist der Bitcoin. Das erste Konzeptpapier von

Bitcoin ist 2008 von Satoshi Nakamoto erschienen. Der Bitcoin ist eine digitale

Geldeinheit in einem weltweit denzentralen Zahlungssystem. Bitcoins konnen voneiner Person zur anderen ubertragen werden, was man als Peer-to-Peer bezeichnet.Somit stehen keine Banken oder andere Finanzintermediare zwischen den beidenPersonen. Bitcoins werden in Wallets gespeichert. Das sind digitale Geldborsen ,

die man am Smartphone oder am PC haben kann. Die Wallets gehoren einem selbst

und somit kann sie niemand sperren. Es gibt keine Uberweisungslimits oder einemaximale Hohe von Transaktionen, da man selbst uber den Geldbeutel bestimmt.Probleme bezuglich Uberweisungen weltweit gibt es nicht, weshalb es keine geo-graphischen Einschrankungen gibt. Der Programmiercode des Bitcoin Protokoll istopen source , weshalb ihn sich jeder kostenlos anschauen kann und herausfinden

kann, wie er funktioniert. Die Anzahl der Bitcoins ist auf 21 Millionen begrenzt.Der Bitcoin unterscheidet sich insofern von den Fiat Wahrungen, da er begrenzt ist

und nicht beliebig gedruckt werden kann. Miner sind fur die Entstehung und Va-

lidierung der Transaktionen zustandig. Sie bestatigen, dass eine Transaktion vonA nach B stattgefunden hat. Miner sind Mitglieder im dezentralen Netzwerk. Ver-schiedene Transaktionen von der ganzen Welt sammeln sich in einem Block an,weshalb der Begriff Blockchain entstanden ist. Zur Gewahrung der Sicherhet mussman die Blocke mithilfe eines Codes knacken. Sobald er Code genackt wurde, istdie Transaktion vorangegangen. Die Aufgabe des Knackens haben die Miner, je-doch schafft es immer nur einer . Ledger hingegen speichern alle Transaktionen,die jemals im Bitcoin Netzwerk stattgefunden haben. In dem Ledger werden alleTransaktionen mit Hohe und Walletnnummer angefuhrt. Jedoch ist nicht beaknnt,wer die Transaktionen getatigt hat, da nur die Walltenummer darin enthalen ist.Grundgedanke vom Bitcoin ist die des anonymen Zahlens .

Vorteile Nachteilegerine Transaktionsgebuhren. Cyberkriminalitatweltweit nutzbar Steuerhinterziehungdezentralisiert Geldwaschetransparent Preisschwankungengeschutzte Privatsphare Aufbewahrung/Sicherheitkeine Einschrankungen als Zahlungsmittel kaum akzeptiert

29

Arbeitsblatt 2

Wandle folgende Geheimtexte in Klartexte um und verwende dazu einen der vierangefuhrten Kastchencodes. Wie viele Codes ergeben einen sinnvollen Klartext? Gibdeine Uberlegungen an!

Abbildung 5: Erster Kastchencode [Goller]

Abbildung 6: Zweiter Kastchencode [Goller]

Abbildung 7: Dritter Kastchencode [Goller]

Abbildung 8: Entschlussle diesen Geheimtext

erster Kastchencode ist der richtige; Du hast den Geheimcode geknackt.

30

Arbeitsblatt 3

Aufgabe 1 Stelle fur folgende Funktionsgleichungen Wertetabellen auf undzeichne die Funktion!

1. y2 = x3 + 2x− 4

2. y2 = x3 − 3x− 6

3. y2 = x3 + x− 2

4. y2 = x3 + 3x+ 3

Aufgabe 2 Stelle die Funktionsgleichung zu den jeweiligen Graphen auf!

Abbildung 9: Graph −x3 − x+ y2 = 1

Abbildung 10: Graph −x3 + 2.6x+ y2 = 5

31

Abbildung 11: Graph −x3 − 2.8x+ y2 = 0

Abbildung 12: Graph −x3 + 2.9x+ y2 = 0

32

Zusatzmaterial 1

Abbildung 13: Drehscheibe

Drehscheibe zur Verwendung zum Knacken einer monoalphabetischen Verschlusse-lung [Lehrerinnenfortbildung Baden-Wurttemberg]

33

Literatur

[BitcoinWiki] Bitcoin Wiki, https://en.bitcoin.it/wiki/Main_Page, Abruf:30.12.2018

[Brownworth 2018] Brownworth, Anders: Blockchain Demo. https://anders.com/blockchain/blockchain.html

[CaseyVigna 2015] Casey, Michael; Vigna, Paul (2015): Cryptocurrency. Wie virtu-elles Geld unsere Gesellschaft verandert. Econ Verlag, Berlin.

[Fox 2015] Dirk, Fox(2015): Bitcoin; Artikel aus der Zeitschrift”Gateway“

[Dorfmayr] Dorfmayr, Anita https://www.oemg.ac.at/DK/Didaktikhefte/2007%

20Band%2040/VortragDorfmayr.pdf, Abruf: 21.03.2019

[Ertel 2018] Ertel, Wolfgang; Lohmann, Ekkehard (2018): Angewandte Kryptogra-phie. Carl Hanser Verlag, Munchen.

[Goller] Goller, Sandra https://www.kindernetz.de/infonetz/

laenderundkulturen/geheimschriften/winkelcode/-/id=22494/nid=

22494/did=22546/14c20lf/index.html, Abruf: 21.03.2019

[CSPotsdam1] Institut fur Informatik und Computational Science https:

//www.cs.uni-potsdam.de/ti/lehre/07-Kryptographie/slides/

slides-5.4-anim.pdf, Abruf: 13.03.2019

[CSPotsdam2] Institut fur Informatik und Computational Science; Carsten Baumhttps://www.cs.uni-potsdam.de/ti/lehre/09-Kryptographie/slides/

Baum_Publickey2.pdf, Abruf: 13.03.2019

[Kemnitz 2013] Kemnitz, Arnfried (2013): Mathematik zum Studienbeginn. Grund-lagenwissen fur alle technischen, mathematisch-naturwissenschaftlichen undwirtschaftswissenschaftlichen Studiengange. Springer Spektrum, Heidelberg.

[Lehrerinnenfortbildung Baden-Wurttemberg] Lehrerinnenfortbildung Baden-Wurttemberg, https://lehrerfortbildung-bw.de/u_matnatech/

informatik/gym/bp2016/fb1/3_rechner_netze/2_kopier/5_caesar/,Abruf: 21.03.2019

[Lempp 2018] Lempp, Jakob; Pitz, Thomas; Sickmann, Jorn (2018): Die Zukunft desBargelds. Perspektiven aus Wissenschaft und Praxis. Springer Gabler, Wies-baden.

[Mey 2015] Mey, Stefan (2015): Das Bitcoin-Experiment. in TAZ Die Tageszeitung,Augabe 14.6.2015, http://www.taz.de/!5203676/ , Abruf 21.3.2019

[Paar/Pelzl 2016] Paar, Christoph; Pelzl, Jan (2016): Kryptographie verstandlich.Ein Lehrbuch fur Studierende und Anwender. Springer Verlag, Berlin

34

[Quadoo] Quadoo Webseite http://www.quadoo.de/freimaurer.html, Abruf:21.03.2019

[Satoshi 2011] Satoshi, Nakamoto: Bitcoin: A Peer-to-Peer Electronic Cash Systemhttps://bitcoin.org/bitcoin.pdf

[Schichl/Steinbauer 2012] Schichl, Hermann; Steinbauer, Roland (2012): Einfuhrungin das mathematische Arbeiten. Springer Verlag, Berlin

[Schmeh 2012] Schmeh, Klaus (2012): Kryptographie. Verfahren, Protokolle, Infra-strukturen. dpunkt Verlag, Heidelberg

[Sixt 2017] Sixt, Elfriede (2017): Bitcoins und andere dezentrale Transaktionssyste-me. Blockchains als Basis einer Kryptookonomie. Springer Gabler, Wiesbaden.

[TeschlTeschl 2014] Teschl, Gerald; Teschl, Susanne (2014): Mathematik fur Infor-matiker. Band 2 Analysis und Statistik. Springer, Berlin

[Teschl 2015] Teschl, Gerald; Teschl, Susanne (2015): Wozu ist Mathe gut? - Drei ex-emplarische Anwendungen. https://www.mat.univie.ac.at/~gerald/ftp/book-wm/WozuMathe.pdf , Abruf 21.3.2019

[Watzke 2011] Watzke, Tom-Steve (2011): Kryptoanalytische Verfahren furdie Elliptische-Kurven-Kryptographie. https://core.ac.uk/download/pdf/33988922.pdf , Abruf 30.12.2018

[Weber 2012] Tomaschek, Nino; Unterdorfer, Dario (2012): Veranderung: Der Wan-del als Konstante unserer Zeit. Waxmann, Munster

[wiki:ASCII] , Wikipedia: ASCII, https://de.wikipedia.org/wiki/American_

Standard_Code_for_Information_Interchange, Abruf: 1.1.2019

35