chore: Updated info about used crypto key types. Added info about new address format.

main
polistern 2022-06-23 19:50:16 +00:00
parent f75c5c31ee
commit 1e39ebce2d
Signed by: polistern
GPG Key ID: E131651B5A988EAC
3 changed files with 60 additions and 11 deletions

View File

@ -4,13 +4,13 @@
Encryption and signature algorithms:
| ID | Crypto | Signing | Symmetric | Hash | Supported |
|----|------------------|-------------|-----------|---------|-------------------|
| 1 | ElGamal-2048 | DSA-1024 | AES-256 | SHA-256 | Java-Bote |
| 2 | ECDH-256 | ECDSA-256 | AES-256 | SHA-256 | Java-Bote, pboted |
| 3 | ECDH-521 | ECDSA-521 | AES-256 | SHA-512 | Java-Bote, pboted |
| 4 | NTRUEncrypt-1087 | GMSS-512 | AES-256 | SHA-512 | Java-Bote |
| 5 | X25519 | ED25519 | AES-256 | SHA-512 | pboted (work in progress) |
| ID | Crypto | Signing | Symmetric | Hash | Java-Bote | pboted |
|----|------------------|-------------|-----------|---------|-----------|--------|
| 1 | ElGamal-2048 | DSA-1024 | AES-256 | SHA-256 | yes | never |
| 2 | ECDH-256 | ECDSA-256 | AES-256 | SHA-256 | yes | yes |
| 3 | ECDH-521 | ECDSA-521 | AES-256 | SHA-512 | yes | yes |
| 4 | NTRUEncrypt-1087 | GMSS-512 | AES-256 | SHA-512 | yes | no |
| 5 | X25519 | ED25519 | AES-256 | SHA-512 | no | yes |
## 7.2. Password Encryption

View File

@ -2,7 +2,12 @@
## 8.1 Email Destination
As the name implies, an Email Destination is an identifier by which somebody can be reached via I2P-Bote.
As the name implies, an Email Destination is an identifier by which somebody can be reached via I2P-Bote.
### Formats
#### Version 0
An Email Destination is a Base64 string containing a public encryption key and a signature verification key.
Example of a 512-character Email Destination (ElGamal-2048/DSA-1024):
@ -23,10 +28,54 @@ Example of a 86-character Email Destination (ECC-256):
1Lcvly8no5of6juJKxqy-xA-MStM2c2XKorepH1oqs5yKBkg9-ZcG4G4kZY1E~2672cMA806l9EicQLmlehB1m
```
Used by **pboted** and **I2P-Bote**
Destination type can only be determined by the length of the base64 string:
| ID | Public | Private |
|----|-----------|----------|
| 1 | 512 | 880 |
| 2 | 86 | 172 |
| 3 | 174 | 348 |
| 4 | 2079 | 97813 |
#### Version 1
After the introduction of new, more modern algorithms, the question arose of the ambiguity of determining the type of key by its length in the form of base64.
A more comprehensive format has been developed that will later allow combinations of different types of keys, not just predefined ones.
Used by **pboted**
Template:
`<data format>.<encoded data>`
- data format - Can be **b32** (`base32`) or **b64** (`base64`) for now
- encoded data - Can be bytes with **public** or **private (full)** destination (identity)
- Public:
- data[0] - format version (`1` for following (current) data structure)
- data[1] - cryptography algorithm type
- data[2] - signing algorithm type
- data[3] - symmetric encryption algorithm type
- data[4] - hash algorithm type
- data[5-N] - crypto public key
- data[N-M] - signing public key
- Private (full):
- data[0] - format version (`1` for following (cuurent) data structure)
- data[1] - cryptography algorithm type
- data[2] - signing algorithm type
- data[3] - symmetric encryption algorithm type
- data[4] - hash algorithm type
- data[5-N] - crypto public key
- data[N-M] - signing public key
- data[M-X] - crypto private key
- data[X-Y] - signing private key
## 8.2 Email Address
Email Addresses in I2P-Bote are shortcuts for Email Destinations.
Email Address <--> Email Destination mappings are stored in two places: the local address book and the distributed address directory.
Email Address <--> Email Destination mappings are stored in two places:
- local address book;
- distributed address directory.
## 8.3 Email Identity
@ -36,7 +85,7 @@ Technically speaking, an Email Identity consists of four things:
* An Email Destination (i.e. two public keys)
* The two private keys for the Email Destination
* A public name which is shown to other people in emails
* A description which is not shown to anybody but you.
* A description which is not shown to anybody but you
It helps you remember which Email Identity you use for which purpose.
An email identity is not required for sending emails (in that case only "Anonymous" can be selected in the "sender" field).

View File

@ -6,7 +6,7 @@ There are plans to transfer all means for interaction into a separate CLI utilit
You can only continue to use your Java I2P-Bote identities if:
- your address is created using the ECDH-256/ECDSA-256/AES-256/SHA-256 algorithm (others are not supported yet)
- your address is created using the `ECDH-256/ECDSA-256/AES-256/SHA-256` or `ECDH-521/ECDSA-521/AES-256/SHA-512` algorithm (others are not supported yet)
- identities file is not encrypted (encrypted files are not supported yet)
## Create Bote identity