I ended up just stealing this from iolite, which in turn took it from Sapphire. I tried for a few hours to get a Rust Blowfish implementation going, but the one from Physis didn't work. I'll try again later.