README file for herbrip
=======================

By Philip Hunt, last altered 15-Jul-2001.
For herbrip version 0.1.0

Herbrip: Herbivore Reference Implementation in Python

What's Herbivore?
-----------------

It's an initiative for strong, public key, effort-free encryption
of email. Here's an example, to illustrate how Herbivore will work:

   Alice and Bob both use herbivore-compliant MUAs. 
   Alice sends a message to Bob (it's the first time they've 
   emailed each other). The message is send as plain text, but 
   the herbivore subsystem inserts some extra headers, 
   which say that Alice's MUA is herbivore-aware, and 
   what Alice's GPG public key is. 

   Bob's MUA reads the email. The Herbivore subsystem in the MUA 
   notes that Alice's email is came from a Herbivore-aware client, 
   and remembers Alice's public key. 

   Bob decides to reply to Alice's message. He composes his reply
   as normal, and presses SEND. The Herbivore subsystem in Bob's 
   MUA automatically encrypts the email with Alice's public key, 
   before sending it to her. 

   When Alice's MUA receives the message, it is automatically 
   decoded (using Alice's private key). Alice then sees on her 
   screen the message that Bob sent her. 


So, how does Herbrip fit in?
----------------------------

Herbrip is a command-line tool that processes email in ways
appropriate for Herbivore. Note that Herbrip is not a full MUA
(i.e. email client); it is designed to be usable by an MUA to
provide a security solution (just as an MUA might today invoke
PGP or GnuPG to perform encryption).

To use Herbrip:

(1) to set it up:
       herbrip --init

This will create a ~/.herbivore directory to store information
that Herbrip will use on subsequent invokations. it will also
create your Herbivore public/private keypair.

(2) to process outgoing email:
       herbrip --out mailo mailo_p
       
This takes as input a file <mailo> which must contain an email
message (including header and body) that you intend to send to
someone. Herbrip adds headers stating your herbivore public key.
If herbrip has a public key for the recipient of the message,
the message is encrypted with that key. The resulting output
is written to <mailo_p>.

Note that, for now, Herbrip can only deal with mail sent to
one recipient address; future versions will allow mail to be
sent to multiple addresses.

(3) to process incoming email:
       herbrip --in maili maili_p
       
This reads <maili> which must contain an incoming email that
you have received. The resulting output email is written to 
<maili_p>.      
Herbrip does two things: firstly it reads the sender's herbivore       
public key (if there is one) and adds it to Herbrip's database.
Secondly, if the mail is encrypted, Herbrip attempts to decrypt
it using your public key.

If you run herbrip without any parameters, you get usage
information.


Important files in this distribution
------------------------------------

README - the file you are now reading!

COPYING - the GNU General Public Licence; you may use Herbrip under
   the terms of this licence.

CHANGES - log of changes

TODO - list of future additions to the software


Other information
-----------------

Herbrip's home page is 
<http://www.vision25.demon.co.uk/oss/herbrip/intro.html>

Information on Herbivore is at
<http://www.vision25.demon.co.uk/oss/herbivore/intro.html>

Information about OpenSSL is at
<http://www.???>

I can be contacted at <philh@comuno.freeserve.co.uk>


end.
