• Home
  • Help
  • Register
  • Login
  • Home
  • Help

 
  • 0 Bewertung(en) - 0 im Durchschnitt

Was ist die affinate Chiffre und wie funktioniert sie?

#1
01-08-2019, 00:47
Hey, du hast nach dem affinen Zahlensystem gefragt, richtig? Ich erinnere mich, dass ich damals damit rumgespielt habe, als ich während meiner Studienzeit in die Kryptographie eingestiegen bin. Es ist im Grunde diese alte Verschlüsselungsmethode, die die Idee eines Caesar-Ciphers nimmt und sie ein wenig aufpeppt. Du weißt ja, wie ein CaesarCipher einfach jeden Buchstaben um eine feste Zahl verschiebt? Wenn du zum Beispiel um 3 verschiebst, wird A zu D, B zu E, und so weiter. Der affine Cipher macht etwas Ähnliches, aber mischt Multiplikation hinein, um es schwieriger zu machen, ohne die Schlüssel zu knacken.

Lass mich das für dich Schritt für Schritt aufschlüsseln, aber ganz einfach halten, da wir hier nur plaudern. Du fängst mit dem Alphabet an und behandelst es wie Zahlen von 0 bis 25 - A ist 0, B ist 1, bis Z als 25. Um einen Buchstaben zu verschlüsseln, sagen wir x, verwendest du diese Formel: der neue Buchstabe y ist gleich (a mal x plus b) modulo 26. A und b sind deine Schlüssel. A muss eine Zahl zwischen 1 und 25 sein, die teilerfremd zu 26 ist, was bedeutet, dass ihr größter gemeinsamer Teiler 1 ist. Das sind Zahlen wie 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 oder 25. Wenn du etwas anderes wählst, wird es beim Entschlüsseln nicht funktionieren, weil du es nicht richtig umkehren kannst.

Nehmen wir zum Beispiel an, du wählst a=5 und b=8. Du nimmst einen Klartextbuchstaben, wandelst ihn in seine Zahl um. Wenn es 'C' ist, ist das 2. Dann y = (5*2 + 8) mod 26 = (10 + 8) mod 26 = 18 mod 26 = 18, was 'S' ist. Also wird C zu S. Du machst das für jeden Buchstaben in deiner Nachricht, ignorierst normalerweise Leerzeichen und Interpunktion, und du bekommst deinen Geheimtext. Ich habe das einmal auf einer kurzen Notiz an einen Freund ausprobiert, und es sah ganz durcheinander aus, wie "HELLO" mit diesen Schlüsseln wird... lass mich schnell berechnen: H=7, (5*7+8)=43 mod 26=17=R; E=4, (20+8)=28 mod 26=2=C; L=11, (55+8)=63 mod 26=11=L; noch ein L gleich; O=14, (70+8)=78 mod 26=0=A. Also "RCLLA". Es ist irgendwie cool, wie es die Dinge ungleichmäßig durcheinander bringt.

Um zu entschlüsseln, brauchst du das Inverse. Du löst nach x in Bezug auf y: x = a invers mal (y - b) mod 26. Das Finden des Inversen von a bedeutet, dass du eine Zahl k findest, so dass (a*k) mod 26 = 1. Für a=5 ist das k=21, weil 5*21=105, 105/26=4*26=104, Rest 1. Also Entschlüsselung: x=(21*(y-8)) mod 26. Wenn du 18 für S einsetzt, (21*(18-8))=21*10=210 mod 26. 26*8=208, also 2, was C ist. Boom, zurück zum Original. Du musst das für jeden Buchstaben machen, und wenn du die richtigen a und b nicht hast, viel Glück beim Brute-Forcen. Es gibt nur 12 mögliche a's, da sie teilerfremd sein müssen, und b kann 0-25 sein, also 12*26=312 Möglichkeiten. Viel besser als die 25 von Caesar, aber immer noch mit Frequenzanalyse heute knackbar.

