Anagramm – nicht Anna gram

In der übernächsten Woche stehen wieder Videoaufnahmen für LinkedIn Learning an, aber heute gibt es erst einmal wieder einen neuen Entwicklertipp der Woche zu Python. Es geht darum, was ein Anagramm ist und wie man mit Python dies überprüfen kann.

Was ein Anagramm ist, kann man einfach beschreiben. Keinesfalls steht es dafür, dass irgendeine Anna gram ist, sondern es ist eine Buchstabenfolge, die durch reine Umsortierung der einzelnen Buchstaben aus einer anderen Buchstabenfolge entsteht. So eine Umsortierung kann im Rahmen der Kryptografie interessant sein. Oder auch bei Vorgaben, dass ein neues Passwort nicht einfach ein Anagramm eines bisherigen Passwortes sein darf. Diese Anwendung greife ich möglicherweise auf und werde darauf vielleicht im Rahmen der oben schon angedeuteten kommenden neuen Videoaufnahmen für LinkedIn Learning zurückkommen. Mal sehen – da bin ich im Moment am Vorbereiten.

Da isses endlich – mein neues Training bei LiL zu Kryptografie und Steganografie mit Python

Gerade wurde mein neustes Training Kryptografie und Steganografie mit Python bei LinkedIn Learning (LiL) freigeschaltet. Als Sicherheitsthema mehr oder weniger „zeitlos“ und deshalb – da nicht zeitkritisch – ungewöhnlich lange in der Produktion gewesen, finde ich es persönlich aber wahnsinnig interessant. Mir hat da die Einarbeitung und das praktische Umsetzen von den theoretischen Konzepten mit Python bei dem Training so richtig viel Spaß gemacht.

Um ein bisschen abzuschweifen – ich werde immer wieder gefragt, ob ich noch viel mit Mathematik zu tun habe? In der Tat ist die Frage nicht ganz einfach zu beantworten, denn wie viele Mathematiker bin ich komplett in die Computerschiene geraten. Aber hin und wieder bricht auch in dieser IT-Welt die „echte“ Mathematik durch. Beispielsweise bei Kursen wie Mathematik-Grundbegriffe für Programmierer:innen von LiL, wo „Mathematik“ schon im Titel steckt. Oder auch LiL-Kurse wie Python: Statistische Auswertungen haben offensichtlich eine Verbindung zu Teilen der Mathematik – wenngleich in Bezug zu einer Programmiersprache. Ebenso kommt Mathematik rund um die Datenanalyse und das Maschinenlernen (Python für die Datenanalyse 1: Grundlagen und Python für die Datenanalyse 2: Machine Learning) im Hintergrund massiv zum Einsatz. Wenngleich alles auf einem einfachen und praxisorientiertem Level – aus Sicht von Mathematikern gesehen. Also mathematische Beweise habe ich etwa seit meinem Studium nicht mehr geführt.

In meinem neusten Training hingegen kommt die Mathematik sogar ebenso recht intensiv zum Einsatz – mehr als es der Titel Kryptografie und Steganografie mit Python deutlich macht. Denn die Verfahren, die hierbei eine Rolle spielen, erinnern mich durchaus an das Thema Zahlentheorie, das ich im 2. Semester hatte, und allgemein die Algebra und Logik sowie sogar ganz wenig die Stochastik. Aber das Training versucht dennoch die Mathematik mehr in den Hintergrund zu stellen und das praktische Probieren in den Fokus zu nehmen. Was liegt denn hinter den ganzen Fachbegriffen und Techniken und kann man das auch ganz einfach und praktisch sich veranschaulichen? Ich selbst brauche bei komplexen Themen immer einen maximal vereinfachten Ansatz und wenn ich den verstanden habe, kann ich mich Schritt-für-Schritt an die komplexen Level ranarbeiten. Getreu dem Motto, dass Mathematik ganz einfach ist – die Komplexität entsteht nur daraus, dass ganz viele einfache Dingen zusammengesetzt sind. Hat man die Einzelteile verstanden, versteht man auch das Gesamte.

Also kümmere ich mich in dem Training darum, was genau hinter Sicherheitstechniken wie Verschlüsselung und Signaturen steckt oder was unter Steganografie zu verstehen ist. Die Programmiersprache Python eignet sich hervorragend dazu, sich mittels praktischen Beispielen in diese Thematik einzuarbeiten, da wichtige Funktionen bereits in der API bereitgestellt werden. In diesem Videokurs erfahren Sie alles Wichtige zu AES und RSA und Sie lernen einfache Verschlüsselungs- und Angriffstechniken zu entwickeln und anzuwenden. Anhand von Code-Challenges am Ende eines Kapitels können Sie das Erlernte sofort testen und Ihre Lösung mit der angebotenen »Solution« vergleichen. Parallel zu vielen kleinen und einfachen Beispielen entsteht in dem Training ein komplexes Programm, das eine grafische Oberfläche bereitstellt und Daten sowohl verschlüsseln, verstecken und signieren sowie die Informationen wieder herstellen kann.

Ich gehe davon aus, die Zielgruppe von dem Training eher geringer ist als bei vielen anderen Grundlagenthemen von mir, aber was rein meine Interessen und das Fachliche angeht, sehe ich in dem Kurs vermutlich das Highlight meiner bisherigen Videotraining.

Das war es mal wieder

Ich bin fertig mit meiner Aufnahmesession für LinkedIn Learning. Ich habe ein Training rund um Neuheiten bei Java auf den neusten Stand gebracht, bei dem mittlerweile zwei Versionsupdates erfolgt sind, und ein vollkommen neues Training eingespielt. Dabei stehen Kryptografie und Steganografie mit Python sowie diverse Themen rundherum im Fokus.

In der letzten Zeit hatte ich oft Adaptionen von Trainings gemacht oder Trainings zu Themen, die von LiL an mich herangetragen wurden. Und natürlich meine Serie mit wöchentlichen  Entwicklers-Tipp zu Python.

Aber das neue Training ist vollkommen auf meinem Mist gewachsen. Ich hatte irgendwann die Idee, mich mit dem Thema aus Sicht von Python zu beschäftigen und dann aus Lust und Laune ein paar Scripts vor mich hinprogrammiert. Nachdem ich diese Scripts fertig hatte, kam mir die Idee, dass man daraus doch ein komplettes Training machen könnte. Mehr dazu kommt, wenn das Training produziert und veröffentlicht ist.