<?xml version="1.0"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenKeychain</title>
    <link>https://www.openkeychain.org</link>
    <atom:link href="https://www.openkeychain.org/feed.xml" rel="self" type="application/rss+xml" />
    <description>An OpenPGP implementation for Android</description>
    <language>en-us</language>
    <pubDate>Mon, 01 Dec 2025 18:06:32 +0000</pubDate>
    <lastBuildDate>Mon, 01 Dec 2025 18:06:32 +0000</lastBuildDate>

    
      <item>
        <title>OpenKeychain 5.1</title>
        <link>https://www.openkeychain.org/OpenKeychain-5.1</link>
        <pubDate>Wed, 27 Jun 2018 00:00:00 +0000</pubDate>
        <author>OpenKeychain-Team</author>
        <description>&lt;p&gt;This month we released OpenKeychain version 5.1.&lt;/p&gt;

&lt;p&gt;We have accumulated a bit of a backlog of improvements since our last release announcement.
Some highlights:&lt;/p&gt;

&lt;h3 id=&quot;autocrypt&quot;&gt;Autocrypt&lt;/h3&gt;
&lt;p&gt;In version 5.0, we introduced support for &lt;a href=&quot;https://autocrypt.org&quot;&gt;Autocrypt&lt;/a&gt;.
K-9 Mail &lt;a href=&quot;https://k9mail.github.io/2018/01/07/5.4-Release.html&quot;&gt;since Version 5.4&lt;/a&gt; uses this to automate the exchange of public keys.
Other compatible clients include &lt;a href=&quot;https://enigmail.net&quot;&gt;Enigmail&lt;/a&gt; and &lt;a href=&quot;https://delta.chat/&quot;&gt;DeltaChat&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;elliptic-curve-cryptography&quot;&gt;Elliptic Curve Cryptography&lt;/h3&gt;
&lt;p&gt;Version 4.9 completed support for modern keys based on Curve 25519.
These keys offer stronger security guarantees and faster operations than RSA at smaller key sizes.
OpenKeychain should now be able to work with all commonly used keys.&lt;/p&gt;

&lt;h3 id=&quot;wkd&quot;&gt;WKD&lt;/h3&gt;
&lt;p&gt;OpenKeychain now includes the Web Key Directory (WKD) mechanism.
This automatically looks up keys on the provider domain when searching for an email address, if available.
For example, searching for &lt;code class=&quot;highlighter-rouge&quot;&gt;linus@kernel.org&lt;/code&gt; will automatically fetch the correct key from kernel.org, avoiding ambiguity from keyservers.
Many thanks to Wiktor Kwapisiewicz for contributing this feature.&lt;/p&gt;

&lt;h3 id=&quot;improved-usb-support&quot;&gt;Improved USB support&lt;/h3&gt;
&lt;p&gt;OpenKeychain should now work correctly with &lt;a href=&quot;https://www.fsij.org/category/gnuk.html&quot;&gt;Gnuk&lt;/a&gt;, Nitrokey and Ledger Nano S security tokens via USB, as well as the Yubikey 4.
Shout outs to the guys at &lt;a href=&quot;https://www.nitrokey.com/&quot;&gt;Nitrokey&lt;/a&gt; and &lt;a href=&quot;https://yubico.com&quot;&gt;Yubico&lt;/a&gt; for providing test devices!&lt;/p&gt;

&lt;h3 id=&quot;fix-security-issue&quot;&gt;Fix security issue&lt;/h3&gt;

&lt;p&gt;In version 5.1, we fixed a potential security issue with the external key status interface.
We are not aware that this has been exploited in practice, users should still update to at least version 5.1 as soon as possible.
You can find some details in our documentation of past &lt;a href=&quot;https://github.com/open-keychain/open-keychain/wiki/Vulnerabilities&quot;&gt;vulnerabilities&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;install-openkeychain&quot;&gt;Install OpenKeychain&lt;/h2&gt;
&lt;p&gt;OpenKeychain is available on Google Play and F-Droid.&lt;/p&gt;

&lt;div style=&quot;border:0px;clear:both;padding:0px;margin:0px;overflow:hidden;&quot;&gt;
&lt;p style=&quot;float: left;&quot;&gt;&lt;a href=&quot;https://f-droid.org/app/org.sufficientlysecure.keychain&quot;&gt;&lt;img src=&quot;https://www.openkeychain.org/public/images/fdroid.png&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://play.google.com/store/apps/details?id=org.sufficientlysecure.keychain&quot;&gt;&lt;img src=&quot;https://www.openkeychain.org/public/images/google_play.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;- Vincent and Dominik&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>Founding of COTECH</title>
        <link>https://www.openkeychain.org/Confidential-Technologies</link>
        <pubDate>Mon, 25 Jun 2018 00:00:00 +0000</pubDate>
        <author>OpenKeychain-Team</author>
        <description>&lt;p&gt;With the friendly support of TU Braunschweig, &lt;a href=&quot;https://www.cotech.de/?pk_campaign=openkeychain.org&quot;&gt;COTECH&lt;/a&gt; was founded by Vincent Breitmoser, Leif Scheppelmann and Dominik Schürmann.
