Notes: 'Hacking' on S63

TL;DR: The S63 encryption scheme is old and can be broken pretty easily depending on the information you have. These are some notes on how with a simple Python script to show what I mean. So this is an old standard that will soon be replaced by S100, but it’s still in place and used today. The encryption part of the scheme is mostly to allow data suppliers to license their data to users in a standardized way and collected payment for access to that data.
Read more

How Does S-63 Electronic Navigational Chart (ENC) Format Work?

TL;DR: S-63 is a standard used to encrypt official Electronic Navigational Charts (ENCs). Encryption and signing allow clients to be sure that they have official data and that it has not been tampered with. It also make it possible for data providers to license sections of the charts (cells) and be sure that they are not being shared illegally / pirated. This post gives an overview of the process and shows how to implement the key steps.
Read more

Newton Fractals Are Cool! And a Quick Intro to Newton's Method

Newton’s method is a root-finding algorithm that can be used to find the roots of differentiable functions. It is a very simple algorithm to implement, and it converges quickly in most cases, of course depending on the function. It is often used to find the roots of polynomials. For instance, in Chemical Engineering properties calculations, often cubic equations of state are used to model the behavior of fluids. These equations of state are cubic polynomials and most solved for their roots in most cases in order to compute fluid properties and phase equilibria.
Read more

Add Callout Captions to Camtasia 2023

TL;DR: Use the script below to add captions from a .srt file to a Camtasia 2023 project as callouts so they can be edited and styled. The script is available on GitHub. The Camtasia project file is just a JSON file, so this parses the captions from the .srt file and adds them to the project file as callouts. Not intended to produce polished captions, but rather to get the captions into the project so they can be edited and styled - basically as a time saver for the initial captioning process.
Read more

Notes From Cryptopals Challenges

TL;DR: I’m working through the Cryptopals Crypto Challenges, starting with knowing nothing about cryptography. These are my (not so) random notes and takeaways from them. Set 1 - Basics This was pretty quick and easy set to go through, but I’m glad I didn’t skip it. It introduced ‘repeating key XOR’ and how to break some cyphers ‘statistically’ using letter frequency. The most interesting part of the set was Breaking repeating key XOR and solution
Read more

Random Notes About Python's Random Module

TL;DR: Use the functions in the random module for modeling, simulations, games, sampling, etc. but use os.urandom, secrets, or random.SystemRandom for cryptographic applications. I know very little about cryptography and security, these are just my notes about stuff I recently learned. It uses the Mersenne Twister algorithm, which is a pseudorandom number generator with a period of 2^19937-1. It is one of the most widely used PRNGs in the world, and suitable for many applications.
Read more