Ryan Heywood ryan
  • Joined on 2023-05-17
ryan pushed to main at public/keyfork 2023-08-25 02:59:06 +00:00
76c9214d73 keyfork-mnemonic-util: impl FromStr for Mnemonic
ee15145662 keyfork-frame: initial commit
Compare 2 commits »
ryan pushed to main at public/stack 2023-08-20 07:03:13 +00:00
e1e0e4669b k/milksad-website: initial commit
ryan pushed to main at public/keyfork 2023-08-19 03:55:52 +00:00
5d7a3c99ba keyfork-mnemonic-util: split mnemonic utilities out of keyfork-mnemonic-generate
ryan pushed to main at public/keyfork 2023-08-18 06:12:21 +00:00
8e74c18135 keyfork-mnemonic-generate: split wordlist parsing into its own thing
ryan pushed to main at public/keyfork 2023-08-18 05:59:11 +00:00
8ec5dc0dec keyfork-mnemonic-generate: test ensure entropy floats around what we expect from birthday values
ryan commented on issue public/keyfork#1 2023-08-18 05:29:59 +00:00
keyfork mnemonic recover should accept words in a randomized pattern

Resolved. Vec::dedup only removes sequential duplicates.

ryan pushed to main at public/keyfork 2023-08-18 05:29:09 +00:00
ac40930b2f keyfork-mnemonic-generate: so, dedup only removes sequential duplicates
ryan pushed to main at public/keyfork 2023-08-18 04:57:58 +00:00
3032e11b78 keyfork-mnemonic-generate: the math ain't mathin
ryan commented on issue public/keyfork#1 2023-08-18 04:21:56 +00:00
keyfork mnemonic recover should accept words in a randomized pattern
use std::io::Read;
use rand::prelude::*;

fn get_u32_os(file: &mut std::fs::File) -> u32 {
    let mut bytes = [0u8; 4];
    file.read_exact(&mut bytes).unwrap();
    u32::from_le_by
ryan commented on issue public/keyfork#1 2023-08-18 04:16:35 +00:00
keyfork mnemonic recover should accept words in a randomized pattern

The math says this should be 12%. snail's Python code says this should be 12%. My Rust code - even with OS RNG - says this should be 12%. And yet, for some reason, this test stops at 1%.

https:/…

ryan pushed to main at public/keyfork 2023-08-18 02:45:22 +00:00
2c06b96953 keyfork-mnemonic-generate: add failing test to track birthday paradox
ryan commented on issue public/keyfork#1 2023-08-18 01:14:59 +00:00
keyfork mnemonic recover should accept words in a randomized pattern

Figuring out the math for the possibility a 24 word mnemonic has duplicate words, using some rough birthday-problem math (https://en.wikipedia.org/wiki/Birthday_problem#Calculating_the_probability)…

ryan commented on issue public/keyfork#1 2023-08-18 01:07:37 +00:00
keyfork mnemonic recover should accept words in a randomized pattern

Assumption is that each word is unique but this is only average case, not every case

ryan commented on issue public/keyfork#1 2023-08-18 00:56:11 +00:00
keyfork mnemonic recover should accept words in a randomized pattern

36 looks nicer than 35, which is the actual smallest number whose permutation count (factorial) is > 2^128

ryan commented on issue public/keyfork#1 2023-08-18 00:52:20 +00:00
keyfork mnemonic recover should accept words in a randomized pattern

additional: 24 words only provides about 90 bits of entropy, 12 words even less. have the user type in 36 words regardless, which provides 36! permutations which is more than 2^128 / 128 bits of…

ryan opened issue public/keyfork#1 2023-08-18 00:09:26 +00:00
keyfork mnemonic recover should accept words in a randomized pattern
ryan pushed to main at public/keyfork 2023-08-16 23:28:03 +00:00
6f00eb6fd7 keyfork-mnemonic-generate: add README
ryan pushed to main at public/stack 2023-08-16 23:20:42 +00:00
a508ec0172 k/website: use self hosted container repository
ryan pushed to main at public/keyfork 2023-08-16 21:38:19 +00:00
bf0468e405 keyfork-mnemonic-generate: properly slice entropy
d0eead5eb3 keyfork-mnemonic-generate: make idiomatic
Compare 2 commits »
ryan pushed to main at public/keyfork 2023-08-16 20:49:43 +00:00
6a99a09089 keyfork-mnemonic-generate: fix endianness
7eff9531bc keyfork-mnemonic-generate: passes first test (pre rewrite)
Compare 2 commits »