Schlagwort: Informatik

Mein Computer ist für mich…

Bob Blume nimmt an einer (SPD-nahen) Blogparade zu Digitalen Themen teil. Man soll dabei Sätze zu Ende schreiben. Der zweite davon beginnt:

Mein Computer ist für mich…

Der Satz scheint davon auszugehen, dass ich nur einen Computer habe. Ich habe aber zwei, einen großen Laptop (2013) und ein kleines Laptop für unterwegs. Das große Laptop enthält verschiedene virtualisierte Computer, aber die zählen wohl nicht.

Ein alter Laptop (2005) steht auch noch ungenutzt im Regal. Macht drei.
Mein Android-Tablet, sind schon vier.
Der Arduino für die Schule. Fünf.
In der Uni gibt es auch noch einen Rechner, den ich als meinen betrachte.

Wobei… der Fernseher ist auch ein Computer, so richtig mit Internet. Der DVD-/Festplattenrekorder (ein Relikt) auch.

Die neue Küche piept nicht nur gerne mal, sondern ist auch voller Computer: Der Kühlschrank ist ein Computer, der Backofen, die Waschmaschine, die Spülmaschine auch. Bei den Kochplatten bin ich mir nicht sicher. Die Küchenwaage ist wohl keiner, aber sicher bin ich mir auch da nicht.

Was ist überhaupt ein Computer? Ein Ding, das rechnen und sich Sachen merken kann, und das man programmieren kann. Sekundär ist, wie leicht ich auf diese Rechen- und Programmiermöglichkeit Zugang habe. Am einfachsten geht das, wenn ich mit einem normierten Stecker eine Tastatur und einen Bildschirm anschließen kann, und wenn das Betriebssystem auf dem Computer dann eine nützliche Ausgabe über den Monitor liefert und Eingaben über die Tastatur annimmt. Wenn nicht… na, dann muss man vielleicht andere Geräte anklemmen und ein bisschen löten, aber ein Computer ist das trotzdem.

Halt, einen habe ich noch! Mein Drucker ist selbstverständlich auch ein Computer. Der Beweis: Man kann auf ihm Doom laufen lassen. (Video hier.) Das ist eine keinesfalls notwendige, aber absolut hinreichende Bedingung dafür, dass irgend etwas ein Computer ist. Tatsächlich ist das wohl mit die erste Spielerei, die irgendein Stück Hardware über sich ergehen lassen muss: Kann man darauf Doom laufen lassen?

Und mein Router ist ja auch ein Computer, fällt mir gerade ein.

Jeder USB-Stick – und überhaupt jedes USB-Gerät – ist auch ein eigener Computer. (Soll ich wirklich anfangen, die zu zählen?) Auf jedem USB-Stick ist ein Bereich, der dafür sorgt, dass der Stick etwas tut, wenn der USB-Stick eingesteckt wird, nämlich mindestens eine Verbindugn zwischen den Geräten herzustellen. An diesen Bereich kommt man als Nutzer normalerweise nicht ran. Aber vor einiger Zeit haben Entwickler gezeigt, dass das prinzipiell doch geht, und dass man in diesen Bereich auch Schadsoftware einspielen kann, der dann auf dem Rechner, in den der Stick eingesteckt wird, alles mögliche machen kann. Siehe WIRED, ganz aktuelle Sache.

Spätestens jetzt müsste man sich eigenlich fragen, was ein Computer eigentlich ist. Einen Computer kann man sich wie ein großes Patiencespiel vorstellen, mit vielen Karten. Mit dem Computer kann man alles berechnen, was überhaupt berechenbar ist. Mit einem etwas stupiden Patiencespiel auch: Es gibt einen Haufen Karten und dazu einen überraschend kleinen Satz von Spielregeln. Dann bringt man die Karten in eine Ausgangsposition und fängt an zu spielen. Irgendwann geht die Patience dann meist nicht mehr weiter, und aus der Lage der Karten – alle aufgebraucht? alle offen? wo verteilt? – kann man dann das Ergebnis der Berechnung ablesen, und zwar jeder beliebigen Berechnung. Das geht alles mit dem jeweils identischen kleinen Satz an Spielregeln. Wenn man das elektronisch macht und nicht mit Patiencekarten, dann ist das ein Computer.

Irgendwann stelle ich vielleicht diese Computer-Patience-Regeln vor. Eine beliebte Variante davon heißt “Turing-Maschine”.
Wenn ich vorher weiß, wie viele Karten beziehungsweise wie viel Platz auf dem Schreibtisch ich höchstens brauche, dann kann ich damit eine ganze Menge berechnen, aber doch nicht alles. Wenn ich nicht vorhersagen kann, wieviel Schreibtischplatz ich höchstens brauche, dann geht aber wirklich alles, was geht. Das heißt dann “turing-vollständig”. Manches geht dann zwar noch immer nicht, aber das gilt dann auch für den Elektronik-Computer.

Hier ist eine Liste von Programmen und Spielen von Zeug, die sich zufälligerweise als turing-vollständig herausgestellt haben: Accidentally Turing-Complete. Ziemlich technisch, aber das Kartenspiel Magic: The Gathering kenne ich halbwegs. Ja, innerhalb des Spiels kann man einen Computer simulieren und beliebige Berechnungen durchführen (Cory Doctorow dazu).

Schleifchenmachen

In der 7. Klasse lernen die Schüler am bayerischen Gymnasium Algorithmik “mit einem Programmiersystem, mit dem sie die Algorithmen intuitiv umsetzen können und bei dem die Einzelschritte des Ablaufs altersgemäß visualisiert werden” (Lehrplan). Das heißt in der Regel: Robot Karol, das virtuelle Legomännchen. Es kann Ziegelsteine vor sich ablegen und aufnehmen, kann sich nach links und rechts drehen und einen Schritt nach vorne machen. Aus diesen Anweisungen bastelt man sich ein Programm.

Wenn man dabei überlegt vorgeht, schreibt man beispielsweise nicht:

schritt()
linksdrehen()
schritt()
linksdrehen()
schritt()
linksdrehen()

sondern:

wiederhole 3 mal
  schritt()
  linksdrehen()
*wiederhole

