330 lines
7.0 KiB
Markdown
330 lines
7.0 KiB
Markdown
# 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-----
|
||
|
||
``` |