Files
obsidian/Informationssicherheit/UEB8/UEB08.md

330 lines
7.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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----- 
```