Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:verschluesselung [2022-02-24 22:42] – [Aufgabe 1: Caesar-Verschlüsselung in Python] hofgf_informatik:verschluesselung [2022-03-30 05:07] (aktuell) hof
Zeile 1: Zeile 1:
 ====== Verschlüsselung ====== ====== Verschlüsselung ======
  
-## Caesar-Verschlüsselung+  * [[gf_informatik:verschluesselung:caesar]] 
 +  * [[gf_informatik:verschluesselung:codierung]] 
 +  * [[gf_informatik:verschluesselung:symmetrisch]] 
 +  * [[gf_informatik:verschluesselung:asymmetrisch]] 
 +  * [[gf_informatik:verschluesselung:signaturen]] 
 +  * [[gf_informatik:verschluesselung:zertifikate]] 
 +  * [[gf_informatik:verschluesselung:ziele]]
  
-Bei der Caesar-Verschlüsselung werden alle Buchstaben um eine Anzahl Stellen verrückt: 
- 
-{{ :gf_informatik:caesar.png?nolink&400 |}} 
- 
-### Aufgabe 1: Caesar-Verschlüsselung in Python 
- 
-Schreibe eine Funktion `caesar(klartext, n)`, die die Cäsar-Verschlüsselung umsetzt.  
-  * Gebe nur Grossbuchstaben aus. 
-  * Zeichen, die keine Buchstaben sind, sollen nicht verändert werden. 
-  * Wie kannst du das Chiffrat (den Ciphertext) entschlüsseln? 
- 
-#### Ein paar Tipps 
- 
-Du kannst über die Buchstaben eines Strings laufen wie über die Elemente einer Liste: 
- 
-<code python> 
-s = "Hallo KSR" 
-for buchstabe in s: 
-    print(buchstabe) 
-</code> 
- 
-Einen String in Grossbuchstaben umwandeln: 
- 
-<code python> 
-print("Hallo KSR".upper()) 
->>> HALLO KSR 
-</code> 
- 
-Alle Grossbuchstaben können in `string.ascii_uppercase` abgefragt werden. Mit [[https://docs.python.org/3/library/stdtypes.html?highlight=upper#str.find|str.find()]] können wir den Index (oder -1) finden: 
- 
-<code python> 
-import string 
- 
-for buchstabe in "HALLO": 
-    print(string.ascii_uppercase.find(buchstabe)) 
- 
->>> 
-7 
-0 
-11 
-11 
-14 
-</code> 
- 
-Der Modulo-Operator `%` gibt uns den Rest der Ganzzahl-Division zurück. Das ist praktisch, um den Index wieder bei `A` starten zu lassen, wenn er grösser als `Z` wird: 
-<code python> 
-import string 
- 
-klartext = "Z" 
-index = string.ascii_uppercase.find(klartext) 
-index += 3 
-index = index % len(string.ascii_uppercase) 
-ciphertext = string.ascii_uppercase[index] 
-print(ciphertext) 
- 
->>> C 
-</code> 
  
 <nodisp 2> <nodisp 2>
  • gf_informatik/verschluesselung.1645742543.txt.gz
  • Zuletzt geändert: 2022-02-24 22:42
  • von hof