Migrate to hkdf 0.12

We need to depend on two versions of the `sha2` crate because `rsa`
doesn't have a version depending on `digest 0.10` yet.
This commit is contained in:
Jack Grigg 2021-12-23 16:48:30 +00:00
parent 8fe4667a0c
commit ed63c41eb1
10 changed files with 194 additions and 98 deletions

99
Cargo.lock generated
View file

@ -79,7 +79,8 @@ dependencies = [
"rsa", "rsa",
"rust-embed", "rust-embed",
"scrypt", "scrypt",
"sha2", "sha2 0.10.0",
"sha2 0.9.8",
"subtle", "subtle",
"web-sys", "web-sys",
"which", "which",
@ -99,7 +100,7 @@ dependencies = [
"nom", "nom",
"rand 0.8.4", "rand 0.8.4",
"secrecy", "secrecy",
"sha2", "sha2 0.10.0",
"tempfile", "tempfile",
] ]
@ -194,15 +195,14 @@ checksum = "e6b4d9b1225d28d360ec6a231d65af1fd99a2a095154c8040689617290569c5c"
[[package]] [[package]]
name = "bcrypt-pbkdf" name = "bcrypt-pbkdf"
version = "0.7.1" version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6a610511a47ca83ab86a1b4c665c521c3fc69162c2f45f876304caba9e0a76d" checksum = "4bde65b3c84000288c0abe8aa601a4b7c40b0dbbb7d144dd6c712ed9796e1fd5"
dependencies = [ dependencies = [
"blowfish", "blowfish",
"crypto-mac", "hex-literal",
"pbkdf2", "pbkdf2",
"sha2", "sha2 0.10.0",
"zeroize",
] ]
[[package]] [[package]]
@ -232,6 +232,15 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "block-buffer"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95"
dependencies = [
"generic-array",
]
[[package]] [[package]]
name = "block-modes" name = "block-modes"
version = "0.8.1" version = "0.8.1"
@ -583,13 +592,12 @@ dependencies = [
] ]
[[package]] [[package]]
name = "crypto-mac" name = "crypto-common"
version = "0.11.1" version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0"
dependencies = [ dependencies = [
"generic-array", "generic-array",
"subtle",
] ]
[[package]] [[package]]
@ -630,7 +638,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"digest", "digest 0.9.0",
"rand_core 0.5.1", "rand_core 0.5.1",
"subtle", "subtle",
"zeroize", "zeroize",
@ -674,6 +682,18 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "digest"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b"
dependencies = [
"block-buffer 0.10.0",
"crypto-common",
"generic-array",
"subtle",
]
[[package]] [[package]]
name = "either" name = "either"
version = "1.6.1" version = "1.6.1"
@ -1012,23 +1032,27 @@ dependencies = [
] ]
[[package]] [[package]]
name = "hkdf" name = "hex-literal"
version = "0.11.0" version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b" checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0"
[[package]]
name = "hkdf"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94f41e9c77b6fc05b57497b960aad55942a9bbc5b20e1e623cf7fb1868f695d1"
dependencies = [ dependencies = [
"digest",
"hmac", "hmac",
] ]
[[package]] [[package]]
name = "hmac" name = "hmac"
version = "0.11.0" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" checksum = "ddca131f3e7f2ce2df364b57949a9d47915cfbd35e46cfee355ccebbf794d6a2"
dependencies = [ dependencies = [
"crypto-mac", "digest 0.10.1",
"digest",
] ]
[[package]] [[package]]
@ -1518,11 +1542,11 @@ dependencies = [
[[package]] [[package]]
name = "pbkdf2" name = "pbkdf2"
version = "0.9.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" checksum = "a4628cc3cf953b82edcd3c1388c5715401420ce5524fedbab426bd5aba017434"
dependencies = [ dependencies = [
"crypto-mac", "digest 0.10.1",
] ]
[[package]] [[package]]
@ -1970,7 +1994,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e05c2603e2823634ab331437001b411b9ed11660fbc4066f3908c84a9439260d" checksum = "e05c2603e2823634ab331437001b411b9ed11660fbc4066f3908c84a9439260d"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"digest", "digest 0.9.0",
"lazy_static", "lazy_static",
"num-bigint-dig", "num-bigint-dig",
"num-integer", "num-integer",
@ -2013,7 +2037,7 @@ version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6116e7ab9ea963f60f2f20291d8fcf6c7273192cdd7273b3c80729a9605c97b2" checksum = "6116e7ab9ea963f60f2f20291d8fcf6c7273192cdd7273b3c80729a9605c97b2"
dependencies = [ dependencies = [
"sha2", "sha2 0.9.8",
"walkdir", "walkdir",
] ]
@ -2046,9 +2070,9 @@ checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
[[package]] [[package]]
name = "salsa20" name = "salsa20"
version = "0.8.1" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecbd2eb639fd7cab5804a0837fe373cc2172d15437e804c054a9fb885cb923b0" checksum = "0c0fbb5f676da676c260ba276a8f43a8dc67cf02d1438423aeb1c677a7212686"
dependencies = [ dependencies = [
"cipher", "cipher",
] ]
@ -2070,14 +2094,14 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]] [[package]]
name = "scrypt" name = "scrypt"
version = "0.8.0" version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f2cc535b6997b0c755bf9344e71ca0e1be070d07ff792f1fcd31e7b90e07d5f" checksum = "e73d6d7c6311ebdbd9184ad6c4447b2f36337e327bda107d3ba9e3c374f9d325"
dependencies = [ dependencies = [
"hmac", "hmac",
"pbkdf2", "pbkdf2",
"salsa20", "salsa20",
"sha2", "sha2 0.10.0",
] ]
[[package]] [[package]]
@ -2142,13 +2166,24 @@ version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa"
dependencies = [ dependencies = [
"block-buffer", "block-buffer 0.9.0",
"cfg-if", "cfg-if",
"cpufeatures", "cpufeatures",
"digest", "digest 0.9.0",
"opaque-debug", "opaque-debug",
] ]
[[package]]
name = "sha2"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "900d964dd36bb15bcf2f2b35694c072feab74969a54f2bbeec7a2d725d2bdcb6"
dependencies = [
"cfg-if",
"cpufeatures",
"digest 0.10.1",
]
[[package]] [[package]]
name = "slab" name = "slab"
version = "0.4.5" version = "0.4.5"

