README.md
1BZRTP
2=====
3
4What's BZRTP
5------------
6
7BZRTP is an opensource implementation of ZRTP keys exchange protocol.
8The library written in C 89 is fully portable and can be executed on many platforms including both ARM processor and x86.
9
10Licensing: The source code is licensed under GPLv2.
11
12
13Compatibility with RFC6189 - ZRTP: Media Path Key Agreement for Unicast Secure RTP
14----------------------------------------------------------------------------------
15
16### Mandatory but NOT implemented
17
18* Sas Relay mechanism (section 7.3)
19* Error message generation, emission or reception(which doesn't imply any security problem, they are mostly for debug purpose)
20
21
22### Optional and implementd
23
24* multistream mode
25* cacheless implementation
26* zrtp-hash attribute in SDP
27
28
29### Optional and NOT implemented
30
31* Go Clear/Clear ACK messages
32* SAS signing
33
34
35### Supported Algorithms
36
37* Hash : SHA-256
38* Cipher : AES-128, AES-256
39* SAS rendering: B32, B256(PGP word list)
40* Auth Tag : HS32, HS80
41* Key Agreement : DH-2048, DH-3072
42
43
44Dependencies
45------------
46
47- *bctoolbox[1]*: portability layer and crypto function abstraction
48
49
50Build BZRTP
51-----------
52
53 cmake . -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_PREFIX_PATH=<search_paths>
54
55 make
56 make install
57
58
59Build options
60-------------
61
62* `CMAKE_INSTALL_PREFIX=<string>` : install prefix
63* `CMAKE_PREFIX_PATH=<string>` : column-separated list of prefixes where to search for dependencies
64* `ENABLE_SHARED=NO` : do not build the shared library
65* `ENABLE_STATIC=NO` : do not build the static library
66* `ENABLE_STRICT=NO` : build without the strict compilation flags
67* `ENABLE_TESTS=YES` : build non-regression tests
68
69
70Notes for packagers
71-------------------
72
73Our CMake scripts may automatically add some paths into research paths of generated binaries.
74To ensure that the installed binaries are striped of any rpath, use `-DCMAKE_SKIP_INSTALL_RPATH=ON`
75while you invoke cmake.
76
77
78----------------------------------
79
80
81* [1] git://git.linphone.org/bctoolbox.git or <http://www.linphone.org/releases/sources/bctoolbox>
82