weil man erkannt hat, dass da eine gewisse Struktur in der Abfolge von Anweisungen ist.
Am Anfang neigen Schüler allerdings dazu, auf dieses “wiederhole” zu verzichten und einfach draufloszuschreiben. Deswegen gebe ich bei Aufgaben gerne mal vor, in wieviel Zeilen sie lösbar sind, in der Hoffnung, dass die Schüler versuchenn, meine Vorgabe zu erreichen – oder bei manchen Aufgaben auch schon mal zu unterbieten, wenn ihnen noch ein kürzerer Weg eingefallen ist.

robot_karola_aufgaben

Gestern habe ich ein Übungsprogramm dazu konstruiert, bei dem allerdings gar nichts altersgemäß visualisiert wird. Man gibt ein, welche Anweisungen es geben soll, wie viel Verschachtelungen von Schleifen es maximal geben soll, und dann erzeugt das Programm zum Beispiel:

schritt()
linksdrehen()
schritt()
linksdrehen()
schritt()
linksdrehen()

Selber muss man das dann kürzer fassen, wenn es geht, und vergleicht dann mit der Antwort. Hier als Java-Programm in einer ersten Version:

Read More →

Verschlüsselung auf Zeit

Vor ein paar Wochen stellte Klaus Schmeh in Klausis Krypto Kolumne ein Time-Lock-Verschlüsselungsverfahren vor. Um das Prinzip richtig zu begreifen, habe ich das alles nachprogrammiert, und wenn ich mir so viel Mühe mache, dann soll auch ein Blogeintrag dabei herauskommen. Ich bin kein Mathematiker oder Kryptologe und es ist nicht unwahrscheinlich, dass ich irgendwo Fehler drin habe; über Berichtigungen freue ich mich.

1. Wie man mit einem One-Time-Pad verschlüsselt

Cäsarische Schlüssel

Man verschiebt bei diesem Verfahren den Klartext zum Beispiel um eins nach rechts im Alphabet. Aus A wird B, aus B wird C, aus Z wird wieder A. So wird HALLO zu IBMMP.

Natürlich kann man auch um zwei nach rechts verschieben, dann wird aus HALLO: JCNNQ.
Es gibt, wenn wir von 26 Buchstaben ausgehen, 26 solche Cäsarsischen Schlüssel, einschließlich der Verschiebung um 0. Man sagt auch, der A-Schlüssel verschiebt um 0 (weil A zu A wird), der B-Schlüssel um 1 (weil A zu B wird), der C-Schlüssel um 2 (weil A zu C wird), der Z-Schlüssel um 25 (weil A zu Z wird).

Diese einfache Verschlüsselung ist überhaupt nicht sicher. Der häufigste Buchstabe im Deutschen ist “e”, und der häufigste Buchstabe in dem derart verschlüsselten Text wird dann wohl dem “e” entsprechen, und das gilt für die restlichen Buchstaben ebenso.

Vigenère-Verschlüsselung

Sicherer ist das Verfahren, wenn man nicht jeden Buchstaben um den gleichen Wert verschiebt. Das geht am einfach mit einem geheimen Schlüsselwort, sagen wir: HALLO. Dabei entspricht H dem Cäsarischen H-Schlüssel, A dem A-Schlüssel, und so weiter. Man schreibt das Schlüsselwort wiederholt unter den Klartext und verschiebt dann den Buchstaben des Klartexts jeweils so, wie es dem entsprechenden Cäsar-Schlüssel darunter entspricht.

Klartext:  ICHBINGEHEIM
Schlüssel: HALLOHALLOHA
Geheim:    PCSMWUGPSSPM

Das ist schon schwerer zu knacken, aber auch lösbar. Wenn man erst einmal herausgefunden hat, wie lang das Schlüsselwort ist, geht das dann wie oben durch Häufigkeitsanalyse.

Das One-Time-Pad

Ganz sicher, und prinzipiell nicht zu knacken, ist diese Art der Verschlüsselung dann, wenn das Schlüsselwort genau so lang wie der Klartext ist, oder auch noch länger. Außerdem muss es aus wirklich zufälligen Zeichen bestehen, darf also sicher kein Wort oder Text der deutschen Sprache sein, und darf natürlich nur ein einziges Mal benutzt werden. Für die nächste Nachricht reißt man dann den nächsten langen Schlüssel von seinem Block.
Dann heißt das Verfahren “One-Time-Pad”. Das Problem ist dabei nur, wie bei allen symmetrischen Verschlüsselungsverfahren, dass Sender und Empfänger beide über das gleiche One-Time-Pad verfügen müssen, das auf einem sicheren Weg übermittelt werden muss und nicht abgefangen werden darf.

2. Das gleiche nochmal mit Zahlen

Eigentlich machen sie eh alles mit Zahlen und sind nur so nett, diese Zahlen für uns als Buchstaben oder Grafiken auf dem Bildschirm darzustellen. Nach einem standardisierten Codierungsverfahren entspricht dem Buchstaben “H” etwa die Zahl 72. Und die Zahl 72 wird intern im Computer im Binärsystem als 1001000 dargestellt (8 bit lang) – für Menschen etwas übersichtlicher ist die Darstellung im Hexadezimalsystem als 48.

Das Wort HALLO in verschiedenen Darstellungsformen:

(1) Text:        H  A  L  L  O
(2) Dezimal:     72 65 76 76 79
(3) Hexadezimal: 48 41 4c 4c 4f
(4) Binär:       1001000 1000001 1001100 1001100 1001111

Dabei ist (1) das für den Menschen am leichtesten lesbar und (4) das für den Computer am leichtesten. Man trifft sich oft in der Mitte bei (3) – dabei entsprechen den 8 einzelnen bit im Binärsystem jeweils zwei Ziffern im Hexadezimalsystem (wo es 16 Ziffern gibt, 0-9 und A-F).

Der Klartext ICHBINGEHEIM sieht dann so aus:

Klartext:       I  C  H  B  I  N  G  E  H  E  I  M 
Klartext (hex): 49 43 48 42 49 4e 47 45 48 45 49 4d

