chore: Updated info about used crypto key types. Added info about new address format.
parent
f75c5c31ee
commit
1e39ebce2d
|
@ -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
|
||||
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue