X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=web%2Fmanual.md;h=5216c6b5cf03153b797611776045e6ed06bd6110;hb=1b9ff7d64dc1bebdfb8f0aa8283a7e9372ed8d2d;hp=e7bb4afc31ae21230fca77aabbea11c8b3dbc1af;hpb=c1cec595405b31188d589062cc1117afe8daa64f;p=paraslash.git diff --git a/web/manual.md b/web/manual.md index e7bb4afc..5216c6b5 100644 --- a/web/manual.md +++ b/web/manual.md @@ -166,7 +166,7 @@ window. Appearance can be customized via themes. para_gui provides key-bindings for the most common server commands and new key-bindings can be added easily. -### para_fade ### +### para_mixer ### An alarm clock and volume-fader for OSS and ALSA. @@ -186,7 +186,7 @@ Requirements git clone git://git.tuebingen.mpg.de/osl cd osl && make && sudo make install && sudo ldconfig - sudo apt-get install autoconf libssl-dev help2man gengetopt m4 \ + sudo apt-get install autoconf libssl-dev m4 \ libmad0-dev libid3tag0-dev libasound2-dev libvorbis-dev \ libfaad-dev libspeex-dev libFLAC-dev libsamplerate-dev realpath \ libasound2-dev libao-dev libreadline-dev libncurses-dev \ @@ -202,6 +202,13 @@ code repository, execute git clone git://git.tuebingen.mpg.de/osl +- [lopsub](http://people.tuebingen.mpg.de/maan/lopsub/). The long +option parser for subcommands generates the command line and config +file parsers for all paraslash executables. Clone the source code +repository with + + git clone git://git.tuebingen.mpg.de/lopsub + - [gcc](ftp://ftp.gnu.org/pub/gnu/gcc) or [clang](http://clang.llvm.org). All gcc versions >= 4.2 are currently supported. Clang version 1.1 or newer should work as well. @@ -213,13 +220,6 @@ disto. On BSD systems the gnu make executable is often called gmake. during compilation require the _Bourne again shell_. It is most likely already installed. -- [gengetopt](ftp://ftp.gnu.org/pub/gnu/gengetopt/) is needed to -generate the C code for the command line parsers of all paraslash -executables. - -- [help2man](ftp://ftp.gnu.org/pub/gnu/help2man) is used to create -the man pages. - - [m4](ftp://ftp.gnu.org/pub/gnu/m4/). Some source files are generated from templates by the m4 macro processor. @@ -248,8 +248,11 @@ recognized. The mp3 tagger also needs this library for modifying you need libogg, libvorbis, libvorbisfile. The corresponding Debian packages are called `libogg-dev` and `libvorbis-dev`. -- [libfaad](http://www.audiocoding.com/). For aac files (m4a) you -need libfaad (`libfaad-dev`). +- [libfaad and mp4ff](http://www.audiocoding.com/). For aac files +(m4a) you need libfaad and libmp4ff (package: `libfaad-dev`). Note +that for some distributions, e.g. Ubuntu, mp4ff is not part of the +libfaad package. Install the faad library from sources (available +through the above link) to get the mp4ff library and header files. - [speex](http://www.speex.org/). In order to stream or decode speex files, libspeex (`libspeex-dev`) is required. @@ -447,9 +450,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 +460,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 +526,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