crypto-rs reference external crates add new crate cargo new my-algorithm --lib test cargo test -p euclidean-division