aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/internal/fips140/pbkdf2
AgeCommit message (Collapse)Author
6 dayscrypto/internal/fips140/pbkdf2: fix typo in error messageNeal Patel
Change-Id: I24a44b0f06b02fe99c8364afa2a9c04ff5435c0e Reviewed-on: https://go-review.googlesource.com/c/go/+/765001 Reviewed-by: Robert Griesemer <gri@google.com> Auto-Submit: Neal Patel <nealpatel@google.com> Reviewed-by: Carlos Amedee <carlos@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Nicholas Husin <husin@google.com> Reviewed-by: Nicholas Husin <nsh@golang.org>
2025-05-21crypto/internal/fips140: use hash.HashFilippo Valsorda
Since package hash is just the interface definition, not an implementation, we can make a good argument that it doesn't impact the security of the module and can be imported from outside. For #69521 Change-Id: I6a6a4656b9c3cac8bb9ab8e8df11fa3238dc5d1d Reviewed-on: https://go-review.googlesource.com/c/go/+/674917 Reviewed-by: Roland Shoemaker <roland@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Daniel McCarney <daniel@binaryparadox.net> Reviewed-by: David Chase <drchase@google.com> Auto-Submit: Filippo Valsorda <filippo@golang.org>
2025-01-28crypto/pbkdf2: add keyLength limitRoland Shoemaker
As specified by RFC 8018. Also prevent unexpected overflows on 32 bit systems. Change-Id: I50c4a177b7d1ebb15f9b3b96e515d93f19d3f68e Reviewed-on: https://go-review.googlesource.com/c/go/+/644122 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Roland Shoemaker <roland@golang.org> Reviewed-by: Filippo Valsorda <filippo@golang.org> Reviewed-by: Robert Griesemer <gri@google.com>
2024-11-22crypto/internal/fips/pbkdf2: add CAST testingDaniel McCarney
Per IG 10 3.A a module implementing PBKDF2 must perform a CAST on the derivation of a master key. This commit adds the required CAST test. The salt length (16 bytes), and output length (14 bytes) for the test are selected to meet FIPS requirements. The iteration count must be at least 2 so we use that value exactly for the fastest self-test allowable. We test all underlying prerequisite algorithms (HMAC, digest algorithms) separately. For #69536 Change-Id: Iba9e87ab89eeec1c73adc7e56016674ac8065c39 Reviewed-on: https://go-review.googlesource.com/c/go/+/623195 Reviewed-by: Filippo Valsorda <filippo@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Filippo Valsorda <filippo@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Roland Shoemaker <roland@golang.org>
2024-11-22crypto/internal/fips/pbkdf2: fips import pbkdf2Daniel McCarney
This commit lifts the internals of crypto/pbkdf2 into crypto/internal/fips140/pbkdf2, in the FIPS module. The code remains unchanged except for the following adjustments: * The hash and hmac imports now come from the FIPS equivalents. * The FIPS service indicator status is set based on the SP 800-132 requirements for PBKDF2. For #69536 Change-Id: I61f47a652cef10505a5b40a70be5240b161a97ba Reviewed-on: https://go-review.googlesource.com/c/go/+/619236 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Derek Parker <parkerderek86@gmail.com> Reviewed-by: Filippo Valsorda <filippo@golang.org> Auto-Submit: Filippo Valsorda <filippo@golang.org> Reviewed-by: Roland Shoemaker <roland@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>