<story><title>Age – a simple, modern and secure file encryption tool, format, and Go library</title><url>https://github.com/FiloSottile/age</url></story><parent_chain><item><author>upofadown</author><text>Age is great and all but it has a huge footgun. It encourages the user to encrypt material with a public key in a way that is entirely unauthenticated. So an attacker with access to that public key can simply overwrite the file with whatever they want. If ensuring that you end up with the same stuff as you encrypted is important than that can be a big problem. Fixing this involves the use of a separate signing utility and thus introduces an entirely different set of keys for the user to manually manage.&lt;p&gt;By doing the key management for the user, GPG actually ends up being a lot more usable...</text></item></parent_chain><comment><author>woodruffw</author><text>I&amp;#x27;m not sure I understand this comment: age doesn&amp;#x27;t have authenticated encryption, but neither does PGP. The closest thing in PGP is the &amp;quot;Modification Detection Code,&amp;quot; which is hilariously broken[1].&lt;p&gt;Edit: On top of that, every PGP implementation that I&amp;#x27;ve ever worked with happily streams unauthenticated, decrypted plaintext before completing MDC verification.&lt;p&gt;[1]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;latacora.micro.blog&amp;#x2F;2019&amp;#x2F;07&amp;#x2F;16&amp;#x2F;the-pgp-problem.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;latacora.micro.blog&amp;#x2F;2019&amp;#x2F;07&amp;#x2F;16&amp;#x2F;the-pgp-problem.html&lt;/a&gt;</text></comment>
<story><title>Age – a simple, modern and secure file encryption tool, format, and Go library</title><url>https://github.com/FiloSottile/age</url></story><parent_chain><item><author>upofadown</author><text>Age is great and all but it has a huge footgun. It encourages the user to encrypt material with a public key in a way that is entirely unauthenticated. So an attacker with access to that public key can simply overwrite the file with whatever they want. If ensuring that you end up with the same stuff as you encrypted is important than that can be a big problem. Fixing this involves the use of a separate signing utility and thus introduces an entirely different set of keys for the user to manually manage.&lt;p&gt;By doing the key management for the user, GPG actually ends up being a lot more usable...</text></item></parent_chain><comment><author>sixhobbits</author><text>One of the things I like most about Age is that it made the very deliberate choice to __not__ become a general tool like GPG, and focuses only on one thing: secure encryption. You can read some of the reasoning about specifically not supporting signing as well here [0], but TL;DR -- it&amp;#x27;s a hard problem and age isn&amp;#x27;t really designed for communication and doesn&amp;#x27;t want to become a &amp;quot;a worse version of signal&amp;quot;.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;FiloSottile&amp;#x2F;age&amp;#x2F;issues&amp;#x2F;51&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;FiloSottile&amp;#x2F;age&amp;#x2F;issues&amp;#x2F;51&lt;/a&gt;</text></comment>