X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=web%2Fmanual.md;h=fef8123a3ac13bf44f0551e53aece8d001ac7495;hp=e7bb4afc31ae21230fca77aabbea11c8b3dbc1af;hb=a826152ba51fd4813f715e5fa30e7d70407dc846;hpb=3af6411b482ed8db2243f3e11bb06cf3adba6936 diff --git a/web/manual.md b/web/manual.md index e7bb4afc..fef8123a 100644 --- a/web/manual.md +++ b/web/manual.md @@ -447,9 +447,9 @@ User management para_server uses a challenge-response mechanism to authenticate requests from incoming connections, similar to ssh's public key authentication method. Authenticated connections are encrypted using -a stream cipher, either RC4 or AES in integer counter mode. +the AES stream cipher in integer counter mode. -In this chapter we briefly describe RSA, RC4 and AES, and sketch the +In this chapter we briefly describe RSA and AES, and sketch the [authentication handshake](#Client-server.authentication) between para_client and para_server. User management is discussed in the section on [the user_list file](#The.user_list.file). @@ -457,33 +457,33 @@ These sections are all about communication between the client and the server. Connecting para_audiod is a different matter and is described in a [separate section](#Connecting.para_audiod). -RSA, RC4, AES -------------- +RSA and AES +----------- -RSA is an asymmetric block cipher which is used in many applications, -including ssh and gpg. An RSA key consists in fact of two keys, +A block cipher is a transformation which operates on fixed-length +blocks. For symmetric block ciphers the transformation is determined +by a single key for both encryption and decryption. For asymmetric +block ciphers, on the other hand, the key consists of two parts, called the public key and the private key. A message can be encrypted -with either key and only the counterpart of that key can decrypt -the message. While RSA can be used for both signing and encrypting -a message, paraslash uses RSA only for the latter purpose. The -RSA public key encryption and signatures algorithms are defined in -detail in RFC 2437. - -RC4 is a stream cipher, i.e. the input is XORed with a pseudo-random -key stream to produce the output. Decryption uses the same function -calls as encryption. While RC4 supports variable key lengths, -paraslash uses a fixed length of 256 bits, which is considered a -strong encryption by today's standards. Since the same key must never -be used twice, a different, randomly-generated key is used for every -new connection. +with either key and only the counterpart of that key can decrypt the +message. Asymmetric block ciphers can be used for both signing and +encrypting a message. + +RSA is an asymmetric block cipher which is used in many applications, +including ssh and gpg. The RSA public key encryption and signatures +algorithms are defined in detail in RFC 2437. Paraslash relies on +RSA for authentication. + +Stream ciphers XOR the input with a pseudo-random key stream to produce +the output. Decryption uses the same function calls as encryption. +Any block cipher can be turned into a stream cipher by generating the +pseudo-random key stream by encrypting successive values of a counter +(counter mode). AES, the advanced encryption standard, is a well-known symmetric block -cipher, i.e. a transformation operating on fixed-length blocks which -is determined by a single key for both encryption and decryption. Any -block cipher can be turned into a stream cipher by generating -a pseudo-random key stream by encrypting successive values of a -counter. The AES_CTR128 stream cipher used in paraslash is obtained -in this way from the AES block cipher with a 128 bit block size. +cipher. Paraslash employs AES in counter mode as described above to +encrypt communications. Since a stream cipher key must not be used +twice, a random key is generated for every new connection. Client-server authentication ---------------------------- @@ -523,8 +523,8 @@ point on the communication is encrypted using the stream cipher with the session key known to both peers. paraslash relies on the quality of the pseudo-random bytes provided -by the crypto library (openssl or libgcrypt), on the security of the -implementation of the RSA, RC4 and AES crypto routines and on the +by the crypto library (openssl or libgcrypt), on the security of +the implementation of the RSA and AES crypto routines and on the infeasibility to invert the SHA1 function. Neither para_server or para_client create RSA keys on their