Skip to content

Instantly share code, notes, and snippets.

View atoponce's full-sized avatar
Crypto coffee

Aaron Toponce atoponce

Crypto coffee
View GitHub Profile
@atoponce
atoponce / another-million-random-digits.md
Last active January 14, 2025 00:04
Another Million Random Digits
title author date geometry header-includes
Another MILLION Random Digits
Aaron Toponce
2020-05-12
margin=2cm
\usepackage{setspace}
\usepackage{lineno}
\usepackage{lscape}
@atoponce
atoponce / description.md
Last active June 21, 2021 17:49
Playing card password generator

Playing Card Password Generator

Chris Wellons has done work here with Pokerware, building passphrases from a shuffled deck of cards. This builds using a sufficiently shuffled deck of playing cards, but building random meaningless password strings instead of passphrases.

This is a manual method of password generation without needing a computer. As such, some care must be taken during generation:

@atoponce
atoponce / .gitignore
Last active May 19, 2023 21:06
Simple Compression Benchmarks
cantrbry.tar
cantrbry.tar.*.*
.*.swp
@atoponce
atoponce / 0-README.md
Last active November 12, 2019 18:00
32-bit uniform random number generation in the shell in the range of [1, n]

The following shell scripts pass POSIX compiance with posh(1) on Debian. They have also been tested in bash(1), ksh(1), and dash(1) (which provides /bin/sh) on Debian.

Feedback of testing with other shells on other systems to target portability is greatly appreciated. I don't get notified of Gist comments, so reach out to me on Twitter instead.

Execute with an argument as a maximum random number, no bigger than 4294967296:

@atoponce
atoponce / rates.md
Last active April 25, 2025 02:20
Verifiable brute force strength rates across different projects

Verifiable brute force strength

Below are table of various projects that can completely exhaust n-bits of keyspace. In other words, counting completely and fully from 0 to 2ⁿ-1.

This Gist implies no discussion about how this is relevant to quantum computing using Grover's algorithm, meet-in-the-middle or birthday attacks, or anything of the like. It's strictly a Gist about raw speed, measuring the result in bits.

If you know of other noteworthy and verifiable brute force searching projects,

@atoponce
atoponce / 0-README.md
Last active December 21, 2023 13:07
Magic Hashes

Magic Hashes

Motivations

Calculating magic hashes for https://www.whitehatsec.com/blog/magic-hashes/. These strings should probably be put into a blacklist preventing users from using them as passwords to mitigate PHP evaluating hashes starting with "0e" as floats.

Probabilities

A = [0, 0, 0, 0, 1, 0, 0, 2, 0, 2, 1, 1, 1, 2, 0, 0, 2, 0, 1, 0, 1, 2, 1, 1, 0, 1, 2, 0, 3, 0, 2, 3, 0, 1, 1, 0, 1, 0, 1, 2, 1, 1, 0, 1, 0, 1, 0, 1, 2, 3, 1, 1, 1, 1, 0, 1, 0, 2, 1, 0, 0, 0, 1, 1]
min-entropy: H = -log2(p_max)
Shannon: H = -sum(p_i * log2(p_i))
max-entropy: H = -log2(unique(p_i))
min-entropy ~= 4.196397212803504
Shannon ~= 5.158365849770286
max-entropy = 2
@atoponce
atoponce / table.md
Created July 2, 2019 03:11
Encrypted Filesystems for Linux
Filesystem Type Default Cipher Block Mode Authentication Encryption Mode Password Hash RNG Audit
CryFS Stacked FS AES-256 ? GCM AEAD scrypt ? ?
Cryptomator Stacked FS AES-256 ? HMAC-SHA256 Encrypt-then-MAC scrypt Userspace ?
dm-crypt Block Device AES-256 ESSIV None N/A RIPEMD160 Kernelspace ?
eCryptfs Stacked FS ? ? ? ? ? ? ?
EncFS Stacked FS ? ? ? ? ? ? ?
ext4 Block Device ? ? ? ?