<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

<title>New stuff</title>
<link href="http://loup-vaillant.fr/"/>
<updated>2017-01-10</updated>
<author>
  <name>Loup Vaillant</name>
</author>
<id>tag:loup-vaillant.fr/</id>

<entry>
  <title>A SOLID Load of Bull</title>
  <link href="http://loup-vaillant.fr/articles/solid-bull"/>
  <id>tag:http://loup-vaillant.fr/articles/solid-bull</id>
  <updated>2025-12-31</updated>
  <summary>
    The so called SOLID "principles" are not nearly as useful as their
    reputation suggest.  Not that surprising, considering their origins.
  </summary>
</entry>

<entry>
  <title>Good, Fast, Cheap: Pick 3 or Get None</title>
  <link href="http://loup-vaillant.fr/articles/good-fast-cheap"/>
  <id>tag:http://loup-vaillant.fr/articles/good-fast-cheap</id>
  <updated>2025-01-05</updated>
  <summary>
    Common wisdom says the only way to cheap software is to skimp on
    quality or performance.  On the contrary, quality and performance
    are <em>requirements</em> for cheap software.
  </summary>
</entry>

<entry>
  <title>Monocypher 4: The Clean Break</title>
  <link href="http://loup-vaillant.fr/articles/monocypher-4"/>
  <id>tag:http://loup-vaillant.fr/articles/monocypher-4</id>
  <updated>2023-09-01</updated>
  <summary>
    How a paid assignment had me reconsider Monocypher's API, leading to
    sweeping changes and simplifications.
  </summary>
</entry>

<entry>
  <title>Fixing the TPM: Hardware Security Modules Done Right</title>
  <link href="http://loup-vaillant.fr/articles/hsm-done-right"/>
  <id>tag:http://loup-vaillant.fr/articles/hsm-done-right</id>
  <updated>2023-08-18</updated>
  <summary>
    The way the TPM is done leads to bloat.  The TKey shows a better
    way.
  </summary>
</entry>

<entry>
  <title>The Source of Readability</title>
  <link href="http://loup-vaillant.fr/articles/source-of-readability"/>
  <id>tag:http://loup-vaillant.fr/articles/source-of-readability</id>
  <updated>2023-08-04</updated>
  <summary>
    Readability is more objective than you'd think
  </summary>
</entry>

<entry>
  <title>Cryptography is not Magic</title>
  <link href="http://loup-vaillant.fr/articles/crypto-is-not-magic"/>
  <id>tag:http://loup-vaillant.fr/articles/crypto-is-not-magic</id>
  <updated>2020-07-25</updated>
  <summary>
    Crypto is often treated like a black art only anointed experts can
    hope to wield safely.  It's not.  There are laws, and we can learn
    them.
  </summary>
</entry>

<entry>
  <title>Surrounded by Elligators: Implementing Crypto With Nothing to Compare to</title>
  <link href="http://loup-vaillant.fr/articles/implementing-elligator"/>
  <id>tag:http://loup-vaillant.fr/articles/implementing-elligator</id>
  <updated>2020-04-15</updated>
  <summary>
    How I implemented Elligator mappings from the original paper,
    with almost no other reference.
  </summary>
</entry>

<entry>
  <title>Cofactor Explained: Clearing Elliptic Curves' dirty little secret</title>
  <link href="http://loup-vaillant.fr/tutorials/cofactor"/>
  <id>tag:http://loup-vaillant.fr/tutorials/cofactor</id>
  <updated>2020-04-07</updated>
  <summary>
    Efficient elliptic curves tend not to have a prime order.  This
    discusses the problems this causes, and the solutions.
  </summary>
</entry>

<entry>
  <title>128 Bits of Security and 128 Bits of Security: Know the Difference</title>
  <link href="http://loup-vaillant.fr/tutorials/128-bits-of-security"/>
  <id>tag:http://loup-vaillant.fr/tutorials/128-bits-of-security</id>
  <updated>2020-01-24</updated>
  <summary>
    Depending on whether we talk about ciphers and hashes, "bits of
    security" don't really mean the same thing.  This explains the
    differences, and how it might affect the security of your
    cryptographic systems.
  </summary>
</entry>

<entry>
  <title>Fast Multiplication with Slow Additions</title>
  <link href="http://loup-vaillant.fr/tutorials/fast-scalarmult"/>
  <id>tag:http://loup-vaillant.fr/articles/after-your-project-is-done</id>
  <updated>2018-08-20</updated>
  <summary>
    Public key cryptography often need fast scalar multiplication over a
    group with pretty slow additions.  This explains the tricks.
  </summary>
</entry>

<entry>
  <title>What is Left to do After your Open Source Project is Done</title>
  <link href="http://loup-vaillant.fr/articles/after-your-project-is-done"/>
  <id>tag:http://loup-vaillant.fr/articles/after-your-project-is-done</id>
  <updated>2018-03-12</updated>
  <summary>
    Hint: loads.
  </summary>
</entry>

<entry>
  <title>How I Implemented my Own Crypto</title>
  <link href="http://loup-vaillant.fr/articles/implemented-my-own-crypto"/>
  <id>tag:http://loup-vaillant.fr/articles/implemented-my-own-crypto</id>
  <updated>2017-08-03</updated>
  <summary>
    Despite advice to the contrary, I have implemented my own crypto
    for serious use.  Here's how.
  </summary>
</entry>

<entry>
  <title>Monocypher</title>
  <link href="http://loup-vaillant.fr/projects/monocypher"/>
  <id>tag:http://loup-vaillant.fr/projects/monocypher</id>
  <updated>2017-07-19</updated>
  <summary>
    Monocypher 1.0 is out!  Now ready for production.
  </summary>
</entry>

<entry>
  <title>The Programmer's Ring</title>
  <link href="http://loup-vaillant.fr/articles/programming-ring"/>
  <id>tag:http://loup-vaillant.fr/projects/articles/programming-ring</id>
  <updated>2017-03-03</updated>
  <summary>
    I had a ring made for me, to represent my trade.
  </summary>
</entry>

<entry>
  <title>The design of Poly1305</title>
  <link href="http://loup-vaillant.fr/tutorials/poly1305-design"/>
  <id>tag:http://loup-vaillant.fr/tutorials/poly1305-design</id>
  <updated>2017-01-29</updated>
  <summary>
    Poly1305 is a state of the art one time authenticator.
    Let's take a look.
  </summary>
</entry>

<entry>
  <title>The design of Chacha20</title>
  <link href="http://loup-vaillant.fr/tutorials/chacha20-design"/>
  <id>tag:http://loup-vaillant.fr/tutorials/chacha20-design</id>
  <updated>2017-01-10</updated>
  <summary>
    Chacha20 is a secure, fast, and amazingly simple encryption
    algorithm.  Let's take a look.
  </summary>
</entry>

</feed>