Das Ver- und Entschlüsseln läuft über Zahlen, also eigentlich über das Binärsystem, aber lesbarer ist das im Hexadezimalsystem. Da sieht die Verschlüsselung mit einem Schlüsselwort, das mindestens so lang ist wie der Klartext (also einem One-Time-Pad entspricht), so aus: Der Klartext wird erst in Zahlen umgewandelt, dann wird das Schlüsselwort – ebenfalls eine Zahl – darauf angewendet, und die entstandene Zahl ist dann der Geheimtext:

Klartext:       I  C  H  B  I  N  G  E  H  E  I  M 
Klartext (hex): 49 43 48 42 49 4e 47 45 48 45 49 4d
Schlüsselwort:  43 c2 43 47 33 32 c1 1f 5d c9 39 e2
Geheimtext:     0a 81 0b 05 7a 7c 86 5a 15 8c 70 af

Dabei funktioniert das Verschieben über die XOR-Funktion. Schauen wir uns das erste I an: Aus dem Klartext 49 wird unter Anwendung des Schlüssels 43 der Geheimtext 0a. Binär ausgedrückt:

    1001001 ("I" binär)
    1000011 (Schlüssel binär)
-----------
    0001010 (Ergebnis der XOR-Funktion, entspricht 0a hexadezimal)

Die XOR-Funktion ist hier wie eine Addition ohne Übertrag: Aus 1 und 1 wird 0, aus 0 und 0 ebenso; aus 1 und 0 (oder 0 und 1) wird 1.

Zusammengefasst:
Klartext => Umwandlung in Zahl => XOR-Verechnung mit Schlüsselzahl (ensteht: Geheimtext als Zahl)

Die Entschlüsselung läuft dann einfach rückwärts ab:
Geheimtext als Zahl => XOR-Verechnung mit Schlüsselzahl => Umwandlung in Text (entsteht: Klartext)

3. Das Time-Lock-Puzzle

Die Aufgabe

Ron Rivest verschlüsselte 1999 einen Text, dessen Entschlüssselung prinzipiell lösbar ist, die aber 35 Jahre kontinuierlicher Berechnung braucht, die nach dem Mooreschen Gesetz (Wikipedia) zu erwartenden Fortschritte im Bereich der Computerentwicklung inbegriffen. Man kann mit dem Verfahren im Prinzip einstellen, wie lange die Entschlüsselung eines Textes dauern soll. (Hier ist der ursprüngliche Beitrag von Ron Rivest, in dem dieser das Rätsel erklärt und Java-Code zu Erzeugen ähnlicher Aufgaben zur Verfügung stellt.)
So ein Time-Lock-Rätsel ist also quasi das genaue Gegenteil des in Agentenkreisen beliebten “Diese Nachricht zerstört sich in nach einer festgelegten Zeitspanne selber”, nämlich ein: “Diese Nachricht wird in einer festgelegten Zeitspanne lesbar (wenn man fleißig rechnet)”.

Also: Gegeben ist der verschlüsselte Geheimtext, als Zahl, so wie oben gezeigt. Gesucht ist das geheime Schlüsselwort, mindestens so lang wie der Klartext, siehe oben, ebenfalls als Zahl. Wenn man das Schlüsselwort gefunden hat, wendet man die XOR-Funktion auf die beiden Zahlen an und wandelt das Ergebnis in Text um (nach dem ASCII-Standard, der bestimmt, welche Zahl welchem Buchstaben entspricht).

Das Schlüsselwort ist allerdings keine beliebige, völlig zufällige Zahl, wie das bei einer echten Einmalverschlüsselung der Fall wäre. Sondern man erhält Hinweise, wie man die Schlüsselwort-Zahl berechnen kann, nur dass das eben 35 Jahre dauert, wenn man 1999 angefangen hätte. Diese Angaben bestehen aus einer Zahl t und einer Zahl n. Dann muss man nur berechnen:

w = 2^{(2^t)} \mod{n}

Dabei steht mod für “Modulo” und entspricht dem Rest, der bei der Teilung durch n übrig bleibt. Man muss also zuerst das vordere berechnen, dann durch n teilen, und der Rest, der bei der Teilung übrig bleibt, ist die gesuchte Zahl w – der Schlüssel.

Warum das 35 Jahre dauert

Wenn die Zahlen t und w klein sind, geht das Berechnen schnell. Sie müssen also schon groß sein. Und wenn die Zahlen bestimmte bekannte Eigenschaften haben, gibt es mathematische Abkürzungen, wie man das schnell lösen kann, auch wenn die Zahlen groß sind; dazu später mehr.
Allgemein ist das Problem: 2^{(2^t)} \ kann man mit dem Computer überhaupt nicht berechnen, wenn t einigermaßen groß ist. Irgendwann reicht der Speicherplatz nicht mehr aus, um die Zahl überhaupt nur zu speichern.
Aber uns geht es ja auch nicht um 2^{(2^t)} \, sondern um 2^{(2^t)}\mod{n} – und das lässt sich sehr wohl berechnen. Man rechnet 2 * 2 * 2 * 2… und zwischendrin immer wieder mal modulo n. So wird die Zahl, mit der der Computer arbeitet, nie größer als 2*n. Allerdings muss der Computer das wieder und wieder und wieder machen, es geht um 2t-1 Multiplikationsvorgänge jeweils gefolgt von einer Modulo-Division – bei den enstprechenden Werten von n und t eben 35 Jahre lang.

In der Originalaufgabe von Rivest werden übrigens folgende Werte verwendet:

n = 631446608307288889379935712613129233236329881833084137558899
    077270195712892488554730844605575320651361834662884894808866
    350036848039658817136198766052189726781016228055747539383830
    826175971321892666861177695452639157012069093997368008972127
    446466642331918780683055206795125307008202024124623398241073
    775370512734449416950118097524189066796385875485631980550727
    370990439711973361466670154390536015254337398252457931357531
    765364633198906465140213398526580034199190398219284471021246
    488745938885358207031808428902320971090703239693491996277899
    532332018406452247646396635593736700936921275809208629319872
    7008292431243681

t = 79685186856218

Damit gilt es, folgenden Geheimtext zu entschlüsseln (hier in Dezimalschreibweise, nicht hexadezimal):

