diff --git a/20240111/diffie-hellman.txt b/20240111/diffie-hellman.txt new file mode 100644 index 0000000000000000000000000000000000000000..1f56ea1b60d54b260783bf6a6003f649be8caf66 --- /dev/null +++ b/20240111/diffie-hellman.txt @@ -0,0 +1,14 @@ +Diffie-Hellman-Schlüsselaustausch +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Alice Bob + + <------ gemeinsam: e ---> + +geheim: a geheim: b + + A = e^a --------------> + + <-------------------- B = e^b + +B^a = e^(b·a) A^b = e^(a·b) + ~~~~~~~ ~~~~~~~ <----- gemeinsamer geheimer Schlüssel diff --git a/20240111/hashes-01.txt b/20240111/hashes-01.txt new file mode 100644 index 0000000000000000000000000000000000000000..c19ab40a0bf87409f5d1933d4c2b3c18f142dc85 --- /dev/null +++ b/20240111/hashes-01.txt @@ -0,0 +1,10 @@ +cassini/home/peter/bo/2023ws/dbs/20240111> sha256sum +Hallo. Dies ist ein Test. +565fd769eb3b7df2c4f6e65f4ed8cc977d93d6eebcea67b1de09cbad37911521 - +cassini/home/peter/bo/2023ws/dbs/20240111> sha256sum +Hallo. Dies ist ein Test. +565fd769eb3b7df2c4f6e65f4ed8cc977d93d6eebcea67b1de09cbad37911521 - +cassini/home/peter/bo/2023ws/dbs/20240111> sha256sum +Hallo. Dies ist ein test. +f6d865709ef59cb882ad71695a7af2a248040a8d44856bfc84a0821f71070af7 - +cassini/home/peter/bo/2023ws/dbs/20240111> diff --git a/20240111/mac-01.txt b/20240111/mac-01.txt new file mode 100644 index 0000000000000000000000000000000000000000..e757dd976e771a6d501d1721f6eb39b172725201 --- /dev/null +++ b/20240111/mac-01.txt @@ -0,0 +1,9 @@ +Message Authentication Code (MAC) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Nachricht: Dies ist ein Test. + +Hash-Wert: 8a8c0ba357659d8ad10cc6c79048a07b440c053c50a1a83466440e5a22a319e0 + +mit geheimem Schlüssel verschlüsseln --> MAC + +Empfänger kennt denselben geheimen Schlüssel --> entschlüsseln, mit Hash vergleichen diff --git a/20240111/man-in-the-middle.txt b/20240111/man-in-the-middle.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce21bc6fd913237565e33fe5b34360096e1a73fb --- /dev/null +++ b/20240111/man-in-the-middle.txt @@ -0,0 +1,41 @@ +Diffie-Hellman-Schlüsselaustausch +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Alice Bob + + <------ gemeinsam: e ---> + +geheim: a geheim: b + + A = e^a --------------> + + <-------------------- B = e^b + +B^a = e^(b·a) A^b = e^(a·b) + ~~~~~~~ ~~~~~~~ <----- gemeinsamer geheimer Schlüssel + +Man-In-The-Middle-Angriff +~~~~~~~~~~~~~~~~~~~~~~~~~ +Alice Mallory Bob + + <------ gemeinsam: e---------> <------------ gemeinsam -------> + +geheim: a m geheim: b + + A = e^a --------------------> A m ----------------------------> + + <----------------------- M = e^m B <------------------------- B = e^b + +M^a = e^(m·a) M^b = e^(m·b) + +Gegenmaßnahme: Sorgfalt beim Schlüsselaustausch +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Öffentlicher Schlüssel von Alice an Bob: + +Alice Bob + + A = e^a --------------> + +Hash-Wert des Schlüssels ("Fingerprint") über separaten Kanal austauschen +z.B. Telefonat: Stimme erkennen -- Achtung: KI kann Stimme fälschen +z.B. Visitenkarte diff --git a/20240111/random-01.c b/20240111/random-01.c new file mode 100644 index 0000000000000000000000000000000000000000..a3a48cfc04fa79dd382feee65cb4721b087532d9 --- /dev/null +++ b/20240111/random-01.c @@ -0,0 +1,10 @@ +#include <stdio.h> +#include <stdlib.h> + +int main (void) +{ + for (int i = 0; i < 10; i++) + printf ("%d ", rand ()); + printf ("\n"); + return 0; +} diff --git a/20240111/random-02.c b/20240111/random-02.c new file mode 100644 index 0000000000000000000000000000000000000000..dd8a2e8b4c85fa306ba57c82cdc4ca5a626484a3 --- /dev/null +++ b/20240111/random-02.c @@ -0,0 +1,10 @@ +#include <stdio.h> +#include <stdlib.h> + +int main (void) +{ + for (int i = 0; i < 10; i++) + printf ("%d ", rand () % 26); + printf ("\n"); + return 0; +} diff --git a/20240111/random-03.c b/20240111/random-03.c new file mode 100644 index 0000000000000000000000000000000000000000..6f32d19627c76cdeccefd8b3c3eee76402b79ea5 --- /dev/null +++ b/20240111/random-03.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include <stdlib.h> + +int main (void) +{ + srand (42); + for (int i = 0; i < 10; i++) + printf ("%d ", rand () % 26); + printf ("\n"); + return 0; +} diff --git a/20240111/random-04.c b/20240111/random-04.c new file mode 100644 index 0000000000000000000000000000000000000000..f1d322840dcafb4b9a0f41cb19f83b99293c3ee4 --- /dev/null +++ b/20240111/random-04.c @@ -0,0 +1,12 @@ +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +int main (void) +{ + srand (getpid ()); + for (int i = 0; i < 10; i++) + printf ("%d ", rand () % 26); + printf ("\n"); + return 0; +}