Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Erich Schnoor Newsgroups: de.comp.lang.python Subject: [Python-de] Codepage und CypherMatrix Date: Wed, 28 Oct 2020 18:58:47 +0100 Lines: 193 Message-ID: References: <058EEA7E-10D8-4A83-BB29-7E12673FE305@multi-matrix.de> Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: news.uni-berlin.de +k9VGN6DnkORqzsa8/G8rQXeVYXMHv2v9Dw43y+7dGOQ== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org Authentication-Results: mail.python.org; dkim=none reason="no signature"; dkim-adsp=none (unprotected policy); dkim-atps=neutral X-Mailer: Apple Mail (2.3608.120.23.2.1) X-Mailman-Approved-At: Wed, 28 Oct 2020 23:45:32 -0400 X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <058EEA7E-10D8-4A83-BB29-7E12673FE305@multi-matrix.de> Xref: csiph.com de.comp.lang.python:5705 Hallo, verehrte Leser, seit Jahren besch=C3=A4ftige ich mich mit der Kryptographie = (telecypher.net/Vorbemrk.pdf ) mit dem Ergebnis: Entwicklung des =E2=80=9ECypherMatrix=E2=80=9C = Verfahrens. Dabei hat sich herausgestellt,=20 dass es neben den heute =C3=BCblichen Verfahren (AES, DES, IDEA, = Blowfish, RC4 u.a.) noch einige=20 Bereiche gibt , die bisher weder dokumentiert noch wissenschaftlich = analysiert worden sind.=20 Das sind insbesondere folgende Teilbereiche: "Codepage" Technologie Digitaler "Matrix-Generator" "One-time-chain" "Bitkonversion" Diese Bereiche werden vor allem in Verschl=C3=BCsselungsmodulen = verwendet (=E2=80=9EteleCypher.py=E2=80=9C in: python3.8.2). Dabei kommen als Informationstr=C3=A4ger alle = darstellbaren Unicode-Zeichen infrage. Sie m=C3=BCssen nur in einem entsprechenden Zeichensatz (=E2=80=9ECodepage= =E2=80=9C) definiert werden. Neue Erkenntnisse aus der Weiterentwicklung der Codepages f=C3=BCr alle = Unicode-Zeichen In der=20 Chiffre spielen hier die Hauptrolle. Ausf=C3=BChrliche Erl=C3=A4uterungen = k=C3=B6nnen Sie sich mit der Datei: telecypher.net/CypherMatrix-Ordner.zip herunterladen. Das folgende Python-Modul: "teletransfer.py" gibt einen Einblick in die=20= Durchf=C3=BChrung des digitalen Datentransfers mit "Unicode-Zeichen": # ---------------------------- Beginn des Quellcodes = ----------------------- # teleTransfer.py Schleife: Breite (70 Zeichen): #!/usr/bin/env python3.8.2 import sys, os # -*- coding: utf8 -*- # Aus Unicode-Zeichen wird eine >Codepage< mit 256 Zeichen gebildet: codepage =3D [] t1 =3D "=CE=A3=CE=A4=CE=A5=CE=A6=CE=A7=CE=A8=CE=A9=CE=AA-Z=CE=AC=CE=AD=CE=AE= =CE=AF=CE=B0=CE=B1" # = griechisch t2 =3D "=E0=A5=AE=E0=A4=B2=E0=A7=A1=E0=A4=9C=E0=A8=97=E0=A7=B3=E0=A4=9D=E0= =A4=BC=E0=A4=89=E0=A7=A9=E0=A7=A7=E0=A4=A2=E0=A8=B8=E0=A8=AB=E0=A4=B3=E0=A5= =AA=E0=A4=AC=E0=A4=BD=E0=A5=BC=E0=B2=B2" = # indisch t3 =3D "=EB=80=A9=EB=82=B2=EB=82=B6=EB=82=8A=EB=83=B6=EB=82=88=EB=84=8E=EB= =82=A5=EB=82=B3=EB=82=B4=EB=81=BA=EB=83=8E=EB=81=95=EB=83=8B=EB=80=BE" = # koreanisch t4 =3D "=E0=AA=93=E0=AA=94=E0=AA=95=E0=AA=96=E0=AA=97=E0=AA=98=E0=AA=99=E0= =AA=9A=E0=AA=9B=E0=AA=9C=E0=AA=9D=E0=AA=9E=E0=AA=9F=E0=AA=A0=E0=AA=A1" = # gujaratisch t5 =3D "=E3=81=98=E3=81=99=E3=81=9A=E3=81=9B=E3=81=9C=E3=81=9D=E3=81=9E=E3= =81=9F=E3=81=A0=E3=81=A1=E3=81=A2=E3=81=A3=E3=81=A4=E3=81=A5=E3=81=A6=E3=81= =A7=E3=81=A8=E3=81=A9=E3=81=AA=E3=81=AB" # japanisch t6 =3D "DEFGHIJKLMNPRSTUVabcdefghkprs" # ascii-Code t7 =3D "=D0=96=D0=97=D0=98=D0=99=D0=9A=D0=9B=D0=9C=D0=9D=D0=9E=D0=9F=D0=A0= =D0=A1=D0=A2=D0=A3=D0=A4=D0=A5=D0=A6=D0=A7=D0=A8=D0=A9" = # kyrillisch t8 =3D "=E3=91=9B=E3=91=9C=E3=91=9D=E3=91=9E=E3=91=9F=E3=91=A0=E3=91=A1=E3= =91=A2=E3=91=A3=E3=91=A4=E3=91=A5=E3=91=A6=E3=91=A7=E3=91=A8=E3=91=A9=E3=91= =AA=E3=91=AB=E3=91=AC=E3=91=AD=E3=91=AE" # chinesisch t9 =3D "=E1=8C=B6=E1=8C=B7=E1=8C=B8=E1=8C=B9=E1=8C=BA=E1=8C=BB=E1=8C=BC=E1= =8C=BD=E1=8C=BE=E1=8C=BF=E1=8D=80=E1=8D=81=E1=8D=82=E1=8D=83=E1=8D=84" = # =C3=A4thiopisch t10 =3D "=E0=B8=9F=E0=B8=A0=E0=B8=A1=E0=B8=A2=E0=B8=A3=E0=B8=A4=E0=B8=A5=E0= =B8=A6=E0=B8=A7=E0=B8=A8=E0=B8=A9=E0=B8=AA=E0=B8=AB=E0=B8=AC" = # thail=C3=A4ndisch t11 =3D "=E1=82=A0=E1=82=A1=E1=82=A2=E1=82=A3=E1=82=A4=E1=82=A5=E1=82=A6=E1= =82=A7=E1=82=A8=E1=82=A9=E1=82=AA=E1=82=AB=E1=82=AC=E1=82=AD=E1=82=AE" = # georgisch t12 =3D "=E0=BD=9D=E0=BD=9E=E0=BD=9F=E0=BD=A0=E0=BD=A1=E0=BD=A2=E0=BD=A3=E0= =BD=A4=E0=BD=A5=E0=BD=A6=E0=BD=A7=E0=BD=A8=E0=BD=80=E0=BE=B5=E0=BD=AA=E0=BD= =AB" # tibetisch t13 =3D "=E0=A6=94=E0=A6=95=E0=A6=96=E0=A6=97=E0=A6=98=E0=A6=99=E0=A6=9A=E0= =A6=9B=E0=A6=9C=E0=A6=9D=E0=A6=9E=E0=A6=9F=E0=A6=A0=E0=A6=A1=E0=A6=A2" = # bengalisch t14 =3D "=E0=B2=AA=E0=B2=AB=E0=B2=AC=E0=B2=AD=E0=B2=AE=E0=B2=AF=E0=B2=B0=E0= =B2=B1=E0=B2=B2=E0=B2=B3=E0=B2=B5=E0=B2=B6=E0=B2=B7=E0=B2=B8" = # kannadaisch t15 =3D "=E0=B6=9A=E0=B6=9B=E0=B6=9C=E0=B6=9D=E0=B6=9E=E0=B6=9F=E0=B6=A0=E0= =B6=A1=E0=B6=A2=E0=B6=A3=E0=B6=A4=E0=B6=A5=E0=B6=A6=E0=B6=A7=E0=B6=A8" = # singalesisch codepage =3D t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12+t13+t14+t15 =20 # ----------------------------------- Hauptprogramm = ------------------------------- print(" >teleTransfer<=20 print(" (Codepage-Verfahren)")=20 =20 inwork =3D "1" while inwork =3D=3D "1": #--------- Programm wiederholen = --------------------------- print()=20 print(" Auswahl: ..w.. (schreiben)") print(" ..r.. (lesen)") print(" ..q.. (beenden") modus =3D input(" Bereich w=C3=A4hlen > ") if modus =3D=3D "q": print(" Das Programm ist beendet") sys.exit() =20 breite =3D 70 # ---------- Texteingaben mit 70 Zeichen pro Zeile = ----- print(" Breite: ",breite) =20 =20 if modus =3D=3D "w": # ------------------ Daten schreiben = --------------- =20 datei =3D"Transfer.txt" print(" Datei: ",datei) print("______________ Text schreiben und mit 2xEnter beenden = ______") zeile =3D "" text =3D ":" =20 while text: text =3D input() #---------------Nachricht schreiben = ----------- zeile =3D zeile + text =20 if zeile =3D=3D "": print(" Es wurde kein Text eingegeben ! ") break print("__________________________ Eingabe beendet = ______________") if zeile =3D=3D "": zeile =3D "Wer recht in Freuden wandern will, der geh der = Sonn entgegen." =20 print(" Der Transfertext lautet wie folgt:") zeile =3D zeile + " " # Erfassung des letzten Zeichens transtext =3D "" =20 for a in zeile: # Klartext-Zeichen --> Codepage-Zeichen digit =3D int(ord(a)) zeichen =3D codepage[digit] transtext =3D transtext + zeichen schreiben =3D open(datei,"w") schreiben.write(transtext) =20 print("",transtext) =20 schreiben.close() =20 =20 elif modus =3D=3D "r": # ----------- Arbeitsschleife der = Entschl=C3=BCsselung =20 =20 ptdatei =3D "Transport.txt" schreiben =3D open(ptdatei,"w") transdatei =3D "Transfer.txt" =20 print(" Datei: ",transdatei) lesen =3D open(transdatei,"r") = =20 zeile =3D lesen.read()=20 =20 i =3D 0 klartext =3D "" =20 for a in zeile: # -------------- Transfer-Daten lesen -------- digit =3D codepage.find(a) zeichen =3D chr(digit)=20 klartext =3D klartext + zeichen =20 =20 print("",klartext) # ------------- Klartext speichern = --------- schreiben.write(klartext) lesen.close() =20 schreiben.close() =20 print(" Das Programm wird erneut aufgerufen") inwork =3D "2" #--------------------------------------- Ende Programm-Code = -------------- =20 Der vorhergehende Quellcode ist auch in der angebotenen Zip-Datei = enthalten. Zu R=C3=BCckfragen und weitere Erl=C3=A4uterungen steht Ihnen der Autor = jederzeit unter: =20 'eschnoor@multi-matrix.de' Zur Verf=C3=BCgung. Mit internetten Gr=C3=BC=C3=9Fen Ernst Erich Schnoor (www.telecypher.net )=