z = 427338526681239414707099486152541907807623930474842759553127
    699575212802021361367225451651600353733949495680760238284875
    258690199022379638588291839885522498545851997481849074579523
    880422628363751913235562086585480775061024927773968205036369
    669785002263076319003533000450157772067087172252728016627835
    400463807389033342175518988780339070669313124967596962087173
    533318107116757443584187074039849389081123568362582652760250
    029401090870231288509578454981440888629750522601069337564316
    940360631375375394366442662022050529545706707758321979377282
    989361374561414204719371297211725179287931039547753581030226
    7611143659071382

Man berechnet w, wendet dann die XOR-Funktion auf w und z an, wandelt die entstandene Zahl in eine Hexadezimalzahl um und diese wiederum nach dem ASCII-Standard in Text, wo jeweils zwei Hexadezimalziffern einen Buchstaben ergeben.

Das Verschlüsseln und der Trick bei der Sache

Die Verschlüsselung funktioniert dann, wenn n das Produkt zweier (sinnvollerweise: hoher) Primzahlen p und q ist. Wer den verschlüsselten Text erstellt, wählt zwei hohe Primzahlen aus, multipliziert die, um n zu erhalten, berechnet dann w und verschlüsselt den Klartext damit. Dann gibt er sowohl den Geheimtext als auch n und t weiter.

Aber Moment – es geht doch gerade darum, dass der Schlüssel

w = 2^{(2^t)} \mod{n}

so schwer zu berechnen ist. Wie macht man das dann beim Verschlüsseln, da braucht man den Schlüssel doch auch? Wie gesagt: wenn n das Produkt zweier (hoher) Primzahlen p und q ist, dann lässt sich Formel für w auch so schreiben:

w = 2^{(2^t\mod{(p-1)(q-1))}} \mod{pq}

(Das ist so wegen Mathematik und ich muss es erst mal glauben.)

Und während die erste Formel schwer zu berechnen ist, weil entweder die Zahlen zu hoch werden oder 2t Schritte dafür nötig sind, ist die zweite Formel für den Computer ein Klacks. (Allerdings: Völlig trivial ist das Werkeln mit so hohen Zahlen auch nicht; glücklicherweise bringt Java die entsprechenden Funktionen dafür gleich mit.)
Das heißt, wenn man die beiden Faktoren p und q weiß, aus denen n zusammengesetzt ist, dann lässt sich w leicht berechnen. Sonst nicht.

Mögliche Abkürzungen

1. Kann man das abkürzen, indem man mehrere Rechner oder Prozessoren parallel daran arbeiten lässt?

Nein. Man muss das wirklich der Reihe nach berechnen.
Aus Rivests Beispiel (mit n = 11 * 23 = 254 und t = 10):

              2^(2^1) = 2^2 = 4 (mod 253)
              2^(2^2) = 4^2 = 16 (mod 253)
              2^(2^3) = 16^2 = 3 (mod 253)
              2^(2^4) = 3^2 = 9 (mod 253)
              2^(2^5) = 9^2 = 81 (mod 253)
              2^(2^6) = 81^2 = 236 (mod 253)
              2^(2^7) = 236^2 = 36 (mod 253)
              2^(2^8) = 36^2 = 31 (mod 253)
              2^(2^9) = 31^2 = 202 (mod 253)
w = 2^(2^t) = 2^(2^10) = 202^2 = 71 (mod 253)

Da kann einem kein anderer Rechner einen nennenswerten Teil der Arbeit abnehmen.

2. Könnte man nicht einfach n faktorisieren, also p und q herausfinden?

In dem Fall könnte man die schnellere Formel verwenden, ja. Aber diese Faktorisierung ist schwieriger, als man denkt, wenn es um eine Zahl geht, die das Produkt zweier hoher Primzahlen ist. Die Zerlegung einer solche Zahl mit 200 Dezimalstellen dauerte vor zehn Jahren noch anderthalb Jahre, achtzig Rechner waren daran beteiligt (Wikipedia). Die Faktorisierung einer Zahl mit 616 Stellen (so viele hat das n in Rivests ursprünglichem Rätsel oben) ist zur Zeit noch nicht möglich; die Zahl ist ungefähr 2048 bit lang und damit noch auf einige Jahre sicher – die Bundesnetzagentur empfiehlt noch bis zum Jahr 2020 Schlüssel der Länge 2048 bit, in Zukunft werden aber wohl 3000 bit verlangt werden (Wikipedia).

Und wenn irgendwann mal Quantencomputer mit großem Speicher kommen sollten, sieht das alles nochmal ganz anders aus, aber davon verstehe ich zu wenig.

(Anhang: BlueJ-Projekt zum Spielen, als Ergänzung zu Rivests eigenem Javacode, siehe oben.)

Algorithmen: Vielleicht sogar auf Ihrem Computer!

Ich glaube ja, in den Zeitungen steht deshalb so viel Unfug, damit man darüber bloggt oder sich sonstwie darüber aufregt, Nu, heute in der Süddeutschen, im Feuilleton – dezidiert nicht auf der Wissenschafts-Seite – schreibt Andrian Kreye über Algorithmen, “Die neue Weltsprache”. Wir erfahren, dass diese Algorithmen quasi überall sind. Ich vermute, das ist so wie Chemie, die sich heutzutage schon in Lebensmitteln findet, H20 und NaCl und solches Zeug. Google und so, alle arbeiten mit Algorithmen; es fehlt allerdings die Warnung, dass Algorithmen nicht mal vor dem eigenen Computer oder gar Handys zurückschrecken.

Was Algorithmen sind, erklärt Andrian Kreye nicht so richtig, ich denke mal, um das Thema möglichst geheimnisvoll zu machen – schließlich wird eine Feuilleton-Serie für die Zukunft angekündigt. Dabei lernt man das in Bayern in der 7. Klasse. (Zugegeben, das ist keine Garantie, dass da viel hängen bleibt bei den Schülern. Eine Umfrage in meiner 8. war da wenig vielversprechend.)

Auf derselben Seite wird dann zumindest kurz Lovecraft erwähnt, das ist immer okay.