View file

@ -24,8 +24,8 @@ base64 = "0.13"
chacha20poly1305 = { version = "0.9", default-features = false, features = ["alloc"] } chacha20poly1305 = { version = "0.9", default-features = false, features = ["alloc"] }
# - HKDF from RFC 5869 with SHA-256 # - HKDF from RFC 5869 with SHA-256
hkdf = "0.11" hkdf = "0.12"
sha2 = "0.9" sha2 = "0.10"
# - CSPRNG # - CSPRNG
rand = "0.8" rand = "0.8"

View file

@ -28,12 +28,12 @@ x25519-dalek = "1"
# - HKDF from RFC 5869 with SHA-256 # - HKDF from RFC 5869 with SHA-256
# - HMAC from RFC 2104 with SHA-256 # - HMAC from RFC 2104 with SHA-256
hkdf = "0.11" hkdf = "0.12"
hmac = "0.11" hmac = "0.12"
sha2 = "0.9" sha2 = "0.10"
# - scrypt from RFC 7914 # - scrypt from RFC 7914
scrypt = { version = "0.8", default-features = false } scrypt = { version = "0.8.1", default-features = false }
# - CSPRNG # - CSPRNG
rand = "0.8" rand = "0.8"
@ -46,13 +46,14 @@ bech32 = "0.8"
# - RSAES-OAEP from RFC 8017 with SHA-256 and MGF1 # - RSAES-OAEP from RFC 8017 with SHA-256 and MGF1
num-traits = { version = "0.2", optional = true } num-traits = { version = "0.2", optional = true }
rsa = { version = "0.5", optional = true } rsa = { version = "0.5", optional = true }
sha2_09 = { package = "sha2", version = "0.9" }
# - Conversion of public keys from Ed25519 to X25519 # - Conversion of public keys from Ed25519 to X25519
curve25519-dalek = { version = "3", optional = true } curve25519-dalek = { version = "3", optional = true }
# - Encrypted keys # - Encrypted keys
aes = { version = "0.7", optional = true, features = ["ctr"] } aes = { version = "0.7", optional = true, features = ["ctr"] }
bcrypt-pbkdf = { version = "0.7", optional = true } bcrypt-pbkdf = { version = "0.7.2", optional = true }
block-modes = { version = "0.8", optional = true } block-modes = { version = "0.8", optional = true }
# Parsing # Parsing

View file

