<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libfilezilla: encryption.hpp File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectlogo"><img alt="Logo" src="libfilezilla.png"/></td> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libfilezilla </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ var searchBox = new SearchBox("searchBox", "search",false,'Search'); /* @license-end */ </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */</script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_bfd4f94fea6b65a4615f91ddf59adbf8.html">libfilezilla</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">encryption.hpp File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Asymmetric encryption scheme using X25519. <a href="#details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="libfilezilla_8hpp_source.html">libfilezilla.hpp</a>"</code><br /> <code>#include <vector></code><br /> <code>#include <string></code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for encryption.hpp:</div> <div class="dyncontent"> <div class="center"><img src="encryption_8hpp__incl.png" border="0" usemap="#encryption_8hpp" alt=""/></div> <map name="encryption_8hpp" id="encryption_8hpp"> <area shape="rect" title="Asymmetric encryption scheme using X25519." alt="" coords="391,5,505,32"/> <area shape="rect" href="libfilezilla_8hpp.html" title="Sets some global macros and further includes string.hpp." alt="" coords="302,80,410,107"/> <area shape="rect" title=" " alt="" coords="411,229,469,256"/> <area shape="rect" title=" " alt="" coords="493,229,552,256"/> <area shape="rect" title=" " alt="" coords="5,155,128,181"/> <area shape="rect" title=" " alt="" coords="153,155,295,181"/> <area shape="rect" href="string_8hpp.html" title="String types and assorted functions." alt="" coords="320,155,405,181"/> <area shape="rect" title=" " alt="" coords="189,229,272,256"/> <area shape="rect" title=" " alt="" coords="296,229,387,256"/> </map> </div> </div> <p><a href="encryption_8hpp_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classfz_1_1public__key.html">public_key</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents a X25519 public key with associated salt. <a href="classfz_1_1public__key.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classfz_1_1private__key.html">private_key</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents a X25519 private key with associated salt. <a href="classfz_1_1private__key.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a> Namespaces</h2></td></tr> <tr class="memitem:namespacefz"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefz.html">fz</a></td></tr> <tr class="memdesc:namespacefz"><td class="mdescLeft"> </td><td class="mdescRight">The namespace used by libfilezilla. <br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a3a16c70339e1f57a7ae04749429b57d7"><td class="memItemLeft" align="right" valign="top">std::vector< uint8_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefz.html#a3a16c70339e1f57a7ae04749429b57d7">encrypt</a> (std::vector< uint8_t > const &plain, public_key const &pub, bool authenticated=true)</td></tr> <tr class="memdesc:a3a16c70339e1f57a7ae04749429b57d7"><td class="mdescLeft"> </td><td class="mdescRight">Encrypt the plaintext to the given public key. <a href="namespacefz.html#a3a16c70339e1f57a7ae04749429b57d7">More...</a><br /></td></tr> <tr class="separator:a3a16c70339e1f57a7ae04749429b57d7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac4c83116294479cb38ecec063550f1ea"><td class="memItemLeft" align="right" valign="top"><a id="ac4c83116294479cb38ecec063550f1ea"></a> std::vector< uint8_t > </td><td class="memItemRight" valign="bottom"><b>encrypt</b> (std::string_view const &plain, public_key const &pub, bool authenticated=true)</td></tr> <tr class="separator:ac4c83116294479cb38ecec063550f1ea"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a93523e0923925e8257b85560ee3db9f5"><td class="memItemLeft" align="right" valign="top"><a id="a93523e0923925e8257b85560ee3db9f5"></a> std::vector< uint8_t > </td><td class="memItemRight" valign="bottom"><b>encrypt</b> (uint8_t const *plain, size_t size, public_key const &pub, bool authenticated=true)</td></tr> <tr class="separator:a93523e0923925e8257b85560ee3db9f5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a103f724db711d9a325510058995e5ae7"><td class="memItemLeft" align="right" valign="top">std::vector< uint8_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefz.html#a103f724db711d9a325510058995e5ae7">decrypt</a> (std::vector< uint8_t > const &chiper, private_key const &priv, bool authenticated=true)</td></tr> <tr class="memdesc:a103f724db711d9a325510058995e5ae7"><td class="mdescLeft"> </td><td class="mdescRight">Decrypt the ciphertext using the given private key. <a href="namespacefz.html#a103f724db711d9a325510058995e5ae7">More...</a><br /></td></tr> <tr class="separator:a103f724db711d9a325510058995e5ae7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6cf3b34861899ba801b730e8a20478b9"><td class="memItemLeft" align="right" valign="top"><a id="a6cf3b34861899ba801b730e8a20478b9"></a> std::vector< uint8_t > </td><td class="memItemRight" valign="bottom"><b>decrypt</b> (std::string_view const &chiper, private_key const &priv, bool authenticated=true)</td></tr> <tr class="separator:a6cf3b34861899ba801b730e8a20478b9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a118d97814be732badc4a3b4f4d542ba3"><td class="memItemLeft" align="right" valign="top"><a id="a118d97814be732badc4a3b4f4d542ba3"></a> std::vector< uint8_t > </td><td class="memItemRight" valign="bottom"><b>decrypt</b> (uint8_t const *cipher, size_t size, private_key const &priv, bool authenticated=true)</td></tr> <tr class="separator:a118d97814be732badc4a3b4f4d542ba3"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Asymmetric encryption scheme using X25519. </p> <p>See RFC 7748 for the X22519 specs. </p> </div></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.15 </small></address> </body> </html>