Im zweiten Teil unserer Reihe über Kryptografie besehen wir uns einzelne Klassen von Bausteinen, welche dann zu Verschlüsselungsprotokollen zusammengesetzt werden können.
Shownotes
Symmetrische Verschlüsselung
zu Problem 1: Erweiterung der Blockchiffre zu einem Stromchiffre mittels eines geeigneten Betriebsmodus
$ cryptsetup benchmark
...
#     Algorithm |       Key |      Encryption |      Decryption
...
aes-xts        512b      3547,4 MiB/s      3540,4 MiB/s
serpent-xts        512b       742,7 MiB/s       729,4 MiB/s
twofish-xts        512b       398,9 MiB/s       404,8 MiB/s
zu Problem 2 (Einigung auf einen gemeinsamen Schlüssel) zwei Ansätze:
Asymmetrische Verschlüsselung
$ time factor 1350918345091284620469824069824602946802496824562049682046982406982406980
1350918345091284620469824069824602946802496824562049682046982406982406980: 2 2 3 5 7 193 941 5077 3488395463852632669275489205712092360621005476304268749586169
factor   1,92s user 0,00s system 99% cpu 1,926 total
$ time factor 1350918345091284620469824069824602946802496824562049682046982406982406981
1350918345091284620469824069824602946802496824562049682046982406982406981: 11 3931 5242879872157046321 5958863859256362497309559371496021100634736129421
factor   462,19s user 0,01s system 99% cpu 7:43,24 total
neues Problem: asymmetrische Verfahren sind sehr viel rechenaufwändiger als symmetrische Verfahren -> hybrides Kryptosystem
zweite Anwendung von asymmetrischer Kryptografie: Signaturen
noch eine Primitive zum Schluss: Geheimnisteilung