Our company provides professional support for OpenKeychain and develops custom end-to-end encryption products.&lt;/p&gt;

&lt;h3 id=&quot;openpgpautocrypt-library&quot;&gt;OpenPGP/Autocrypt Library&lt;/h3&gt;
&lt;p&gt;We are currently in the process of developing an OpenPGP/Autocrypt library based on the OpenKeychain codebase.
It will be available as a GPLv3 version for other Free Software projects, but also under a commercial license to be used in proprietary projects.
It can be used in your Android apps, but also in other Java-based software, for example desktop or server applications.
For inquiries, please &lt;a href=&quot;https://www.cotech.de/en/labs/?pk_campaign=openkeychain.org&quot;&gt;contact us&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;consulting&quot;&gt;Consulting&lt;/h3&gt;
&lt;p&gt;COTECH offers a range of consulting services for security research and development.
We provide professional support for OpenKeychain and consulting services for the design and implementation of real-world cryptographic protocols.&lt;/p&gt;

&lt;p&gt;Contact us to integrate OpenPGP or Autocrypt in your app.
Read more about our &lt;a href=&quot;https://www.cotech.de/en/labs/?pk_campaign=openkeychain.org&quot;&gt;history and previous projects&lt;/a&gt;.&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>OpenPGP Considerations, Part III: Autocrypt and Encryption by Default</title>
        <link>https://www.openkeychain.org/OpenPGP-Considerations-Part-III-Autocrypt</link>
        <pubDate>Mon, 26 Feb 2018 00:00:00 +0000</pubDate>
        <author>OpenKeychain-Team</author>
        <description>&lt;p&gt;(This is a cross-post from &lt;a href=&quot;https://k9mail.github.io/2018/02/26/OpenPGP-Considerations-Part-III-Autocrypt.html&quot;&gt;K-9 Mail Blog&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;This blog post is the third in my series on design decisions made in the OpenPGP support in K-9 Mail.
Following my first post &lt;a href=&quot;https://k9mail.github.io/2016/11/24/OpenPGP-Considerations-Part-I.html&quot;&gt;on signed-only mails&lt;/a&gt;, and the second one &lt;a href=&quot;https://k9mail.github.io/2017/01/30/OpenPGP-Considerations-Part-II.html&quot;&gt;on encrypted-only mails&lt;/a&gt;.
This one focuses on Autocrypt, and in particular “encryption by default”.&lt;/p&gt;

&lt;h3 id=&quot;autocrypt-support-and-ui-improvements&quot;&gt;Autocrypt Support and UI Improvements&lt;/h3&gt;

&lt;p&gt;In K-9 Mail version 5.400, OpenPGP encryption was changed to adhere to the &lt;a href=&quot;https://autocrypt.org&quot;&gt;Autocrypt&lt;/a&gt; specification.
Most importantly, keys are now transparently exchanged between compatible clients, paving the way for truly transparent key management with no need for user interaction.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/img/crypto-states.png&quot; alt=&quot;K-9 Mail Crypto States&quot; style=&quot;float: right; padding-left: 30px;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Another big change happened in the user interface:
In message view display of crypto status has been greatly simplified - either a message was securely encrypted (green lock), encrypted with problems (grey lock with an X), or hasn’t been encrypted at all (grey struck-through lock).
The warning overlays that were previously displayed when a message was deemed insecure are also gone; Those messages now simply don’t get a green lock.&lt;/p&gt;

&lt;p&gt;The most important changes, I think, have been made to message composition.
Firstly, the crypto dialog is no more, encryption can instead be enabled or disabled with a single click on the lock.
The “three lock states” are also gone, recipients either can be encrypted to (small lock) or they can’t (no lock).
If all recipients have verified keys in OpenKeychain, this will still be indicated by three green dots next to the lock, but generally the key status is featured much less prominently than before.&lt;/p&gt;

&lt;h3 id=&quot;consensual-encryption-by-default&quot;&gt;Consensual Encryption by Default&lt;/h3&gt;

&lt;p&gt;All of the changes mentioned above work towards getting out of the user’s way with the crypto as much as possible.
In keeping with this idea, &lt;strong&gt;non-consensual encryption by default has been removed as a feature&lt;/strong&gt;.
I realize this breaks the workflows of a couple of users, for which I apologize.
However, I believe that this is the only way forward for usable e-mail encryption.
Please bear with me and read on for an explanation.&lt;/p&gt;

&lt;p&gt;Before K-9 Mail 5.400, encryption using OpenPGP was enabled “opportunistically”, which meant that whenever end-to-end keys were available, the message would automatically be encrypted.
Since K-9 Mail 5.400, encryption will be enabled in exactly these three scenarios:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;When the user chooses to encrypt (with a single click).&lt;/li&gt;
  &lt;li&gt;When replying to an encrypted mail.&lt;/li&gt;
  &lt;li&gt;When the user, &lt;em&gt;and all recipients&lt;/em&gt;, enabled “Autocrypt mutual mode”.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The reason for this change is that encrypting e-mail messages is not strictly an improvement:
Encrypted messages cannot be viewed in all clients and especially web clients, full-text search is typically restricted, and if the user loses access to their keys there might be unintended loss of messages.
Most e-mail apps also rely on plugins for encryption, which is always going to be less neatly integrated than first-party support.
In short, the increase in confidentiality comes at a cost in compatibility, availability, and convenience.&lt;/p&gt;

&lt;p&gt;Now, encryption of e-mail has so far been a very deliberate act - to be able to encrypt to anyone, the user would have to somehow manually obtain the key and import it in their key management app.
In addition to that, extremely few people would even have keys, because dealing with encryption plugins is a pain.
But between contacts who have Autocrypt-capable clients, making encryption available as an option will hopefully &lt;em&gt;just work&lt;/em&gt;.
This is super great, but it weirdly brings up a problem:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/img/autocrypt-mutual.png&quot; alt=&quot;Autocrypt Mutual Mode&quot; style=&quot;float: right; padding-left: 30px;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Many people have an appreciation for encrypting &lt;code class=&quot;highlighter-rouge&quot;&gt;secret.doc&lt;/code&gt; or &lt;code class=&quot;highlighter-rouge&quot;&gt;invoice.pdf&lt;/code&gt; when they send it - but that appreciation doesn’t extend to all messages.
If someone installs an Autocrypt-capable OpenPGP extension so they can securely send or receive &lt;code class=&quot;highlighter-rouge&quot;&gt;secret.doc&lt;/code&gt;, this &lt;em&gt;should not&lt;/em&gt; be interpreted as consent that any message sent to them, regardless of importance, may as well be encrypted.
Autocrypt wants to move on from traditional OpenPGP as a niche product.
To do that, it has to be possible to use an Autocrypt-capable client for e-mail that signals &lt;em&gt;availability&lt;/em&gt; of encryption, but doesn’t lead to an increasing number of messages in the mailbox with the compatibility issues that encryption currently incurs.
If we want to target a wider audience, we need to take the user experience of all users into consideration, which clashes with the availability of an option to non-consensually encrypt by default.&lt;/p&gt;

&lt;p&gt;This brings us back to the three scenarios listed above.
In each of them, there is a clear responsibility for the choice to encrypt:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;In the first scenario, a user takes immediate responsibility that an individual message is encrypted.&lt;/li&gt;
  &lt;li&gt;Slightly less immediately, replies in an encrypted thread will also be encrypted.&lt;/li&gt;
  &lt;li&gt;And the third scenario is consensus between users who not only have a key, but also signal that it’s ok to encrypt to them by default.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Users who feel like they can reliably handle encrypted mail are encouraged to enable “Autocrypt mutual mode” (available in K-9 Mail 5.500).
If we ever get to a point where encrypted e-mails actually work seamlessly, perhaps this mode can be enabled by default.
For everyone else, making encryption available by choice with a single click and transparent key management should hopefully be a huge improvement.&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>OpenPGP Considerations, Part II: Encrypted-Only Mails</title>
        <link>https://www.openkeychain.org/OpenPGP-Considerations-Part-II</link>
        <pubDate>Mon, 30 Jan 2017 00:00:00 +0000</pubDate>
        <author>OpenKeychain-Team</author>
        <description>&lt;p&gt;(This is a cross-post from &lt;a href=&quot;https://k9mail.github.io/2017/01/30/OpenPGP-Considerations-Part-II.html&quot;&gt;K-9 Mail Blog&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;This blog post is the second in my series on design decisions made in the OpenPGP support in K-9 Mail.
Following my first post &lt;a href=&quot;https://k9mail.github.io/2016/11/24/OpenPGP-Considerations-Part-I.html&quot;&gt;on signed-only mails&lt;/a&gt;, this one focuses on encrypted-only mails.&lt;/p&gt;

&lt;p&gt;In contrast to signed-only mails, which are still a supported workflow, we believe that the sending of encrypted-only mails reduces the security of the ecosystem as a whole, which is why we decided to drop support for it altogether.
This decision led to a number of reports from disgruntled users who had sent encrypted-only mails from earlier versions of K-9.
We realize it sucks to have your workflow broken, so I will try to explain why we made this decision, and why we are unlikely to revert it.&lt;/p&gt;

&lt;p&gt;The idea of encrypted-only mails is to send messages that are encrypted to the recipient’s public key, but not signed with the sender’s secret key.
This provides weaker security properties than properly signed-then-encrypted mails, but it loses the requirement of having the signing key available on the sender side, which makes for a deceptively convenient and attractive workflow.
Given more profound cryptographic thought however, it becomes clear that such messages introduce a cost to the ecosystem that greatly outweigh the benefits.&lt;/p&gt;

&lt;h3 id=&quot;use-cases&quot;&gt;Use cases&lt;/h3&gt;

&lt;p&gt;There are two common arguments for encrypted-only mail:&lt;/p&gt;

&lt;h4 id=&quot;no-signing-key-on-mobile&quot;&gt;No signing key on mobile&lt;/h4&gt;

&lt;p&gt;A commonly proposed use case for encrypted-only mail are users who don’t want to put their signing keys on their phone due to security concerns, but still want to send encrypted mail.
This is a technical possibility after all, and some encryption - even without authentication - is surely better than no encryption.&lt;/p&gt;

&lt;p&gt;Unfortunately, it’s not quite so easy.&lt;/p&gt;

&lt;p&gt;To see why, let’s explore what it says about a message’s security if the sender doesn’t trust the sending device with their signing key:
The sender themself knows that the message can only be read by the intended recipient, so from their perspective all seems well.
But from the recipient’s perspective, it’s impossible to tell what is going on.
If we regularly receive messages without signature, the user has no way to figure out whether a message was tampered with by an attacker, or sent without a signature because the sender just happened to not have their signing key available.
So what is the mail client supposed to display to the user in this case?
The answer is that we must treat missing signatures as insecure, since otherwise an attacker can simply strip signatures from all messages.
And when they forge a message it will look just like many other messages the recipient saw in the past, encrypted but not signed.&lt;/p&gt;

&lt;p&gt;Just like other insecure messages (sent from expired keys, revoked keys, insecure keys, or using insecure algorithms), an encrypted-only message is displayed in K-9 with a full-screen warning.
Users are warned of the security issue at hand, and have to do an extra click to read message content.
In this way, the message now looks more dangerous than a plaintext one.&lt;/p&gt;

&lt;p&gt;But this warning dialog leads us straight to the issue of &lt;a href=&quot;http://people.ischool.berkeley.edu/~jensg/research/paper/Grossklags-NSPW11.pdf&quot;&gt;warning fatigue&lt;/a&gt;.
The short version is, users pay very limited attention to any kind of warning message, and every time such a message is displayed to the user, it loses some of its impact.
After only a few times of clicking through a warning message to see the message content, the extra click becomes part of the routine.&lt;/p&gt;

&lt;p&gt;But for any kind of authentication to work, it is imperative that authentication failures happen as rarely as possible.
The crux of sending encrypted-only mails is that on the receiving side, genuine mails end up in a state that responsible user agents must treat as an error, eroding its ability to warn the user about cryptographic problems.
Even worse, these warnings aren’t &lt;em&gt;actionable&lt;/em&gt; - there is nothing a user can do to fix the situation, the only possible option is to move on and read the message.
In short, sending encrypted-only mails establishes receiving insecure mail as a common and harmless occurrence for recipients.&lt;/p&gt;

&lt;p&gt;You can generate a key to use per device - keys are free, after all!
But if you don’t trust a device with any signing key, you can’t send secure mails from it.&lt;/p&gt;

&lt;h4 id=&quot;plausible-deniability&quot;&gt;“Plausible deniability”&lt;/h4&gt;

&lt;p&gt;The second common argument comes from people who consider encrypted-only mails as “anonymous” mails in a sense, similar to not signing letters.&lt;/p&gt;

&lt;p&gt;This idea of “deniability” comes from protocols like OTR and Signal, which go to great lengths to provide this property.
Unfortunately, these tricks can’t simply be ported: They only work for session-based, synchronous communication.
But what these protocols provide is &lt;em&gt;deniable authentication&lt;/em&gt;, which is different from &lt;em&gt;no authentication&lt;/em&gt;.
No protocol for secure communication I’m aware of allows turning off authentication, in fact there is a clear trend in the cryptographic community towards the more integrated &lt;a href=&quot;https://en.wikipedia.org/wiki/Authenticated_encryption&quot;&gt;authenticated encryption&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Because e-mail as a protocol leaks a lot of metadata, any mail sent without extra measures to obfuscate this metadata is not going to be deniable, regardless of the encryption state of its content.
There are projects that seek to reduce metadata leakage for general use of e-mail (like &lt;a href=&quot;https://github.com/ehloonion/onionmx&quot;&gt;OnionMX&lt;/a&gt; or &lt;a href=&quot;https://panoramix-project.eu/&quot;&gt;Panoramix&lt;/a&gt;), but those are hardly deployed.&lt;/p&gt;

&lt;p&gt;And yet, sending anonymous mail is simple:
Grab a &lt;a href=&quot;https://www.torproject.org/projects/torbrowser.html.en&quot;&gt;Tor Browser&lt;/a&gt;, sign up for any free mail address, generate a key for this purpose only, send encrypted mail as usual.
That way no one will know your name or identity, you can send more messages (from different addresses even), and the recipient will know they come from the same entity.
You will also be able to prove it was you who sent the mail later on, which - provided you keep that secret key in a safe place and out of the cloud - nobody else can.&lt;/p&gt;

&lt;p&gt;That said, Android is not a high-security environment!
For actually important matters it is advisable to stick to a platform that was actually built for whistleblowing, like &lt;a href=&quot;https://www.globaleaks.org/implementations/&quot;&gt;Globaleaks&lt;/a&gt;.
But even there, you will receive a key code that serves to authenticate yourself, to safely communicate later on.&lt;/p&gt;

&lt;p&gt;It is misguided to believe that not signing encrypted mails will provide any kind of deniability, and it is incorrect to assume that anonymity and authentication are incompatible properties.&lt;/p&gt;

&lt;h3 id=&quot;so-why-do-other-implementations-allow-it&quot;&gt;So why do other implementations allow it?&lt;/h3&gt;

&lt;p&gt;The UI in many OpenPGP implementations for secure communication via mail has a “sign” and an “encrypt” button.
This was the case in K-9 Mail as well, until version 5.200.
A very common stance of OpenPGP implementations is to just give users the cryptographic operations, then let them make security considerations themselves, given more or less complete information about the system.
But OpenPGP itself is a very general purpose cryptosystem, that can be used for all sorts of tasks besides communication, like package-signing or encryption of backups.
The simple design of two checkboxes is the straightforward way of applying the OpenPGP message format to e-mail.
But that doesn’t mean it’s a good idea to do so.&lt;/p&gt;

&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;For the reasons outlined above, we dropped support for encrypted-only mails.
We urge other mail clients to do the same.&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>K-9 Mail 5.200 with PGP/MIME support</title>
        <link>https://www.openkeychain.org/k-9-5.200</link>
        <pubDate>Wed, 04 Jan 2017 00:00:00 +0000</pubDate>
        <author>OpenKeychain-Team</author>
        <description>&lt;p&gt;&lt;a href=&quot;https://k9mail.github.io/2016/12/26/K-9-Mail-5.200-released.html&quot;&gt;&lt;strong&gt;K-9 Mail 5.200&lt;/strong&gt;&lt;/a&gt; has been released, which finally supports the PGP/MIME standard.
It also provides a new user interface for even easier end-to-end encryption.&lt;/p&gt;

&lt;p&gt;Support for PGP/MIME required a lot of internal changes and extensions to K-9 Mail to get it working with &lt;a href=&quot;https://www.openkeychain.org/&quot;&gt;OpenKeychain&lt;/a&gt;.
&lt;a href=&quot;https://github.com/valodim&quot;&gt;Vincent Breitmoser&lt;/a&gt; did most of the work on this.
He was able to work on it full-time for a year thanks to the generous &lt;a href=&quot;https://www.opentech.fund/project/k-9-mail&quot;&gt;funding&lt;/a&gt; of the &lt;a href=&quot;https://www.opentech.fund/&quot;&gt;Open Tech Fund&lt;/a&gt;.
A huge thank you to them!&lt;/p&gt;

&lt;p&gt;We also like to thank &lt;a href=&quot;https://github.com/cketti&quot;&gt;cketti&lt;/a&gt;, the maintainer of K-9 Mail, and all other contributors, especially &lt;a href=&quot;https://github.com/philipwhiuk&quot;&gt;Philip Whitehouse&lt;/a&gt; who contributed a lot of patches.&lt;/p&gt;

&lt;p&gt;The new version should be available on &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.fsck.k9&quot;&gt;Google Play&lt;/a&gt; and &lt;a href=&quot;https://f-droid.org/repository/browse/?fdid=com.fsck.k9&quot;&gt;F-Droid&lt;/a&gt; shortly.
If you can’t wait, go &lt;a href=&quot;https://github.com/k9mail/k-9/releases/tag/5.200&quot;&gt;grab the APK from GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;- Vincent Breitmoser, Dominik Schürmann&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>OpenPGP Considerations, Part I: Signed-Only Mails</title>
        <link>https://www.openkeychain.org/OpenPGP-Considerations-Part-I</link>
        <pubDate>Thu, 24 Nov 2016 00:00:00 +0000</pubDate>
        <author>OpenKeychain-Team</author>
        <description>&lt;p&gt;(This is a cross-post from &lt;a href=&quot;https://k9mail.github.io/2016/11/24/OpenPGP-Considerations-Part-I.html&quot;&gt;K-9 Mail Blog&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;I have been working &lt;a href=&quot;https://www.openkeychain.org/k-9&quot;&gt;for some time now&lt;/a&gt; on the OpenPGP support in K-9 Mail.
At this point, I finished implementing basic OpenPGP functionality, which is now in the &lt;a href=&quot;https://play.google.com/apps/testing/com.fsck.k9&quot;&gt;alpha channel&lt;/a&gt; and due for release soon.
I also spent a lot of time thinking about use cases, user experience, and usability of OpenPGP as a protocol and as an ecosystem.
I was lucky to meet people who would share their point of view on this subject, including fellow developers, activists, and both hardcore and casual users.
Unfortunately, these groups of people often have conflicting views, and there is no consensus about the direction OpenPGP is going.&lt;/p&gt;

&lt;p&gt;The OpenPGP implementation in K-9 Mail is opinionated, and some of the ideas and decisions are different from other implementations.
Some decisions are not obvious to long-time users of OpenPGP implementations, or outright clash with their expectations.
I spent considerable time arguing these decisions on our issue tracker, on our irc channel, and in person.
This is a good thing - if I can’t argue my decisions, they probably aren’t reasonable.
But I feel like I should make a better effort to keep everyone on the same page, which is why I’m going to write a series of blog posts about the thought processes and considerations that led to the design decisions made in K-9 Mail.&lt;/p&gt;

&lt;p&gt;I’ll start in this post with one of the later changes I made:&lt;/p&gt;

&lt;h2 id=&quot;signed-only-mails-considered-harmful&quot;&gt;Signed-Only Mails Considered Harmful&lt;/h2&gt;

&lt;p&gt;(I apologize for the section title, but it’s true!)&lt;/p&gt;

&lt;p&gt;In a relatively recent pull request, I decided to demote signed-only mails from an encouraged workflow to a supported workflow.
What this means is that everything related to signed-only mails has been moved into an opt-in feature.
Without enabling this feature, the user will neither see the status of signed-only mails, nor will they find an option to send them.&lt;/p&gt;

&lt;p&gt;Secure communication requires both authentication and confidentiality.
It’s possible to get one without the other: You can send signed-only mails, giving you only authentication, and you can send encrypted-but-not-signed mails, giving you only confidentiality.
I firmly believe that both of those are &lt;em&gt;misfeatures&lt;/em&gt;, which stand in the way of getting the &lt;em&gt;thing to be done&lt;/em&gt; into a usable state.
The &lt;em&gt;thing to be done&lt;/em&gt; with OpenPGP for email is &lt;em&gt;secure communication&lt;/em&gt;.
For today, I will stick to the former part, signed-only mails.&lt;/p&gt;

&lt;h3 id=&quot;signed-only-mails-are-useless&quot;&gt;Signed-Only Mails are Useless&lt;/h3&gt;

&lt;p&gt;No, really.
Signed-Only mails, for general communication, are useless.
Consider a scenario where you know a user who usually signs their emails, and you receive an email from them with content that is reasonable in context.
Now, what happens if that email is not signed?
Or if the signature doesn’t check out?
Be honest now: Would this trigger an actual reaction for you, in day-to-day emailing?
Has it, in the past?&lt;/p&gt;

&lt;p&gt;The answer for me is, if someone sends an email that is not signed but makes sense in context, I will not question the content.
Even with a broken signature, &lt;em&gt;especially&lt;/em&gt; on mailing lists, the assumption is going to be that the mail just broke on the way.
If someone wants to send a secure e-mail to me, they will encrypt it.&lt;/p&gt;

&lt;p&gt;There are &lt;a href=&quot;https://riseup.net/en/canary&quot;&gt;times&lt;/a&gt; and &lt;a href=&quot;https://lists.debian.org/debian-ctte/2014/02/msg00281.html&quot;&gt;places&lt;/a&gt; for signed text, and it’s nice that OpenPGP supports this.
But in day-to-day communication, where you just want to &lt;em&gt;communicate&lt;/em&gt;, it serves no purpose.&lt;/p&gt;

&lt;h3 id=&quot;signed-only-mails-are-not-free&quot;&gt;Signed-Only Mails are Not Free&lt;/h3&gt;

&lt;p&gt;So, what’s the issue?
Signatures may not be very useful, but some people really like sending people &lt;code class=&quot;highlighter-rouge&quot;&gt;signature.asc&lt;/code&gt; attachments!
Where’s the harm in that?&lt;/p&gt;

&lt;p&gt;The harm is that signed-only mails are not only not free, they come in fact at a very high cost.
That cost is &lt;em&gt;complexity&lt;/em&gt;.
It is complexity in the implementation, complexity in the user interface, complexity in the ecosystem.&lt;/p&gt;

&lt;p&gt;Complexity in the implementation is fine.
Couple hundred, maybe a thousand lines of code, for handling detached signatures and displaying state of signed emails.
Been there, done that.&lt;/p&gt;

&lt;p&gt;Complexity in the user interface is &lt;em&gt;bad&lt;/em&gt;.
For most users, the bearable complexity for a “How secure am I?” indicator is two states: “You are safe”, and “You are not safe”.
We’re already in trouble with handling expired or revoked keys, and insecure algorithms, but those aren’t things we can get rid of easily.
An indicator state for authenticated but non-confidential communication introduces a whole set of states of “I have no idea what is going on” to everyone but the most technical of users.
Right into the place where we really want to inform the user about &lt;em&gt;important stuff&lt;/em&gt;, in a way that is &lt;em&gt;as clear and concise&lt;/em&gt; as possible.&lt;/p&gt;

&lt;p&gt;Complexity in the ecosystem is &lt;em&gt;the worst&lt;/em&gt;.
It’s fine that OpenPGP as a message format can do a lot of things that most users don’t understand or care about.
But what we are building here, on top of this protocol, should be secure communication.
Signatures are a thing that few people understand, that even less people really want to use, yet that many feel pressured into using uncomfortably or use as a point of pride because it feels kinda exclusive, but that is in the end so unreliable that its benefit is nothing short of questionable.&lt;/p&gt;

&lt;p&gt;There is a name for this, plain and simple: it’s bloat.
It’s bloat we’ve been dragging along in the OpenPGP user experience for far too long.
It’s time we got rid of it.&lt;/p&gt;

&lt;p&gt;- Vincent Breitmoser&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>German Study Published: “Usage of OpenPGP on Android”</title>
        <link>https://www.openkeychain.org/bsi-study</link>
        <pubDate>Mon, 19 Sep 2016 00:00:00 +0000</pubDate>
        <author>OpenKeychain-Team</author>
        <description>&lt;p&gt;As a subcontractor, Vincent Breitmoser (OpenKeychain) and Dominik Schürmann (OpenKeychain/TU Braunschweig), participated in the &lt;a href=&quot;https://wiki.gnupg.org/Gpg4all2015&quot;&gt;Gpg4all&lt;/a&gt; project led by &lt;a href=&quot;https://intevation.de&quot;&gt;Intevation GmbH&lt;/a&gt; and &lt;a href=&quot;https://g10code.com&quot;&gt;g10 Code GmbH&lt;/a&gt;.
The project has been published as a &lt;a href=&quot;https://www.evergabe-online.de/tenderdetails.html?id=96237&quot;&gt;public tender&lt;/a&gt; and is funded by the German &lt;a href=&quot;https://www.bsi.bund.de&quot;&gt;Federal Office for Information Security (BSI)&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One part of this project was to create a study of the current state of OpenPGP support on Android.
We defined requirements for OpenPGP implementations on mobile devices, in particular on the Android Operating System and provide an overview over currently available apps to evaluate if their functionality satisfies the requirements.
Based on this evaluation, we propose several further development opportunities based on OpenKeychain.&lt;/p&gt;

&lt;p&gt;We are happy to announce that the results of this study have now been &lt;a href=&quot;https://www.bsi.bund.de/DE/Publikationen/Studien/OpenPGP/openpgpandroid.html&quot;&gt;published under the Creative Commons License (CC-BY-SA) on the BSI website&lt;/a&gt; (German only).&lt;/p&gt;

&lt;p&gt;- Vincent Breitmoser and Dominik Schürmann&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>Free Fidesmo Cards for New Contributors</title>
        <link>https://www.openkeychain.org/pr-incentive</link>
        <pubDate>Tue, 16 Aug 2016 00:00:00 +0000</pubDate>
        <author>OpenKeychain-Team</author>
        <description>&lt;p&gt;&lt;img style=&quot;float: right; padding: 10px; width: 180px; height: 180px;&quot; src=&quot;https://www.openkeychain.org/public/images/fidesmo_card.svg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Every now and then we receive pull requests from contributors which fix bugs, make improvements or even add a new feature to OpenKeychain.
This is what open source is all about, and it’s what keeps us going.
So we decided that we want to reward those awesome people who spend their time and effort making OpenKeychain the best app it can be.&lt;/p&gt;

&lt;p&gt;Starting today, as a token reward we will send a free &lt;a href=&quot;http://shop.fidesmo.com/product/fidesmo-privacy&quot;&gt;Fidesmo card&lt;/a&gt; with the OpenPGP applet preinstalled to new contributors!
Just submit a (non-trivial) pull request, you are eligible once we merge it.
To keep the bureaucratic overhead to a minimum, we will simply ask for an address to send the card to after we merge, and the card will be sent directly from our friends over at &lt;a href=&quot;https://www.fidesmo.com/&quot;&gt;Fidesmo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;- Vincent Breitmoser and Dominik Schürmann&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>Cooperation with the Localization Lab</title>
        <link>https://www.openkeychain.org/localizationlab</link>
        <pubDate>Fri, 15 Apr 2016 00:00:00 +0000</pubDate>
        <author>OpenKeychain-Team</author>
        <description>&lt;p&gt;&lt;a href=&quot;https://www.transifex.com/otf/open-keychain/&quot;&gt;&lt;img style=&quot;float: right; padding: 10px;&quot; src=&quot;https://www.openkeychain.org/public/images/localizationlab.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Until today, translations of OpenKeychain were managed by me on Transifex.
Due to my focus on developing OpenKeychain and producing code, I wasn’t able to coordinate the translation efforts in a good way or to improve the translation by myself.&lt;/p&gt;

&lt;p&gt;Today, I am happy to announce that we now cooperate with the &lt;a href=&quot;http://www.localizationlab.org/&quot;&gt;Localization Lab&lt;/a&gt;.
That means that we moved the coordination and management of our translations on Transifex to their &lt;a href=&quot;https://www.transifex.com/otf/open-keychain/&quot;&gt;organization&lt;/a&gt;.
The Localization Lab is a global community of volunteer translators who support the translation and localization of Internet freedom tools, such as OpenKeychain.
They translate more than 30 tools into over 180 different languages and dialects and currently expand their translations of tools in Tagalog, Khmer, Vietnamese, Burmese, Laotian, Indonesian, Thai and Chinese (simplified and traditional scripts).
The Localization Lab community is growing and this year will be coming together for community events, translation sprints and other fun activities that will push forward the localization of these tools.
You can find out more about their efforts on &lt;a href=&quot;http://www.localizationlab.org/&quot;&gt;www.localizationlab.org&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;- Dominik Schürmann&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>Google Summer of Code 2016, and OpenKeychain 3.9: Performance Improvements and Text Handling</title>
        <link>https://www.openkeychain.org/openkeychain-3-9</link>
        <pubDate>Thu, 10 Mar 2016 00:00:00 +0000</pubDate>
        <author>OpenKeychain-Team</author>
        <description>&lt;h1 id=&quot;google-summer-of-code-2016&quot;&gt;Google Summer of Code 2016&lt;/h1&gt;

&lt;p&gt;We are happy to announce that we have been accepted as an organization for &lt;a href=&quot;https://summerofcode.withgoogle.com/&quot;&gt;Google Summer of Code 2016&lt;/a&gt;!
We had a very positive experience with GSoC in the past years, gaining new contributors and features, and we hope the outcome will be equally successful this year!
Our issue tracker is already happily abuzz with students handing in their patches.&lt;/p&gt;

&lt;p&gt;If you are a student and want to get paid for coding that feature you always wanted to see in OpenKeychain, check out our &lt;a href=&quot;https://github.com/open-keychain/open-keychain/wiki/Google-Summer-of-Code-2016&quot;&gt;GSoC 2016 Page&lt;/a&gt; and get involved!&lt;/p&gt;

&lt;h1 id=&quot;openkeychain-39&quot;&gt;OpenKeychain 3.9&lt;/h1&gt;

&lt;p&gt;We released OpenKeychain 3.9 last thursday!&lt;/p&gt;

&lt;p&gt;A few words on the major changes:&lt;/p&gt;

&lt;h2 id=&quot;performance&quot;&gt;Performance&lt;/h2&gt;
&lt;p&gt;Compared to security, the performance of our code was never a &lt;em&gt;huge&lt;/em&gt; priority for us.
However, we received an increasing number of reports that the decryption and signing routines were really slow under certain circumstances.
In this new release, we got rid of some bottlenecks and use better caching, which should lead to a significant speedup for all crypto operations.&lt;/p&gt;

&lt;h2 id=&quot;handling-of-encrypted-text&quot;&gt;Handling of Encrypted Text&lt;/h2&gt;
&lt;p&gt;An encrypted data file usually includes some amount of metadata on the encrypted content.
This includes things like the filename of the encrypted file, a modification date, and a flag whether the data is plain text or binary.
Until now, we mostly trusted this data - if it said it was text, we displayed it as text, if it said the content was binary, we treated it as binary, if there was a filename, we tried to guess the type by its file extension.
This &lt;em&gt;mostly&lt;/em&gt; works - encrypting a &lt;code class=&quot;highlighter-rouge&quot;&gt;file.pdf&lt;/code&gt; will detect the filetype as pdf, and offer PDF Viewers in the list of apps to open the file with.&lt;/p&gt;

&lt;p&gt;However, there is the special case of an encrypted text which is marked as binary, and also comes with no filename.
With no information about the file content, we only supported saving the data and opening it as a generic binary file - for which no Apps usually exist to handle it.
This is correct behavior - but not particularly helpful if the user &lt;em&gt;knows&lt;/em&gt; that the data is just a text and simply wants to view it.
Unfortunately, text data is incorrectly marked as binary quite often.&lt;/p&gt;

&lt;p&gt;To improve on this situation, we now treat data where we have no better information about its content as plaintext, &lt;em&gt;if&lt;/em&gt; it contains no invalid characters for an UTF-8 encoding.
We hope this change works as intended in most cases.&lt;/p&gt;

&lt;p&gt;- Vincent Breitmoser, Dominik Schürmann&lt;/p&gt;
</description>
      </item>
    

  </channel>
</rss>
