diff --git a/Kryptographie.md b/Kryptographie.md index 07edc95..8aa708a 100644 --- a/Kryptographie.md +++ b/Kryptographie.md @@ -8,325 +8,14 @@ - [Die Vigenère-Chiffre und Angriffe bei bekannter Schlüssellänge](#die-vigenère-chiffre-und-angriffe-bei-bekannter-schlüssellänge) - [Der Kasiski-Test](#der-kasiski-test) - [Koinzidenzindex und Friedman-Methode](#koinzidenzindex-und-friedman-methode) - - [2 Frische symmetrische Verschlüsselung](#2-frische-symmetrische-verschlüsselung) - - [und Blo ckchiffren](#und-blo-ckchiffren) - - [](#) - - [](#-1) - - [](#-2) - - [|Y|!](#y) - - [(|Y|-|X|)!](#y-x) - - [\geq |X|!](#geq-x) - - [2.1 Substitutions-Permutations-Kryptosysteme(SPKS)](#21-substitutions-permutations-kryptosystemespks) - - [{](#-3) - - [Einschub:EndlicheKörp er](#einschubendlichekörp-er) - - [\sum](#sum) - - [\oplus 0 1 2 3 4 5 6 7 8 9 A B C D E F](#oplus--0-1-2-3-4-5-6-7-8-9-a-b-c-d-e-f) - - [0 0 1 2 3 4 5 6 7 8 9 A B C D E F](#0-0-1-2-3-4-5-6-7-8-9-a-b-c-d-e-f) - - [1 1 0 3 2 5 4 7 6 9 8 B A D C F E](#1-1-0-3-2-5-4-7-6-9-8-b-a-d-c-f-e) - - [2 2 3 0 1 6 7 4 5 A B 8 9 E F C D](#2-2-3-0-1-6-7-4-5-a-b-8-9-e-f-c-d) - - [3 3 2 1 0 7 6 5 4 B A 9 8 F E D C](#3-3-2-1-0-7-6-5-4-b-a-9-8-f-e-d-c) - - [4 4 5 6 7 0 1 2 3 C D E F 8 9 A B](#4-4-5-6-7-0-1-2-3-c-d-e-f-8-9-a-b) - - [5 5 4 7 6 1 0 3 2 D C F E 9 8 B A](#5-5-4-7-6-1-0-3-2-d-c-f-e-9-8-b-a) - - [6 6 7 4 5 2 3 0 1 E F C D A B 8 9](#6-6-7-4-5-2-3-0-1-e-f-c-d-a-b-8-9) - - [7 7 6 5 4 3 2 1 0 F E D C B A 9 8](#7-7-6-5-4-3-2-1-0-f-e-d-c-b-a-9-8) - - [8 8 9 A B C D E F 0 1 2 3 4 5 6 7](#8-8-9-a-b-c-d-e-f-0-1-2-3-4-5-6-7) - - [9 9 8 B A D C F E 1 0 3 2 5 4 7 6](#9-9-8-b-a-d-c-f-e-1-0-3-2-5-4-7-6) - - [A A B 8 9 E F C D 2 3 0 1 6 7 4 5](#a-a-b-8-9-e-f-c-d-2-3-0-1-6-7-4-5) - - [B B A 9 8 F E D C 3 2 1 0 7 6 5 4](#b-b-a-9-8-f-e-d-c-3-2-1-0-7-6-5-4) - - [C C D E F 8 9 A B 4 5 6 7 0 1 2 3](#c-c-d-e-f-8-9-a-b-4-5-6-7-0-1-2-3) - - [D D C F E 9 8 B A 5 4 7 6 1 0 3 2](#d-d-c-f-e-9-8-b-a-5-4-7-6-1-0-3-2) - - [E E F C D A B 8 9 6 7 4 5 2 3 0 1](#e-e-f-c-d-a-b-8-9-6-7-4-5-2-3-0-1) - - [F F E D C B A 9 8 7 6 5 4 3 2 1 0](#f-f-e-d-c-b-a-9-8-7-6-5-4-3-2-1-0) - - [0000 0001 0010 0011 0100 1000 1100](#0000-0001-0010-0011-0100-1000-1100) - - [0000 0000 0000 0000 0000 0000 0000 0000](#0000-0000-0000-0000-0000-0000-0000-0000) - - [0001 0000 0001 0010 0011 0100 1000 1100](#0001-0000-0001-0010-0011-0100-1000-1100) - - [0010 0000 0010 0100 0110 1000 0011 1011](#0010-0000-0010-0100-0110-1000-0011-1011) - - [0011 0000 0011 0110 0101 1100 1011 0111](#0011-0000-0011-0110-0101-1100-1011-0111) - - [0100 0000 0100 1000 1100 0011 0110 0101](#0100-0000-0100-1000-1100-0011-0110-0101) - - [1000 0000 1000 0011 1011 0110 1100 1010](#1000-0000-1000-0011-1011-0110-1100-1010) - - [1100 0000 1100 1011 0111 0101 1010 1111](#1100-0000-1100-1011-0111-0101-1010-1111) - - [0 1 2 3 4 8 C](#0-1-2-3-4-8-c) - - [0 0 0 0 0 0 0 0](#0-0-0-0-0-0-0-0) - - [1 0 1 2 3 4 8 C](#1-0-1-2-3-4-8-c) - - [2 0 2 4 6 8 3 B](#2-0-2-4-6-8-3-b) - - [3 0 3 6 5 C B 7](#3-0-3-6-5-c-b-7) - - [4 0 4 8 C 3 6 5](#4-0-4-8-c-3-6-5) - - [8 0 8 3 B 6 C A](#8-0-8-3-b-6-c-a) - - [C 0 C B 7 5 A F](#c-0-c-b-7-5-a-f) - - [0 1 2 3 4 5 6 7 8 9 A B C D E F](#0-1-2-3-4-5-6-7-8-9-a-b-c-d-e-f) - - [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0](#0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0) - - [1 0 1 2 3 4 5 6 7 8 9 A B C D E F](#1-0-1-2-3-4-5-6-7-8-9-a-b-c-d-e-f) - - [2 0 2 4 6 8 A C E 3 1 7 5 B 9 F D](#2-0-2-4-6-8-a-c-e-3-1-7-5-b-9-f-d) - - [3 0 3 6 5 C F A 9 B 8 D E 7 4 1 2](#3-0-3-6-5-c-f-a-9-b-8-d-e-7-4-1-2) - - [4 0 4 8 C 3 7 B F 6 2 E A 5 1 D 9](#4-0-4-8-c-3-7-b-f-6-2-e-a-5-1-d-9) - - [5 0 5 A F 7 2 D 8 E B 4 1 9 C 3 6](#5-0-5-a-f-7-2-d-8-e-b-4-1-9-c-3-6) - - [6 0 6 C A B D 7 1 5 3 9 F E 8 2 4](#6-0-6-c-a-b-d-7-1-5-3-9-f-e-8-2-4) - - [7 0 7 E 9 F 8 1 6 D A 3 4 2 5 C B](#7-0-7-e-9-f-8-1-6-d-a-3-4-2-5-c-b) - - [8 0 8 3 B 6 E 5 D C 4 F 7 A 2 9 1](#8-0-8-3-b-6-e-5-d-c-4-f-7-a-2-9-1) - - [9 0 9 1 8 2 B 3 A 4 D 5 C 6 F 7 E](#9-0-9-1-8-2-b-3-a-4-d-5-c-6-f-7-e) - - [A 0 A 7 D E 4 9 3 F 5 8 2 1 B 6 C](#a-0-a-7-d-e-4-9-3-f-5-8-2-1-b-6-c) - - [B 0 B 5 E A 1 F 4 7 C 2 9 D 6 8 3](#b-0-b-5-e-a-1-f-4-7-c-2-9-d-6-8-3) - - [C 0 C B 7 5 9 E 2 A 6 1 D F 3 4 8](#c-0-c-b-7-5-9-e-2-a-6-1-d-f-3-4-8) - - [D 0 D 9 4 1 C 8 5 2 F B 6 3 E A 7](#d-0-d-9-4-1-c-8-5-2-f-b-6-3-e-a-7) - - [E 0 E F 1 D 3 2 C 9 7 6 8 4 A B 5](#e-0-e-f-1-d-3-2-c-9-7-6-8-4-a-b-5) - - [F 0 F D 2 9 6 4 B 1 E C 3 8 7 5 A](#f-0-f-d-2-9-6-4-b-1-e-c-3-8-7-5-a) - - [√](#-4) - - [2.2 AES, Advanced EncryptionStandard](#22-aes-advanced-encryptionstandard) - - [](#-5) - - [](#-6) - - [](#-7) - - [](#-8) - - [](#-9) - - [](#-10) - - [](#-11) - - [.](#-12) - - [A=](#a) - - [](#-13) - - [](#-14) - - [](#-15) - - [](#-16) - - [A 00 A 01 A 02 A 03](#a-00-a-01-a-02-a-03) - - [A 10 A 11 A 12 A 13](#a-10-a-11-a-12-a-13) - - [A 20 A 21 A 22 A 23](#a-20-a-21-a-22-a-23) - - [A 30 A 31 A 32 A 33](#a-30-a-31-a-32-a-33) - - [](#-17) - - [](#-18) - - [](#-19) - - [.](#-20) - - [](#-21) - - [](#-22) - - [](#-23) - - [](#-24) - - [](#-25) - - [](#-26) - - [](#-27) - - [A 00 A 01 A 02 A 03](#a-00-a-01-a-02-a-03-1) - - [A 10 A 11 A 12 A 13](#a-10-a-11-a-12-a-13-1) - - [A 20 A 21 A 22 A 23](#a-20-a-21-a-22-a-23-1) - - [A 30 A 31 A 32 A 33](#a-30-a-31-a-32-a-33-1) - - [](#-28) - - [](#-29) - - [](#-30) - - [ \rightarrow](#--rightarrow) - - [](#-31) - - [](#-32) - - [](#-33) - - [](#-34) - - [A 00 A 01 A 02 A 03](#a-00-a-01-a-02-a-03-2) - - [A 11 A 12 A 13 A 10](#a-11-a-12-a-13-a-10) - - [A 22 A 23 A 20 A 21](#a-22-a-23-a-20-a-21) - - [A 33 A 30 A 31 A 32](#a-33-a-30-a-31-a-32) - - [](#-35) - - [](#-36) - - [](#-37) - - [](#-38) - - [M=](#m) - - [](#-39) - - [](#-40) - - [](#-41) - - [](#-42) - - [02 03 01 01](#02-03-01-01) - - [01 02 03 01](#01-02-03-01) - - [01 01 02 03](#01-01-02-03) - - [03 01 01 02](#03-01-01-02) - - [](#-43) - - [](#-44) - - [](#-45) - - [\in GF(2](#in-gf2) - - [M*](#m-1) - - [](#-46) - - [](#-47) - - [](#-48) - - [](#-49) - - [4F](#4f) - - [B0](#b0) - - [3E](#3e) - - [A0](#a0) - - [](#-50) - - [](#-51) - - [](#-52) - - [=](#-53) - - [(](#-54) - - [02 *4F\oplus 03 *B0\oplus 01 *3E\oplus 01 *A0](#02-4foplus--03-b0oplus--01-3eoplus--01-a0) - - [..](#-55) - - [.](#-56) - - [)](#-57) - - [=](#-58) - - [(](#-59) - - [9E\oplus CB\oplus 3E\oplus A0](#9eoplus-cboplus-3eoplus-a0) - - [..](#-60) - - [.](#-61) - - [)](#-62) - - [=](#-63) - - [(](#-64) - - [CB](#cb) - - [..](#-65) - - [.](#-66) - - [)](#-67) - - [.](#-68) - - [M-^1 =](#m-1-) - - [](#-69) - - [](#-70) - - [](#-71) - - [](#-72) - - [0E 0B 0D 09](#0e-0b-0d-09) - - [09 0E 0B 0D](#09-0e-0b-0d) - - [0D 09 0E 0B](#0d-09-0e-0b) - - [0B 0D 09 0E](#0b-0d-09-0e) - - [](#-73) - - [](#-74) - - [](#-75) - - [](#-76) - - [0 1 2 3 4 5 6 7 8 9 A B C D E F](#0-1-2-3-4-5-6-7-8-9-a-b-c-d-e-f-1) - - [0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76](#0-63-7c-77-7b-f2-6b-6f-c5-30-01-67-2b-fe-d7-ab-76) - - [1 CA 82 C9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 C0](#1-ca-82-c9-7d-fa-59-47-f0-ad-d4-a2-af-9c-a4-72-c0) - - [2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15](#2-b7-fd-93-26-36-3f-f7-cc-34-a5-e5-f1-71-d8-31-15) - - [3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75](#3-04-c7-23-c3-18-96-05-9a-07-12-80-e2-eb-27-b2-75) - - [4 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84](#4-09-83-2c-1a-1b-6e-5a-a0-52-3b-d6-b3-29-e3-2f-84) - - [5 53 D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF](#5-53-d1-00-ed-20-fc-b1-5b-6a-cb-be-39-4a-4c-58-cf) - - [6 D0 EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8](#6-d0-ef-aa-fb-43-4d-33-85-45-f9-02-7f-50-3c-9f-a8) - - [7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D2](#7-51-a3-40-8f-92-9d-38-f5-bc-b6-da-21-10-ff-f3-d2) - - [8 CD 0C 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 73](#8-cd-0c-13-ec-5f-97-44-17-c4-a7-7e-3d-64-5d-19-73) - - [9 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E 0B DB](#9-60-81-4f-dc-22-2a-90-88-46-ee-b8-14-de-5e-0b-db) - - [A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79](#a-e0-32-3a-0a-49-06-24-5c-c2-d3-ac-62-91-95-e4-79) - - [B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08](#b-e7-c8-37-6d-8d-d5-4e-a9-6c-56-f4-ea-65-7a-ae-08) - - [C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A](#c-ba-78-25-2e-1c-a6-b4-c6-e8-dd-74-1f-4b-bd-8b-8a) - - [D 70 3E B5 66 48 03 F6 0E 61 35 57 B9 86 C1 1D 9E](#d-70-3e-b5-66-48-03-f6-0e-61-35-57-b9-86-c1-1d-9e) - - [E E1 F8 98 11 69 D9 8E 94 9B 1E 87 E9 CE 55 28 DF](#e-e1-f8-98-11-69-d9-8e-94-9b-1e-87-e9-ce-55-28-df) - - [F 8C A1 89 0D BF E6 42 68 41 99 2D 0F B0 54 BB 16](#f-8c-a1-89-0d-bf-e6-42-68-41-99-2d-0f-b0-54-bb-16) - - [           ](#-----------) - - [1 1 1 1 1 0 0 0](#1-1-1-1-1-0-0-0) - - [0 1 1 1 1 1 0 0](#0-1-1-1-1-1-0-0) - - [0 0 1 1 1 1 1 0](#0-0-1-1-1-1-1-0) - - [0 0 0 1 1 1 1 1](#0-0-0-1-1-1-1-1) - - [1 0 0 0 1 1 1 1](#1-0-0-0-1-1-1-1) - - [1 1 0 0 0 1 1 1](#1-1-0-0-0-1-1-1) - - [1 1 1 0 0 0 1 1](#1-1-1-0-0-0-1-1) - - [1 1 1 1 0 0 0 1](#1-1-1-1-0-0-0-1) - - [           ](#------------1) - - [*](#-77) - - [           ](#------------2) - - [           ](#------------3) - - [2.3 Bemerkungenzurandomisierten Algorithmen](#23-bemerkungenzurandomisierten-algorithmen) - - [(](#-78) - - [1](#1) - - [2](#2) - - [) 3](#-3) - - [=](#-79) - - [1](#1-1) - - [8](#8) - - [,](#-80) - - [1](#1-2) - - [2](#2-1) - - [1](#1-3) - - [8](#8-1) - - [=](#-81) - - [1](#1-4) - - [4](#4) - - [• B,](#-b) - - [2.4 SicherheitvonBlo ck-Kryptosystemen](#24-sicherheitvonblo-ck-kryptosystemen) - - [\oplus](#oplus) - - [\geq](#geq) - - [1](#1-5) - - [(](#-82) - - [1](#1-6) - - [2](#2-2) - - [)](#-83) - - [.](#-84) - - [1](#1-7) - - [2](#2-3) - - [(](#-85) - - [)](#-86) - - [=](#-87) - - [1](#1-8) - - [2](#2-4) - - [(](#-88) - - [)](#-89) - - [=](#-90) - - [1](#1-9) - - [2](#2-5) - - [1](#1-10) - - [2](#2-6) - - [1](#1-11) - - [2](#2-7) - - [.](#-91) - - [1](#1-12) - - [2 l- 1](#2-l--1) - - [.](#-92) - - [1](#1-13) - - [2 l- 1](#2-l--1-1) - - [=](#-93) - - [2 l- 2](#2-l--2) - - [2 l- 1](#2-l--1-2) - - [≈ 1.](#-1) - - [1](#1-14) - - [2](#2-8) - - [-](#-) - - [1](#1-15) - - [≈](#-94) - - [1](#1-16) - - [2](#2-9) - - [.](#-95) - - [3 Uneingeschränkte symmetrische Verschlüsselung](#3-uneingeschränkte-symmetrische-verschlüsselung) - - [3.1 Betriebsarten](#31-betriebsarten) - - [3.2 SicherheitvonsymmetrischenKryptoschemen](#32-sicherheitvonsymmetrischenkryptoschemen) - - [(](#-96) - - [1](#1-17) - - [2](#2-10) - - [)](#-97) - - [,](#-98) - - [.](#-99) - - [266 + 2^72](#266--272) - - [2128](#2128) - - [.](#-100) - - [A Anhang:Beweis von Satz 3.8 (Stand: 26.11.2018)](#a-anhangbeweis-von-satz-38-stand-26112018) - - [. (1.6)](#-16) - - [.](#-101) - - [⋃](#-102) - - [, (1.7)](#-17) - - [\sum](#sum-1) - - [=](#-103) - - [<](#-104) - - [. (1.8)](#-18) - - [⋃](#-105) - - [⋃](#-106) - - [\sum](#sum-2) - - [\sum](#sum-3) - - [\geq](#geq-1) - - [1](#1-18) - - [2 l+1](#2-l1) - - [\sum](#sum-4) - - [=](#-107) - - [1](#1-19) - - [2 l+1](#2-l1-1) - - [(](#-108) - - [\sum](#sum-5) - - [\sum](#sum-6) - - [\sum](#sum-7) - - [\sum](#sum-8) - - [)](#-109) - - [=](#-110) - - [=](#-111) - - [.](#-112) - - [. (1.10)](#-110) - - [..](#-113) - - [.](#-114) - - [+](#-115) - - [=](#-116) - - [1](#1-20) - - [2](#2-11) - - [+](#-117) - - [.](#-118) - - [-](#--1) - - [(](#-119) - - [1](#1-21) - - [2](#2-12) - - [+](#-120) - - [)](#-121) - - [=](#-122) - - [-](#--2) - - [,](#-123) - +- [Frische symmetrische Verschlüsselung und Blockchiffren](#frische-symmetrische-verschlüsselung-und-blockchiffren) + - [Substitutions-Permutations-Kryptosysteme (SPKS)](#substitutions-permutations-kryptosysteme-spks) + - [Einschub: Endliche Körper](#einschub-endliche-körper) + - [AES: Advanced Encryption Standard](#aes-advanced-encryption-standard) + - [AES-Chiffrieralgorithmus](#aes-chiffrieralgorithmus) + - [Die S-Box von AES:](#die-s-box-von-aes) + - [AES-Rundenschlüsselberechnung](#aes-rundenschlüsselberechnung) + Literaturempfehlung: - Ralf Küsters und Thomas Wilke: Moderne Kryptographie,Vieweg+ Teubner 2011 - Jonathan Katz und Yehuda Lindell, Introduction to Modern Cryptography,CRCPress, 2015 @@ -337,8 +26,8 @@ Literaturempfehlung: - David Kahn: The Codebreakers, Scribner, 1996 # Einführung -_κρυ$\pi$τóς_= kryptos(griech.): verborgen -_γραφειν_ = graphein (griech.): schreiben +_$\kappa\ro\vartheta\pi\tau\delta\zeta$_= kryptos(griech.): verborgen +_$\gamma\ro\alpha\varphi\epsilon\iota\nu$_ = graphein (griech.): schreiben Kryptographie im klassischen Wortsinn betrifft also Methoden,Nachrichten so zu schreiben, dass sie ,,verborgen'' bleiben,das heißt von keinem Unberechtigten (mit)gelesen werden können.Das hier angesprochene ,,Sicherheitsziel'' heißt ,,Vertraulichkeit'' oder ,,Geheimhaltung'' oder Konzelation (concelare(lat.):sorgfältig verbergen, davon englisch: conceal). Verfahren, die dieses Ziel erreichen,heißen Konzelationssysteme. @@ -1099,10 +788,350 @@ Diese Zahl sollte näherungsweise gleich $\frac{1}{2}l(l-1)IC(y)$ sein. Wir kön Eine tatsächliche Durchführung des Verfahrens mit Chiffretexten wie im vorigen Kapitel erfordert viel Geduld (oder den Einsatz eines Computers). Beim ,,venezianischen'' Chiffretext EYRYC...UYR von oben ergibt sich: -| $a_i$ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | -| --- |--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | -| $n′_i$ | 8 | 12 | 13 | 2 | 18 | 25 | 7 | 19 | 20 | 14 | 8 | 15 | 16 | 7 | 12 | 8 | 3 | 15 | 25 | 10 | 19 | 41 | 13 | 11 | 19 | 8 | +| $a_i$ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | +| ------ | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| $n′_i$ | 8 | 12 | 13 | 2 | 18 | 25 | 7 | 19 | 20 | 14 | 8 | 15 | 16 | 7 | 12 | 8 | 3 | 15 | 25 | 10 | 19 | 41 | 13 | 11 | 19 | 8 | Dies liefert $IC(y)\approx 0,048024$ und $l=368$. Damit erhalten wir $s\approx\frac{0,0375*368}{367 *0,048024-0,0385 *368+0,076}\approx 3,9$. Das ist nicht zu nahe am tatsächlichen Wert 5, aber auch nicht ungeheuer weit weg. (Die Formel reagiert sehr empfindlich auf kleine Änderungen in $IC(y)$. Mit $IC(y)=0,05$ ergibt sich $s\approx 3,24$, mit $IC(y)=0,046$ ergibt sich $s\approx 4,95$.) +# Frische symmetrische Verschlüsselung und Blockchiffren +Szenarium 2 (frische symmetrische Verschlüsselung): Alice möchte Bob mehrere verschiedene Klartexte vorher bekannter und begrenzter Länge übermitteln. Sie verwendet dafür immer denselben Schlüssel. Eva hört die Chiffretexte mit und kann sich sogar einige Klartexte mit dem verwendeten Schlüssel verschlüsseln lassen (chosen-plaintext attack, CPA). + +Bemerkung: Das informationstheoretisch sichere Vernam-Kryptosystem aus Kapitel 1 ist nutzlos: Aus Kenntnis von $x\in\{0,1\}^l$ und $y=e(x,k)$ für ein einziges Paar $(x,k)\in X\times K$ kann Eva den Schlüssel $k=x\oplus_l y$ berechnen. +Gleiches gilt für das Cäsar-System und das Vigenère-System. + +Mit dem nächsten Begriff erfassen wir folgende Situation: Eva kennt eine ganze Folge von Klartext-Chiffretext-Paaren bezüglich des (ihr unbekannten) Schlüssels k. Dabei kann sie sich die Klartexte sogar selbst herausgesucht haben. Wir wollen ,,possibilistische Sicherheit'' so definieren, dass sie trotzdem bei beliebigem gegebenem weiteren Chiffretext y keinen Klartext ausschließen kann. + +Definition 2.1 Ein Kryptosystem $S=(X,K,Y,e,d)$ ist possibilistisch sicher bzgl. Szenarium 2 ,wenn für jedes $1 \leq r\leq |X|$, jede Folge von paarweise verschiedenen Klartexten $x_1,x_2,...,x_r\in X$, jeden Schlüssel $k\in K$ und jedes $y\in Y\backslash\{e(x_i,k)| 1 \leq i < r\}$ ein Schlüssel $k′\in K$ existiert mit $e(x_i,k)=e(x_i,k′)$ für alle $1\leq i< r$ und $e(x_r,k′)=y$. + +Wenn man die Definition auf $r=1$ anwendet, ergibt sich, dass S auch possibilistisch sicher im Sinn von Kapitel 1 ist. + +Proposition 2.2 Für jede nichtleere Menge $X$ ist das Substitutionskryptosystem (Def.1.9) auf X possibilistisch sicher. (Erinnerung: $K=P_X=\{\pi|\pi\text{ ist Permutation von }X\}$ und $e(\pi,x)=\pi(x)$.) +Beweis: Seien $x_1,x_2,...,x_r\in X$ paarweise verschieden, $k\in K=P_X$ und $y\in Y\{e(x_i,k)|1\leq iN(log_2 N-log_2 e)> N(log_2 N- 1.45)$) $log(2^{128}!)> 2^{128}*(128- 1.45)> 2^{134}>(10^3 )^{13.4} > 10^{40}$ viele Bits, eine völlig unpraktikable Zahl. +Also können wir in realen Situationen im Szenarium 2 keine possibilistische Sicherheit, geschweige denn informationstheoretische Sicherheit erhalten. + +Wir werden uns in diesem Kapitel also darauf verlassen müssen, dass Eva nur beschränkte Rechenressourcen hat, um einen praktikablen Angriff zu starten. Auf der anderen Seite wollen wir jetzt auch annehmen, dass Alice und Bob mit Computerhilfe verschlüsseln und entschlüsseln wollen, d.h. dass wir effiziente Algorithmen für die Ver- und Entschlüsselung benötigen. Damit wird es sinnvoll anzunehmen, dass Klar- und Geheimtexte und Schlüssel Bitvektoren sind. + +Definition 2.4 Sei $l>0$. Ein l-Block-Kryptosystem ist ein Kryptosystem $S=(\{0,1\}^l,K,\{0,1\}^l,e,d)$ mit $K\subseteq \{0,1\}^s$ für ein $s>0$. + +Beispiele für l-Block-Kryptosysteme sind das Vernam-System der Länge l und Substitutionskryptosystem mit $X=\{0,1\}^l$, falls Permutationen als Bitvektoren kodiert sind. Wir sprechen dann vom Substitutionskryptosystem mit Parameter $l$. +Eine weitere Klasse von Verfahren wird im nächsten Abschnitt vorgestellt. + +## Substitutions-Permutations-Kryptosysteme (SPKS) +Substitutions-Permutations-Kryptosysteme bilden eine große Familie von praktisch relevanten Kryptosystemen, zu denen auch die Verfahren des Data Encryption Standard (DES) und des Advanced Encryption Standard (AES) gehören. + +Grundsätzlich handelt es sich um $mn$-Block-Kryptosysteme. Dabei werden die Klartexte $x=(x_0,...,x_{mn-1})\in\{ 0,1\}^{mn}$ als m-Tupel $(x^{(0)},x^{(1)},...,x^{(m-1)})$ von Bitvektoren der Länge n betrachtet. Dabei gilt $x(i)=(x_{in},x_{in+1},...,x_{(i+1)n-1})$, für $0\leq i