Below you will find pages that utilize the taxonomy term “Crypto”
July 15, 2022
Adding very large integers in 8 Bit BASIC
Adding integers with hundreds of digits using string manipulation in Commodore BASIC. When your numbers are too big for Wolfram Alpha.
July 7, 2022
MOS paper tape format
Understanding the MOS paper tape format used by the KIM-1 and other 6502 systems. Breaking down the hex format line by line with checksum verification.
March 21, 2022
The terrible random number generation in the Commodore 64 (and 128)
Visualizing the poor randomness of RND() on the Commodore 64 and 128 compared to the PET and Plus/4. Clear patterns emerge when you plot the output.
October 28, 2021
Dice frequency
Testing the Commodore 64’s random number generator by simulating dice rolls and comparing the frequency distribution to theoretical values.
May 15, 2021
Quick Post: Modulus in BASIC 2 without a cartridge
How to perform modulo operations in Commodore BASIC 2 without a cartridge. A one-line solution for VIC-20 and C64.
May 13, 2021
Making and breaking Ciphers on the Commodore 64 Part 12 - Pontifex - Solitaire from Cryptonomicon
Implementing Pontifex/Solitaire—the playing card cipher from Cryptonomicon designed by Bruce Schneier—on the Commodore 64.
May 10, 2021
Making and breaking Ciphers on the Commodore 64 Part 11 - One time pads on a Commodore 64, probably a bad idea
Generating one-time pads on a Commodore 64. Probably a bad idea for real security, but it looks cool.
April 28, 2021
Making and breaking Ciphers on the Commodore 64 Part 10 - Finding hash collisions with a type in game from 1984
Understanding hash collisions by finding them in a simple checksum from a 1984 type-in game. Demonstrating why weak hashes fail.
April 26, 2021
Making and Breaking Ciphers with Commodore 64 Part 9 - Finding Smallish Primes
Finding prime numbers on the Commodore 64 for cryptographic purposes. A practical introduction to primes and primality testing.
April 19, 2021
Making and breaking Ciphers on the Commodore 64 Part 8 - RC4
Implementing the RC4 stream cipher on the Commodore 64, exploring the algorithm that powered WEP, WPA, and many other encryption protocols.
April 6, 2021
Making and breaking Ciphers on the Commodore 64 Part 7 - Pseudo Random with Linear Congruential Generators
Exploring pseudo-random number generation on the Commodore 64 using Linear Congruential Generators, a key building block for cryptographic applications.
April 1, 2021
Making and Breaking Ciphers with a Commodore 64 - Part 6: XOR is Magical - Data recovery
Understanding the XOR operation and its magical properties for data recovery in cryptography and disk storage on the Commodore 64.
March 29, 2021
Quick post: Determining length in Commodore Assembly
A quick tutorial on determining string length in 6510 assembly language, comparing the approach to Python’s simple len() function.
March 8, 2021
Making and Breaking Ciphers with a Commodore 64 - Part 4: The PIN Program from Terminator 2
Recreating the Terminator 2 ATM PIN cracker scene on the Commodore 64, using SID chip random numbers and 6502 assembly.
March 7, 2021
Making and Breaking Ciphers with a Commodore 64 - Part 3: The Caesar Cipher
Building a Caesar cipher encoder and brute-force decoder on the Commodore 64, demonstrating how to crack simple substitution ciphers programmatically.
March 1, 2021
Making and Breaking Ciphers with Python, er Commodore- Part 2: The Shift Cipher
Implementing the shift cipher on the Commodore 64, encoding messages by rotating alphabet positions similar to a physical code wheel.
February 24, 2021
Making and Breaking Ciphers with Python, er, a Commodore- Part 1: The Reverse Cipher
Starting a series on implementing ciphers in Commodore assembly language, beginning with a simple string reversal as the first building block.
February 10, 2021
Simple, 'unbreakable' encryption with a pencil
Implementing a one-time pad cipher by hand using dice-generated random numbers, inspired by the encryption methods in Cryptonomicon.