Im Süddeutschen Magazin heute ist ein Beitrag: “Es gibt keine dummen Fragen, nur dumme Antworten? Das Internet beweist das Gegenteil. Eine Auswahl.”
Einverstanden, es gibt dumme Fragen, und das sage ich auch meinen Schülern so, aber die “Internet”-Beispiele sind nicht gut gewählt. Ich habe sie meiner 8. Klasse vorgelesen, und die fand bei den meisten Fragen wie ich, dass das durchaus gute Fragen sind. (Maike Haselmann und Andrea Diener in der FAZ sehen das wohl auch so.)

“Wie viele Tote würde es bei einem Asteroideneinschlag (1 km Durchmesser) geben?” What if lebt von solchen Fragen, aktuell geht es darum, wie lange die Menschheit überleben würde, wenn man sich nur via Kannibalismus ernähren würde.

“Wieso sieht man auf Fotos anders aus als im Spiegel?” Legitime, oft beantwortete Frage, alles andere als dumm.

Zugegeben, einige der Fragen sind wirklich dumm. Andere zeugen von Neugier, Forschergeist, unkonventionellen Sichtweisen.

Tag der Informatiklehrer 2014. Yay!

Heute war der TdI 2014, den ich wie auch die letzten Jahre mitorganisieren geholfen habe. (Insgesamt machen die Organisation vor allem die Lehrstuhlsekretärin und wir drei teilabgeordneten Lehrer am Lehrstuhl, technisch helfen die Systembetreuer uns sehr.) So um die 90 Teilnehmer, ein Vortrag, danach verschiedene Workshops. Organisieren liegt mir nicht, aber ich versuche mir alles aufzuschreiben für die folgenden Jahre. Ich glaube an Checklisten.

Mir hat es nicht nur Vergnügen bereitet heute, sondern Freude. Mein Workshop lief gut, von den anderen habe ich leider nichts mitgekriegt. (Irgendwann wird mir hoffentlich jemand mal eine Einführung in Lego Mindstorms oder App-Programmierung geben; alleine raffe ich mich doch nicht auf.) Freude deshalb, weil es schön ist, andere Informatiklehrer zu treffen und sich mit ihnen auszutauschen. Viele davon sehe ich regelmäßig, zwar nur einmal im Jahr, aber immerhin. Das ist schön. Dieses Jahr war der Termin nicht optimal, so dass ein paar ganz regelmäßige Besucher leider nicht konnten.

Am meisten Sorgen bereitet mir übrigens jedes Jahr das Mittagessen. Klingt blöd, ist aber so, weil wir nie genau wissen, wer in welche der drei Gaststätten in der Nähe geht, bei denen wir – genügend? zu viele? – Plätze reserviert haben.

Schön wäre nächstes Jahr ein Workshop, der gleich im Englischen Garten stattfindet. “Rollenspiele im Informatikunterricht” oder “Sortieralgorithmen im Rollenspiel”, irgendwas, was man machen kann, während die Hälfte der Teilnehmer im Schatten auf der Wiese liegt. Der Englische Garten ist so nah und das Wetter war noch an jedem TdI der letzten Jahre richtig schön.

Selber habe ich auch schon eine Idee für einen Workshop nächstes Jahr: “Crypto-Party an der Schule”. Gestern war ich bei einer kleinen Crypto-Party in München, so als Vorbereitung, um zu sehen, ob ich genug darüber weiß, um das mit Schülern machen zu können. Ja, reicht auf jeden Fall – ich weiß nur noch nicht, ob das genügend Schüler an meiner Schule interessiert. Aber das teste ich im Herbst mal.

Ansonsten arbeite ich jetzt erst mal Liegengebliebenes auf: Links, Schulaufgaben-Respizienzen, Blogeinträge, Emails, vielleicht ein bisschen Krankwerden. (Kratzen im Hals.)

Nachtrag: Seit Jahren machen Informatiklehrer ein Programmierprojekt mit Datenbankanbindung in der 11. Jahrgangsstufe, oder glauben zumindest, das machen zu müssen – so hörte man das auf Fortbildungen, so steht das in den Handreichungen und Büchern; im Probeabitur wurde tatsächlich auch abgefragt, welche Schritte man (in Java) durchführen muss, um eine Datenbankabfrage auszuwerten. Im Lehrplan, fand eine Teilnehmerin zu ihrer und unser aller Überraschung am TdI heraus, steht tatsächlich dazu: nicht. “Größere Softwaresysteme” müssen gestaltet werden, beachtet werden muss das “Zusammenspiel der verschiedenen Beschreibungstechniken beim Systementwurf: Datenmodellierung – Ablaufmodellierung – funktionale Modellierung – Objektmodellierung”, Listen, Bäume oder Graphen sollen verwendet werden – aber von Datenbanken steht da tatsächlich nichts.

Internet in der 8. Klasse (und dann nur Internet)

Die Schüler haben gekichert, als ich erwähnte, dass ich bei Twitter bin.

(Wie wir darauf kamen: Es ging um Zeitung. Zuerst einfach mal eine Stunde lesen; dann um die einzelnen Ressorts, die Textsorten, den Weg vom Ereignis in die Zeitung; schließlich um gegenwärtige Finanzierung von Zeitungen und ihre Zukunft. Da waren wir dann auch schon beim Internet und alternativen Nachrichtenquellen.)

Was war daran so witzig? Auch Nachfrage wohl einfach, dass social media so gar nicht zu Lehrern passt. Ja, etliche Kollegen sind bei Facebook, aber Twitter ist wieder etwas anderes.
Dann haben wir uns über das Internet unterhalten. (Diese Art Stunde halt. Schuljahresende, ein guter Teil der Schüler eh nicht da.) Warum ich Twitter für cooler halte als Facebook. Was Netzneutralität ist. Warum ich Internet für wichtig halte.

Da habe ich natürlich auch fallen lassen, dass das Internet ein gar so neues Medium nicht ist, wie es in Erörterungs-Aufgabenstellungen meist verkauft wird. Dass ich meine erste Webseite hatte Jahre vor der Geburt der Schüler, dass ich blogge seit vor der Erfindung von Youtube. (Mein Blog erwähne ich in der Schule sonst nicht oft.)

