-
OpenBSD 7.5 (amd64) via qemu on Hetzner physical machine (no phys. access / KVM console)
"Life is really simple, but we insist on making it complicated." -- Confucius via ChatGPT Exercise Setup OpenBSD 7.5 on a physical machine with Hetzner (~35 EUR per month) with RAID1 on 2 SSD drives and encrypted partition. We neither have access to OpenBSD installation images directly nor can we...
-
Conway's Game Of Life (C/OpenGL)
Not the board game A couple of years ago, when I first heard about Game of Life, all I could think of was the board game. When I ran the program for the first time - probably an ASCII version under FreeBSD, somewhere around 2003 - , I did not...
-
Throwback (1): Israel 2017
-
AES (3/3): Encryption and Decryption
Overview With all the calculations and lookup tables from the previous articles, we are now able to specify the actual enciphering and deciphering functions, including some tests taken from the original paper to make sure the implementation works in a sane manner. Configuration By using the macro definition AES_CALCULATE_LOOKUP_TABLES in...
-
AES (2/3): A Description of AES Lookup Tables
Proof of concept The actual motivation behind the previous article is that I did not want to just copy & paste the AES lookup tables from the book or other implementations, I wanted them to calculate them by myself. It might make sense for a tiny implementation, with limited ram...
-
AES (1/3): An Introduction to Galois Fields
Progression can only be achieved by something you have never done before. Unlike DES, which is a Feistel cipher, AES is using substitution-permutation networks. These substitution permutations happen within Finite Fields, so called Galois Fields, in honour of the French mathematician Évariste Galois. Before we start going deeper into the...
-
Overview: Advanced Encryption Standard (AES, 2001)
Overview : Advanced Encryption Standard (AES, 2001) AES (1/3): An Introduction to Galois Fields AES (2/3): A Description of AES Lookup Tables AES (3/3): Encryption and Decryption We choose to go to the Moon As a self-imposed programming challenge I started to have a closer look into the topic of...
-
Improving Security: Cipher Block Chaining
Background One of the caveats regarding block ciphers I mentioned in my DES article was “Encrypting identical input blocks”. The actual problem here is that redundant input blocks will always result in the same output block when encrypted. Encrypting data, holding recurring structure or metadata, with a so called Electronic...
-
RFC 4648: Base64 Encoding, Tutorial in C
Background Base64 encoding can be found in many modern applications like browsers or e-mail Clients. Stating RFC 4648, base64 “is used in many situations to store or transfer data in environments that, perhaps for legacy reasons, are restricted to US-ASCII”. However, it is also very handy in case you want...
-
Hacking X-COM: Terror From The Deep (Demo, 1996)
Hmm? It must have been around 1996 when I first heard about X-COM: TERROR FROM THE DEEP. It is the sequel to the round-based strategy game classic UFO: ENEMY UNKOWN, where you have to defeat an alien invasion with your pixel soldier squad. This time the mean alien bastards came...
-
Implementing DES Algorithm (1977) in C
How come? I’m generally interested in how technology inside works. A couple of month ago I started to have a closer look into the encryption algorithm AES. On youtube I found the excellent lectures from Christof Paar, held at the University of Bochum. Neither do I have a mathematical background...
-
Huffman Coding (1954) - A Method for the Construction of Minimum-Redundancy
Introduction Back in 1996 a friend at school introduced me to the MS-DOS compression program called ARJ. We used it to share some of the content of our hard disks during the break using several 3.5” floppy disks. Wikipedia states “Generally ARJ was less popular than PKZIP, but it did...
-
Using LibreSSL to make a HTTPS call
What is OpenSSL? Back in 1998 the OpenSSL project released an open source library that contains software routines and algorithms to setup and secure internet communication. Twenty years later, in 2018, OpenSSL is still widely spread around in operating systems, browsers, e-mail clients and so on. According to GitHub the...
-
Neue Blogsoftware
Neuer Server, neue Blog Software, Katzenbilder.