[GSOC] OTR support for KTp – current state

Despite some twists and obstacles I have finally managed to implement decent OTR support for KTp as my GSOC project. Now you can have encrypted conversations along with other features:

  • three ways of peer authentication
  • OTR policy settings
  • management of known fingerprints
  • per account private key generation

When it comes to the insides, there is a completely separate DBus service responsible for the entire encryption and providing access to the settings. When explicitly called it starts acting as a proxy on a given channel. KTp itself is only responsible for turning it on and reflecting the new functionality in its GUI. Thanks to such approach support for OTR can be relatively easy adapted in other client applications living in the Telepathy’s ecosystem too.

Here is some short demo presenting the changes I have made. It shows the conversation between the two clients: KTp on the left and Pidgin on the right. On the top you can see Google Talk web client recording all exchanged messages.

youtube

Google Summer of Code – OTR for KTp

My name is Marcin Ziemiński and I am this year’s GSOC student for KDE Telepathy.
I am currently studying Theoretical Computer Science at Jagiellonian University.

My primary goal for this summer is adding support for OTR protocol in KTp, what will enable both end-to-end encryption of text messages and peer authentication. I believe that thanks to cooperation with my brilliant mentors: David Edmundson and Sandro Knauß, I will introduce a reliable solution without negative effects on user experience.

Prior to the current Google Summer of Code I was playing around with TelepathyQt writing connection managers, however, alienated from the community. I hope that with this project I will contribute significantly to the open-source world.