Mehr überrascht als ungläubig kam dann eine Frage, die mir bezeichnend schien: “Kann da jeder einfach so irgendeine Seite ins Internet stellen?” Das hat die Schüler überrascht. Meine Schlussfolgerung: Sie kennen Facebook und Twitter und erinnerten sich sogar noch an Lokalisten und SchuelerVZ. Aber das man einfach so und für gar nicht viel Geld einfach so seine eigene Webadresse haben und mit Inhalt füllen kann, das war den Schülern nicht bewusst.
Ich glaube, vor fünf Jahren war das noch anders. Da hatten die Leute noch Homepages. Da wussten die Schüler eher, dass man auch ohne Soziale Medien, also selber, eine Webseite haben kann. Zugegeben, wer das hatte, wurde belächelt, wer brauchte so etwas schon?

=======
Neues aus dem Internet:

(1) Lügen für das Leistungsschutzrecht (7) Letztes Jahr hat der Bundestag ein von vielen Seiten kritisiertes “Leistungsschutzrecht” beschlossen, das Google verbietet, Texte aus Zeitungswebseiten in bestimmter Form zu verwenden, wenn nicht dafür gezahlt wird. Jeder weiß hoffentlich, dass jede Zeitungswebseite Google ganz einfach daran hindern kann, ihre Seiten zu verwenden. Machen wir bei unserer Schulhomepage auch so, Google kennt deren Inhalte nicht. Aber die meisten Verlage wollen ja, dass Google ihr Material verwendet, nur zahlen muss es dafür müssen. Im Moment verlangt Google von den Zeitungen die kostenlose Erlaubnis, sonst wird es das Material nicht verwenden. Darüber klagen jetzt die Verlage und vergleichen das mit einer Art Erpressung. Also was jetzt?

(2) Im Mai 2014 hat der europäische Gerichtshof entschieden, dass Google gezwungen werden kann, Suchergebnisse bei bestimmten Fragen nicht anzuzeigen. Und zwar: Wenn eine Person mal etwas Dummes gemacht hat, und das schon einige (wenige) Jahre her ist, und darüber steht etwas auf einer Webseite, dann darf Google auf Antrag (eventuell) diese Seite nicht mehr in den Suchergebnissen anzeigen, wenn nach der Person und der dummen Sache gesucht wird. Beim Guardian ist der erste Artikel herausgefiltert (weil ein Kommentator seinen Kommentar nicht mehr lesen will – nur wenn man nach dessen Namen in Verbindung mit dem Artikel sucht, wird er nicht mehr gezeigt), beim Spiegel auch.
Nachtrag: Die Seite http://hiddenfromgoogle.com/ sammelt solche in der EU von Google nicht mehr gelisteten Seite.

(3) Zu meinen Teenagerjahren haben wir auf die Bundesprüfstelle für jugendgefährende Schriften (heute: Medien, BPjM) geschimpft, weil die uns vor Tanz der Teufel bewahrt haben, indem sie den Film auf den Index setzten. Im Referendariat kam dann Quake heraus, auch gleich indiziert. Inzwischen gehört es auch zu den Aufgaben der BPjM, Webseiten zu indizieren – allerdings ist dieser Index nicht öffentlich, aus naheliegenden Gründen.
Trotzdem soll er verwendet werden können, etwa von meinem Router zu Hause. Da gibt’s eine Einstellung, habe gerade nachgeschaut, dass für “Gäste” in meinem Wlan alle Seiten, die auf diesem Index stehen, gesperrt sind. (Das ist wohl die Standardeinstellung, ich hatte mir das vorher nie angeschaut.) Nun wäre es ziemlich dumm, meinem Router diese Liste im Klartext zukommen zu lassen. Also existiert sie nur in einer verschlüsselten Form, dem sogenannten BPjM-Modul. Verschlüsselt heißt: Aus einem Text (etwa dem Link einer zu indizierenden Webseite) errechnet man nach einer mehr oder weniger öffentlich bekannten Methode einen sogenannten Hash, und den gibt man weiter. Wenn mein Router dann bei aktiviertem Kinder- oder Gästeschutz eine Webseite ausliefern soll, dann errechnet er aus dieser Webseite nach der gleichen Methode den Hashwert und vergleicht ihn mit der Sperrliste.
Aus dem Hashwert kann man nur äußerst schwer auf den ursprünglichen Text (hier: Link) schließen. Wie das geht, ist spannend und schwierig, wie überhaupt Hash-Funktionen eine tolle Sache sind.
Trotzdem hat ein Hacker oder eine Hackerin mit relativ wenig Aufwand einen Großteil der indizierten Links im BPjM-Modul rekonstruiert und veröffentlicht. Steht zum Beispiel hier. Allerdings ist der Link zu der Seite, auf der die entschlüsselte Liste zu finden ist, dort inzwischen nicht mehr zu lesen – Behörden drohen mit Klagen. Den Meinungen von Rechtsanwälten im Web zufolge (siehe Link oben) macht man sich vermutlich nicht strafbar, wenn man auf die Seite mit den entschlüsselten Webseiten-Adressen verlinkt, aber wer will so ein Risiko schon eingehen – Ärger kann man auch so kriegen, wenn die Polizei dann mal vorbeischaut. Und auf der Liste steht auch tatsächlich allerlei Indizierenswertes – Pornographie, Rechtsradikales, Anorexie-Seiten, aber auch: syntaktisch fehlerhafte Links, Irrläufer, alles mögliche. Eine Analyse der gesperrten Seiten wäre schon interessant. Interview mit dem Hacker/der Hackerin.
(Auch google.de sperrt diese Seiten, anders als Google aus anderen Ländern – aber die sperren dann vermutlich einfach anderes.)

(4) Wenn man sich – halbwegs – anonym im WWW bewegen will, oder dubiose Dinge recherchieren will, benutzt man am besten etwas, das Tor heißt. Lange Geschichte. Allerdings: wer Tor benutzt oder sich nur darüber informiert, macht sich des Extremismus verdächtig und landet in einer NSA-Datenbank.

