\hypertarget{group__crypto__transformations}{}\doxysection{Cryptographic Stream Transformations}
\label{group__crypto__transformations}\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const \mbox{\hyperlink{group__crypto__transformations_ga73689cc7289473ce0061551c392120bf}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+AES\+\_\+128}} = \char`\"{}aes128\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{https://en.wikipedia.org/wiki/Advanced_Encryption_Standard}{\texttt{ AES cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Galois/Counter_Mode}{\texttt{ Galois Counter Mode (GCM)}} with a 128-\/bit (16 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga022dfeaa3c3e4ee34f0cb55ba1129125}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+AES\+\_\+192}} = \char`\"{}aes192\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{https://en.wikipedia.org/wiki/Advanced_Encryption_Standard}{\texttt{ AES cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Galois/Counter_Mode}{\texttt{ Galois Counter Mode (GCM)}} with a 192-\/bit (24 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga5a725d566fde3fdf16cf967f24396d4f}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+AES\+\_\+256}} = \char`\"{}aes256\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{https://en.wikipedia.org/wiki/Advanced_Encryption_Standard}{\texttt{ AES cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Galois/Counter_Mode}{\texttt{ Galois Counter Mode (GCM)}} with a 256-\/bit (32 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga537286d57ff4a0326f427e8d513cbfb0}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+BLOWFISH}} = \char`\"{}blowfish\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{http://www.counterpane.com/blowfish.html}{\texttt{ blowfish cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga422366c05ce16fb7bd4891e96eab6e8e}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+BLOWFISH\+\_\+\+CFB}} = \char`\"{}blowfish-\/cfb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{http://www.counterpane.com/blowfish.html}{\texttt{ blowfish cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga2a5dfd4cdf80d6da8c2a9447ed0c4d13}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+BLOWFISH\+\_\+\+OFB}} = \char`\"{}blowfish-\/ofb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{http://www.counterpane.com/blowfish.html}{\texttt{ blowfish cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_gab6dd39c61668eed9ee863a86c0536023}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+CAST5}} = \char`\"{}cast5\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{https://en.wikipedia.org/wiki/CAST-128}{\texttt{ CAST5 cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga5d4040b319f9c4bd307e4df9ed426676}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+CAST5\+\_\+\+CFB}} = \char`\"{}cast5-\/cfb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{https://en.wikipedia.org/wiki/CAST-128}{\texttt{ CAST5 cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_gab4eced22515cb6dd7c6a28e436534a0d}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+CAST5\+\_\+\+OFB}} = \char`\"{}cast5-\/ofb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{https://en.wikipedia.org/wiki/CAST-128}{\texttt{ CAST5 cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_gab2509ba7b5427976e71ed4441b96cb39}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES}} = \char`\"{}des\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{http://www.itl.nist.gov/fipspubs/fip46-2.htm}{\texttt{ DES cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a 64-\/bit (8 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga87d409efe9ca4136e594c9d7f054c7d5}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DESX}} = \char`\"{}desx\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies RSA\textquotesingle{}s \href{http://www.rsasecurity.com/}{\texttt{ DESX cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a 192-\/bit (24 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga4271e36093c0a96caf2a189dcf703f86}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+CFB}} = \char`\"{}des-\/cfb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{http://www.itl.nist.gov/fipspubs/fip46-2.htm}{\texttt{ DES cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a 64-\/bit (8 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_gae1d1fcde9e41fb04b5f1ecca97a69824}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE}} = \char`\"{}desede\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the two-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a 128-\/bit (16 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga056d23c2aaeeb75f37d4e7e515db5a6d}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE3}} = \char`\"{}desede3\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the three-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a 192-\/bit (24 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_gacadc7af0b9f9bf99c24f2045847544d8}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE3\+\_\+\+CFB}} = \char`\"{}desede3-\/cfb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the three-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a 192-\/bit (24 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_gac2f3e064d44a1d71316036d2dd47fb3d}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE3\+\_\+\+OFB}} = \char`\"{}desede3-\/ofb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the three-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a 192-\/bit (24 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga48839b104df4562c36fc787f7c262c56}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE\+\_\+\+CFB}} = \char`\"{}desede-\/cfb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the two-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a 128-\/bit (16 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga68234e274ee028b255e2af4417577b71}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE\+\_\+\+OFB}} = \char`\"{}desede-\/ofb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the two-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a 128-\/bit (16 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_gab9ae17ec1fae8d177132b6abbe94dfb4}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+OFB}} = \char`\"{}des-\/ofb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{http://www.itl.nist.gov/fipspubs/fip46-2.htm}{\texttt{ DES cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a 64-\/bit (8 byte) key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga5c88760095c4fd3d4306e69362d9e462}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC2}} = \char`\"{}rc2\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies RSA\textquotesingle{}s \href{http://en.wikipedia.org/wiki/RC2}{\texttt{ RC2(tm) cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga7c32cf736fcb8a6580b7807a61e97c74}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC2\+\_\+\+CFB}} = \char`\"{}rc2-\/cfb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies RSA\textquotesingle{}s \href{http://en.wikipedia.org/wiki/RC2}{\texttt{ RC2(tm) cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga267f3f2ee291872b9e829ccce4c101f9}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC2\+\_\+\+OFB}} = \char`\"{}rc2-\/ofb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies RSA\textquotesingle{}s \href{http://en.wikipedia.org/wiki/RC2}{\texttt{ RC2(tm) cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga99a646fac8a832add2cff0a957680289}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC4}} = \char`\"{}rc4\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the Alleged \href{http://en.wikipedia.org/wiki/RC4}{\texttt{ RC4 cryptographic algorithm}}, which should be compatible with RSA\textquotesingle{}s RC4(\+TM) algorithm in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_gae9bcc35cfb5dc20aaf28434c852ee0ef}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC5}} = \char`\"{}rc5\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{https://en.wikipedia.org/wiki/RC5}{\texttt{ RC5 cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_ga9d66718f85fb96613009043d7ba9e391}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC5\+\_\+\+CFB}} = \char`\"{}rc5-\/cfb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{https://en.wikipedia.org/wiki/RC5}{\texttt{ RC5 cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a variable-\/length key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__crypto__transformations_gad93f79055d46a93781a138ca839f2b1b}{Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC5\+\_\+\+OFB}} = \char`\"{}rc5-\/ofb\char`\"{}
\begin{DoxyCompactList}\small\item\em Identifies the \href{https://en.wikipedia.org/wiki/RC5}{\texttt{ RC5 cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a variable-\/length key. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The following \mbox{\hyperlink{class_qore_1_1_transform}{Transform}} constants can be used with \mbox{\hyperlink{class_qore_1_1_transform_input_stream}{Transform\+Input\+Stream}} and \mbox{\hyperlink{class_qore_1_1_transform_output_stream}{Transform\+Output\+Stream}} to transform stream data

\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{class_qore_1_1_file_output_stream}{Qore::FileOutputStream}} of(\textcolor{stringliteral}{"{}my-\/file.txt"{}});}
\DoxyCodeLine{\mbox{\hyperlink{class_qore_1_1_transform_output_stream}{Qore::TransformOutputStream}} ts(of, \mbox{\hyperlink{group__hmac__functions_ga913932d6120f9ea1e3918168fb204976}{get\_decryptor}}(\mbox{\hyperlink{group__crypto__transformations_ga537286d57ff4a0326f427e8d513cbfb0}{Qore::CRYPTO\_ALG\_BLOWFISH}}));}

