1. 02 3月, 2019 1 次提交
  2. 01 3月, 2019 1 次提交
  3. 28 2月, 2019 1 次提交
  4. 27 2月, 2019 1 次提交
  5. 26 2月, 2019 5 次提交
  6. 21 2月, 2019 2 次提交
    • N
      Clear BN_FLG_CONSTTIME on BN_CTX_get() · e2e69dce
      Nicola Tuveri 提交于
      (cherry picked from commit c8147d37ccaaf28c430d3fb45a14af36597e48b8)
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/8253)
      e2e69dce
    • B
      SCA hardening for mod. field inversion in EC_GROUP · 48e82c8e
      Billy Brumley 提交于
      This commit adds a dedicated function in `EC_METHOD` to access a modular
      field inversion implementation suitable for the specifics of the
      implemented curve, featuring SCA countermeasures.
      
      The new pointer is defined as:
      `int (*field_inv)(const EC_GROUP*, BIGNUM *r, const BIGNUM *a, BN_CTX*)`
      and computes the multiplicative inverse of `a` in the underlying field,
      storing the result in `r`.
      
      Three implementations are included, each including specific SCA
      countermeasures:
        - `ec_GFp_simple_field_inv()`, featuring SCA hardening through
          blinding.
        - `ec_GFp_mont_field_inv()`, featuring SCA hardening through Fermat's
          Little Theorem (FLT) inversion.
        - `ec_GF2m_simple_field_inv()`, that uses `BN_GF2m_mod_inv()` which
          already features SCA hardening through blinding.
      
      From a security point of view, this also helps addressing a leakage
      previously affecting conversions from projective to affine coordinates.
      
      This commit also adds a new error reason code (i.e.,
      `EC_R_CANNOT_INVERT`) to improve consistency between the three
      implementations as all of them could fail for the same reason but
      through different code paths resulting in inconsistent error stack
      states.
      Co-authored-by: NNicola Tuveri <nic.tuv@gmail.com>
      
      (cherry picked from commit e0033efc30b0f00476bba8f0fa5512be5dc8a3f1)
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      Reviewed-by: NNicola Tuveri <nic.tuv@gmail.com>
      (Merged from https://github.com/openssl/openssl/pull/8262)
      48e82c8e
  7. 19 2月, 2019 2 次提交
  8. 18 2月, 2019 2 次提交
    • D
      Check for unpaired .cfi_remember_state · 2e826078
      David Benjamin 提交于
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      GH: #8109
      (cherry picked from commit e09633107b7e987b2179850715ba60d8fb069278)
      2e826078
    • D
      Fix some CFI issues in x86_64 assembly · 2086edb7
      David Benjamin 提交于
      The add/double shortcut in ecp_nistz256-x86_64.pl left one instruction
      point that did not unwind, and the "slow" path in AES_cbc_encrypt was
      not annotated correctly. For the latter, add
      .cfi_{remember,restore}_state support to perlasm.
      
      Next, fill in a bunch of functions that are missing no-op .cfi_startproc
      and .cfi_endproc blocks. libunwind cannot unwind those stack frames
      otherwise.
      
      Finally, work around a bug in libunwind by not encoding rflags. (rflags
      isn't a callee-saved register, so there's not much need to annotate it
      anyway.)
      
      These were found as part of ABI testing work in BoringSSL.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      GH: #8109
      (cherry picked from commit c0e8e5007ba5234d4d448e82a1567e0c4467e629)
      2086edb7
  9. 13 2月, 2019 2 次提交
  10. 11 2月, 2019 2 次提交
  11. 08 2月, 2019 1 次提交
    • T
      Fix d2i_PublicKey() for EC keys · 3dbec21b
      Todd Short 提交于
      o2i_ECPublicKey() requires an EC_KEY structure filled with an EC_GROUP.
      
      o2i_ECPublicKey() is called by d2i_PublicKey(). In order to fulfill the
      o2i_ECPublicKey()'s requirement, d2i_PublicKey() needs to be called with
      an EVP_PKEY with an EC_KEY containing an EC_GROUP.
      
      However, the call to EVP_PKEY_set_type() frees any existing key structure
      inside the EVP_PKEY, thus freeing the EC_KEY with the EC_GROUP that
      o2i_ECPublicKey() needs.
      
      This means you can't d2i_PublicKey() for an EC key...
      
      The fix is to check to see if the type is already set appropriately, and
      if so, not call EVP_PKEY_set_type().
      Reviewed-by: NPaul Yang <yang.yang@baishancloud.com>
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/8168)
      
      (cherry picked from commit 2aa2beb06cc25c1f8accdc3d87b946205becfd86)
      3dbec21b
  12. 05 2月, 2019 1 次提交
  13. 01 2月, 2019 3 次提交
  14. 29 1月, 2019 1 次提交
  15. 27 1月, 2019 1 次提交
  16. 25 1月, 2019 1 次提交
  17. 21 1月, 2019 2 次提交
  18. 17 1月, 2019 2 次提交
  19. 16 1月, 2019 1 次提交
  20. 15 1月, 2019 2 次提交
  21. 08 1月, 2019 2 次提交
  22. 05 1月, 2019 4 次提交