\hypertarget{group__wickr__stream__iv}{}\doxysection{Wickr\+\_\+stream\+\_\+iv}
\label{group__wickr__stream__iv}\index{Wickr\_stream\_iv@{Wickr\_stream\_iv}}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv}}
\begin{DoxyCompactList}\small\item\em A deterministic random IV generator using a 64 byte secure random seed and HMAC-\/\+SHA512. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv\+\_\+t}} $\ast$ \mbox{\hyperlink{group__wickr__stream__iv_gaaad5726a228b7866b0cb392c131f95be}{wickr\+\_\+stream\+\_\+iv\+\_\+create}} (const \mbox{\hyperlink{structwickr__crypto__engine}{wickr\+\_\+crypto\+\_\+engine\+\_\+t}} engine, \mbox{\hyperlink{structwickr__cipher}{wickr\+\_\+cipher\+\_\+t}} cipher)
\item 
\mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv\+\_\+t}} $\ast$ \mbox{\hyperlink{group__wickr__stream__iv_gaec8a5b5d70a86997c8158d047c7eed34}{wickr\+\_\+stream\+\_\+iv\+\_\+copy}} (const \mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv\+\_\+t}} $\ast$iv)
\item 
void \mbox{\hyperlink{group__wickr__stream__iv_gad6ac87d891822a866a0d7cad48f79e27}{wickr\+\_\+stream\+\_\+iv\+\_\+destroy}} (\mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv\+\_\+t}} $\ast$$\ast$iv)
\item 
\mbox{\hyperlink{structwickr__buffer}{wickr\+\_\+buffer\+\_\+t}} $\ast$ \mbox{\hyperlink{group__wickr__stream__iv_gaddcfdc9904ec0ffd32ce8f988aefc484}{wickr\+\_\+stream\+\_\+iv\+\_\+generate}} (\mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv\+\_\+t}} $\ast$iv)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__wickr__stream__iv_gaec8a5b5d70a86997c8158d047c7eed34}\label{group__wickr__stream__iv_gaec8a5b5d70a86997c8158d047c7eed34}} 
\index{Wickr\_stream\_iv@{Wickr\_stream\_iv}!wickr\_stream\_iv\_copy@{wickr\_stream\_iv\_copy}}
\index{wickr\_stream\_iv\_copy@{wickr\_stream\_iv\_copy}!Wickr\_stream\_iv@{Wickr\_stream\_iv}}
\doxysubsubsection{\texorpdfstring{wickr\_stream\_iv\_copy()}{wickr\_stream\_iv\_copy()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv\+\_\+t}}$\ast$ wickr\+\_\+stream\+\_\+iv\+\_\+copy (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv\+\_\+t}} $\ast$}]{iv }\end{DoxyParamCaption})}

Copy a stream iv generator


\begin{DoxyParams}{Parameters}
{\em iv} & the stream iv generator to copy \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a newly allocated stream iv generator set holding a deep copy of the properties of \textquotesingle{}source\textquotesingle{} 
\end{DoxyReturn}
\mbox{\Hypertarget{group__wickr__stream__iv_gaaad5726a228b7866b0cb392c131f95be}\label{group__wickr__stream__iv_gaaad5726a228b7866b0cb392c131f95be}} 
\index{Wickr\_stream\_iv@{Wickr\_stream\_iv}!wickr\_stream\_iv\_create@{wickr\_stream\_iv\_create}}
\index{wickr\_stream\_iv\_create@{wickr\_stream\_iv\_create}!Wickr\_stream\_iv@{Wickr\_stream\_iv}}
\doxysubsubsection{\texorpdfstring{wickr\_stream\_iv\_create()}{wickr\_stream\_iv\_create()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv\+\_\+t}}$\ast$ wickr\+\_\+stream\+\_\+iv\+\_\+create (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structwickr__crypto__engine}{wickr\+\_\+crypto\+\_\+engine\+\_\+t}}}]{engine,  }\item[{\mbox{\hyperlink{structwickr__cipher}{wickr\+\_\+cipher\+\_\+t}}}]{cipher }\end{DoxyParamCaption})}

Create a stream iv generator using an engine and cipher


\begin{DoxyParams}{Parameters}
{\em engine} & see \textquotesingle{}\mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv}}\textquotesingle{} property documentation \\
\hline
{\em cipher} & see \textquotesingle{}\mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv}}\textquotesingle{} property documentation\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a newly allocated stream iv generator 
\end{DoxyReturn}
\mbox{\Hypertarget{group__wickr__stream__iv_gad6ac87d891822a866a0d7cad48f79e27}\label{group__wickr__stream__iv_gad6ac87d891822a866a0d7cad48f79e27}} 
\index{Wickr\_stream\_iv@{Wickr\_stream\_iv}!wickr\_stream\_iv\_destroy@{wickr\_stream\_iv\_destroy}}
\index{wickr\_stream\_iv\_destroy@{wickr\_stream\_iv\_destroy}!Wickr\_stream\_iv@{Wickr\_stream\_iv}}
\doxysubsubsection{\texorpdfstring{wickr\_stream\_iv\_destroy()}{wickr\_stream\_iv\_destroy()}}
{\footnotesize\ttfamily void wickr\+\_\+stream\+\_\+iv\+\_\+destroy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv\+\_\+t}} $\ast$$\ast$}]{iv }\end{DoxyParamCaption})}

Destroy a stream iv generator


\begin{DoxyParams}{Parameters}
{\em iv} & a pointer to a stream iv generator to destroy. Will destroy the sub properties of \textquotesingle{}$\ast$iv\textquotesingle{} as well \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__wickr__stream__iv_gaddcfdc9904ec0ffd32ce8f988aefc484}\label{group__wickr__stream__iv_gaddcfdc9904ec0ffd32ce8f988aefc484}} 
\index{Wickr\_stream\_iv@{Wickr\_stream\_iv}!wickr\_stream\_iv\_generate@{wickr\_stream\_iv\_generate}}
\index{wickr\_stream\_iv\_generate@{wickr\_stream\_iv\_generate}!Wickr\_stream\_iv@{Wickr\_stream\_iv}}
\doxysubsubsection{\texorpdfstring{wickr\_stream\_iv\_generate()}{wickr\_stream\_iv\_generate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structwickr__buffer}{wickr\+\_\+buffer\+\_\+t}}$\ast$ wickr\+\_\+stream\+\_\+iv\+\_\+generate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structwickr__stream__iv}{wickr\+\_\+stream\+\_\+iv\+\_\+t}} $\ast$}]{iv }\end{DoxyParamCaption})}

Generate a new unique IV. gen\+\_\+count will be increamented after calling this method, so subsequent calls will output unique values


\begin{DoxyParams}{Parameters}
{\em iv} & the stream iv generator to use for IV generation \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an IV of length \textquotesingle{}cipher\textquotesingle{}-\/$>$iv\+\_\+len generated using HMAC(gen\+\_\+count, seed) 
\end{DoxyReturn}
