README.txt
author vb
Wed, 06 Aug 2014 17:04:14 +0200
changeset 13 5b5031615884
parent 12 44803a6c4549
permissions -rw-r--r--
README
vb@12
     1
pEp Engine
vb@12
     2
==========
vb@12
     3
vb@12
     4
0. What is it
vb@12
     5
1. How to use it
vb@13
     6
2. Who is providing this, and how is it provided
vb@12
     7
vb@12
     8
0. What is it
vb@12
     9
-------------
vb@12
    10
vb@13
    11
pEp Engine is an implementation of the p≡p standard as a portable C library.
vb@13
    12
pEp Engine is written for being used on Windows, MacOS X, iOS, Android and
vb@13
    13
GNU/Linux. It is meant to be used on other POSIX compliant systems as well.
vb@12
    14
vb@13
    15
The p≡p standard defines how to use encryption and key management for message
vb@13
    16
based communication between persons. It specifies a metric for encryption
vb@13
    17
channels like OpenPGP or CMS, which then are applied on message transports like
vb@13
    18
Internet Mail, SMS or WhatsApp. Additionally, the p≡p standard defines how to
vb@13
    19
use GNUNet for implementing messaging where meta data can be hidden from
vb@13
    20
eavesdroppers.
vb@13
    21
vb@13
    22
1. How to use it
vb@13
    23
----------------
vb@13
    24
vb@13
    25
pEp Engine never should be used by an application programmer directly. It is
vb@13
    26
meant to be used by an adapting implementation which removes most of the attack
vb@13
    27
vectors usually offered by C code and common application programming mistakes.
vb@13
    28
Such an adapter must not be written in C. If possible, it must be written in a
vb@13
    29
safe language without the problems pointers bring in. If this is not possible,
vb@13
    30
the adapter must be written in an unsafe language like C++, but the interface
vb@13
    31
to the application programmer has to implement safety against such application
vb@13
    32
programmer mistakes.
vb@13
    33
vb@13
    34
pEp Engine is offering keymanagement.h. This should be the only interface which
vb@13
    35
is being used by an adapter. The documentation is in this header file. If this
vb@13
    36
cannot be done, because an adapter needs more internal access to pEp Engine,
vb@13
    37
there is the additional interface in pEpEngine.h. This may be used while it is
vb@13
    38
recommended not to use it. Only if there is no other way for the programmer of
vb@13
    39
the adapter pEpEngine.h should be used. This is true for opening and closing a
vb@13
    40
session to pEp Engine.
vb@13
    41