@ -318,8 +318,8 @@ impl From<io::Error> for DecryptError {
} }
} }
impl From<hmac::crypto_mac::MacError> for DecryptError { impl From<hmac::digest::MacError> for DecryptError {
fn from(_: hmac::crypto_mac::MacError) -> Self { fn from(_: hmac::digest::MacError) -> Self {
DecryptError::InvalidMac DecryptError::InvalidMac
} }
} }

View file

@ -47,7 +47,7 @@ impl HeaderV1 {
header header
} }
pub(crate) fn verify_mac(&self, mac_key: HmacKey) -> Result<(), hmac::crypto_mac::MacError> { pub(crate) fn verify_mac(&self, mac_key: HmacKey) -> Result<(), hmac::digest::MacError> {
let mut mac = HmacWriter::new(mac_key); let mut mac = HmacWriter::new(mac_key);
if let Some(bytes) = &self.encoded_bytes { if let Some(bytes) = &self.encoded_bytes {
// The MAC covers all bytes up to the end of the --- prefix. // The MAC covers all bytes up to the end of the --- prefix.

View file

@ -2,8 +2,8 @@
use age_core::secrecy::{ExposeSecret, Secret}; use age_core::secrecy::{ExposeSecret, Secret};
use hmac::{ use hmac::{
crypto_mac::{MacError, Output}, digest::{CtOutput, MacError},
Hmac, Mac, NewMac, Hmac, Mac,
}; };
use scrypt::{errors::InvalidParams, scrypt as scrypt_inner, Params as ScryptParams}; use scrypt::{errors::InvalidParams, scrypt as scrypt_inner, Params as ScryptParams};
use sha2::Sha256; use sha2::Sha256;
@ -35,13 +35,13 @@ impl HmacWriter {
} }
/// Checks if `mac` is correct for the processed input. /// Checks if `mac` is correct for the processed input.
pub(crate) fn finalize(self) -> Output<Hmac<Sha256>> { pub(crate) fn finalize(self) -> CtOutput<Hmac<Sha256>> {
self.inner.finalize() self.inner.finalize()
} }
/// Checks if `mac` is correct for the processed input. /// Checks if `mac` is correct for the processed input.
pub(crate) fn verify(self, mac: &[u8]) -> Result<(), MacError> { pub(crate) fn verify(self, mac: &[u8]) -> Result<(), MacError> {
self.inner.verify(mac) self.inner.verify_slice(mac)
} }
} }

View file

@ -14,7 +14,7 @@ use nom::{
}; };
use rand::rngs::OsRng; use rand::rngs::OsRng;
use rsa::padding::PaddingScheme; use rsa::padding::PaddingScheme;
use sha2::{Digest, Sha256, Sha512}; use sha2_09::{Digest, Sha256, Sha512};
use std::convert::TryInto; use std::convert::TryInto;
use std::fmt; use std::fmt;
use std::io; use std::io;

View file

@ -13,7 +13,7 @@ use nom::{
}; };
use rand::rngs::OsRng; use rand::rngs::OsRng;
use rsa::{padding::PaddingScheme, PublicKey}; use rsa::{padding::PaddingScheme, PublicKey};
use sha2::Sha256; use sha2_09::Sha256;
use std::convert::TryFrom; use std::convert::TryFrom;
use std::fmt; use std::fmt;
use x25519_dalek::{EphemeralSecret, PublicKey as X25519PublicKey, StaticSecret}; use x25519_dalek::{EphemeralSecret, PublicKey as X25519PublicKey, StaticSecret};

80
fuzz-afl/Cargo.lock generated
View file

