## Hiding a Lookup Table in a Modulus Operation

Lookup tables are a tool found in every programmer’s tool belt. Lookup tables let you pre-calculate a complex calculation in advance, store the results in a table (an array), and then during performance critical parts of your program, you access … Continue reading

## Quantum Computing For Programmers Part 2: Multiple Qubits

In part 1 (Quantum Computing For Programmers Part I: One Qubit) we looked at the basics of quantum computing and how to deal with a single qubit. Here we’ll talk about the interesting things that happen when you involve multiple … Continue reading

## Quantum Computing For Programmers Part Ib: Bloch Sphere

If you read anything on quantum computing you are extremely likely to see the Bloch sphere, so it’s probably important to explain what it is and how it works. Image from wikipedia: Wikipedia: Qubit The Bloch sphere is a way … Continue reading

## Quantum Computing For Programmers Part I: One Qubit

Are you a programmer? Do you have interest in learning how quantum computing works? Does hard core math and crazy abstract “philosophical” type physics questions about the nature of reality make you feel like you could never understand quantum computing? … Continue reading

## Quantum Computing References

I’m in the middle of some research to better understand quantum computing so that I can write a short series of blog posts entitled “Quantum Computing for Programmers”. These posts will be light on – and possibly completely absent of … Continue reading

## Solving Nested Modulus Equations

The above equation is pretty easy to solve, it just means that x is any value that when you divide by 2, gives a remainder of 1. x is all odd numbers. The more formal answer is: That reads as … Continue reading

## Solving Simultaneous Congruences (Chinese Remainder Theorem)

The equation above is a congruence. What it says is that x % 3 is 2. The equals sign with three bars means “is equivalent to”, so more literally what the equation says is “x is equivalent to 2, when … Continue reading

## Modular Multiplicative Inverse

This post is a pre-requisite for the next thing I want to talk about so may not make a whole lot of sense or be all that interesting until shown in that context. Say you have a function like this: … Continue reading

## Improving the Security of the Super Simple Symmetric Leveled Homomorphic Encryption Implementation

The last post showed a super simple encryption algorithm that let an untrusted person perform calculations with encrypted data such that when they gave the results back to you, you could decrypt them and get the results of the calculation … Continue reading

## Super Simple Symmetric Leveled Homomorphic Encryption Implementation

Homomorphic encryption is a pretty interesting thing. It allows you to do calculations on encrypted data such that when you decrypt the results, it’s as if you did the calculations on the unencrypted data. This allows computation to happen without … Continue reading