WoW_SRP

A standalone Rust library for the World of Warcraft flavor of SRP6. Has functionality for both the client and server.

Usage

Add the following to Cargo.toml:

[dependencies] wow_srp = "0.3"

Or install with cargo edit: cargo add wow_srp

Then read the documentation at docs.rs.

Client and server examples which will authenticate with a 1.12 server/client are located in the examples/ directory. Run them with cargo run --example server or cargo run --example client.

Features

Two different arbitrary precision integer libraries can be used, either:

toml [dependencies] wow_srp = { version = "0.3", default-features = false, features = ["rug"] }

The rug feature leads to a 50% decrease in total time. It is highly recommended to enable this feature for production usage since it also theoretically has better security.

To see the performance difference on your setup you can run cargo bench for the default version, and cargo bench --features rug --no-default-features for the rug version.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.