1. Dec 29, 2021
  2. Jun 08, 2021
  3. Feb 20, 2021
  4. 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
  5. Nov 29, 2020
  6. Oct 31, 2020
  7. Sep 18, 2020
  8. 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
  9. Aug 28, 2020
  10. Aug 22, 2020
  11. Aug 21, 2020
  12. Aug 20, 2020
  13. Aug 13, 2020
  14. Aug 11, 2020
  15. Aug 06, 2020
  16. Jul 24, 2020
  17. Jul 22, 2020
  18. Jul 11, 2020
  19. Jul 10, 2020
  20. Jul 03, 2020
  21. Jun 13, 2020