(5) Nächsten Dienstag wäre in München eine Cryptoparty. Da kriegt man als Laie erklärt, wie man Mails verschlüsselt, Tor benutzt, Festplatten verschlüsselt (was wir als Lehrer ja tun müssen). Ob ich das als Fortbildung angerechnet kriege, wenn ich hingehe? — Tatsächlich weiß ich schon das meiste, aber falls ich mal in der Schule eine Cryptoparty machen möchte, sollte ich das auf jeden Fall vorher mal mitmachen. (Zeitpunkt ist aber ungünstig für mich, vorher Konferenzen, am nächsten Tag Mitorganisator einer Fortbildungsveranstaltung.)

Then came the churches, then came the schools
Then came the lawyers, and then came the rules
Then came the trains and the trucks with their loads
And the dirty old track was the telegraph road

Zombies, Run!

Diese App gibt es jetzt im dritten Jahr, aber vielleicht kennen sie doch noch ein paar nicht. Ich bin jedenfalls erst vor kurzem darauf gestoßen worden.

Und zwar: Ich raffe mich sehr viel seltener zum Strampeln am Crosstrainer oder Joggen auf, als gesund für mich wäre. Der Glückshormongewinn danach ist gerade mal nicht groß genug. Aber in den letzten zwei Wochen bin ich doch fast jeden zweiten Tag gelaufen. Das kam durch die App Zombies, Run! (Webseite, Google Playstore). Die ist genial.

Man läuft mit Kopfhörern im Ohr, und dem Tablet/Handy am anderen Ende. Und man bekommt während des Laufens eine Geschichte erzählt, sozusagen. Der Hintergrund: Wir sind in der nahen Zukunft, aber nach der Zombie-Apokalypse*. Die überlebenden Menschen haben sich in kleinen Gemeinschaften verschanzt, Ein- und Ausgänge sind streng bewacht. Draußen treiben sich die klassischen Zombiehorden herum – schlurfend, hungrig, hirnlos, und wer gebissen wird, wird selbst zum Zombie. Treibstoff ist teuer und nur spärlich vorhanden, deswegen werden für viele Aufträge laufende Boten eingesetzt, sogenannte runner.
Man selbst spielt Runner Five, neu angekommen in Abel Township, der nach und nach verschiedene Aufträge erledigen muss.

Story-Modus

So ein Auftrag besteht zum Beispiel darin, sich mit dem Boten einer anderen Basis zu treffen, um Nachrichten oder Material zu tauschen. Oder man muss laufen, um eine Horde Zombies abzulenken, die sich der eigenen Basis nähert. Ich musste auch schon mal verirrten Wanderern helfen oder die Nachbarbasis vor einem drohenden Überfall warnen. Informationen erhalte ich dabei über Funk von meiner Basis, die mich und die Situation um mich herum im Auge behält; der Kopfhörer ist also quasi meine Verbindung zur eigenen Basis. Außerdem höre ich noch den Dialogteil anderer Menschen, auf die ich geplant oder ungeplant treffe. (Selber ist man eher der starke, ruhige Typ: Die eigene Stimme hört man nicht.) Und das Grunzen der Zombies höre ich natürlich auch, wenn ich ihnen zu nahe komme. Im Zug dieser Missionen entwickelt sich auch eine größere Geschichte, zu der bei jeder Mission der eine oder andere Puzzlestein beigetragen wird.

(Ich bin leicht zu manipulieren: Jedenfalls fühle ich mich richtig gut, wenn ich den Zombies noch einmal davongelaufen bin, wenn mir mein Partner versichert “You’re doing fine”, wenn ich den Auftrag erfüllt habe.)

Season 1 enthält 23 dieser Missionen. Eine typische solche Mission dauert etwa dreißig Minuten – wahlweise doppelt so viel – und besteht aus sechs Audiosegmenten mit Funkkontakt oder Dialogteilen. Die Audiosegmente sind kurz und füllen keineswegs die ganze Laufzeit. Dazwischen sammelt man noch zufallsgesteuert Fundsachen ein – Dosen mit Lebensmitteln, Kleidung, Verbandsmaterial -, was auch jedesmal zu einer kurzen Audionachricht führt, so dass immer ein bisschen was los ist. Den Rest der Zeit über hört man Musik von der eigenen Handy-Playliste, notfalls unterbrochen durch wichtige Mitteilungen.

Die Musik dazu

Und das ist ganz wichtig: Sich eine eigene Zombie-Musikliste zusammenstellen. Besonders gut geeignet: Der Soundtrack zu Radioactive Dreams**, dann auch der Soundtrack zu Shock Treatment; Jonathan Coulton (I Feel Fantastic, Re: Your Brains, Skullcrusher Mountain), alle Lieder, die etwas mit Laufen oder Wettrennen zu tun haben (The Ballad of Thunder Road, Por una cabeza), Monsterlieder (Monster Mash) oder Lieder mit schönem Laufrhythmus (lies: Foxtrott, Credence Clearwater Revival, Willie Nelson). Selbst Maurice Chevalier kommt gut nach der Zombie-Apokalypse.

Basisbasteln

Während der Läufe sammelt man Ausrüstung ein. Zusammen mit den Materialpunkten, die man nach jeder Mission erhält, benutzt man diese, um an der Basis – Abel Township – herumbasteln:

zombies,_run

Es gibt eine maximale und eine aktuelle Einwohnerzahl; ein Maß für die Sicherheit und die Zufriedenheit der Bewohner. Man baut neue Gebäude und erweitert die vorhandenen, um diese Werte zu verbessern.

Frecherweise wird meine Basis auch noch regelmäßig, oder zufallsgesteuert, von Zombiehorden angegriffen. Alle drei Tage? Immer wenn ich mal zwei Tage nicht gelaufen bin? Einfach so? Jedenfalls machen die mir die Mauer kaputt, so dass ich erworbene Punkte ausgeben muss, um sie zu reparieren. Wenn ich das nicht mache… ich weiß es nicht, ich will es auch nicht ausprobieren. Farmville bei Facebook und dergleichen hat mich nie interessiert, aber die Sicherheit von Abel Township liegt in meinen Händen, so dass ich regelmäßig weiterlaufen muss. Ein Pokemon am Leben zu erhalten ist harmlos dagegen.

(Ich bin so leicht zu manipulieren.)

Nebenmissionen

