vault backup: 2023-05-29 13:26:37

This commit is contained in:
2023-05-29 13:26:37 +02:00
parent 9485feb03c
commit 1d9112ee59
4 changed files with 230 additions and 12 deletions

View File

@@ -4812,6 +4812,7 @@ Lösungsraum
Lassen
LrZb
LUQ
LIy
Filter
FlateDecode
Ff
@@ -8458,6 +8459,8 @@ sre
sHy
speziellen
stattdessen
sCav
sQYyv
ZKs
ZN
Zf
@@ -10376,6 +10379,10 @@ Zugangsbarriere
Zähler
Zkp
Zustands
ZWXMCg
ZxU
Zqa
ZlX
Who
We
WE
@@ -12656,6 +12663,7 @@ Wolfram
WPA
Wsg
WpC
WbBg
KI
Kt
KF
@@ -14563,6 +14571,7 @@ Klartext
Kern
Kerns
Kombination
KKUA
bq
bQ
bG
@@ -16351,6 +16360,9 @@ befindet
betrachtet
beeinflusst
bedingten
beB
bmO
bVv
iZ
ig
iA
@@ -18344,6 +18356,8 @@ impliziert
injektiv
irreduzible
irreduzibles
ieBY
iwmg
GJe
GAG
GJ
@@ -20174,6 +20188,7 @@ Gkzk
GRa
GmfD
GTz
GMY
AO
Aw
Az
@@ -21678,6 +21693,8 @@ Also
AKA
Ausführung
Addition
ACQB
ACT
QV
Qom
QJ
@@ -23508,6 +23525,8 @@ QUi
QIY
Quantitative
Qualitative
QVx
QDTA
nQC
nq
nR
@@ -27377,6 +27396,7 @@ YoCk
YKf
YAE
Ymtn
YaY
UIQ
Ue
UH
@@ -30052,6 +30072,7 @@ Updates
Unsere
Unser
UaV
UzTa
TZ
TF
TP
@@ -32203,6 +32224,7 @@ Target
Textform
TFMd
TZYJ
TbQS
gO
gHoVo
gD
@@ -34015,6 +34037,9 @@ gesamte
gXQ
geschieht
genommen
gdDk
gMb
gPzF
DMg
Dv
DLg
@@ -37471,6 +37496,9 @@ xpL
xTHt
xkjB
xFF
xlW
xjy
xYOT
Hx
HV
HdH
@@ -38584,6 +38612,8 @@ HGq
HdF
Hhvmz
HwI
Howi
HhXQ
zo
zL
zE
@@ -43547,6 +43577,7 @@ pjc
psU
pEEL
passt
phM
Ic
IT
Ir
@@ -45365,6 +45396,9 @@ Informationstechnologiesicherheitsevaluierung
Initialisierungsvektor
Ivt
IxH
IRfzn
IcY
IXwc
ap
aE
at
@@ -46933,6 +46967,7 @@ anders
aufspannen
anderes
addieren
aFH
fb
fVVvD
fh
@@ -50036,6 +50071,9 @@ Begriffe
Befehls
Bitverschiebungen
Bitverschiebung
Bda
BykQ
BqZ
ek
eP
eVPm
@@ -52255,6 +52293,7 @@ einzige
ersetzen
ersetzende
erstes
eGYJw
tj
tg
tt
@@ -54355,6 +54394,9 @@ triviale
tvSo
tsk
tZm
tJV
tZtx
tPzy
JFRO
JG
JL
@@ -55909,6 +55951,8 @@ JJUr
Jedes
Jmc
JVlx
JGIz
JfXy
kXW
kW
kp
@@ -58131,6 +58175,8 @@ korrekt
kurzer
komplex
kxH
kcrL
kWE
EU
Evq
Er
@@ -62379,6 +62425,7 @@ lsxoj
lpyU
letzte
lässt
lXy
wG
wd
ws
@@ -66088,6 +66135,9 @@ Raum
Rang
RLoJ
RPG
RnW
RnvOR
RRqBj
vJ
vS
vKDF
@@ -68165,6 +68215,7 @@ viel
verfügbar
vzEv
viertes
vUm
XE
Xd
XRb
@@ -69608,6 +69659,8 @@ XiH
XCof
XdiT
XaS
XWd
XzU
NW
Ni
Nj
@@ -71593,6 +71646,7 @@ Nullraum
Nullvektor
NkO
NEXt
NYM
jhpK
jb
jl
@@ -75967,6 +76021,7 @@ Methode
Menge
MlS
MVX
MRs
qO
qj
qG
@@ -77667,6 +77722,13 @@ qpA
qiy
qZk
qwO
qyP
qaN
qcgp
qmd
qNC
qlKY
qDC
yB
yyNs
yQU
@@ -79552,6 +79614,8 @@ yDV
yKyl
yil
yYD
yKI
yFV
ulC
uk
un
@@ -81625,6 +81689,9 @@ umkippt
unbrauchbar
uns
uzb
uwrPKx
uuxK
uau
ma
ml
mB
@@ -83843,6 +83910,8 @@ möglichen
modulo
manuell
multiplizierten
mZJ
mUMo
dg
dw
de
@@ -86079,6 +86148,9 @@ dTTW
dHKC
dezimal
drittes
dmnn
dpm
deDS
VV
VA
Vsm
@@ -88256,6 +88328,9 @@ Volumen
VnH
VgZ
Verschiebung
VXNfa
VMWd
VvvNT
SGN
Sg
SrEHO
@@ -90186,6 +90261,7 @@ SJb
SzW
StD
SSD
SWc
rn
rE
rD
@@ -92163,6 +92239,9 @@ rotieren
rotierte
restlichen
rcgQ
rOX
rOUPg
rTocS
Cu
CL
Ch
@@ -93461,6 +93540,11 @@ Cipher
Chaining
Cloud
Cqx
Crcn
CgY
CkG
CXB
CpB
OM
OWR
Os
@@ -97571,6 +97655,7 @@ cBg
csU
cRKv
cYl
cmmfr
öUS
öG
öd
@@ -97652,6 +97737,7 @@ cYl
ÄC
Äp
Änderung
ÄeY
äz
äh
äe

