aboutsummaryrefslogtreecommitdiff
path: root/doc/documentation
diff options
context:
space:
mode:
authorng0 <ng0@infotropique.org>2017-11-20 17:26:07 +0000
committerng0 <ng0@infotropique.org>2017-11-20 17:26:07 +0000
commit9812ab6abacc1e86a92dd8d110ada991ff85dab7 (patch)
treec5c09e86d1b74e139b7ca214b9f9a79f82e54adc /doc/documentation
parent2e43537f13bd2f31ae21d465e4ccda9b772a4427 (diff)
downloadgnunet-9812ab6abacc1e86a92dd8d110ada991ff85dab7.tar.gz
gnunet-9812ab6abacc1e86a92dd8d110ada991ff85dab7.zip
+
Diffstat (limited to 'doc/documentation')
-rw-r--r--doc/documentation/chapters/philosophy.texi31
1 files changed, 25 insertions, 6 deletions
diff --git a/doc/documentation/chapters/philosophy.texi b/doc/documentation/chapters/philosophy.texi
index f6fe8df7b..af273fec6 100644
--- a/doc/documentation/chapters/philosophy.texi
+++ b/doc/documentation/chapters/philosophy.texi
@@ -2,6 +2,9 @@
2@node Philosophy 2@node Philosophy
3@chapter Philosophy 3@chapter Philosophy
4 4
5@c NOTE: We should probably re-use some of the images lynX created
6@c for secushare, showing some of the relations and functionalities
7@c of GNUnet.
5The foremost goal of the GNUnet project is to become a widely used, 8The foremost goal of the GNUnet project is to become a widely used,
6reliable, open, non-discriminating, egalitarian, unfettered and 9reliable, open, non-discriminating, egalitarian, unfettered and
7censorship-resistant system of free information exchange. 10censorship-resistant system of free information exchange.
@@ -32,7 +35,12 @@ decentralized Internet protocols.
32These are the core GNUnet design goals, in order of relative importance: 35These are the core GNUnet design goals, in order of relative importance:
33 36
34@itemize 37@itemize
35@item GNUnet must be implemented as free software. 38@item GNUnet must be implemented as
39@uref{https://www.gnu.org/philosophy/free-sw.html, Free Software}
40@c To footnote or not to footnote, that's the question.
41@footnote{This means that you you have the four essential freedoms: to run
42the program, to study and change the program in source code form,
43to redistribute exact copies, and to distribute modified versions.}
36@item GNUnet must only disclose the minimal amount of information 44@item GNUnet must only disclose the minimal amount of information
37necessary. 45necessary.
38@item GNUnet must be decentralised and survive Byzantine failures in any 46@item GNUnet must be decentralised and survive Byzantine failures in any
@@ -124,6 +132,8 @@ with the goals of the group is always preferable.
124@section Key Concepts 132@section Key Concepts
125 133
126In this section, the fundamental concepts of GNUnet are explained. 134In this section, the fundamental concepts of GNUnet are explained.
135@c FIXME: Use @uref{https://docs.gnunet.org/whatever/, research papers}
136@c once we have the new bibliography + subdomain setup.
127Most of them are also described in our research papers. 137Most of them are also described in our research papers.
128First, some of the concepts used in the GNUnet framework are detailed. 138First, some of the concepts used in the GNUnet framework are detailed.
129The second part describes concepts specific to anonymous file-sharing. 139The second part describes concepts specific to anonymous file-sharing.
@@ -146,15 +156,24 @@ The second part describes concepts specific to anonymous file-sharing.
146Almost all peer-to-peer communications in GNUnet are between mutually 156Almost all peer-to-peer communications in GNUnet are between mutually
147authenticated peers. The authentication works by using ECDHE, that is a 157authenticated peers. The authentication works by using ECDHE, that is a
148DH key exchange using ephemeral eliptic curve cryptography. The ephemeral 158DH key exchange using ephemeral eliptic curve cryptography. The ephemeral
149ECC keys are signed using ECDSA. The shared secret from ECDHE is used to 159ECC (Eliptic Curve Cryptography) keys are signed using ECDSA.
150create a pair of session keys (using HKDF) which are then used to encrypt 160@c FIXME: Long word for ECDSA
151the communication between the two peers using both 256-bit AES and 256-bit 161The shared secret from ECDHE is used to create a pair of session keys
152Twofish (with independently derived secret keys). As only the two 162@c FIXME: LOng word for HKDF
153participating hosts know the shared secret, this authenticates each packet 163(using HKDF) which are then used to encrypt the communication between the
164@c FIXME: AES
165two peers using both 256-bit AES
166@c FIXME: Twofish
167and 256-bit Twofish (with independently derived secret keys).
168As only the two participating hosts know the shared secret, this
169authenticates each packet
170@c FIXME SHA.
154without requiring signatures each time. GNUnet uses SHA-512 hash codes to 171without requiring signatures each time. GNUnet uses SHA-512 hash codes to
155verify the integrity of messages. 172verify the integrity of messages.
156 173
157In GNUnet, the identity of a host is its public key. For that reason, 174In GNUnet, the identity of a host is its public key. For that reason,
175@c FIXME: is it clear to the average reader what a man-in-the-middle
176@c attack is?
158man-in-the-middle attacks will not break the authentication or accounting 177man-in-the-middle attacks will not break the authentication or accounting
159goals. Essentially, for GNUnet, the IP of the host has nothing to do with 178goals. Essentially, for GNUnet, the IP of the host has nothing to do with
160the identity of the host. As the public key is the only thing that truly 179the identity of the host. As the public key is the only thing that truly