\end{DoxyCode}

\end{DoxyParagraph}
These constants are useful in the following functions\+:
\begin{DoxyItemize}
\item \mbox{\hyperlink{group__hmac__functions_gad159aa97f0f07e827e74b4b9a12b92ca}{Qore\+::decrypt\+\_\+to\+\_\+binary()}}
\item \mbox{\hyperlink{group__hmac__functions_ga94bc9698c368c32987d7207096806df1}{Qore\+::decrypt\+\_\+to\+\_\+string()}}
\item \mbox{\hyperlink{group__hmac__functions_ga7141b56ffa6c5a4f8c9c58f788f33780}{Qore\+::encrypt()}}
\item \mbox{\hyperlink{group__hmac__functions_ga913932d6120f9ea1e3918168fb204976}{Qore\+::get\+\_\+decryptor()}}
\item \mbox{\hyperlink{group__hmac__functions_ga6e67ba0396d70cd012f7c46c7562b81f}{Qore\+::get\+\_\+encryptor()}}
\end{DoxyItemize}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__compression__transformations}{Compression Stream Transformations}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
Qore 0.\+8.\+13 
\end{DoxySince}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{group__crypto__transformations_ga73689cc7289473ce0061551c392120bf}\label{group__crypto__transformations_ga73689cc7289473ce0061551c392120bf}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_AES\_128@{CRYPTO\_ALG\_AES\_128}}
\index{CRYPTO\_ALG\_AES\_128@{CRYPTO\_ALG\_AES\_128}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_AES\_128}{CRYPTO\_ALG\_AES\_128}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+AES\+\_\+128 = \char`\"{}aes128\char`\"{}}