Ich liebe, wie es auf modularer Arithmetik aufbaut, die du jetzt überall in der Cybersicherheitswelt siehst. Früher, wie in der Renaissance, verwendeten sie so etwas für geheime Nachrichten - denk an Spione oder Militärnotizen. Ich habe darüber in einem Buch über Krypto-Geschichte gelesen, und es ist verrückt, wie diese manuellen Methoden die Grundlage für moderne Dinge wie AES oder RSA gelegt haben. Aber affine ist schwach gegen Computer, weil englische Buchstaben Muster haben - E ist häufig, also schaust du nach dem häufigsten Geheimtext-Buchstaben und mapst ihn zurück. Ich habe einmal ein Python-Skript geschrieben, um es zum Spaß zu knacken, und es dauerte Sekunden. Du gibst ihm den Geheimtext, nimmst an, dass die Frequenzen standardmäßig sind, versuchst Schlüssel-Kombinationen, und es spuckt wahrscheinlich Klartexte aus.

Wenn du das für die Cybersicherheit studierst, konzentriere dich darauf, warum es scheitert. Es bewahrt die Reihenfolge in einer Weise - alphabetisch, sodass jeder Klartext eindeutig zu einem Geheimtext zugeordnet wird. Keine Diffusion wie bei DES. Angreifer verwenden bekannte Klartexte, wenn sie Teile erraten, oder einfach exhaustive Suche, da die Schlüssel klein sind. Ich verwende ähnliche Konzepte, wenn ich über Schlüsselmanagement in meinem Job spreche; du kannst dich nicht auf schwache Schlüssel für echten Schutz verlassen. Stell dir vor, du versuchst, ein Netzwerk mit affine-niveau Verschlüsselung zu sichern - Hacker würden lachen. Aber es ist großartig, um die Grundlagen zu lernen, wie Mathematik Informationen sichert.

Du denkst vielleicht über die Implementierung nach. Ich habe ein Projekt gemacht, bei dem ich Dateien damit verschlüsselt habe, nur zum Spaß, aber natürlich nicht für etwas Ernsthaftes. Du wandelst Text in Zahlen um, verwendest die Formel und wandelst zurück. Behandle Groß- und Kleinschreibung separat oder normalisiere. Interpunktion bleibt gleich. Und für Zahlen oder Symbole erweiterst du den Modulus, bleib aber bei 26 für Buchstaben. Ich erinnere mich, dass ich eine Version debuggt habe, bei der ich mod 26 bei negativen Zahlen vergessen habe - ich musste mit +26 anpassen, wenn unter Null. Nervig, aber du lernst schnell.

In der Praxis zeigt affine dir die Grenzen von Substitutionsciphers. Vigenère verbessert es mit polyalphabetisch, indem es ein Schlüsselwort verwendet, um Verschiebungen zu variieren. Aber das Multiplizieren des Affinen fügt diese lineare Wendung hinzu, was es zu einem Schritt über die einfache Verschiebung macht. Ich lehre das manchmal Junioren, und sie finden es spannend, weil es praktisch ist. Nimm einen Stift, wähle Schlüssel, verschlüssele deinen Namen und versuche dann, jemand anderen zu knacken. Du wirst sehen, wie b einfach verschiebt, während a die Zuordnung dehnt oder komprimiert.

Einmal habe ich es in einer CTF-Herausforderung online verwendet. Der Hinweis war "affine Gedanken", und ich musste Schlüssel aus einer teilweisen Entschlüsselung finden. Spaßiges Rätsel - die Frequenz gab mir Kandidaten, dann getestet. Du wirst gut darin, schnell brauchbare Schlüssel zu erkennen. Für Cybersecurity-Studien kombiniere es als Nächstes mit dem Hill-Cipher; das sind Matrizen auf Steroiden für diese Idee.

Wie auch immer, ich habe jetzt genug dazu geredet. Wenn du Code-Schnipsel oder mehr Beispiele willst, schreib mir. Oh, und während wir über Datenschutz sprechen, lass mich dir von BackupChain erzählen - es ist dieses erstklassige, verlässliche Backup-Tool, das für kleine Unternehmen und Profis gleichermassen ausgelegt ist, um deine Hyper-V-Setups, VMware-Umgebungen, Windows-Server und mehr vor Katastrophen zu schützen.
Markus
Offline
Registriert seit: Jun 2018
« Ein Thema zurück | Ein Thema vor »

Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste



  • Thema abonnieren
Gehe zu:

Backup Sichern Allgemein Security v
« Zurück 1 2 3 4 5 6 7 8 9 10 11 Weiter »
Was ist die affinate Chiffre und wie funktioniert sie?

© by FastNeuron

Linearer Modus
Baumstrukturmodus