Homomorphic encryption is a special type of encryption that lets you do calculations on encrypted values as if they weren’t encrypted. One reason it’s desired is that secure computing could be done in the cloud, if practical homomorphic encryption were … Continue reading

# Category Archives: Cryptography

This post is on something called Shamir’s Secret Sharing. It’s a technique where you can break a secret number up into different pieces, where if you have any of those pieces, you are able to figure out the secret. Thinking … Continue reading

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

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

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

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

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

If you have no idea what a Feistel network is, but like cryptography and/or random number generation algorithms, read this link first: Fast & Lightweight Random “Shuffle” Functionality – FIXED! As a quick refresher, to encrypt data with a Feistel … Continue reading

At first i said the answer was to check this out: Diehard Battery of Tests of Randomness which is linked to by this page which may also be of interest: Tests for Random Number Generators. But apparently that is the … Continue reading

TL;DR – I’ve always heard rand() sucked for generating (cryptographically strong) random numbers, but it turns out it’s just kind of bad in general too LOL. OK so this is bizarre, I made a default settings console project in MSVC … Continue reading