private static ILiteSymmetricCipher CreateLiteCipher(
     CipherMode cipherMode,
     PaddingMode paddingMode,
     ReadOnlySpan <byte> key,
     int effectiveKeyLength,
     ReadOnlySpan <byte> iv,
     int blockSize,
     int feedbackSizeInBytes,
     int paddingSize,
     bool encrypting)
 {
     using (SafeAlgorithmHandle algorithm = RC2BCryptModes.GetHandle(cipherMode, effectiveKeyLength))
     {
         // The BasicSymmetricCipherBCrypt ctor will increase algorithm reference count and take ownership.
         return(new BasicSymmetricCipherLiteBCrypt(
                    algorithm,
                    cipherMode,
                    blockSize,
                    paddingSize,
                    key,
                    ownsParentHandle: true,
                    iv,
                    encrypting));
     }
 }
        private static ICryptoTransform CreateTransformCore(
            CipherMode cipherMode,
            PaddingMode paddingMode,
            byte[] key,
            int effectiveKeyLength,
            byte[] iv,
            int blockSize,
            bool encrypting)
        {
            SafeAlgorithmHandle algorithm = RC2BCryptModes.GetSharedHandle(cipherMode);

            BasicSymmetricCipher cipher = new BasicSymmetricCipherBCrypt(algorithm, cipherMode, blockSize, key, effectiveKeyLength, iv, encrypting);

            return(UniversalCryptoTransform.Create(paddingMode, cipher, encrypting));
        }
 private static ICryptoTransform CreateTransformCore(
     CipherMode cipherMode,
     PaddingMode paddingMode,
     byte[] key,
     int effectiveKeyLength,
     byte[]?iv,
     int blockSize,
     bool encrypting)
 {
     using (SafeAlgorithmHandle algorithm = RC2BCryptModes.GetHandle(cipherMode, effectiveKeyLength))
     {
         // The BasicSymmetricCipherBCrypt ctor will increase algorithm reference count and take ownership.
         BasicSymmetricCipher cipher = new BasicSymmetricCipherBCrypt(algorithm, cipherMode, blockSize, key, true, iv, encrypting);
         return(UniversalCryptoTransform.Create(paddingMode, cipher, encrypting));
     }
 }