@ -48,7 +48,8 @@ dependencies = [
"rand 0.8.4", "rand 0.8.4",
"rust-embed", "rust-embed",
"scrypt", "scrypt",
"sha2", "sha2 0.10.0",
"sha2 0.9.8",
"subtle", "subtle",
"x25519-dalek", "x25519-dalek",
"zeroize", "zeroize",
@ -65,7 +66,7 @@ dependencies = [
"nom", "nom",
"rand 0.8.4", "rand 0.8.4",
"secrecy", "secrecy",
"sha2", "sha2 0.10.0",
] ]
[[package]] [[package]]
@ -123,6 +124,15 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "block-buffer"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95"
dependencies = [
"generic-array",
]
[[package]] [[package]]
name = "byteorder" name = "byteorder"
version = "1.4.3" version = "1.4.3"
@ -206,13 +216,12 @@ dependencies = [
] ]
[[package]] [[package]]
name = "crypto-mac" name = "crypto-common"
version = "0.11.1" version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0"
dependencies = [ dependencies = [
"generic-array", "generic-array",
"subtle",
] ]
[[package]] [[package]]
@ -222,7 +231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"digest", "digest 0.9.0",
"rand_core 0.5.1", "rand_core 0.5.1",
"subtle", "subtle",
"zeroize", "zeroize",
@ -247,6 +256,18 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "digest"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b"
dependencies = [
"block-buffer 0.10.0",
"crypto-common",
"generic-array",
"subtle",
]
[[package]] [[package]]
name = "dirs" name = "dirs"
version = "3.0.2" version = "3.0.2"
@ -363,22 +384,20 @@ dependencies = [
[[package]] [[package]]
name = "hkdf" name = "hkdf"
version = "0.11.0" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b" checksum = "94f41e9c77b6fc05b57497b960aad55942a9bbc5b20e1e623cf7fb1868f695d1"
dependencies = [ dependencies = [
"digest",
"hmac", "hmac",
] ]
[[package]] [[package]]
name = "hmac" name = "hmac"
version = "0.11.0" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" checksum = "ddca131f3e7f2ce2df364b57949a9d47915cfbd35e46cfee355ccebbf794d6a2"
dependencies = [ dependencies = [
"crypto-mac", "digest 0.10.1",
"digest",
] ]
[[package]] [[package]]
@ -597,11 +616,11 @@ dependencies = [
[[package]] [[package]]
name = "pbkdf2" name = "pbkdf2"
version = "0.9.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" checksum = "a4628cc3cf953b82edcd3c1388c5715401420ce5524fedbab426bd5aba017434"
dependencies = [ dependencies = [
"crypto-mac", "digest 0.10.1",
] ]
[[package]] [[package]]
@ -813,7 +832,7 @@ version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6116e7ab9ea963f60f2f20291d8fcf6c7273192cdd7273b3c80729a9605c97b2" checksum = "6116e7ab9ea963f60f2f20291d8fcf6c7273192cdd7273b3c80729a9605c97b2"
dependencies = [ dependencies = [
"sha2", "sha2 0.9.8",
"walkdir", "walkdir",
] ]
@ -834,9 +853,9 @@ dependencies = [
[[package]] [[package]]
name = "salsa20" name = "salsa20"
version = "0.8.1" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecbd2eb639fd7cab5804a0837fe373cc2172d15437e804c054a9fb885cb923b0" checksum = "0c0fbb5f676da676c260ba276a8f43a8dc67cf02d1438423aeb1c677a7212686"
dependencies = [ dependencies = [
"cipher", "cipher",
] ]
@ -858,14 +877,14 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]] [[package]]
name = "scrypt" name = "scrypt"
version = "0.8.0" version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f2cc535b6997b0c755bf9344e71ca0e1be070d07ff792f1fcd31e7b90e07d5f" checksum = "e73d6d7c6311ebdbd9184ad6c4447b2f36337e327bda107d3ba9e3c374f9d325"
dependencies = [ dependencies = [
"hmac", "hmac",
"pbkdf2", "pbkdf2",
"salsa20", "salsa20",
"sha2", "sha2 0.10.0",
] ]
[[package]] [[package]]
@ -918,13 +937,24 @@ version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa"
dependencies = [ dependencies = [
"block-buffer", "block-buffer 0.9.0",
"cfg-if", "cfg-if",
"cpufeatures", "cpufeatures",
"digest", "digest 0.9.0",
"opaque-debug", "opaque-debug",
] ]
[[package]]
name = "sha2"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "900d964dd36bb15bcf2f2b35694c072feab74969a54f2bbeec7a2d725d2bdcb6"
dependencies = [
"cfg-if",
"cpufeatures",
"digest 0.10.1",
]
[[package]] [[package]]
name = "smallvec" name = "smallvec"
version = "1.7.0" version = "1.7.0"

80
fuzz/Cargo.lock generated
View file

@ -35,7 +35,8 @@ dependencies = [
"rand 0.8.4", "rand 0.8.4",
"rust-embed", "rust-embed",
"scrypt", "scrypt",
"sha2", "sha2 0.10.0",
"sha2 0.9.8",
"subtle", "subtle",
"x25519-dalek", "x25519-dalek",
"zeroize", "zeroize",
@ -52,7 +53,7 @@ dependencies = [
"nom", "nom",
"rand 0.8.4", "rand 0.8.4",
"secrecy", "secrecy",
"sha2", "sha2 0.10.0",
] ]
[[package]] [[package]]
@ -98,6 +99,15 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "block-buffer"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95"
dependencies = [
"generic-array",
]
[[package]] [[package]]
name = "byteorder" name = "byteorder"
version = "1.4.3" version = "1.4.3"
@ -166,13 +176,12 @@ dependencies = [
] ]
[[package]] [[package]]
name = "crypto-mac" name = "crypto-common"
version = "0.11.1" version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0"
dependencies = [ dependencies = [
"generic-array", "generic-array",
"subtle",
] ]
[[package]] [[package]]
@ -182,7 +191,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"digest", "digest 0.9.0",
"rand_core 0.5.1", "rand_core 0.5.1",
"subtle", "subtle",
"zeroize", "zeroize",
@ -207,6 +216,18 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "digest"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b"
dependencies = [
"block-buffer 0.10.0",
"crypto-common",
"generic-array",
"subtle",
]
[[package]] [[package]]
name = "find-crate" name = "find-crate"
version = "0.6.3" version = "0.6.3"
@ -303,22 +324,20 @@ dependencies = [
[[package]] [[package]]
name = "hkdf" name = "hkdf"
version = "0.11.0" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b" checksum = "94f41e9c77b6fc05b57497b960aad55942a9bbc5b20e1e623cf7fb1868f695d1"
dependencies = [ dependencies = [
"digest",
"hmac", "hmac",
] ]
[[package]] [[package]]
name = "hmac" name = "hmac"
version = "0.11.0" version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" checksum = "ddca131f3e7f2ce2df364b57949a9d47915cfbd35e46cfee355ccebbf794d6a2"
dependencies = [ dependencies = [
"crypto-mac", "digest 0.10.1",
"digest",
] ]
[[package]] [[package]]
@ -546,11 +565,11 @@ dependencies = [
[[package]] [[package]]
name = "pbkdf2" name = "pbkdf2"
version = "0.9.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" checksum = "a4628cc3cf953b82edcd3c1388c5715401420ce5524fedbab426bd5aba017434"
dependencies = [ dependencies = [
"crypto-mac", "digest 0.10.1",
] ]
[[package]] [[package]]
@ -752,7 +771,7 @@ version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6116e7ab9ea963f60f2f20291d8fcf6c7273192cdd7273b3c80729a9605c97b2" checksum = "6116e7ab9ea963f60f2f20291d8fcf6c7273192cdd7273b3c80729a9605c97b2"
dependencies = [ dependencies = [
"sha2", "sha2 0.9.8",
"walkdir", "walkdir",
] ]
@ -764,9 +783,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]] [[package]]
name = "salsa20" name = "salsa20"
version = "0.8.1" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecbd2eb639fd7cab5804a0837fe373cc2172d15437e804c054a9fb885cb923b0" checksum = "0c0fbb5f676da676c260ba276a8f43a8dc67cf02d1438423aeb1c677a7212686"
dependencies = [ dependencies = [
"cipher", "cipher",
] ]
@ -788,14 +807,14 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]] [[package]]
name = "scrypt" name = "scrypt"
version = "0.8.0" version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f2cc535b6997b0c755bf9344e71ca0e1be070d07ff792f1fcd31e7b90e07d5f" checksum = "e73d6d7c6311ebdbd9184ad6c4447b2f36337e327bda107d3ba9e3c374f9d325"
dependencies = [ dependencies = [
"hmac", "hmac",
"pbkdf2", "pbkdf2",
"salsa20", "salsa20",
"sha2", "sha2 0.10.0",
] ]
[[package]] [[package]]
@ -833,13 +852,24 @@ version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa"
dependencies = [ dependencies = [
"block-buffer", "block-buffer 0.9.0",
"cfg-if", "cfg-if",
"cpufeatures", "cpufeatures",
"digest", "digest 0.9.0",
"opaque-debug", "opaque-debug",
] ]
[[package]]
name = "sha2"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "900d964dd36bb15bcf2f2b35694c072feab74969a54f2bbeec7a2d725d2bdcb6"
dependencies = [
"cfg-if",
"cpufeatures",
"digest 0.10.1",
]
[[package]] [[package]]
name = "smallvec" name = "smallvec"
version = "1.7.0" version = "1.7.0"