vault backup: 2023-06-21 20:57:03
This commit is contained in:
32
.obsidian/workspace.json
vendored
32
.obsidian/workspace.json
vendored
@@ -49,7 +49,7 @@
|
||||
"state": {
|
||||
"type": "pdf",
|
||||
"state": {
|
||||
"file": "English/Matters Technik - IT Matters 3rd EditionB1B2 - Englisch Für IT-Berufe Schülerbuch (Isobel E. Williams) (Z-Library).pdf"
|
||||
"file": "Informationssicherheit/Ueb9/UEB 09.pdf"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -128,7 +128,7 @@
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "English/Matters Technik - IT Matters 3rd EditionB1B2 - Englisch Für IT-Berufe Schülerbuch (Isobel E. Williams) (Z-Library).pdf",
|
||||
"file": "Informationssicherheit/Ueb9/UEB 09.pdf",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
@@ -145,7 +145,7 @@
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "English/Matters Technik - IT Matters 3rd EditionB1B2 - Englisch Für IT-Berufe Schülerbuch (Isobel E. Williams) (Z-Library).pdf",
|
||||
"file": "Informationssicherheit/Ueb9/UEB 09.pdf",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
@@ -168,7 +168,7 @@
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "English/Matters Technik - IT Matters 3rd EditionB1B2 - Englisch Für IT-Berufe Schülerbuch (Isobel E. Williams) (Z-Library).pdf"
|
||||
"file": "Informationssicherheit/Ueb9/UEB 09.pdf"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -231,8 +231,18 @@
|
||||
},
|
||||
"active": "f9cf9fea491fdc42",
|
||||
"lastOpenFiles": [
|
||||
"English/KW21.md",
|
||||
"Informationssicherheit/Ueb9/UEB 09.md",
|
||||
"Informationssicherheit/Ueb9/UEB 09.pdf",
|
||||
"English/Matters Technik - IT Matters 3rd EditionB1B2 - Englisch Für IT-Berufe Schülerbuch (Isobel E. Williams) (Z-Library).pdf",
|
||||
"Informationssicherheit/Ueb9",
|
||||
"Informationssicherheit/Ueb6/white1-4015396961.webp",
|
||||
"Informationssicherheit/Ueb6/white2.jpg",
|
||||
"Informationssicherheit/Ueb7/07-ueb_uebungsblatt.pdf",
|
||||
"Informationssicherheit/Ueb7/Ueb07.md",
|
||||
"Informationssicherheit/Ueb7",
|
||||
"Informationssicherheit/UEB8/UEB08.md",
|
||||
"Informationssicherheit/UEB8",
|
||||
"English/KW21.md",
|
||||
"Informationssicherheit/Ueb6/06-ueb_uebungsblatt.pdf",
|
||||
"Informationssicherheit/Ueb6/Ueb 6.md",
|
||||
"Informationssicherheit/Ueb5/new UEB5.md",
|
||||
@@ -240,14 +250,9 @@
|
||||
"Informationssicherheit/Ueb5/05-ueb_uebungsblatt.pdf",
|
||||
"Informationssicherheit/Ueb4/04-ueb_uebungsblatt.pdf",
|
||||
"Informationssicherheit/Ueb5/Ueb5.md",
|
||||
"Informationssicherheit/Ueb4/Ueb4.pdf",
|
||||
"Informationssicherheit/Ueb4/Ueb4.md",
|
||||
"Mathe/KW20/KW20-VekRau_vor.pdf",
|
||||
"Mathe/KW20/KW20-VekRau.pdf",
|
||||
"Mathe/KW20/KW20.md",
|
||||
"Algorithmen und Datenstrukturen/VL/VL06/VL07.md",
|
||||
"Informationssicherheit/Ueb5",
|
||||
"Mathe/KW20",
|
||||
"English/KW18.md",
|
||||
"Mathe/KW17/KW17.md",
|
||||
"Algorithmen und Datenstrukturen/UEB04/UEB4.md",
|
||||
@@ -267,14 +272,9 @@
|
||||
"Algorithmen und Datenstrukturen/UEB01/UEB01.md",
|
||||
"Informationssicherheit/Ueb2/2023-04-17_15-55.png",
|
||||
"Informationssicherheit/Ueb2/2023-04-17_14-16.png",
|
||||
"Untitled 1.md",
|
||||
"Untitled.md",
|
||||
"Excalidraw/Drawing 2023-04-17 08.21.36.excalidraw.md",
|
||||
"Informationssicherheit/Ueb1/20230330_19h30m31s_grim.png",
|
||||
"Informationssicherheit/Ueb1/20230330_19h34m13s_grim.png",
|
||||
"Informationssicherheit/Ueb1/20230331_07h21m13s_grim.png",
|
||||
"Informationssicherheit/Ueb1/20230331_10h28m24s_grim.png",
|
||||
"Informationssicherheit/Ueb1/20230331_10h28m43s_grim.png",
|
||||
"Informationssicherheit/Ueb1/20230331_14h12m43s_grim.png"
|
||||
"Informationssicherheit/Ueb1/20230331_10h28m24s_grim.png"
|
||||
]
|
||||
}
|
||||
330
Informationssicherheit/UEB8/UEB08.md
Normal file
330
Informationssicherheit/UEB8/UEB08.md
Normal file
@@ -0,0 +1,330 @@
|
||||
# 1.
|
||||
|
||||
## a
|
||||
|
||||
`openssl genrsa -out key.pem 1024`
|
||||
|
||||
```
|
||||
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
|
||||
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMZwcZmvikwKsPJZ
|
||||
|
||||
BdJ5PX+Jkp8UjEVcqkDquJgVFET9stJIxO2dhhLkrf2V4xybV+bAq9RGbzdosPXu
|
||||
|
||||
j/b3LQwQb786tyAIonS3QtElQyUcCm+bnLW+I9gK1eqd7mzzvd0OpTx5KeskLI0o
|
||||
|
||||
V1m0KLR2gU1kR/qQtzxm5kdJLp3fAgMBAAECgYEAsCqA32Q0jX9sSSn4/jo9+2xh
|
||||
|
||||
qzJtuOIkD0+RowoLnZfwWbjaguw2a61yPU8EeY/7QFLJ+MCy2WjquNoaGrCi3qNj
|
||||
|
||||
wsSO+3gkTZfKyf0VYQ+44XwcNHMvyvjZddPfUxz7OJOMeXZ/gnTIL7ZLiVbUXLVO
|
||||
|
||||
HEvhAxVsH7moGEbGBEECQQDrZrH2Js7DJrj1QBM79PB3/AKb5yey5tmUisI9vJaX
|
||||
|
||||
YWaBCa1fUP5lDpSY/GyQIJaP54QrytVZBmUcd/5Oy6BhAkEA183AYlcOEHfOKtPK
|
||||
|
||||
LMUgHla2pstLCJxAD03IFVXz/425RtY6t3mtRj16RGzpNttCnKmyyghhj/6liSrs
|
||||
|
||||
wNvmPwJAUbyi5nmrKY/0gRPymcr/BGp47XFiE3ic7DsSHyWwlHe5g+y8SnBxJN3f
|
||||
|
||||
Mw/TEmh+XxFgj2QqmHLkAPKZVvrVgQJAfdOVzMD9jlSMfSQnyZrWc1oT/YSjJ04T
|
||||
|
||||
e9jaRLZtIiA8WzUl3zyu7zmBRMxL3pRRbo7zlCD24cKUOjow+PI+eQJBAOWj8Z+3
|
||||
|
||||
Pcykk2vdxn2GOL2eNgE2ywe1BU8pjMboVT/i9nFRj+3CVFbHO37upiL65U9bl4vF
|
||||
|
||||
sdQc3etTvcu+kWo=
|
||||
|
||||
-----END PRIVATE KEY-----
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
quelle: https://samsclass.info/141/proj/pCH-RKF.htm
|
||||
|
||||
---
|
||||
|
||||
## b
|
||||
|
||||
### .pem (Privacy-Enhanced Mail):
|
||||
|
||||
Dateiformat für kryptographische Schlüssel.
|
||||
|
||||
### ASN.1 (Abstract Syntax Notation One):
|
||||
|
||||
"eine Beschreibungssprache zur Definition von Datenstrukturen"
|
||||
|
||||
quellen:
|
||||
|
||||
- https://de.wikipedia.org/wiki/Privacy_Enhanced_Mail
|
||||
|
||||
- https://de.wikipedia.org/wiki/Abstract_Syntax_Notation_One
|
||||
|
||||
---
|
||||
|
||||
## c / d
|
||||
|
||||
`openssl rsa -in key.pem -text -inform PEM -noout`
|
||||
|
||||
```
|
||||
|
||||
modulus:(n = pq)
|
||||
|
||||
00:a4:54:3b:f9:d9:0a:8e:01:be:51:0d:49:e3:d6:
|
||||
|
||||
17:c7:77:96:6b:75:02:8b:4b:f0:e1:8a:cc:14:39:
|
||||
|
||||
e0:d3:07:d1:2a:74:de:98:4d:6c:0a:e3:b4:88:c0:
|
||||
|
||||
b6:c7:47:38:3a:12:bf:e4:4e:67:a8:2f:85:10:bd:
|
||||
|
||||
b5:a8:a9:88:cc:96:cf:76:69:14:68:8f:e8:bb:ce:
|
||||
|
||||
35:5b:59:10:b5:7e:c2:a4:98:a5:43:87:c2:2e:60:
|
||||
|
||||
b4:81:5d:e1:49:60:d1:55:df:a5:ff:38:bb:5f:e9:
|
||||
|
||||
f0:b7:0c:d6:52:78:23:80:7a:55:1a:eb:92:3f:b0:
|
||||
|
||||
0b:14:18:48:c9:cb:a1:d2:7f
|
||||
|
||||
publicExponent: 65537 (0x10001) (e)
|
||||
|
||||
privateExponent: (d)
|
||||
|
||||
31:7d:d5:1a:68:8d:cf:3b:23:30:92:0a:00:fe:87:
|
||||
|
||||
e6:e1:53:82:45:99:60:8e:9c:9b:b1:0b:c9:c3:ac:
|
||||
|
||||
bc:a2:0c:12:f7:63:db:06:e6:55:59:43:14:34:c6:
|
||||
|
||||
57:ba:51:6a:dc:1e:c3:0a:02:1a:1b:45:be:47:04:
|
||||
|
||||
a1:29:7e:33:74:2b:4f:98:3e:83:ab:9f:6e:9f:27:
|
||||
|
||||
f1:91:80:4d:97:be:c8:00:f1:f4:72:4d:e4:9f:c9:
|
||||
|
||||
80:ef:59:72:5d:72:ca:d5:42:43:5d:70:50:7e:bd:
|
||||
|
||||
4f:87:6e:3d:ce:1c:5d:40:a3:a9:07:fb:75:29:04:
|
||||
|
||||
a8:61:e9:0d:6a:a7:ea:71
|
||||
|
||||
prime1: (p)
|
||||
|
||||
00:d9:cd:05:8b:ed:1d:49:9b:90:f4:a2:e8:2d:62:
|
||||
|
||||
2c:cd:ef:bb:68:74:72:c2:a3:fb:3b:27:32:5b:09:
|
||||
|
||||
51:b2:3d:72:29:61:03:da:5a:fb:71:8d:66:85:66:
|
||||
|
||||
c2:f9:84:77:8f:c3:79:03:29:cd:dc:60:20:2a:f8:
|
||||
|
||||
cf:d3:15:66:4b
|
||||
|
||||
prime2: (q)
|
||||
|
||||
00:c1:26:65:82:0d:2c:7b:76:b8:44:20:1f:ad:75:
|
||||
|
||||
d7:5d:94:02:96:3d:0a:82:36:fc:78:3f:17:3a:bd:
|
||||
|
||||
2c:e6:19:8d:bf:2d:b4:af:c0:fe:40:f5:03:d7:62:
|
||||
|
||||
a0:60:7a:1a:d3:e2:b9:7d:e4:8d:43:d5:79:d8:cd:
|
||||
|
||||
25:0f:8a:34:1d
|
||||
|
||||
exponent1: (dp)
|
||||
|
||||
57:be:12:b7:f6:44:50:3d:0d:be:a0:4a:6c:ce:1a:
|
||||
|
||||
42:b4:8b:89:5f:30:44:5d:8f:7e:9b:21:dc:2e:fa:
|
||||
|
||||
ec:95:78:82:57:05:18:58:82:e7:92:11:75:38:9a:
|
||||
|
||||
df:ae:90:04:28:b9:7d:9e:bf:c2:42:2f:73:60:5d:
|
||||
|
||||
49:2a:5b:d5
|
||||
|
||||
exponent2: (dq)
|
||||
|
||||
00:af:17:b1:99:4d:7b:ef:88:55:ce:5c:18:9b:54:
|
||||
|
||||
62:21:90:95:2f:c0:b2:10:0c:ec:9d:cd:03:af:d9:
|
||||
|
||||
e2:23:cd:32:74:06:68:ef:92:52:6a:6c:32:49:44:
|
||||
|
||||
3d:02:78:6e:6d:79:f0:91:31:68:e5:ff:55:6f:b5:
|
||||
|
||||
b8:4c:f8:09:f9
|
||||
|
||||
coefficient: (q inv)
|
||||
|
||||
00:8e:68:ff:dd:cd:ab:61:6d:91:88:5e:4b:ba:24:
|
||||
|
||||
d9:47:4f:24:3f:58:8f:21:a4:07:f2:c8:98:a5:5e:
|
||||
|
||||
be:45:06:d4:03:08:df:ec:a7:d0:db:48:5d:52:2b:
|
||||
|
||||
ff:86:e8:b3:5e:66:e5:79:c7:20:bc:4a:71:ca:ac:
|
||||
|
||||
c8:24:3a:3b:62
|
||||
|
||||
|
||||
```
|
||||
|
||||
quelle: https://crypto.stackexchange.com/questions/6593/what-data-is-saved-in-rsa-private-key
|
||||
|
||||
---
|
||||
|
||||
## e
|
||||
|
||||
Chinesischer Restsatz: Effizienteres verschlüsseln/signieren.
|
||||
|
||||
quelle: https://de.wikipedia.org/wiki/RSA-Kryptosystem#RSA_mit_dem_Chinesischen_Restsatz
|
||||
|
||||
---
|
||||
|
||||
## f
|
||||
|
||||
`openssl rsa -in key.pem -pubout > key.pub`
|
||||
|
||||
`openssl rsa -pubin -in key.pub -text`
|
||||
|
||||
```
|
||||
|
||||
RSA Public-Key: (1024 bit)
|
||||
|
||||
Modulus:
|
||||
|
||||
00:a4:54:3b:f9:d9:0a:8e:01:be:51:0d:49:e3:d6:
|
||||
|
||||
17:c7:77:96:6b:75:02:8b:4b:f0:e1:8a:cc:14:39:
|
||||
|
||||
e0:d3:07:d1:2a:74:de:98:4d:6c:0a:e3:b4:88:c0:
|
||||
|
||||
b6:c7:47:38:3a:12:bf:e4:4e:67:a8:2f:85:10:bd:
|
||||
|
||||
b5:a8:a9:88:cc:96:cf:76:69:14:68:8f:e8:bb:ce:
|
||||
|
||||
35:5b:59:10:b5:7e:c2:a4:98:a5:43:87:c2:2e:60:
|
||||
|
||||
b4:81:5d:e1:49:60:d1:55:df:a5:ff:38:bb:5f:e9:
|
||||
|
||||
f0:b7:0c:d6:52:78:23:80:7a:55:1a:eb:92:3f:b0:
|
||||
|
||||
0b:14:18:48:c9:cb:a1:d2:7f
|
||||
|
||||
Exponent: 65537 (0x10001)
|
||||
|
||||
writing RSA key
|
||||
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
|
||||
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCkVDv52QqOAb5RDUnj1hfHd5Zr
|
||||
|
||||
dQKLS/DhiswUOeDTB9EqdN6YTWwK47SIwLbHRzg6Er/kTmeoL4UQvbWoqYjMls92
|
||||
|
||||
aRRoj+i7zjVbWRC1fsKkmKVDh8IuYLSBXeFJYNFV36X/OLtf6fC3DNZSeCOAelUa
|
||||
|
||||
65I/sAsUGEjJy6HSfwIDAQAB
|
||||
|
||||
-----END PUBLIC KEY-----
|
||||
|
||||
```
|
||||
|
||||
quellen:
|
||||
|
||||
- https://stackoverflow.com/questions/5244129/use-rsa-private-key-to-generate-public-key
|
||||
|
||||
- https://superuser.com/questions/1644533/how-do-i-use-the-openssl-command-to-decode-a-public-key-pem-file
|
||||
|
||||
---
|
||||
|
||||
## g
|
||||
|
||||
`echo 'hey abc' | openssl rsautl -encrypt -pubin -inkey key.pub >message.encrypted`
|
||||
|
||||
```
|
||||
|
||||
$ xxd message.encrypted
|
||||
|
||||
00000000: 9f6a 58aa ef1f bf17 8058 6e03 39f8 673b .jX......Xn.9.g;
|
||||
|
||||
00000010: 6d3b ad1e b9b3 8f71 a7c2 0984 a0ff 5291 m;.....q......R.
|
||||
|
||||
00000020: a2ef 8a36 8132 3d61 7df7 105b e8c9 e07c ...6.2=a}..[...|
|
||||
|
||||
00000030: fde7 5663 13f0 961b 63e8 2061 c3f7 253e ..Vc....c. a..%>
|
||||
|
||||
00000040: e7bf 7711 8761 9a16 1ce9 b320 0903 4c58 ..w..a..... ..LX
|
||||
|
||||
00000050: 0b45 f506 4d5a 6c47 a4b9 4d32 6735 637b .E..MZlG..M2g5c{
|
||||
|
||||
00000060: 648c c7d1 194c f263 6bfb 7bf8 a338 9dfc d....L.ck.{..8..
|
||||
|
||||
00000070: 621e e772 3c4f c165 a6ce 0e1a 93a4 c031 b..r<O.e.......1
|
||||
|
||||
```
|
||||
|
||||
quellen:
|
||||
|
||||
- https://unix.stackexchange.com/questions/12260/how-to-encrypt-messages-text-with-rsa-openssl
|
||||
|
||||
- https://stackoverflow.com/questions/1765311/how-to-view-files-in-binary-from-bash
|
||||
|
||||
---
|
||||
|
||||
## h
|
||||
|
||||
Weil bei zu lange Nachrichten das entschlüsseln nicht richtig funktioniert.
|
||||
|
||||
Das Problem hierbei ist der RSA Schlüssel zu klein ist und mein ein "roll over" bekommt.
|
||||
|
||||
quelle: https://stackoverflow.com/questions/31403494/encrypt-a-long-text-string-using-rsa-encryption-only
|
||||
|
||||
---
|
||||
|
||||
## i
|
||||
|
||||
`openssl rsautl -decrypt -in message.encrypted -out message.decrypted -inkey key.pem`
|
||||
|
||||
```
|
||||
|
||||
$ cat message.decrypted
|
||||
|
||||
hey abc
|
||||
|
||||
```
|
||||
|
||||
quelle: https://stackoverflow.com/questions/42300795/openssl-decrypting-with-a-private-key
|
||||
|
||||
# 2.
|
||||
|
||||
## a)
|
||||
|
||||
```
|
||||
|
||||
$ openssl rsa -pubin -in key.pub -text
|
||||
|
||||
RSA Public-Key: (128 bit)
|
||||
|
||||
Modulus:
|
||||
|
||||
00:c2:49:bd:6e:85:25:fa:44:86:c5:77:b5:37:ad:
|
||||
|
||||
00:4b
|
||||
|
||||
Exponent: 65537 (0x10001)
|
||||
|
||||
writing RSA key
|
||||
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
|
||||
MCwwDQYJKoZIhvcNAQEBBQADGwAwGAIRAMJJvW6FJfpEhsV3tTetAEsCAwEAAQ==
|
||||
|
||||
-----END PUBLIC KEY-----
|
||||
|
||||
```
|
||||
BIN
Informationssicherheit/Ueb6/white1-4015396961.webp
Normal file
BIN
Informationssicherheit/Ueb6/white1-4015396961.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.3 KiB |
BIN
Informationssicherheit/Ueb6/white2.jpg
Normal file
BIN
Informationssicherheit/Ueb6/white2.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
BIN
Informationssicherheit/Ueb7/07-ueb_uebungsblatt.pdf
Normal file
BIN
Informationssicherheit/Ueb7/07-ueb_uebungsblatt.pdf
Normal file
Binary file not shown.
72
Informationssicherheit/Ueb7/Ueb07.md
Normal file
72
Informationssicherheit/Ueb7/Ueb07.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# 1
|
||||
## a
|
||||
Die Gruppe \(Z_{13}^*\) ist die multiplikative Gruppe der Einheiten des Rings \(\mathbb{Z}/13\mathbb{Z}\). Sie besteht aus den Restklassen, die teilerfremd zu 13 sind. Da 13 eine Primzahl ist, sind alle Nicht-Null-Elemente von \(\mathbb{Z}/13\mathbb{Z}\) teilerfremd zu 13, so dass \(Z_{13}^*\) die Elemente {1, 2, 3, ..., 12} enthält.
|
||||
|
||||
Da 13 eine Primzahl ist, ist die Ordnung von \(Z_{13}^*\) gleich 12, was eine zusammengesetzte Zahl ist. Daher hat \(Z_{13}^*\) mehrere Untergruppen.
|
||||
|
||||
Die Ordnung jeder Untergruppe von \(Z_{13}^*\) muss ein Teiler der Ordnung von \(Z_{13}^*\) sein. Die Teiler von 12 sind 1, 2, 3, 4, 6 und 12. Daher hat \(Z_{13}^*\) Untergruppen der Ordnungen 1, 2, 3, 4, 6 und 12.
|
||||
|
||||
Um die spezifischen Elemente jeder Untergruppe zu finden, müssen wir die Elemente von \(Z_{13}^*\) betrachten, deren Ordnung ein Teiler der Ordnung der Untergruppe ist.
|
||||
|
||||
Ich werde jetzt die spezifischen Elemente jeder Untergruppe berechnen.
|
||||
|
||||
Die Untergruppen von \(Z_{13}^*\) sind wie folgt:
|
||||
|
||||
1. Untergruppe der Ordnung 1: {1}
|
||||
2. Untergruppe der Ordnung 2: {1, -1 mod 13} = {1, 12}
|
||||
3. Untergruppe der Ordnung 3: {1, 5, 8}, {1, 8, 5}, {1, 4, 3}, {1, 3, 4}
|
||||
4. Untergruppe der Ordnung 4: {1, -1, i, -i mod 13} = {1, 12, 3, 10}, {1, 12, 10, 3}, {1, 12, 4, 9}, {1, 12, 9, 4}
|
||||
5. Untergruppe der Ordnung 6: {1, -1, \(\sqrt{3}\), -\(\sqrt{3}\), i, -i mod 13} = {1, 12, 3, 10, 4, 9}, {1, 12, 10, 3, 9, 4}, {1, 12, 4, 9, 3, 10}, {1, 12, 9, 4, 10, 3}
|
||||
6. Untergruppe der Ordnung 12: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
|
||||
|
||||
## b
|
||||
Die additive Gruppe (Z/nZ, +) und die multiplikative Gruppe (Z/nZ)^*, haben unterschiedliche Eigenschaften und Strukturen. In Bezug auf (Z/nZ)^* sind die Zahlen, die koprime (relativ prim) zu n sind, die Elemente dieser Gruppe.
|
||||
|
||||
In Bezug auf die spezifische Gruppe Z∗_13, sind die Elemente {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, da alle Zahlen unter 13 und koprime zu 13 sind.
|
||||
|
||||
Jedes Element in dieser Gruppe kann die gesamte Gruppe generieren, außer der 1. Dies liegt daran, dass die Potenz von 1 immer 1 bleibt und somit nicht in der Lage ist, die gesamte Gruppe zu generieren.
|
||||
|
||||
Elemente, die die gesamte Gruppe generieren können, sind von besonderem Interesse für den diskreten Logarithmus, weil sie eine Basis für die Gruppe bilden. In einer Gruppe, die durch einen Generator generiert wird, kann jedes Element als eine Potenz des Generators ausgedrückt werden. Daher ist der diskrete Logarithmus in einer solchen Gruppe definiert als der Exponent, zu dem der Generator erhoben werden muss, um ein gegebenes Gruppenelement zu erzeugen.
|
||||
|
||||
Die Schwierigkeit des Berechnens des diskreten Logarithmus in einer Gruppe, in der der Generator bekannt ist, ist die Grundlage für viele kryptografische Systeme, einschließlich des Diffie-Hellman-Schlüsselaustauschs und des Elgamal-Verschlüsselungssystems. Das Sicherheitsniveau dieser Systeme hängt von der Schwierigkeit des diskreten Logarithmusproblems ab. Wenn es einfach wäre, den diskreten Logarithmus zu berechnen, könnten diese Systeme kompromittiert werden. Daher sind die Generatoren dieser Gruppen für die Kryptographie von zentraler Bedeutung.
|
||||
|
||||
## c
|
||||
Der Diffie-Hellman-Schlüsselaustausch ist ein Methode, die es zwei Parteien ermöglicht, sicher einen gemeinsamen geheimen Schlüssel über ein unsicheres Netzwerk auszutauschen. Im Folgenden wird gezeigt, wie der Diffie-Hellman-Schlüsselaustausch mit den gegebenen Werten p = 13 und g = 11 durchgeführt wird.
|
||||
|
||||
Schritt 1: Alice und Bob vereinbaren öffentlich einen Primzahlmodulus p und eine Basis g. In diesem Fall sind p = 13 und g = 11.
|
||||
|
||||
Schritt 2: Alice wählt eine geheime Zahl a und Bob wählt eine geheime Zahl b. Diese Zahlen werden nicht geteilt und sollten zufällig und groß sein. Angenommen, a = 4 und b = 3.
|
||||
|
||||
Schritt 3: Alice berechnet A = g^a mod p und sendet A an Bob. In diesem Fall ist A = 11^4 mod 13 = 9.
|
||||
|
||||
Schritt 4: Bob berechnet B = g^b mod p und sendet B an Alice. In diesem Fall ist B = 11^3 mod 13 = 5.
|
||||
|
||||
Schritt 5: Alice erhält B und berechnet den gemeinsamen Schlüssel als K = B^a mod p. In diesem Fall ist K = 5^4 mod 13 = 3.
|
||||
|
||||
Schritt 6: Bob erhält A und berechnet den gemeinsamen Schlüssel als K = A^b mod p. In diesem Fall ist K = 9^3 mod 13 = 3.
|
||||
|
||||
Jetzt haben Alice und Bob denselben geheimen Schlüssel K = 3, den sie für kryptografische Zwecke verwenden können, und kein Außenstehender kann den Schlüssel erraten, selbst wenn er die öffentlich geteilten Werte und die ausgetauschten Zahlen kennt, vorausgesetzt, dass das diskrete Logarithmusproblem schwer zu lösen ist.
|
||||
|
||||
## d
|
||||
Ein Man-in-the-Middle-Angriff (MitM) ist eine Art von Cyberangriff, bei dem ein Angreifer die Kommunikation zwischen zwei Parteien abfängt und möglicherweise manipuliert. Im Kontext des Diffie-Hellman-Schlüsselaustauschs könnte ein solcher Angriff wie folgt aussehen:
|
||||
|
||||
1. Alice und Bob einigen sich auf eine öffentliche Basis und einen öffentlichen Modulus. Mallory kann diese Werte abfangen, da sie öffentlich sind.
|
||||
|
||||
2. Alice generiert eine private Zufallszahl \(a\) und sendet \(A = g^a \mod p\) an Bob. Mallory fängt \(A\) ab und sendet stattdessen \(A' = g^{a'} \mod p\) an Bob, wobei \(a'\) eine von Mallory gewählte Zufallszahl ist.
|
||||
|
||||
3. Bob generiert eine private Zufallszahl \(b\) und sendet \(B = g^b \mod p\) an Alice. Mallory fängt \(B\) ab und sendet stattdessen \(B' = g^{b'} \mod p\) an Alice, wobei \(b'\) eine von Mallory gewählte Zufallszahl ist.
|
||||
|
||||
4. Alice berechnet den gemeinsamen Schlüssel als \(s = B'^a \mod p\), und Bob berechnet den gemeinsamen Schlüssel als \(s = A'^b \mod p\). In Wirklichkeit haben jedoch sowohl Alice als auch Bob einen gemeinsamen Schlüssel mit Mallory und nicht miteinander.
|
||||
|
||||
5. Mallory kann nun die Kommunikation zwischen Alice und Bob abhören und sogar manipulieren, indem sie Nachrichten entschlüsselt, ändert und dann wieder verschlüsselt.
|
||||
|
||||
Durch diesen Angriff hat Mallory mehrere Möglichkeiten:
|
||||
|
||||
- Sie kann die Kommunikation zwischen Alice und Bob abhören (Verletzung der Vertraulichkeit).
|
||||
- Sie kann die Kommunikation manipulieren, indem sie Nachrichten ändert oder eigene Nachrichten einschleust (Verletzung der Integrität).
|
||||
- Sie kann sich als Alice gegenüber Bob oder als Bob gegenüber Alice ausgeben (Verletzung der Authentizität).
|
||||
|
||||
Um sich gegen Man-in-the-Middle-Angriffe zu schützen, können Alice und Bob zusätzliche Sicherheitsmaßnahmen ergreifen, wie z.B. die Verwendung von digitalen Signaturen oder die Durchführung einer Authentifizierung vor dem Schlüsselaustausch.
|
||||
|
||||
# 2
|
||||
# a
|
||||
155
Informationssicherheit/Ueb9/UEB 09.md
Normal file
155
Informationssicherheit/Ueb9/UEB 09.md
Normal file
@@ -0,0 +1,155 @@
|
||||
# 1
|
||||
## a
|
||||
Eine Zugriffskontrollmatrix ist ein Modell, das in Computersystemen zur Darstellung der Rechte von einzelnen Benutzern (in diesem Fall Alice und Bob) auf bestimmte Ressourcen (in diesem Fall die drei Dateien) verwendet wird.
|
||||
|
||||
Die Matrix könnte so aussehen:
|
||||
|
||||
|Benutzer / Datei|hello world.txt|check world.sh|print hello world.sh|
|
||||
|---|---|---|---|
|
||||
|Alice|R, W|R, X|X|
|
||||
|Bob|R|R, W|-|
|
||||
|
||||
Hinweis:
|
||||
|
||||
- R steht für Lesen (Read)
|
||||
- W steht für Schreiben (Write)
|
||||
- X steht für Ausführen (Execute)
|
||||
- "-" zeigt an, dass kein Zugriff gewährt wurde
|
||||
|
||||
In dieser Matrix kann Alice die Datei "hello world.txt" lesen und schreiben, die Datei "check world.sh" lesen und ausführen, und sie kann die Datei "print hello world.sh" ausführen. Bob hingegen kann die Datei "hello world.txt" lesen, kann in "check world.sh" lesen und schreiben, aber hat keinen Zugriff auf "print hello world.sh".
|
||||
|
||||
## b)
|
||||
Access Control Lists (ACLs) sind Listen, die auf jeder Ressource basieren und definieren, welcher Benutzer welche Zugriffsrechte auf die Ressource hat. Hier sind die ACLs für die genannten Dateien:
|
||||
|
||||
**hello world.txt**
|
||||
|
||||
- Alice: Lesen, Schreiben
|
||||
- Bob: Lesen
|
||||
|
||||
**check world.sh**
|
||||
|
||||
- Alice: Lesen, Ausführen
|
||||
- Bob: Lesen, Schreiben
|
||||
|
||||
**print hello world.sh**
|
||||
|
||||
- Alice: Ausführen
|
||||
- Bob: Kein Zugriff
|
||||
|
||||
## c)
|
||||
Im Gegensatz zu ACLs, die auf Ressourcen basieren, basieren Capabilities auf Benutzern. Sie definieren, welche Ressourcen von einem bestimmten Benutzer zugegriffen werden können und welche Operationen ausgeführt werden können. Hier sind die Capabilities für Alice und Bob:
|
||||
|
||||
**Alice**
|
||||
|
||||
- hello world.txt: Lesen, Schreiben
|
||||
- check world.sh: Lesen, Ausführen
|
||||
- print hello world.sh: Ausführen
|
||||
|
||||
**Bob**
|
||||
|
||||
- hello world.txt: Lesen
|
||||
- check world.sh: Lesen, Schreiben
|
||||
- print hello world.sh: Kein Zugriff
|
||||
|
||||
Bei beiden Modellen handelt es sich um verschiedene Ansätze zur Darstellung von Zugriffsrechten in Computersystemen, wobei ACLs den Zugriff auf der Basis einzelner Ressourcen steuern und Capabilities auf Benutzerbasis arbeiten.
|
||||
|
||||
# 2
|
||||
|
||||
Um die Situation mit Linux-Dateisystemberechtigungen umzusetzen, müssen wir zuerst die Dateien erstellen und dann die entsprechenden Berechtigungen setzen. Bitte beachten Sie, dass in Linux Dateinamen ohne Leerzeichen üblicher sind. Ich werde Unterstriche anstelle von Leerzeichen verwenden, um den Prozess reibungslos zu gestalten.
|
||||
|
||||
a) Erstellen Sie eine Datei `hello_world.txt` mit dem Inhalt "Hello, world!".
|
||||
|
||||
``` bash
|
||||
echo "Hello, world!" > hello_world.txt
|
||||
```
|
||||
|
||||
b) Erstellen Sie eine Datei `check_world.sh` mit dem Inhalt `cat hello_world.txt | grep -q ’world’ && echo "’world’ found"`.
|
||||
|
||||
``` bash
|
||||
echo "cat hello_world.txt | grep -q 'world' && echo "'world' found"" > check_world.sh
|
||||
```
|
||||
|
||||
c) Erstellen Sie eine Datei `print_hello_world.sh` mit dem Inhalt `cat hello_world.txt`.
|
||||
|
||||
``` bash
|
||||
echo "cat hello_world.txt" > print_hello_world.sh
|
||||
```
|
||||
|
||||
Nun setzen wir die Berechtigungen entsprechend der Anforderungen. In Linux repräsentieren die Ziffern 4, 2 und 1 die Berechtigungen zum Lesen, Schreiben und Ausführen. Der Eigentümer (user), die Gruppe (group) und andere (other) haben jeweils eine dieser Ziffern.
|
||||
|
||||
Zum Beispiel: Die Berechtigung 7 (4+2+1) bedeutet, dass der Eigentümer lesen, schreiben und ausführen kann. Die Berechtigung 6 (4+2) bedeutet, dass der Eigentümer lesen und schreiben kann, aber nicht ausführen.
|
||||
|
||||
Gemäß der Zugriffskontrollmatrix:
|
||||
|
||||
- Alice kann `hello_world.txt` lesen und schreiben, `check_world.sh` lesen und ausführen und `print_hello_world.sh` ausführen.
|
||||
- Bob kann `hello_world.txt` lesen, `check_world.sh` lesen und schreiben und hat keinen Zugriff auf `print_hello_world.sh`.
|
||||
|
||||
Nehmen wir an, Alice und Bob gehören zur gleichen Gruppe, dann könnten die Berechtigungen wie folgt gesetzt werden:
|
||||
|
||||
|
||||
``` bash
|
||||
chmod 640 hello_world.txt # Alice (der Eigentümer) kann lesen und schreiben, Bob (in der Gruppe) kann nur lesen
|
||||
chmod 750 check_world.sh # Alice kann lesen und ausführen, Bob kann lesen und schreiben
|
||||
chmod 700 print_hello_world.sh # Alice kann lesen, schreiben und ausführen, Bob hat keinen Zugriff
|
||||
|
||||
```
|
||||
|
||||
|
||||
d) Erstellen Sie die Benutzer Alice und Bob mithilfe des Werkzeugs `adduser`.
|
||||
|
||||
```bash
|
||||
sudo adduser alice
|
||||
sudo adduser bob
|
||||
```
|
||||
|
||||
Bei diesen Befehlen werden Sie nach weiteren Informationen gefragt, wie z.B. dem Passwort für die Benutzer.
|
||||
|
||||
e) Erstellen Sie eine Gruppe `shared` mithilfe des Werkzeugs `addgroup`.
|
||||
|
||||
``` bash
|
||||
sudo addgroup shared
|
||||
```
|
||||
|
||||
f) Fügen Sie Alice und Bob zur Gruppe `shared` hinzu mithilfe des Werkzeugs `usermod`.
|
||||
|
||||
``` bash
|
||||
sudo usermod -a -G shared alice
|
||||
sudo usermod -a -G shared bob
|
||||
```
|
||||
Der Parameter `-a` steht für 'append' (hinzufügen) und `-G` steht für 'groups' (Gruppen). Also fügt `usermod -a -G` den Benutzer zu der angegebenen Gruppe hinzu, ohne ihn aus anderen Gruppen zu entfernen.
|
||||
|
||||
g) Wir haben bereits die Dateien erstellt und nun müssen wir die entsprechenden Berechtigungen setzen. Da wir die Benutzer und die Gruppe erstellt haben, müssen wir auch die Eigentümerschaft der Dateien auf Alice setzen und die Gruppe der Dateien auf `shared` setzen:
|
||||
|
||||
```bash
|
||||
sudo chown alice:shared hello_world.txt
|
||||
sudo chown alice:shared check_world.sh
|
||||
sudo chown alice:shared print_hello_world.sh
|
||||
```
|
||||
|
||||
Jetzt setzen wir die Berechtigungen entsprechend der Anforderungen.
|
||||
|
||||
```bash
|
||||
sudo chmod 640 hello_world.txt # Alice (Eigentümer) kann lesen und schreiben, Gruppe (shared) kann nur lesen
|
||||
sudo chmod 760 check_world.sh # Alice kann lesen, schreiben und ausführen, Gruppe (shared) kann lesen und ausführen
|
||||
sudo chmod 700 print_hello_world.sh # Alice kann lesen, schreiben und ausführen, Gruppe (shared) und andere haben keinen Zugriff
|
||||
```
|
||||
|
||||
h) Testen Sie die von Ihnen erstellten Dateisystemberechtigungen.
|
||||
|
||||
Wir können testen, ob die Berechtigungen korrekt gesetzt sind, indem wir versuchen, die Dateien als Benutzer Alice und Bob zu lesen, zu schreiben und auszuführen. Angenommen, die Passwörter für Alice und Bob sind jeweils `alicepassword` und `bobpassword`, dann können wir die `su` (switch user) Befehle verwenden, um die Tests durchzuführen.
|
||||
Als Alice:
|
||||
```bash
|
||||
su - alice -c "cat hello_world.txt" # Sollte "Hello, world!" ausgeben
|
||||
su - alice -c "echo 'Goodbye, world!' >> hello_world.txt" # Sollte erfolgreich sein
|
||||
su - alice -c "./check_world.sh" # Sollte "'world' found" ausgeben, da 'world' in der Datei hello_world.txt existiert
|
||||
su - alice -c "./print_hello_world.sh" # Sollte den Inhalt der Datei hello_world.txt ausgeben
|
||||
```
|
||||
|
||||
Als Bob:
|
||||
|
||||
```bash
|
||||
su - bob -c "cat hello_world.txt" # Sollte "Hello, world!" ausgeben
|
||||
su - bob -c "echo 'Goodbye, world!' >> hello_world.txt" # Sollte einen Fehler ausgeben, da Bob nicht schreiben darf
|
||||
su - bob -c "./check_world.sh" # Sollte "'world' found" ausgeben, da 'world' in der Datei hello_world.txt existiert
|
||||
su - bob -c "./print_hello_world.sh" # Sollte einen Fehler ausgeben, da Bob nicht auf die Datei zugreifen darf
|
||||
```
|
||||
BIN
Informationssicherheit/Ueb9/UEB 09.pdf
Normal file
BIN
Informationssicherheit/Ueb9/UEB 09.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user