<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cryptography on billpg industries™</title><link>https://owl.billpg.com/tags/cryptography/</link><description>Recent content in Cryptography on billpg industries™</description><generator>Hugo</generator><language>en-us</language><copyright>© William Godfrey.</copyright><lastBuildDate>Fri, 27 Mar 2026 17:46:42 +0000</lastBuildDate><atom:link href="https://owl.billpg.com/tags/cryptography/index.xml" rel="self" type="application/rss+xml"/><item><title>"All files are numbers"</title><link>https://owl.billpg.com/all-files-are-numbers/</link><pubDate>Fri, 27 Mar 2026 17:46:42 +0000</pubDate><guid>https://owl.billpg.com/all-files-are-numbers/</guid><description>&lt;p&gt;You hear this a lot. Someone wants to make a point about censorship, cryptography, or the futility of banning a particular blob of data. The argument goes like this: a file is just a sequence of 1s and 0s, and numbers are also sequences of 1s and 0s when written in binary. Therefore, banning a file is like banning a number. What next? Will the government outlaw 85?&lt;/p&gt;
&lt;p&gt;It’s a neat rhetorical trick. But every time I see it, I wince just a little, because here’s the awkward truth&amp;hellip;&lt;/p&gt;</description></item><item><title>Why do we repeatedly hash passwords in a loop?</title><link>https://owl.billpg.com/why-do-we-repeatedly-hash-passwords-in-a-loop/</link><pubDate>Tue, 28 Mar 2023 16:49:34 +0000</pubDate><guid>https://owl.billpg.com/why-do-we-repeatedly-hash-passwords-in-a-loop/</guid><description>&lt;p&gt;If you&amp;rsquo;re building a website that allows the pubic to log-in, you need to store your passwords so you can check your users are who they say they are when logging-in. This is my introduction to the current state of the art for storing your users&amp;rsquo; passwords in your database.&lt;/p&gt;
&lt;h2 id="make-it-someone-elses-problem"&gt;Make It Someone Else&amp;rsquo;s Problem&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ll say this right up front, the best way is to get someone else to do it. Use an outsourced service or install a component that deals with the whole thing. You&amp;rsquo;ll have passed responsibility to someone who&amp;rsquo;s very speciality is already knowing everything I&amp;rsquo;ve written here, as well as all the nuances I&amp;rsquo;ve skipped over.&lt;/p&gt;</description></item><item><title>Vinegar - refined Vigenère - can you break my cipher?</title><link>https://owl.billpg.com/vinegar-refined-vigenere-can-you-break-my-cipher/</link><pubDate>Sat, 12 Feb 2011 16:32:00 +0000</pubDate><guid>https://owl.billpg.com/vinegar-refined-vigenere-can-you-break-my-cipher/</guid><description>&lt;div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;
&lt;img src="https://owl.billpg.com/images/s200_4753829490_07cd82e76d_b.jpg" data-border="0" width="176" height="200" /&gt;
&lt;/div&gt;
&lt;p&gt;I&amp;rsquo;m idly interested in cryptography, the art of scrambling a message so that it can be transmitted securely, and only someone with the magic key can understand the message.&lt;/p&gt;
&lt;p&gt;When I was young, I designed a cryptographic algorithm. I thought I was so clever, but just because *I* couldn&amp;rsquo;t break it, that doesn&amp;rsquo;t make it secure.&lt;/p&gt;
&lt;p&gt;In this article, I present my naive cryptographic algorithm. It&amp;rsquo;s very flawed, so please don&amp;rsquo;t use it for anything important. Can you find the flaw?&lt;/p&gt;</description></item></channel></rss>