<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Dec 16, 2009, at 12:06 PM, Louis Granboulan wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Dear pidgin and libpurple developers,<br><br>I am part of a project that is planning to add an end-to-end password-based security layer to libpurple-based instant messenging software.<br>The basic idea is to add a button to any chat window, that will enable to create an encrypted chat with the same participants. The encryption would be secured by a password-authenticated key-exchange (cf. <a href="http://en.wikipedia.org/wiki/Password-authenticated_key_agreement">http://en.wikipedia.org/wiki/Password-authenticated_key_agreement</a> ).<br>
<br>Therefore, there would be the need of a few changes in the user-interface: the "create encrypted chat" button, the popup for the password, and the creation of the encrypted chat window.<br>On the implementation part, the idea would be to do everything encoded in the messages exchanged through the instant messenging protocol. Therefore, it would be protocol independent. A nice way to do it would probably that pressing the  "create encrypted chat" button creates a filter for all the mesages received and sent. Un-encrypted messages would probably be encoded with a prefix, e.g. 0, and all the messages for the encrypted channel (the messages that help to setup the channel and the messages that are encrypted) would be encoded with another prefix.<br>
<br>What are your comments?<br></blockquote></div><br><div>Don't reinvent the wheel; do take a look at the OTR project as a starting point, as while they don't have the same encryption goals as you, much of the interface and implementation can probably be reused in some form.</div><div><br></div><div>-Evan</div></body></html>