Neben dem Story Modus gibt es noch weitere Missionen, etwa “Airdrop”: Da wähle ich mir einen Ort auf der Karte aus (der echten Karte meiner Umgebung), muss dorthin laufen, um ein mit dem Fallschirm abgeworfenes Ausrüstungspaket abzuholen und zur Basis zu bringen. Plot-Elemente gibt es da wenige, aber die üblichen Zufallsfunde und ein paar Nachrichten auch.

Außerdem kann ich auch nur “Radio Abel” zuhören. Das ist der Radiosender meiner Basis: Zwei Moderatoren, die sich unterhalten, Nachrichten aus der Umgebung melden, so eine Art Zombie-Wetterbericht für die Region, und Musik aus ihrer Plattensammlung spielen. “One of my favourite tracks”, “a classic” – in Wirklichkeit natürlich Lieder aus meiner eigenen Zombie-Liederliste.

Ich schwöre: Das erste Mal, als ich sie anhörte, sprachen die beiden über Tom Waits – und dann kam auch prompt ein Lied von Tom Waits. Zufall? Kann ich mir nicht vorstellen. Die App kennt natürlich meine Liederliste, und man kann vielleicht davon ausgehen, dass Leute mit dieser App auch mindestens ein Lied von Tom Waits auf ihrer Liste haben, so dass es sich lohnt, ein kurzes Radio-Abel-Segment zu schreiben, in dem konkret dieser Künstler erwähnt wird.
Das war bisher das einzige Mal, das das passiert ist. Also doch Zufall? Viel mehr andere Musiker dürfte ich nicht im meiner Liste haben, für die sich so ein Scherz lohnen würde.

Das Eintauchen in die Welt

Es ist erstaunlich, wie wenig es braucht, um mich in diese Welt zu versetzen. Das gehörte Wort. Ein Grunzer von links, ein Grunzer von rechts. Das Auswerten der Liederliste – auch wenn das nur ein Anfang ist. Man könnte noch viel mehr machen, und es gibt schon andere Spiele (die nichts mit Laufen zu tun haben), die damit arbeiten. Man stelle sich jetzt noch eine Videobrille vor, die einem Bilder von Zombies in der Nähe ins Auge wirft. Und über die Ortskoordinaten kann man Straßennamen und Sehenswürdigkeiten abfragen, aus denen müsste man algorithmisch interessante Nachrichten erzeugen können.

Die Missionen im Story-Modus sind alle fest geschrieben, scripted, mit sehr nettem britischen Understatement übrigens. Eine neue Textsorte mit neuer Erzählsituation übrigens. Der heilige Gral für zukünftige Projekte sind wohl algorithmisch konstruierte Geschichte; es gibt schon Forschung dazu.


*Die Zombie-Apokalypse

In weiten Kreisen ist das ein so bekannter Topos, den man den nicht erklären muss. Sicherheitshalber: Menschen mutieren zu Zombies, meist aufgrund eines fiktiven Virus oder einer anderen Biowaffe. Wer von einem Zombie gebissen wird, wird bald selber zu einem, und die Zombies beißen viel und gerne. Wenn die Zombies erst mal da sind, verbreiten sie sich epidemieartig. Die Zivilisation, wie wir sie kennen, bricht zusammen. – Beim W-Seminar nächstes Jahr stellt mir hoffentlich ein Teilnehmer in einer Arbeit zusammen, wie sich der Zombie-Boom der letzten zehn (?) Jahre entwickelt hat. Urban-Horror-Computerspiele, dann Filme?

Das amerikanische Militär hat schon Übungen mit Zombies gemacht (Spiegel Online, dort auch Links zu pdf), die University of Florida hat eine Katastrophenübung dazu geplant (aber wohl nicht durchgeführt; pdf über Googlesuche), und auch die amerikanische Seuchenschutzbehörde hat Anweisungen für den Zombie-Ernstfall herausgegeben – nicht ganz ernst gemeint, aber die empfohlenen Verhaltensweisen bei Naturkatastrophen und Zombiehorden ähneln sich insgesamt nun mal sehr.

Vom THW oder so ist mir noch nichts bekannt. Aber hier ein schöner Blogeintrag von Frau Nuf, die erklärt, wie man sich bei einem sportlichen Zombie Run fühlt.

** Radioactive Dreams

Das ist ein wenig bekannter Film aus dem Jahr 1985 mit einem gewissen Kultstatus. Der Regisseur wird in manchen Kreisen mit Ed Wood verglichen; zumindest dieser frühe Film von ihm ist aber solide, wenn auch preiswert, gemacht. Der Ausgangspunkt: zwei Jungen verbringen die Zeit des Atomkriegs und das Jahrzehnt danach in einem Bunker; keine Erwachsenen, keine Erziehung, aber jede Menge amerikanische Krimis. Als junge Männer verlassen die beiden – Phillip Chandler und Marlowe Hammer – endlich den Bunker und finden sich in einer postapokalyptischen Welt wieder, voller Mutanten, Menschenfresser, Discogangs, skrupelloser schönen Frauen, und alle jagen sie einem MacGuffin hinterher, an die beiden Helden gelangen. Dazu viel Off-Sprecher, wie es sich für einen film noir gehört. Richtig heldenhaft werden die beiden erst am Schluss, vielleicht sogar erst in der letzten Szene, als sie mit den Schultern zucken, die Welt so akzeptieren, wie sie ist, das beste daraus zu machen versuchen, und in einer Schlussnummer den “post-nuke shuffle” tanzen:

Bei Youtube findet man eine Version des Films in schlechter VHS-Qualität, also genau so, wie wir die kopierten Filme damals erlebt haben – aber man braucht schon ein großes Herz für die 1980er, um den Film zu mögen.

Als ich 1987 mit ein paar Freunden nach London fuhr, zum ersten Mal mit dem Reisebus von Süden kommend, fuhren wir lange Zeit durch – hm, Vorstadtruinen? Schutthalden? Unser erster Gedanke, die wir das brav aufgeräumte Wohlstandsdeutschland kannten: Da sieht ja alles aus wie bei Radioactive Dreams. Alfred Pyun macht wohl häufig Filme im postapokalyptischen Milieu; er hat zwar (habe ich bei Wikipedia gelesen) kein besonderes Interesse daran, aber dieses Setting erlaubt ihm, Filme mit kleinem Budget zu machen.