View File

@@ -14,7 +14,7 @@
"state": {
"type": "markdown",
"state": {
"file": "Informationssicherheit/Ueb5/new UEB5.md",
"file": "Informationssicherheit/Ueb6/Ueb 6.md",
"mode": "source",
"source": false
}
@@ -28,12 +28,12 @@
"dimension": 43.366425992779774,
"children": [
{
"id": "dc9bd541f67f53ab",
"id": "728619bc92a7790a",
"type": "leaf",
"state": {
"type": "pdf",
"state": {
"file": "Informationssicherheit/Ueb5/05-ueb_uebungsblatt.pdf"
"file": "Informationssicherheit/Ueb6/06-ueb_uebungsblatt.pdf"
}
}
}
@@ -111,7 +111,7 @@
"state": {
"type": "backlink",
"state": {
"file": "Informationssicherheit/Ueb5/new UEB5.md",
"file": "Informationssicherheit/Ueb6/Ueb 6.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@@ -128,7 +128,7 @@
"state": {
"type": "outgoing-link",
"state": {
"file": "Informationssicherheit/Ueb5/new UEB5.md",
"file": "Informationssicherheit/Ueb6/Ueb 6.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
@@ -151,7 +151,7 @@
"state": {
"type": "outline",
"state": {
"file": "Informationssicherheit/Ueb5/new UEB5.md"
"file": "Informationssicherheit/Ueb6/Ueb 6.md"
}
}
},
@@ -214,8 +214,12 @@
},
"active": "803efb657af4bf78",
"lastOpenFiles": [
"Informationssicherheit/Ueb5/Ueb5.md",
"Informationssicherheit/Ueb6/06-ueb_uebungsblatt.pdf",
"Informationssicherheit/Ueb6/Ueb 6.md",
"Informationssicherheit/Ueb5/new UEB5.md",
"Informationssicherheit/Ueb6",
"Informationssicherheit/Neuer Ordner",
"Informationssicherheit/Ueb5/Ueb5.md",
"Informationssicherheit/Ueb5/05-ueb_uebungsblatt.pdf",
"Mathe/KW20/KW20-VekRau_vor.pdf",
"Mathe/KW20/KW20-VekRau.pdf",
@@ -227,9 +231,6 @@
"Mathe/KW20",
"English/Matters Technik - IT Matters 3rd EditionB1B2 - Englisch Für IT-Berufe Schülerbuch (Isobel E. Williams) (Z-Library).pdf",
"Algorithmen und Datenstrukturen/VL/VL06/VL07.md",
"Algorithmen und Datenstrukturen/VL/VL06",
"Algorithmen und Datenstrukturen/VL",
"Informationssicherheit/Ueb5",
"English/KW18.md",
"Mathe/KW17/KW17.md",
"Mathe/KW20.md",
@@ -252,8 +253,6 @@
"Informationssicherheit/Ueb2/2023-04-17_14-16.png",
"Untitled 1.md",
"Untitled.md",
"Excalidraw/Drawing 2023-04-17 08.21.36.excalidraw.md",
"Excalidraw/Drawing 2023-04-17 08.21.00.excalidraw.md",
"Informationssicherheit/Ueb1/20230330_19h30m31s_grim.png",
"Informationssicherheit/Ueb1/20230330_19h34m13s_grim.png",
"Informationssicherheit/Ueb1/20230331_07h21m13s_grim.png",

Binary file not shown.

View File

@@ -0,0 +1,133 @@
# 1
## a
Kryptographische Hashfunktionen sind spezielle Funktionen mit verschiedenen Eigenschaften, die sie nützlich für Kryptographie machen. Diese sollten folgende Eigenschaften haben:
1. **Deterministisch**: Für jede Eingabe liefert die Hashfunktion immer den gleichen Hashwert. Wenn Sie die gleiche Nachricht erneut durch die Funktion senden, erhalten Sie immer den gleichen Ausgang.
2. **Schnelle Berechnung**: Für jede gegebene Eingabe sollte die Berechnung des Hashwerts effizient und schnell sein.
3. **Preimage-Resistenz**: Es sollte rechnerisch unpraktisch sein, die ursprüngliche Eingabe anhand ihres Hashwerts zu ermitteln. Diese Eigenschaft ist manchmal auch als "Einwegfunktion" bekannt.
4. **Kleine Änderungen in der Eingabe erzeugen große Änderungen in der Ausgabe**: Eine Änderung, selbst eine sehr kleine, in der Eingabe sollte eine völlig andere Ausgabe erzeugen.
5. **Kollisionsresistenz**: Es sollte extrem schwierig sein, zwei verschiedene Eingaben zu finden, die den gleichen Hashwert erzeugen. Dies ist wichtig, um die Integrität von Daten in vielen Anwendungen zu gewährleisten.
6. **Feste Ausgabegröße**: Unabhängig von der Größe der Eingabe sollte die Ausgabe immer eine konstante Länge haben.
## b
1. **Digitale Signaturen**: Digitale Signaturen verwenden Hashfunktionen, um die Integrität von Daten in einer Nachricht oder einem Dokument zu gewährleisten. Die Daten werden gehasht und der resultierende Hashwert wird mit einem privaten Schlüssel signiert. Der Empfänger kann dann den gesendeten Hash mit dem öffentlichen Schlüssel des Absenders überprüfen. Wenn die Hashes übereinstimmen, kann sichergestellt werden, dass die Daten seit ihrer Signatur nicht geändert wurden.
2. **Passwort-Speicherung**: Eine der häufigsten Anwendungen für Hashfunktionen ist die Speicherung von Passwörtern. Anstatt ein Passwort direkt in einer Datenbank zu speichern, wird das Passwort durch eine Hashfunktion geleitet und der resultierende Hashwert wird gespeichert. Wenn ein Benutzer sein Passwort eingibt, wird es erneut durch die Hashfunktion geleitet und mit dem gespeicherten Hashwert verglichen. Wenn die Werte übereinstimmen, ist das Passwort korrekt. Dies bietet einen zusätzlichen Sicherheitsschutz, da selbst wenn ein Angreifer Zugriff auf die gespeicherten Hashwerte erhält, es extrem schwierig ist, das ursprüngliche Passwort aus dem Hashwert abzuleiten.
# 2
a) **Beweisskizze für das Geburtstagsparadoxon**:
Das Geburtstagsparadoxon ist weniger intuitiv, weil es nicht um die Wahrscheinlichkeit geht, dass eine bestimmte Person mit einer anderen am selben Tag Geburtstag hat, sondern darum, dass irgendein Paar von Personen am selben Tag Geburtstag hat.
Angenommen, wir ignorieren Schaltjahre, es gibt also 365 mögliche Geburtstage. Die Wahrscheinlichkeit, dass zwei Personen an unterschiedlichen Tagen Geburtstag haben, beträgt 364/365.
Wenn eine dritte Person hinzukommt, gibt es 363 Tage übrig, an denen sie Geburtstag haben kann, ohne dass es zu einer Übereinstimmung kommt, also ist die Wahrscheinlichkeit 363/365.
Dies wird fortgesetzt, bis die 23. Person hinzukommt, bei der die Wahrscheinlichkeit 343/365 beträgt. Die Gesamtwahrscheinlichkeit, dass niemand in einer Gruppe von 23 Personen am selben Tag Geburtstag hat, ist das Produkt dieser Wahrscheinlichkeiten. Wenn man dies berechnet, findet man heraus, dass es knapp unter 0,5 liegt. Daher ist die Wahrscheinlichkeit, dass mindestens zwei Personen am selben Tag Geburtstag haben, knapp über 0,5, d.h. über 50%.
| Person | Einzigartiger Geburtstag | Kumulative Wahrscheinlichkeit |
| --- | --- | --- |
| 1 | 365/365 = 1.000 | 1.000 |
| 2 | 364/365 = 0.997 | 0.997 |
| 3 | 363/365 = 0.994 | 0.992 |
| 4 | 362/365 = 0.992 | 0.983 |
| 5 | 361/365 = 0.989 | 0.973 |
| 6 | 360/365 = 0.986 | 0.960 |
| 7 | 359/365 = 0.984 | 0.945 |
| 8 | 358/365 = 0.981 | 0.927 |
| 9 | 357/365 = 0.978 | 0.907 |
| 10 | 356/365 = 0.975 | 0.884 |
| 11 | 355/365 = 0.973 | 0.860 |
| 12 | 354/365 = 0.970 | 0.834 |
| 13 | 353/365 = 0.967 | 0.807 |
| 14 | 352/365 = 0.964 | 0.778 |
| 15 | 351/365 = 0.962 | 0.748 |
| 16 | 350/365 = 0.959 | 0.717 |
| 17 | 349/365 = 0.956 | 0.685 |
| 18 | 348/365 = 0.953 | 0.652 |
| 19 | 347/365 = 0.951 | 0.618 |
| 20 | 346/365 = 0.948 | 0.586 |
| 21 | 345/365 = 0.945 | 0.552 |
| 22 | 344/365 = 0.943 | 0.520 |
| 23 | 343/365 = 0.940 | 0.489 |
b) **Berechnung der Kollision von 96-Bit-Hashwerten**:
Das Geburtstagsparadoxon lässt sich auch auf das Problem der Kollision von Hashwerten anwenden, das als Geburtstagsproblem bekannt ist. In diesem Kontext ist eine Kollision der Punkt, an dem zwei unterschiedliche Eingaben den gleichen Hashwert erzeugen.
Die Anzahl der verschiedenen 96-Bit-Hashwerte beträgt 2^96. Um die durchschnittliche Anzahl der Hashwerte zu berechnen, die erzeugt werden müssen, bevor eine Kollision auftritt, verwenden wir die Quadratwurzel aus dieser Anzahl (dies ist eine Anwendung der Geburtstagsattacke), also etwa 2^(96/2) = 2^48.
Es ist jedoch wichtig zu beachten, dass dies eine durchschnittliche Zahl ist. In der Praxis könnte eine Kollision viel früher oder viel später auftreten. Aber dies gibt uns eine Vorstellung davon, warum größere Hashlängen sicherer sind: Sie machen Kollisionen wesentlich unwahrscheinlicher.
# 3
## a
SHA-2 (Secure Hash Algorithm 2) ist eine Gruppe von kryptographischen Hashfunktionen, die vom National Institute of Standards and Technology (NIST) entwickelt wurden. Die SHA-2-Familie umfasst SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 und SHA-512/256. Die Zahlen beziehen sich auf die Länge des Hashwerts, der produziert wird.
Das Padding spielt eine wichtige Rolle im SHA-2-Algorithmus. Der Eingabetext muss eine Länge haben, die einem Vielfachen des Blockgrößenlimits entspricht (512 Bit für SHA-256, 1024 Bit für SHA-512, usw.). Wenn der Eingabetext nicht diese Bedingung erfüllt, wird er durch Hinzufügen von zusätzlichen Bits - dem sogenannten Padding - aufgefüllt.
Das Padding für die SHA-2 Familie erfolgt in folgenden Schritten:
1. **Anhängen eines 1-Bits**: Der erste Schritt besteht darin, ein Bit mit dem Wert "1" an die Eingabe anzuhängen.
2. **Anhängen von k-Bits mit dem Wert "0"**: Anschließend werden Null-Bits angehängt, bis die Länge der Nachricht modulo die Blockgröße 448 (für SHA-256) oder 896 (für SHA-512) ist. Das heißt, es werden so viele Nullen angehängt, dass nur noch genug Platz für die Länge der ursprünglichen Nachricht ist.
3. **Anhängen der Länge der Originalnachricht**: Die letzten 64 (für SHA-256) oder 128 (für SHA-512) Bits des Blocks werden verwendet, um die Länge der ursprünglichen Nachricht (vor dem Padding) in Binärform anzuhängen. Wenn die Länge der Nachricht weniger Bits benötigt, wird sie mit Null-Bits auf die benötigte Länge aufgefüllt.
Dieses Verfahren stellt sicher, dass die gepaddete Nachricht eine Länge hat, die ein Vielfaches der Blockgröße ist, und es ermöglicht es dem Algorithmus, den Hashwert zu berechnen, selbst wenn die ursprüngliche Nachricht nicht die richtige Länge hat. Darüber hinaus sorgt das Padding dafür, dass jede Nachricht (einschließlich verschiedener Nachrichten mit der gleichen Länge) zu einem eindeutigen Hashwert führt, da die Länge der Nachricht im Padding enthalten ist.
## b
Um das Padding für SHA-256 für den Text "hello, world" durchzuführen, folgen wir den Schritten, die ich zuvor beschrieben habe.
1. **Text in Binär konvertieren**: Jedes ASCII-Zeichen wird in seine 8-Bit-Binärdarstellung umgewandelt. Für "hello, world" ergibt das:
"hello, world" in ASCII ist 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64, was in Binär umgewandelt:
h: 01101000
e: 01100101
l: 01101100
l: 01101100
o: 01101111
,: 00101100
(Leerzeichen): 00100000
w: 01110111
o: 01101111
r: 01110010
l: 01101100
d: 01100100
Die kombinierte Binärnachricht wird:
011010000110010101101100011011000110111100101100001000000111011101101111011100100110110001100100
2. **ein 1-Bit am Ende hinzufügen**:
0110100001100101011011000110110001101111001011000010000001110111011011110111001001101100011001001
3. **Nullen hinzufügen**: Wir fügen Nullen hinzu, bis die Länge der Nachricht modulo 512 gleich 448 ist. Da unsere Nachricht derzeit 97 Bit lang ist, fügen wir 447-97=350 Nullen hinzu:
0110100001100101011011000110110001101111001011000010000001110111011011110111001001101100011001001 + 350 Nullen
4. **Länge der Originalnachricht hinzufügen**: Schließlich fügen wir die Länge der ursprünglichen Nachricht als 64-Bit-Binärzahl hinzu. Die Originalnachricht war 96 Bit lang, was in Binär 1100000 ist. Wir fügen Nullen vorne hinzu, um 64 Bit zu erhalten:
00000000000000000000000000000000000000000000000000000001100000
Unsere endgültige, gepaddete Nachricht wird dann:
0110100001100101011011000110110001101111001011000010000001110111011011110111001001101100011001001 + 350 Nullen + 00000000000000000000000000000000000000000000000000000001100000