diff --git a/docs/docs/bote/v5/cryptography.md b/docs/docs/bote/v5/cryptography.md index c99babe..a590534 100644 --- a/docs/docs/bote/v5/cryptography.md +++ b/docs/docs/bote/v5/cryptography.md @@ -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 diff --git a/docs/docs/bote/v5/glossary_of_terms.md b/docs/docs/bote/v5/glossary_of_terms.md index 723f250..f8282aa 100644 --- a/docs/docs/bote/v5/glossary_of_terms.md +++ b/docs/docs/bote/v5/glossary_of_terms.md @@ -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 - 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). diff --git a/docs/docs/user-guide/usage.md b/docs/docs/user-guide/usage.md index dfb0c2d..f654a2e 100644 --- a/docs/docs/user-guide/usage.md +++ b/docs/docs/user-guide/usage.md @@ -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