Partyline is an encryption program designed for use when two users (Alice and Bob, as always) have a channel that they think may be eavesdropped but is unlikely to be actively modified, such as a voice channel. Partyline allows bootstrapping a nonconfidential-but-probably-authenticated channel into a confidential-and-authenticated channel. Here is a sample session, in which typed text is in bold:
alice$ partyline Your key is: gi4tsyzzmuywgztgmvtdaobuge Enter their key: g44gimjxmjtdazlcgbrwizbumy
bob$ partyline Your key is: g44gimjxmjtdazlcgbrwizbumy Enter their key: gi4tsyzzmuywgztgmvtdaobuge
Each partyline instance now has its own private key and the other end's public key, and they are ready to transmit and receive messages:
partyline> send Hi Bob! 31ymrmOoXqBMSpo7zOta4Q partyline> send Enter your message. Type a '.' on a line by itself to end the message. This is a longer message. It spans multiple lines. . z7AduS4RC0ZjQ3Xz9FTp87TOtVfI8wqFrGtoDzYGQL4VTnYQU/Ww26BXAfhULNdMoPM 2oiIfEOi5q/PrQP1750v+z4ajgCvJ+0qSadkhXdCB9PUYk partyline>
partyline> receive 31ymrmOoXqBMSpo7zOta4Q Hi Bob! partyline> receive Enter the encrypted message here. Type a '.' on a line by itself to end the message. z7AduS4RC0ZjQ3Xz9FTp87TOtVfI8wqFrGtoDzYGQL4VTnYQU 2oiIfEOi5q/PrQP1750v+z4ajgCvJ+0qSadkhXdCB9PUYk . This is a longer message. It spans multiple lines. partyline>
Bob can then reply in the same manner as Alice sent her message. The message bodies are somewhat unwieldy to read aloud, and are intended to be transferred over an insecure data channel like email or IRC messages. The keys are encoded using base32 instead of base64 for ease of reading aloud.
Note that partyline keys are inherently transient; there is no support for keys living longer than a single session, and the client regenerates keys each time it starts. This avoids complex issues of key management and lifetime.