1. Oct 27, 2022
  2. Sep 18, 2022
  3. Sep 17, 2022
  4. May 30, 2022
  5. Jan 11, 2022
  6. Dec 29, 2021
  7. Jun 08, 2021
  8. Feb 20, 2021
  9. Dec 06, 2020
    • Alexei A. Smekalkine's avatar
      gost_crypt: process full available block in CFB and CNT mode · e1a1b7aa
      Alexei A. Smekalkine authored
      If at the input of the encryption function in the CFB mode we have
      an integer number of blocks, then in the main loop all blocks will be
      processed, except for the last one due to an incorrect border check.
      The last block will be fully processed as a "partial" remainder, but
      the initialization vector will not be updated. And, thus, the value
      of IV will always be incorrect in this case.
      
      This breaks stateless protocols due to an invalid initialization vector:
      all messages except the first cannot be decrypted. (Naturally, we are
      talking about a case with disabled key meshing, which does not allow
      context recovery due to an erroneous implementation.)
      
      It is worth noting here that the code for processing partial blocks
      (both at the input of the encryption functions and at the output) is
      a historically unnecessary artifact, since we do not set the
      EVP_CIPH_FLAG_CUSTOM_CIPHER flag and, as a result, OpenSSL processes
      partial blocks for us.
      
      This patch corrects the checking of the main loop boundary.
      
      A similar error is present in the code for the CNT mode, but there it
      does not manifest itself in any way, because the restoration of the
      state in this mode is impossible: even after disabling key meshing, we
      still have the state-dependent transformation of the IV.
      
      As an extra result of this fix, the code for processing partial blocks
      can be completely removed now.
      
      (cherry picked from commit cf402dd4)
      e1a1b7aa
  10. Nov 29, 2020
  11. Oct 31, 2020
  12. Sep 18, 2020
  13. Sep 02, 2020
    • Dmitry Belyavskiy's avatar
      Special branch reuires patching OpenSSL · 5ee35715
      Dmitry Belyavskiy authored
      This branch is created for experiments with the patched OpenSSL version.
      The patch implements Russian GOST TLS 1.2 and TLS 1.3 support in
      OpenSSL.
      
      Some parts of the patch are already included in OpenSSL 3.0, some are
      not and possibly, will never be.
      
      This branch is recommended for ditribution builders and those who want
      make experiments. It MUST NOT be used instead of system OpenSSL.
      5ee35715
  14. Aug 28, 2020
  15. Aug 22, 2020
  16. Aug 21, 2020
  17. Aug 20, 2020