Identifies the \href{https://en.wikipedia.org/wiki/Advanced_Encryption_Standard}{\texttt{ AES cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Galois/Counter_Mode}{\texttt{ Galois Counter Mode (GCM)}} with a 128-\/bit (16 byte) key. 

The initialization vector is recommended to be 12 bytes in this case

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm supports returning a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} when encrypting and requires a MAC for decryption, therefore at least one byte of the MAC should be retrieved when encoding as well
\item The size of the calculated tag for the MAC is 16 bytes; shorter sizes can also be used
\item This algorithm also supports Additional Authenticated Data (AAD) for encryption and decryption 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga022dfeaa3c3e4ee34f0cb55ba1129125}\label{group__crypto__transformations_ga022dfeaa3c3e4ee34f0cb55ba1129125}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_AES\_192@{CRYPTO\_ALG\_AES\_192}}
\index{CRYPTO\_ALG\_AES\_192@{CRYPTO\_ALG\_AES\_192}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_AES\_192}{CRYPTO\_ALG\_AES\_192}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+AES\+\_\+192 = \char`\"{}aes192\char`\"{}}



Identifies the \href{https://en.wikipedia.org/wiki/Advanced_Encryption_Standard}{\texttt{ AES cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Galois/Counter_Mode}{\texttt{ Galois Counter Mode (GCM)}} with a 192-\/bit (24 byte) key. 

The initialization vector is recommended to be 12 bytes in this case.

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm supports returning a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} when encrypting and requires a MAC for decryption, therefore at least one byte of the MAC should be retrieved when encoding as well
\item The size of the calculated tag for the MAC is 16 bytes; shorter sizes can also be used
\item This algorithm also supports Additional Authenticated Data (AAD) for encryption and decryption 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga5a725d566fde3fdf16cf967f24396d4f}\label{group__crypto__transformations_ga5a725d566fde3fdf16cf967f24396d4f}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_AES\_256@{CRYPTO\_ALG\_AES\_256}}
\index{CRYPTO\_ALG\_AES\_256@{CRYPTO\_ALG\_AES\_256}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_AES\_256}{CRYPTO\_ALG\_AES\_256}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+AES\+\_\+256 = \char`\"{}aes256\char`\"{}}



