C64 · code
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.
Mar 21, 2022 · 4 min
C64 · code
Making and breaking Ciphers on the Commodore 64, er VIC-20 - Lagged Fibonacci Sequence and a little Monte Carlo while embracing contraints
Generating pseudo-random numbers with the Lagged Fibonacci Sequence on the VIC-20. Building reusable BASIC subroutines for the cipher toolbox.
Jun 9, 2021 · 7 min
C64 · code
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 13, 2021 · 9 min
C64 · code
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.
May 10, 2021 · 3 min
C64 · code
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.
Apr 28, 2021 · 8 min
C64 · code
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.
Apr 26, 2021 · 7 min
C64 · code
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.
Apr 19, 2021 · 9 min
C64 · code
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 …
Apr 6, 2021 · 9 min
C64 · code
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.
Apr 1, 2021 · 3 min
C64 · code
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.
Mar 29, 2021 · 1 min
C64 · Commodore
Making and Breaking Ciphers with a Commodore 64 - Part 5: Wargames
Recreating the WarGames movie launch code sequence on the Commodore 64, implementing brute-force hash table searching in assembly.
Mar 16, 2021 · 7 min
C64 · Commodore
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.
Mar 8, 2021 · 4 min
C64 · Commodore
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.
Mar 7, 2021 · 6 min
C64 · code
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.
Mar 1, 2021 · 8 min
C64 · Commodore
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.
Feb 24, 2021 · 4 min
C64 · Commodore
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.
Feb 10, 2021 · 8 min