\hypertarget{signature_8hpp}{}\section{signature.\+hpp File Reference} \label{signature_8hpp}\index{signature.hpp@{signature.hpp}} Signature scheme using Ed25519. {\ttfamily \#include \char`\"{}libfilezilla.\+hpp\char`\"{}}\newline {\ttfamily \#include $<$vector$>$}\newline {\ttfamily \#include $<$string$>$}\newline Include dependency graph for signature.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{signature_8hpp__incl} \end{center} \end{figure} \subsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classfz_1_1public__verification__key}{public\+\_\+verification\+\_\+key}} \begin{DoxyCompactList}\small\item\em Represents a public key to verify messages signed using Ed25519. \end{DoxyCompactList}\item class \mbox{\hyperlink{classfz_1_1private__signing__key}{private\+\_\+signing\+\_\+key}} \begin{DoxyCompactList}\small\item\em Represents a private key to sign message with using Ed25519. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Namespaces} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{namespacefz}{fz}} \begin{DoxyCompactList}\small\item\em The namespace used by libfilezilla. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Enumerations} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{namespacefz_abc6126af1d45847bc59afa0aa3216b04}\label{namespacefz_abc6126af1d45847bc59afa0aa3216b04}} enum \{ {\bfseries signature\+\_\+size} = 64 \} \end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{namespacefz_ad44b800153b4a4ff947abc680d1c5dda}\label{namespacefz_ad44b800153b4a4ff947abc680d1c5dda}} std\+::vector$<$ uint8\+\_\+t $>$ \mbox{\hyperlink{namespacefz_ad44b800153b4a4ff947abc680d1c5dda}{sign}} (std\+::vector$<$ uint8\+\_\+t $>$ const \&message, private\+\_\+signing\+\_\+key const \&priv, bool include\+\_\+message=true) \begin{DoxyCompactList}\small\item\em Returns the message with the signature appended, created using the passed private key. \end{DoxyCompactList}\item \mbox{\Hypertarget{namespacefz_a2b383ffd67e9e832503f1f62e70fa6ef}\label{namespacefz_a2b383ffd67e9e832503f1f62e70fa6ef}} std\+::vector$<$ uint8\+\_\+t $>$ {\bfseries sign} (std\+::string\+\_\+view const \&message, private\+\_\+signing\+\_\+key const \&priv, bool include\+\_\+message=true) \item \mbox{\Hypertarget{namespacefz_a406584827e62f0044d94da54effc29be}\label{namespacefz_a406584827e62f0044d94da54effc29be}} std\+::vector$<$ uint8\+\_\+t $>$ {\bfseries sign} (uint8\+\_\+t const $\ast$message, size\+\_\+t const size, private\+\_\+signing\+\_\+key const \&priv, bool include\+\_\+message=true) \item \mbox{\Hypertarget{namespacefz_a69813290d622d4c1c1973f50008904c3}\label{namespacefz_a69813290d622d4c1c1973f50008904c3}} bool \mbox{\hyperlink{namespacefz_a69813290d622d4c1c1973f50008904c3}{verify}} (std\+::vector$<$ uint8\+\_\+t $>$ const \&message, public\+\_\+verification\+\_\+key const \&pub) \begin{DoxyCompactList}\small\item\em Verify a message with attached signature. Returns true iff it has been signed by the private key corresponding to the passed public key. \end{DoxyCompactList}\item \mbox{\Hypertarget{namespacefz_a03a9ddc614db225f38a7ea6cdd142d6e}\label{namespacefz_a03a9ddc614db225f38a7ea6cdd142d6e}} bool {\bfseries verify} (std\+::string\+\_\+view const \&message, public\+\_\+verification\+\_\+key const \&pub) \item \mbox{\Hypertarget{namespacefz_a2ffba0dba86a6c9895b14b80c6ce5af4}\label{namespacefz_a2ffba0dba86a6c9895b14b80c6ce5af4}} bool {\bfseries verify} (uint8\+\_\+t const $\ast$message, size\+\_\+t const size, public\+\_\+verification\+\_\+key const \&pub) \item \mbox{\Hypertarget{namespacefz_a2cdebd91b2f7ea93ecd790b26879a9ac}\label{namespacefz_a2cdebd91b2f7ea93ecd790b26879a9ac}} bool \mbox{\hyperlink{namespacefz_a2cdebd91b2f7ea93ecd790b26879a9ac}{verify}} (std\+::vector$<$ uint8\+\_\+t $>$ const \&message, std\+::vector$<$ uint8\+\_\+t $>$ const \&signature, public\+\_\+verification\+\_\+key const \&pub) \begin{DoxyCompactList}\small\item\em Verify a message with detached signature. Returns true iff it has been signed by the private key corresponding to the passed public key. \end{DoxyCompactList}\item \mbox{\Hypertarget{namespacefz_a78b03eae8050b98887fe8b89288d6be5}\label{namespacefz_a78b03eae8050b98887fe8b89288d6be5}} bool {\bfseries verify} (std\+::string\+\_\+view const \&message, std\+::string\+\_\+view const \&signature, public\+\_\+verification\+\_\+key const \&pub) \item \mbox{\Hypertarget{namespacefz_a7b296a7880035f489c43271f4164a501}\label{namespacefz_a7b296a7880035f489c43271f4164a501}} bool {\bfseries verify} (uint8\+\_\+t const $\ast$message, size\+\_\+t const message\+\_\+size, uint8\+\_\+t const $\ast$signature, size\+\_\+t const sig\+\_\+size, public\+\_\+verification\+\_\+key const \&pub) \end{DoxyCompactItemize} \subsection{Detailed Description} Signature scheme using Ed25519. See R\+FC 8032 for the X22519 specs.