Identifies the \href{https://en.wikipedia.org/wiki/Advanced_Encryption_Standard}{\texttt{ AES cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Galois/Counter_Mode}{\texttt{ Galois Counter Mode (GCM)}} with a 256-\/bit (32 byte) key. 

The initialization vector is recommended to be 12 bytes in this case

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm supports returning a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} when encrypting and requires a MAC for decryption, therefore at least one byte of the MAC should be retrieved when encoding as well
\item The size of the calculated tag for the MAC is 16 bytes; shorter sizes can also be used
\item This algorithm also supports Additional Authenticated Data for encryption and decryption 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga537286d57ff4a0326f427e8d513cbfb0}\label{group__crypto__transformations_ga537286d57ff4a0326f427e8d513cbfb0}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_BLOWFISH@{CRYPTO\_ALG\_BLOWFISH}}
\index{CRYPTO\_ALG\_BLOWFISH@{CRYPTO\_ALG\_BLOWFISH}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_BLOWFISH}{CRYPTO\_ALG\_BLOWFISH}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+BLOWFISH = \char`\"{}blowfish\char`\"{}}



Identifies the \href{http://www.counterpane.com/blowfish.html}{\texttt{ blowfish cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a variable-\/length key. 

This algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). \mbox{\Hypertarget{group__crypto__transformations_ga422366c05ce16fb7bd4891e96eab6e8e}\label{group__crypto__transformations_ga422366c05ce16fb7bd4891e96eab6e8e}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_BLOWFISH\_CFB@{CRYPTO\_ALG\_BLOWFISH\_CFB}}
\index{CRYPTO\_ALG\_BLOWFISH\_CFB@{CRYPTO\_ALG\_BLOWFISH\_CFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_BLOWFISH\_CFB}{CRYPTO\_ALG\_BLOWFISH\_CFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+BLOWFISH\+\_\+\+CFB = \char`\"{}blowfish-\/cfb\char`\"{}}



Identifies the \href{http://www.counterpane.com/blowfish.html}{\texttt{ blowfish cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a variable-\/length key. 

This algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). \mbox{\Hypertarget{group__crypto__transformations_ga2a5dfd4cdf80d6da8c2a9447ed0c4d13}\label{group__crypto__transformations_ga2a5dfd4cdf80d6da8c2a9447ed0c4d13}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_BLOWFISH\_OFB@{CRYPTO\_ALG\_BLOWFISH\_OFB}}
\index{CRYPTO\_ALG\_BLOWFISH\_OFB@{CRYPTO\_ALG\_BLOWFISH\_OFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_BLOWFISH\_OFB}{CRYPTO\_ALG\_BLOWFISH\_OFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+BLOWFISH\+\_\+\+OFB = \char`\"{}blowfish-\/ofb\char`\"{}}



Identifies the \href{http://www.counterpane.com/blowfish.html}{\texttt{ blowfish cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a variable-\/length key. 

This algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). \mbox{\Hypertarget{group__crypto__transformations_gab6dd39c61668eed9ee863a86c0536023}\label{group__crypto__transformations_gab6dd39c61668eed9ee863a86c0536023}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_CAST5@{CRYPTO\_ALG\_CAST5}}
\index{CRYPTO\_ALG\_CAST5@{CRYPTO\_ALG\_CAST5}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_CAST5}{CRYPTO\_ALG\_CAST5}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+CAST5 = \char`\"{}cast5\char`\"{}}



Identifies the \href{https://en.wikipedia.org/wiki/CAST-128}{\texttt{ CAST5 cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a variable-\/length key. 

\begin{DoxyNote}{Note}
This algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). 
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga5d4040b319f9c4bd307e4df9ed426676}\label{group__crypto__transformations_ga5d4040b319f9c4bd307e4df9ed426676}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_CAST5\_CFB@{CRYPTO\_ALG\_CAST5\_CFB}}
\index{CRYPTO\_ALG\_CAST5\_CFB@{CRYPTO\_ALG\_CAST5\_CFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_CAST5\_CFB}{CRYPTO\_ALG\_CAST5\_CFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+CAST5\+\_\+\+CFB = \char`\"{}cast5-\/cfb\char`\"{}}



Identifies the \href{https://en.wikipedia.org/wiki/CAST-128}{\texttt{ CAST5 cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a variable-\/length key. 

\begin{DoxyNote}{Note}
This algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). 
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_gab4eced22515cb6dd7c6a28e436534a0d}\label{group__crypto__transformations_gab4eced22515cb6dd7c6a28e436534a0d}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_CAST5\_OFB@{CRYPTO\_ALG\_CAST5\_OFB}}
\index{CRYPTO\_ALG\_CAST5\_OFB@{CRYPTO\_ALG\_CAST5\_OFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_CAST5\_OFB}{CRYPTO\_ALG\_CAST5\_OFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+CAST5\+\_\+\+OFB = \char`\"{}cast5-\/ofb\char`\"{}}



Identifies the \href{https://en.wikipedia.org/wiki/CAST-128}{\texttt{ CAST5 cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a variable-\/length key. 

\begin{DoxyNote}{Note}
This algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). 
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_gab2509ba7b5427976e71ed4441b96cb39}\label{group__crypto__transformations_gab2509ba7b5427976e71ed4441b96cb39}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_DES@{CRYPTO\_ALG\_DES}}
\index{CRYPTO\_ALG\_DES@{CRYPTO\_ALG\_DES}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_DES}{CRYPTO\_ALG\_DES}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES = \char`\"{}des\char`\"{}}



Identifies the \href{http://www.itl.nist.gov/fipspubs/fip46-2.htm}{\texttt{ DES cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a 64-\/bit (8 byte) key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm requires an 8-\/byte key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD)
\item Keys longer than the required length will be used up to the required byte length; additional bytes are ignored 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga4271e36093c0a96caf2a189dcf703f86}\label{group__crypto__transformations_ga4271e36093c0a96caf2a189dcf703f86}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_DES\_CFB@{CRYPTO\_ALG\_DES\_CFB}}
\index{CRYPTO\_ALG\_DES\_CFB@{CRYPTO\_ALG\_DES\_CFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_DES\_CFB}{CRYPTO\_ALG\_DES\_CFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+CFB = \char`\"{}des-\/cfb\char`\"{}}



Identifies the \href{http://www.itl.nist.gov/fipspubs/fip46-2.htm}{\texttt{ DES cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a 64-\/bit (8 byte) key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm requires an 8-\/byte key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD)
\item Keys longer than the required length will be used up to the required byte length; additional bytes are ignored 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_gae1d1fcde9e41fb04b5f1ecca97a69824}\label{group__crypto__transformations_gae1d1fcde9e41fb04b5f1ecca97a69824}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_DES\_EDE@{CRYPTO\_ALG\_DES\_EDE}}
\index{CRYPTO\_ALG\_DES\_EDE@{CRYPTO\_ALG\_DES\_EDE}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_DES\_EDE}{CRYPTO\_ALG\_DES\_EDE}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE = \char`\"{}desede\char`\"{}}



Identifies the two-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a 128-\/bit (16 byte) key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm requires a 16-\/byte key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD)
\item Keys longer than the required length will be used up to the required byte length; additional bytes are ignored 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga056d23c2aaeeb75f37d4e7e515db5a6d}\label{group__crypto__transformations_ga056d23c2aaeeb75f37d4e7e515db5a6d}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_DES\_EDE3@{CRYPTO\_ALG\_DES\_EDE3}}
\index{CRYPTO\_ALG\_DES\_EDE3@{CRYPTO\_ALG\_DES\_EDE3}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_DES\_EDE3}{CRYPTO\_ALG\_DES\_EDE3}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE3 = \char`\"{}desede3\char`\"{}}



