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

View File

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