<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.5"/> <title>steghide: EncryptionAlgorithm.h Source File</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="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 style="padding-left: 0.5em;"> <div id="projectname">steghide  <span id="projectnumber">0.5.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">EncryptionAlgorithm.h</div> </div> </div><!--header--> <div class="contents"> <a href="EncryptionAlgorithm_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * steghide 0.5.1 - a steganography program</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 1999-2003 Stefan Hetzl <shetzl@chello.at></span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * modify it under the terms of the GNU General Public License</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * as published by the Free Software Foundation; either version 2</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * of the License, or (at your option) any later version.</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#ifndef SH_ENCALGO_H</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#define SH_ENCALGO_H</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <string></span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div> <div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html"> 26</a></span> <span class="keyword">class </span><a class="code" href="classEncryptionAlgorithm.html">EncryptionAlgorithm</a> {</div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a6c180bb36ea4f6cedbb1b6e0817c5aee"> 29</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classEncryptionAlgorithm.html#a6c180bb36ea4f6cedbb1b6e0817c5aee">IRep_size</a> = 5 ;</div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064da"> 32</a></span>  <span class="keyword">enum</span> <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064da">IRep</a> {</div> <div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa8d4a74a03b2605f7a1f8030a83c9e1e3"> 33</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa8d4a74a03b2605f7a1f8030a83c9e1e3">NONE</a> = 0,</div> <div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daab720e8b15fef4372ab9393532cb1a13a"> 34</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daab720e8b15fef4372ab9393532cb1a13a">TWOFISH</a> = 1,</div> <div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa443d301831aef540d75c4cf59265d75f"> 35</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa443d301831aef540d75c4cf59265d75f">RIJNDAEL128</a> = 2,</div> <div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa18cddf561172034b88fc5677845de3ff"> 36</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa18cddf561172034b88fc5677845de3ff">RIJNDAEL192</a> = 3,</div> <div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa2f0a09f210fae871590704e1a85cb9f2"> 37</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa2f0a09f210fae871590704e1a85cb9f2">RIJNDAEL256</a> = 4,</div> <div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daaa9dfea62ff8794811048ddb1032a7071"> 38</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daaa9dfea62ff8794811048ddb1032a7071">SAFERPLUS</a> = 5,</div> <div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa78ad6beefce45cca6430003e49475d95"> 39</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa78ad6beefce45cca6430003e49475d95">RC2</a> = 6,</div> <div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daaf542f1648c141ba50cacac5cf590ca00"> 40</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daaf542f1648c141ba50cacac5cf590ca00">XTEA</a> = 7,</div> <div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa29333d9a6ebf780ffb67029b841aa5c1"> 41</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa29333d9a6ebf780ffb67029b841aa5c1">SERPENT</a> = 8,</div> <div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa33c11966ccd4075492eede553d34748e"> 42</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa33c11966ccd4075492eede553d34748e">SAFERSK64</a> = 9,</div> <div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daad9da67ad1a05fbe2dc7ca6d4ba0a85bd"> 43</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daad9da67ad1a05fbe2dc7ca6d4ba0a85bd">SAFERSK128</a> = 10,</div> <div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa5da62f3e21e98cf6e04da8636a109536"> 44</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa5da62f3e21e98cf6e04da8636a109536">CAST256</a> = 11,</div> <div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daac83d0354296871b8f1d6d16e15967245"> 45</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daac83d0354296871b8f1d6d16e15967245">LOKI97</a> = 12,</div> <div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa01e07af2d40a0b0bb0dd68a653be7f48"> 46</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa01e07af2d40a0b0bb0dd68a653be7f48">GOST</a> = 13,</div> <div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa87b9713f03f6d386a291adce770997d5"> 47</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa87b9713f03f6d386a291adce770997d5">THREEWAY</a> = 14,</div> <div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daad515a7dc78cbd5612e83a9aae1107244"> 48</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daad515a7dc78cbd5612e83a9aae1107244">CAST128</a> = 15,</div> <div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa0d677fe184757e7586de175698103a03"> 49</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa0d677fe184757e7586de175698103a03">BLOWFISH</a> = 16,</div> <div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa9cee17436bacf6fb196fa9314eb36e86"> 50</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa9cee17436bacf6fb196fa9314eb36e86">DES</a> = 17,</div> <div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa1a2a0556c135deea10e369fbac503d23"> 51</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa1a2a0556c135deea10e369fbac503d23">TRIPLEDES</a> = 18,</div> <div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa8b222ca28b942be68840b02dded149ff"> 52</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa8b222ca28b942be68840b02dded149ff">ENIGMA</a> = 19,</div> <div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa9b6958d25a21123bb63d2080fa8064b5"> 53</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa9b6958d25a21123bb63d2080fa8064b5">ARCFOUR</a> = 20,</div> <div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daae9dfbc00d41cf18d6a765c5014a5989e"> 54</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daae9dfbc00d41cf18d6a765c5014a5989e">PANAMA</a> = 21,</div> <div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa8bac05b1857afecc3d189a61a61d4923"> 55</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa8bac05b1857afecc3d189a61a61d4923">WAKE</a> = 22</div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  } ;</div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="classEncryptionAlgorithm.html#a8153a4eeaf5463cdb05f0715fe782a1d">EncryptionAlgorithm</a> (<span class="keywordtype">void</span>) ;</div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="classEncryptionAlgorithm.html#a8153a4eeaf5463cdb05f0715fe782a1d">EncryptionAlgorithm</a> (<a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064da">IRep</a> irep) ;</div> <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="classEncryptionAlgorithm.html#a8153a4eeaf5463cdb05f0715fe782a1d">EncryptionAlgorithm</a> (std::string srep) ;</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">void</span> <a class="code" href="classEncryptionAlgorithm.html#a5fe2a9ccaeb63a6d24e9c6c826aa0aec">setValue</a> (<a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064da">IRep</a> irep) ;</div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  std::string <a class="code" href="classEncryptionAlgorithm.html#ab7463dacf65111b52b3dd0118dd48e3a">getStringRep</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064da">IRep</a> <a class="code" href="classEncryptionAlgorithm.html#a9ae064e382d37b89dfef2a3c5618f935">getIntegerRep</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div> <div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a73e723f6e68b953ee5b64bea7ee48e9f"> 71</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classEncryptionAlgorithm.html#a73e723f6e68b953ee5b64bea7ee48e9f">operator== </a>(<span class="keyword">const</span> <a class="code" href="classEncryptionAlgorithm.html">EncryptionAlgorithm</a>& algo)<span class="keyword"> const</span></div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> (<a class="code" href="classEncryptionAlgorithm.html#af75d13966d2b849cb0d92446ab982f5a">Value</a> == algo.<a class="code" href="classEncryptionAlgorithm.html#af75d13966d2b849cb0d92446ab982f5a">Value</a>) ; } ;</div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classEncryptionAlgorithm.html#aa27946ca69ace48b6264fcd6a11bf820">isValidStringRep</a> (std::string srep) ;</div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classEncryptionAlgorithm.html#a6831aa0c243e97fea301b9941e80ff54">isValidIntegerRep</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> irep) ;</div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">static</span> std::string <a class="code" href="classEncryptionAlgorithm.html#a11940db2351b1c3bb112e82584db3ce2">translate</a> (<a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064da">IRep</a> irep) ;</div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keyword">static</span> <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064da">IRep</a> <a class="code" href="classEncryptionAlgorithm.html#a11940db2351b1c3bb112e82584db3ce2">translate</a> (std::string srep) ;</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">private</span>:</div> <div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#ac73bd3dce21f67281d56d2f472cae216"> 94</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classEncryptionAlgorithm.html#ac73bd3dce21f67281d56d2f472cae216">NumValues</a> = 23 ;</div> <div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#af75d13966d2b849cb0d92446ab982f5a"> 95</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064da">IRep</a> <a class="code" href="classEncryptionAlgorithm.html#af75d13966d2b849cb0d92446ab982f5a">Value</a> ;</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> <div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structEncryptionAlgorithm_1_1struct__Translation.html"> 97</a></span>  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structEncryptionAlgorithm_1_1struct__Translation.html">struct_Translation</a> {</div> <div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="structEncryptionAlgorithm_1_1struct__Translation.html#a94804ed1cda3054c2b57f9bb6d51993c"> 98</a></span>  <a class="code" href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064da">IRep</a> <a class="code" href="structEncryptionAlgorithm_1_1struct__Translation.html#a94804ed1cda3054c2b57f9bb6d51993c">irep</a> ;</div> <div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structEncryptionAlgorithm_1_1struct__Translation.html#a0bd39117150f7b3c0f02d71a39441287"> 99</a></span>  <span class="keywordtype">char</span>* <a class="code" href="structEncryptionAlgorithm_1_1struct__Translation.html#a0bd39117150f7b3c0f02d71a39441287">srep</a> ;</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  } <a class="code" href="classEncryptionAlgorithm.html#a619b72407ff6ac5ba13c3e50199fc9fa">Translation</a> ;</div> <div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classEncryptionAlgorithm.html#a04ae419348583b3a689f04877968ea06"> 101</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="structEncryptionAlgorithm_1_1struct__Translation.html">Translation</a> <a class="code" href="classEncryptionAlgorithm.html#a04ae419348583b3a689f04877968ea06">Translations</a>[] ;</div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span> } ;</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor">#endif // ndef SH_ENCALGO_H</span></div> <div class="ttc" id="classEncryptionAlgorithm_html_af75d13966d2b849cb0d92446ab982f5a"><div class="ttname"><a href="classEncryptionAlgorithm.html#af75d13966d2b849cb0d92446ab982f5a">EncryptionAlgorithm::Value</a></div><div class="ttdeci">IRep Value</div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:95</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a619b72407ff6ac5ba13c3e50199fc9fa"><div class="ttname"><a href="classEncryptionAlgorithm.html#a619b72407ff6ac5ba13c3e50199fc9fa">EncryptionAlgorithm::Translation</a></div><div class="ttdeci">struct EncryptionAlgorithm::struct_Translation Translation</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa33c11966ccd4075492eede553d34748e"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa33c11966ccd4075492eede553d34748e">EncryptionAlgorithm::SAFERSK64</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:42</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa1a2a0556c135deea10e369fbac503d23"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa1a2a0556c135deea10e369fbac503d23">EncryptionAlgorithm::TRIPLEDES</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:51</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa9cee17436bacf6fb196fa9314eb36e86"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa9cee17436bacf6fb196fa9314eb36e86">EncryptionAlgorithm::DES</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:50</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a8153a4eeaf5463cdb05f0715fe782a1d"><div class="ttname"><a href="classEncryptionAlgorithm.html#a8153a4eeaf5463cdb05f0715fe782a1d">EncryptionAlgorithm::EncryptionAlgorithm</a></div><div class="ttdeci">EncryptionAlgorithm(void)</div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.cc:24</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa18cddf561172034b88fc5677845de3ff"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa18cddf561172034b88fc5677845de3ff">EncryptionAlgorithm::RIJNDAEL192</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:36</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_ac73bd3dce21f67281d56d2f472cae216"><div class="ttname"><a href="classEncryptionAlgorithm.html#ac73bd3dce21f67281d56d2f472cae216">EncryptionAlgorithm::NumValues</a></div><div class="ttdeci">static const unsigned int NumValues</div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:94</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_ab7463dacf65111b52b3dd0118dd48e3a"><div class="ttname"><a href="classEncryptionAlgorithm.html#ab7463dacf65111b52b3dd0118dd48e3a">EncryptionAlgorithm::getStringRep</a></div><div class="ttdeci">std::string getStringRep(void) const </div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.cc:44</div></div> <div class="ttc" id="classEncryptionAlgorithm_html"><div class="ttname"><a href="classEncryptionAlgorithm.html">EncryptionAlgorithm</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:26</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa87b9713f03f6d386a291adce770997d5"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa87b9713f03f6d386a291adce770997d5">EncryptionAlgorithm::THREEWAY</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:47</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daaa9dfea62ff8794811048ddb1032a7071"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daaa9dfea62ff8794811048ddb1032a7071">EncryptionAlgorithm::SAFERPLUS</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:38</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a6831aa0c243e97fea301b9941e80ff54"><div class="ttname"><a href="classEncryptionAlgorithm.html#a6831aa0c243e97fea301b9941e80ff54">EncryptionAlgorithm::isValidIntegerRep</a></div><div class="ttdeci">static bool isValidIntegerRep(unsigned int irep)</div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.cc:65</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa29333d9a6ebf780ffb67029b841aa5c1"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa29333d9a6ebf780ffb67029b841aa5c1">EncryptionAlgorithm::SERPENT</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:41</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa0d677fe184757e7586de175698103a03"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa0d677fe184757e7586de175698103a03">EncryptionAlgorithm::BLOWFISH</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:49</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa443d301831aef540d75c4cf59265d75f"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa443d301831aef540d75c4cf59265d75f">EncryptionAlgorithm::RIJNDAEL128</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:35</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa2f0a09f210fae871590704e1a85cb9f2"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa2f0a09f210fae871590704e1a85cb9f2">EncryptionAlgorithm::RIJNDAEL256</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:37</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a73e723f6e68b953ee5b64bea7ee48e9f"><div class="ttname"><a href="classEncryptionAlgorithm.html#a73e723f6e68b953ee5b64bea7ee48e9f">EncryptionAlgorithm::operator==</a></div><div class="ttdeci">bool operator==(const EncryptionAlgorithm &algo) const </div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:71</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daab720e8b15fef4372ab9393532cb1a13a"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daab720e8b15fef4372ab9393532cb1a13a">EncryptionAlgorithm::TWOFISH</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:34</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daae9dfbc00d41cf18d6a765c5014a5989e"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daae9dfbc00d41cf18d6a765c5014a5989e">EncryptionAlgorithm::PANAMA</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:54</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daac83d0354296871b8f1d6d16e15967245"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daac83d0354296871b8f1d6d16e15967245">EncryptionAlgorithm::LOKI97</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:45</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa9b6958d25a21123bb63d2080fa8064b5"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa9b6958d25a21123bb63d2080fa8064b5">EncryptionAlgorithm::ARCFOUR</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:53</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa01e07af2d40a0b0bb0dd68a653be7f48"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa01e07af2d40a0b0bb0dd68a653be7f48">EncryptionAlgorithm::GOST</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:46</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a04ae419348583b3a689f04877968ea06"><div class="ttname"><a href="classEncryptionAlgorithm.html#a04ae419348583b3a689f04877968ea06">EncryptionAlgorithm::Translations</a></div><div class="ttdeci">static const Translation Translations[]</div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:101</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064da"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064da">EncryptionAlgorithm::IRep</a></div><div class="ttdeci">IRep</div><div class="ttdoc">integer representation of encryption algorithm </div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:32</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa8b222ca28b942be68840b02dded149ff"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa8b222ca28b942be68840b02dded149ff">EncryptionAlgorithm::ENIGMA</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:52</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_aa27946ca69ace48b6264fcd6a11bf820"><div class="ttname"><a href="classEncryptionAlgorithm.html#aa27946ca69ace48b6264fcd6a11bf820">EncryptionAlgorithm::isValidStringRep</a></div><div class="ttdeci">static bool isValidStringRep(std::string srep)</div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.cc:54</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa8d4a74a03b2605f7a1f8030a83c9e1e3"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa8d4a74a03b2605f7a1f8030a83c9e1e3">EncryptionAlgorithm::NONE</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:33</div></div> <div class="ttc" id="structEncryptionAlgorithm_1_1struct__Translation_html_a0bd39117150f7b3c0f02d71a39441287"><div class="ttname"><a href="structEncryptionAlgorithm_1_1struct__Translation.html#a0bd39117150f7b3c0f02d71a39441287">EncryptionAlgorithm::struct_Translation::srep</a></div><div class="ttdeci">char * srep</div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:99</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa8bac05b1857afecc3d189a61a61d4923"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa8bac05b1857afecc3d189a61a61d4923">EncryptionAlgorithm::WAKE</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:55</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daad9da67ad1a05fbe2dc7ca6d4ba0a85bd"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daad9da67ad1a05fbe2dc7ca6d4ba0a85bd">EncryptionAlgorithm::SAFERSK128</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:43</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a6c180bb36ea4f6cedbb1b6e0817c5aee"><div class="ttname"><a href="classEncryptionAlgorithm.html#a6c180bb36ea4f6cedbb1b6e0817c5aee">EncryptionAlgorithm::IRep_size</a></div><div class="ttdeci">static const unsigned int IRep_size</div><div class="ttdoc">number of bits needed to code the algorithm </div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:29</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a5fe2a9ccaeb63a6d24e9c6c826aa0aec"><div class="ttname"><a href="classEncryptionAlgorithm.html#a5fe2a9ccaeb63a6d24e9c6c826aa0aec">EncryptionAlgorithm::setValue</a></div><div class="ttdeci">void setValue(IRep irep)</div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.cc:39</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daaf542f1648c141ba50cacac5cf590ca00"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daaf542f1648c141ba50cacac5cf590ca00">EncryptionAlgorithm::XTEA</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:40</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa5da62f3e21e98cf6e04da8636a109536"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa5da62f3e21e98cf6e04da8636a109536">EncryptionAlgorithm::CAST256</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:44</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daa78ad6beefce45cca6430003e49475d95"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daa78ad6beefce45cca6430003e49475d95">EncryptionAlgorithm::RC2</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:39</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a0b0a38d56c374dd496b2eb3b196064daad515a7dc78cbd5612e83a9aae1107244"><div class="ttname"><a href="classEncryptionAlgorithm.html#a0b0a38d56c374dd496b2eb3b196064daad515a7dc78cbd5612e83a9aae1107244">EncryptionAlgorithm::CAST128</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:48</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a9ae064e382d37b89dfef2a3c5618f935"><div class="ttname"><a href="classEncryptionAlgorithm.html#a9ae064e382d37b89dfef2a3c5618f935">EncryptionAlgorithm::getIntegerRep</a></div><div class="ttdeci">IRep getIntegerRep(void) const </div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.cc:49</div></div> <div class="ttc" id="structEncryptionAlgorithm_1_1struct__Translation_html"><div class="ttname"><a href="structEncryptionAlgorithm_1_1struct__Translation.html">EncryptionAlgorithm::struct_Translation</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:97</div></div> <div class="ttc" id="structEncryptionAlgorithm_1_1struct__Translation_html_a94804ed1cda3054c2b57f9bb6d51993c"><div class="ttname"><a href="structEncryptionAlgorithm_1_1struct__Translation.html#a94804ed1cda3054c2b57f9bb6d51993c">EncryptionAlgorithm::struct_Translation::irep</a></div><div class="ttdeci">IRep irep</div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:98</div></div> <div class="ttc" id="classEncryptionAlgorithm_html_a11940db2351b1c3bb112e82584db3ce2"><div class="ttname"><a href="classEncryptionAlgorithm.html#a11940db2351b1c3bb112e82584db3ce2">EncryptionAlgorithm::translate</a></div><div class="ttdeci">static std::string translate(IRep irep)</div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.cc:70</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Oct 18 2013 17:59:36 for steghide by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>