Identifies the three-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a 192-\/bit (24 byte) key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm requires a 24-\/byte key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD)
\item Keys longer than the required length will be used up to the required byte length; additional bytes are ignored 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_gacadc7af0b9f9bf99c24f2045847544d8}\label{group__crypto__transformations_gacadc7af0b9f9bf99c24f2045847544d8}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_DES\_EDE3\_CFB@{CRYPTO\_ALG\_DES\_EDE3\_CFB}}
\index{CRYPTO\_ALG\_DES\_EDE3\_CFB@{CRYPTO\_ALG\_DES\_EDE3\_CFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_DES\_EDE3\_CFB}{CRYPTO\_ALG\_DES\_EDE3\_CFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE3\+\_\+\+CFB = \char`\"{}desede3-\/cfb\char`\"{}}



Identifies the three-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a 192-\/bit (24 byte) key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm requires a 24-\/byte key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD)
\item Keys longer than the required length will be used up to the required byte length; additional bytes are ignored 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_gac2f3e064d44a1d71316036d2dd47fb3d}\label{group__crypto__transformations_gac2f3e064d44a1d71316036d2dd47fb3d}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_DES\_EDE3\_OFB@{CRYPTO\_ALG\_DES\_EDE3\_OFB}}
\index{CRYPTO\_ALG\_DES\_EDE3\_OFB@{CRYPTO\_ALG\_DES\_EDE3\_OFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_DES\_EDE3\_OFB}{CRYPTO\_ALG\_DES\_EDE3\_OFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE3\+\_\+\+OFB = \char`\"{}desede3-\/ofb\char`\"{}}



Identifies the three-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a 192-\/bit (24 byte) key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm requires a 24-\/byte key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD)
\item Keys longer than the required length will be used up to the required byte length; additional bytes are ignored 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga48839b104df4562c36fc787f7c262c56}\label{group__crypto__transformations_ga48839b104df4562c36fc787f7c262c56}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_DES\_EDE\_CFB@{CRYPTO\_ALG\_DES\_EDE\_CFB}}
\index{CRYPTO\_ALG\_DES\_EDE\_CFB@{CRYPTO\_ALG\_DES\_EDE\_CFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_DES\_EDE\_CFB}{CRYPTO\_ALG\_DES\_EDE\_CFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE\+\_\+\+CFB = \char`\"{}desede-\/cfb\char`\"{}}



Identifies the two-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a 128-\/bit (16 byte) key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm requires a 16-\/byte key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD)
\item Keys longer than the required length will be used up to the required byte length; additional bytes are ignored 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga68234e274ee028b255e2af4417577b71}\label{group__crypto__transformations_ga68234e274ee028b255e2af4417577b71}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_DES\_EDE\_OFB@{CRYPTO\_ALG\_DES\_EDE\_OFB}}
\index{CRYPTO\_ALG\_DES\_EDE\_OFB@{CRYPTO\_ALG\_DES\_EDE\_OFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_DES\_EDE\_OFB}{CRYPTO\_ALG\_DES\_EDE\_OFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+EDE\+\_\+\+OFB = \char`\"{}desede-\/ofb\char`\"{}}



Identifies the two-\/key \href{https://en.wikipedia.org/wiki/Triple_DES}{\texttt{ triple DES algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a 128-\/bit (16 byte) key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm requires a 16-\/byte key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD)
\item Keys longer than the required length will be used up to the required byte length; additional bytes are ignored 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_gab9ae17ec1fae8d177132b6abbe94dfb4}\label{group__crypto__transformations_gab9ae17ec1fae8d177132b6abbe94dfb4}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_DES\_OFB@{CRYPTO\_ALG\_DES\_OFB}}
\index{CRYPTO\_ALG\_DES\_OFB@{CRYPTO\_ALG\_DES\_OFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_DES\_OFB}{CRYPTO\_ALG\_DES\_OFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DES\+\_\+\+OFB = \char`\"{}des-\/ofb\char`\"{}}



Identifies the \href{http://www.itl.nist.gov/fipspubs/fip46-2.htm}{\texttt{ DES cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a 64-\/bit (8 byte) key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm requires an 8-\/byte key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD)
\item Keys longer than the required length will be used up to the required byte length; additional bytes are ignored 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga87d409efe9ca4136e594c9d7f054c7d5}\label{group__crypto__transformations_ga87d409efe9ca4136e594c9d7f054c7d5}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_DESX@{CRYPTO\_ALG\_DESX}}
\index{CRYPTO\_ALG\_DESX@{CRYPTO\_ALG\_DESX}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_DESX}{CRYPTO\_ALG\_DESX}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+DESX = \char`\"{}desx\char`\"{}}



Identifies RSA\textquotesingle{}s \href{http://www.rsasecurity.com/}{\texttt{ DESX cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a 192-\/bit (24 byte) key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm requires a 24-\/byte key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD)
\item Keys longer than the required length will be used up to the required byte length; additional bytes are ignored 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga5c88760095c4fd3d4306e69362d9e462}\label{group__crypto__transformations_ga5c88760095c4fd3d4306e69362d9e462}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_RC2@{CRYPTO\_ALG\_RC2}}
\index{CRYPTO\_ALG\_RC2@{CRYPTO\_ALG\_RC2}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_RC2}{CRYPTO\_ALG\_RC2}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC2 = \char`\"{}rc2\char`\"{}}



Identifies RSA\textquotesingle{}s \href{http://en.wikipedia.org/wiki/RC2}{\texttt{ RC2(tm) cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a variable-\/length key. 

\begin{DoxyNote}{Note}
this algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). 
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga7c32cf736fcb8a6580b7807a61e97c74}\label{group__crypto__transformations_ga7c32cf736fcb8a6580b7807a61e97c74}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_RC2\_CFB@{CRYPTO\_ALG\_RC2\_CFB}}
\index{CRYPTO\_ALG\_RC2\_CFB@{CRYPTO\_ALG\_RC2\_CFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_RC2\_CFB}{CRYPTO\_ALG\_RC2\_CFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC2\+\_\+\+CFB = \char`\"{}rc2-\/cfb\char`\"{}}



Identifies RSA\textquotesingle{}s \href{http://en.wikipedia.org/wiki/RC2}{\texttt{ RC2(tm) cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a variable-\/length key. 

\begin{DoxyNote}{Note}
this algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). 
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga267f3f2ee291872b9e829ccce4c101f9}\label{group__crypto__transformations_ga267f3f2ee291872b9e829ccce4c101f9}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_RC2\_OFB@{CRYPTO\_ALG\_RC2\_OFB}}
\index{CRYPTO\_ALG\_RC2\_OFB@{CRYPTO\_ALG\_RC2\_OFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_RC2\_OFB}{CRYPTO\_ALG\_RC2\_OFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC2\+\_\+\+OFB = \char`\"{}rc2-\/ofb\char`\"{}}



Identifies RSA\textquotesingle{}s \href{http://en.wikipedia.org/wiki/RC2}{\texttt{ RC2(tm) cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a variable-\/length key. 

\begin{DoxyNote}{Note}
this algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). 
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga99a646fac8a832add2cff0a957680289}\label{group__crypto__transformations_ga99a646fac8a832add2cff0a957680289}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_RC4@{CRYPTO\_ALG\_RC4}}
\index{CRYPTO\_ALG\_RC4@{CRYPTO\_ALG\_RC4}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_RC4}{CRYPTO\_ALG\_RC4}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC4 = \char`\"{}rc4\char`\"{}}



