Ryan Heywood ryan
  • Joined on 2023-05-17
ryan pushed to main at public/keyfork 2023-08-25 09:32:07 +00:00
98baaed81c cargo fmt
da96ea94bd keyforkd: extract DerivablePath
a9209ee36a keyforkd: swap minicbor for serde + bincode
Compare 3 commits »
ryan pushed to main at public/keyfork 2023-08-25 06:32:37 +00:00
067de52e4b keyforkd: initial commit
fa8e6d726d keyfork-frame: add asyncext to allow AsyncRead/AsyncWrite
Compare 2 commits »
ryan opened issue public/keyfork#2 2023-08-25 04:45:20 +00:00
Rewrite keyfork-frame in terms of bytes::Buf and bytes::BufMut
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