From 1af1de080131ec1ca8401347fe2d2baa04f9cf7e Mon Sep 17 00:00:00 2001 From: anonimal Date: Tue, 18 Oct 2016 03:42:29 +0000 Subject: [PATCH] Moneropedia: add Encryption related entries - Encryption (finished) - Layered-Encryption (skeleton) Referencing: - monero-project/kovri#256 - monero-project/monero-site#155 --- knowledge-base/moneropedia/encryption.md | 35 +++++++++++++++++++ knowledge-base/moneropedia/garlic-routing.md | 4 +-- knowledge-base/moneropedia/kovri.md | 3 +- .../moneropedia/layered-encryption.md | 15 ++++++++ 4 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 knowledge-base/moneropedia/encryption.md create mode 100644 knowledge-base/moneropedia/layered-encryption.md diff --git a/knowledge-base/moneropedia/encryption.md b/knowledge-base/moneropedia/encryption.md new file mode 100644 index 00000000..cccaccd8 --- /dev/null +++ b/knowledge-base/moneropedia/encryption.md @@ -0,0 +1,35 @@ +--- +layout: moneropedia +entry: "Encryption" +tags: ["kovri"] +terms: ["encryption"] +summary: "The process of encoding messages or information in a way that only authorized parties can decode and read" +--- + +### The Basics + +From [Encryption](https://en.wikipedia.org/wiki/Encryption): + +> +In cryptography, encryption is the process of encoding messages or information in such a way that only authorized parties can decode and read what is sent. Encryption does not of itself prevent interception, but denies the message content to the interceptor. + +### In-depth information + +From [Encryption](https://en.wikipedia.org/wiki/Encryption): + +> + In an encryption scheme, the intended communication information or message (referred to as *plaintext*), is encrypted using an encryption algorithm, generating ciphertext that can only be read if decrypted. For technical reasons, an encryption scheme usually uses a pseudo-random encryption key generated by an algorithm. It is in principle possible to decrypt the message without possessing the key, but, for a well-designed encryption scheme, large computational resources and skill are required. An authorized recipient can easily decrypt the message with the key provided by the originator to recipients, but not to unauthorized interceptors. + +> +The purpose of encryption is to ensure that only somebody who is authorized to access data (e.g. a text message or a file), will be able to read it, using the decryption key. Somebody who is not authorized can be excluded, because he or she does not have the required key, without which it is impossible to read the encrypted information. + +### Kovri + +@Kovri implements various types of encryption in *at least* 4 essential capacities: + +- @Reseed for bootstrapping +- @Garlic-routing: three layers of encryption are used to verify the secure delivery of @messages to the recipient/peer/@destination +- @Tunnel encryption: garlic messages are passed through a @tunnel and encrypted by the @tunnel gateway to the @tunnel endpoint +- @Transport layer encryption prevents the ability to decrypt @messages at the [media layer](https://en.wikipedia.org/wiki/OSI_model) + +For details on the types of encryption and cryptographic signatures used in @Kovri and @I2P, visit @Java-I2P's [Cryptography](https://geti2p.net/spec/cryptography) diff --git a/knowledge-base/moneropedia/garlic-routing.md b/knowledge-base/moneropedia/garlic-routing.md index 4b7888bc..7d5ed4c1 100644 --- a/knowledge-base/moneropedia/garlic-routing.md +++ b/knowledge-base/moneropedia/garlic-routing.md @@ -35,9 +35,9 @@ In technical terms, for @Kovri and @I2P, *Garlic Routing* translates to any/all - Bundling multiple @messages together (garlic cloves) - ElGamal/AES Encryption -Note: though [Tor](https://torproject.org/) uses layered encryption, Tor does not use ElGamal and is not message-based. +Note: though [Tor](https://torproject.org/) uses layered @encryption, Tor does not use ElGamal and is not message-based. ### Notes -- In terms of Onion/Garlic Routing, another way to envision layered encryption is by replacing the onion/garlic with a [Matryoshka doll](https://en.wikipedia.org/wiki/Matryoshka_doll) +- In terms of Onion/Garlic Routing, another way to envision layered @encryption is by replacing the onion/garlic with a [Matryoshka doll](https://en.wikipedia.org/wiki/Matryoshka_doll) - For more technical details on Garlic Routing, read the @Java-I2P entry on [Garlic Routing](https://geti2p.net/en/docs/how/garlic-routing) diff --git a/knowledge-base/moneropedia/kovri.md b/knowledge-base/moneropedia/kovri.md index 2c700526..09c9294b 100644 --- a/knowledge-base/moneropedia/kovri.md +++ b/knowledge-base/moneropedia/kovri.md @@ -30,6 +30,8 @@ TODO(anonimal): finish @eepsite (@hidden-service, @garlic-site, @garlic-service) +@encryption + @floodfill @garlic-routing @@ -70,6 +72,5 @@ TODO(anonimal): finish @tunnel -- Kovri Cryptography (encryption, signatures, etc.) - Kovri I2PControl (links to API, clients + qtoopie) - ...more/what else? diff --git a/knowledge-base/moneropedia/layered-encryption.md b/knowledge-base/moneropedia/layered-encryption.md new file mode 100644 index 00000000..d01241ec --- /dev/null +++ b/knowledge-base/moneropedia/layered-encryption.md @@ -0,0 +1,15 @@ +--- +layout: moneropedia +entry: "Layered Encryption" +tags: ["kovri"] +terms: ["layered-encryption"] +summary: "TODO(anonimal): finish" +--- + +### The Basics + +TODO(anonimal): finish + +### In-depth information + +TODO(anonimal): finish