Identifies the Alleged \href{http://en.wikipedia.org/wiki/RC4}{\texttt{ RC4 cryptographic algorithm}}, which should be compatible with RSA\textquotesingle{}s RC4(\+TM) algorithm in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a variable-\/length key. 

\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item This algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD).
\item This algorithm does not support (ignores) initialization vectors 
\end{DoxyItemize}
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_gae9bcc35cfb5dc20aaf28434c852ee0ef}\label{group__crypto__transformations_gae9bcc35cfb5dc20aaf28434c852ee0ef}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_RC5@{CRYPTO\_ALG\_RC5}}
\index{CRYPTO\_ALG\_RC5@{CRYPTO\_ALG\_RC5}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_RC5}{CRYPTO\_ALG\_RC5}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC5 = \char`\"{}rc5\char`\"{}}



Identifies the \href{https://en.wikipedia.org/wiki/RC5}{\texttt{ RC5 cryptographic algorithm}} in \href{http://en.wikipedia.org/wiki/Cipher_block_chaining\#Cipher-block_chaining_.28CBC.29}{\texttt{ Cipher Block Chaining (CBC)}} mode with a variable-\/length key. 

\begin{DoxyParagraph}{Platform Availability\+:}
\mbox{\hyperlink{group__option__constants_ga7c2cfaff4ede608873fa565ed23bc7ab}{Qore\+::\+Option\+::\+HAVE\+\_\+\+RC5}}
\end{DoxyParagraph}
Use of this cipher is only possible if the constant listed above is \mbox{\hyperlink{basic_data_types_True}{True}}

\begin{DoxyNote}{Note}
This algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). 
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_ga9d66718f85fb96613009043d7ba9e391}\label{group__crypto__transformations_ga9d66718f85fb96613009043d7ba9e391}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_RC5\_CFB@{CRYPTO\_ALG\_RC5\_CFB}}
\index{CRYPTO\_ALG\_RC5\_CFB@{CRYPTO\_ALG\_RC5\_CFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_RC5\_CFB}{CRYPTO\_ALG\_RC5\_CFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC5\+\_\+\+CFB = \char`\"{}rc5-\/cfb\char`\"{}}



Identifies the \href{https://en.wikipedia.org/wiki/RC5}{\texttt{ RC5 cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Cipher_Feedback_.28CFB.29}{\texttt{ Cipher Feedback (CFB)}} mode with a variable-\/length key. 

\begin{DoxyParagraph}{Platform Availability\+:}
\mbox{\hyperlink{group__option__constants_ga7c2cfaff4ede608873fa565ed23bc7ab}{Qore\+::\+Option\+::\+HAVE\+\_\+\+RC5}}
\end{DoxyParagraph}
Use of this cipher is only possible if the constant listed above is \mbox{\hyperlink{basic_data_types_True}{True}}

\begin{DoxyNote}{Note}
This algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). 
\end{DoxyNote}
\mbox{\Hypertarget{group__crypto__transformations_gad93f79055d46a93781a138ca839f2b1b}\label{group__crypto__transformations_gad93f79055d46a93781a138ca839f2b1b}} 
\index{Cryptographic Stream Transformations@{Cryptographic Stream Transformations}!CRYPTO\_ALG\_RC5\_OFB@{CRYPTO\_ALG\_RC5\_OFB}}
\index{CRYPTO\_ALG\_RC5\_OFB@{CRYPTO\_ALG\_RC5\_OFB}!Cryptographic Stream Transformations@{Cryptographic Stream Transformations}}
\doxysubsubsection{\texorpdfstring{CRYPTO\_ALG\_RC5\_OFB}{CRYPTO\_ALG\_RC5\_OFB}}
{\footnotesize\ttfamily const Qore\+::\+CRYPTO\+\_\+\+ALG\+\_\+\+RC5\+\_\+\+OFB = \char`\"{}rc5-\/ofb\char`\"{}}



Identifies the \href{https://en.wikipedia.org/wiki/RC5}{\texttt{ RC5 cryptographic algorithm}} in \href{https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation\#Output_Feedback_.28OFB.29}{\texttt{ Output Feedback (OFB)}} mode with a variable-\/length key. 

\begin{DoxyParagraph}{Platform Availability\+:}
\mbox{\hyperlink{group__option__constants_ga7c2cfaff4ede608873fa565ed23bc7ab}{Qore\+::\+Option\+::\+HAVE\+\_\+\+RC5}}
\end{DoxyParagraph}
Use of this cipher is only possible if the constant listed above is \mbox{\hyperlink{basic_data_types_True}{True}}

\begin{DoxyNote}{Note}
This algorithm supports a variable-\/length key and does not support a \href{https://en.wikipedia.org/wiki/Message_authentication_code}{\texttt{ Message Authentication Code (MAC)}} or Additional Authenticated Data (AAD). 
\end{DoxyNote}
