doc/rdoc/more/classes/BiCrypt.html in facets-2.4.2 vs doc/rdoc/more/classes/BiCrypt.html in facets-2.4.3

- old
+ new

@@ -83,26 +83,26 @@ <div class="sectiontitle">Methods</div> <ul> - <li><a href="#M000473">block_size</a></li> - <li><a href="#M000484">carefully_open_file</a></li> - <li><a href="#M000480">decrypt_block</a></li> - <li><a href="#M000486">decrypt_file</a></li> - <li><a href="#M000478">decrypt_pair</a></li> - <li><a href="#M000483">decrypt_stream</a></li> - <li><a href="#M000488">decrypt_string</a></li> - <li><a href="#M000479">encrypt_block</a></li> - <li><a href="#M000485">encrypt_file</a></li> - <li><a href="#M000477">encrypt_pair</a></li> - <li><a href="#M000482">encrypt_stream</a></li> - <li><a href="#M000487">encrypt_string</a></li> - <li><a href="#M000476">f</a></li> - <li><a href="#M000481">generate_initialization_vector</a></li> - <li><a href="#M000474">new</a></li> - <li><a href="#M000475">precalculate_S_table</a></li> + <li><a href="#M000483">block_size</a></li> + <li><a href="#M000494">carefully_open_file</a></li> + <li><a href="#M000490">decrypt_block</a></li> + <li><a href="#M000496">decrypt_file</a></li> + <li><a href="#M000488">decrypt_pair</a></li> + <li><a href="#M000493">decrypt_stream</a></li> + <li><a href="#M000498">decrypt_string</a></li> + <li><a href="#M000489">encrypt_block</a></li> + <li><a href="#M000495">encrypt_file</a></li> + <li><a href="#M000487">encrypt_pair</a></li> + <li><a href="#M000492">encrypt_stream</a></li> + <li><a href="#M000497">encrypt_string</a></li> + <li><a href="#M000486">f</a></li> + <li><a href="#M000491">generate_initialization_vector</a></li> + <li><a href="#M000484">new</a></li> + <li><a href="#M000485">precalculate_S_table</a></li> </ul> @@ -117,15 +117,15 @@ <div class="sectiontitle">Public Class methods</div> <div class="method"> <div class="title"> - <a name="M000474"></a><b>new</b>(userKey) + <a name="M000484"></a><b>new</b>(userKey) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000474_source')" id="l_M000474_source">show source</a> ]</p> - <div id="M000474_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000484_source')" id="l_M000484_source">show source</a> ]</p> + <div id="M000484_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 37</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">userKey</span>) <span class="ruby-comment cmt"># These are the S-boxes given in Applied Cryptography 2nd Ed., p. 333</span> @@ -166,15 +166,15 @@ </div> </div> <div class="sectiontitle">Public Instance methods</div> <div class="method"> <div class="title"> - <a name="M000473"></a><b>block_size</b>() + <a name="M000483"></a><b>block_size</b>() </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000473_source')" id="l_M000473_source">show source</a> ]</p> - <div id="M000473_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000483_source')" id="l_M000483_source">show source</a> ]</p> + <div id="M000483_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 33</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">block_size</span> <span class="ruby-keyword kw">return</span>(<span class="ruby-value">8</span>) <span class="ruby-keyword kw">end</span> @@ -182,15 +182,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000484"></a><b>carefully_open_file</b>(filename, mode) + <a name="M000494"></a><b>carefully_open_file</b>(filename, mode) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000484_source')" id="l_M000484_source">show source</a> ]</p> - <div id="M000484_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000494_source')" id="l_M000494_source">show source</a> ]</p> + <div id="M000494_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 217</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">carefully_open_file</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-identifier">mode</span>) <span class="ruby-keyword kw">begin</span> <span class="ruby-identifier">aFile</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-identifier">mode</span>) @@ -205,15 +205,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000480"></a><b>decrypt_block</b>(block) + <a name="M000490"></a><b>decrypt_block</b>(block) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000480_source')" id="l_M000480_source">show source</a> ]</p> - <div id="M000480_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000490_source')" id="l_M000490_source">show source</a> ]</p> + <div id="M000490_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 147</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decrypt_block</span>(<span class="ruby-identifier">block</span>) <span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span> = <span class="ruby-identifier">block</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'NN'</span>) <span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span> = <span class="ruby-identifier">decrypt_pair</span>(<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span>) @@ -224,15 +224,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000486"></a><b>decrypt_file</b>(cryptFilename, plainFilename) + <a name="M000496"></a><b>decrypt_file</b>(cryptFilename, plainFilename) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000486_source')" id="l_M000486_source">show source</a> ]</p> - <div id="M000486_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000496_source')" id="l_M000496_source">show source</a> ]</p> + <div id="M000496_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 238</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decrypt_file</span>(<span class="ruby-identifier">cryptFilename</span>, <span class="ruby-identifier">plainFilename</span>) <span class="ruby-identifier">cryptFile</span> = <span class="ruby-identifier">carefully_open_file</span>(<span class="ruby-identifier">cryptFilename</span>, <span class="ruby-value str">'rb'</span>) <span class="ruby-identifier">plainFile</span> = <span class="ruby-identifier">carefully_open_file</span>(<span class="ruby-identifier">plainFilename</span>, <span class="ruby-value str">'wb+'</span>) @@ -244,15 +244,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000478"></a><b>decrypt_pair</b>(xl, xr) + <a name="M000488"></a><b>decrypt_pair</b>(xl, xr) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000478_source')" id="l_M000478_source">show source</a> ]</p> - <div id="M000478_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000488_source')" id="l_M000488_source">show source</a> ]</p> + <div id="M000488_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 117</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decrypt_pair</span>(<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span>) <span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">0</span>]) <span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">1</span>]) @@ -278,15 +278,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000483"></a><b>decrypt_stream</b>(cryptStream, plainStream) + <a name="M000493"></a><b>decrypt_stream</b>(cryptStream, plainStream) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000483_source')" id="l_M000483_source">show source</a> ]</p> - <div id="M000483_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000493_source')" id="l_M000493_source">show source</a> ]</p> + <div id="M000493_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 199</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decrypt_stream</span>(<span class="ruby-identifier">cryptStream</span>, <span class="ruby-identifier">plainStream</span>) <span class="ruby-comment cmt"># Cypher-block-chain mode</span> <span class="ruby-identifier">chain</span> = <span class="ruby-identifier">cryptStream</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">block_size</span>()) @@ -307,15 +307,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000488"></a><b>decrypt_string</b>(cryptText) + <a name="M000498"></a><b>decrypt_string</b>(cryptText) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000488_source')" id="l_M000488_source">show source</a> ]</p> - <div id="M000488_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000498_source')" id="l_M000498_source">show source</a> ]</p> + <div id="M000498_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 256</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decrypt_string</span>(<span class="ruby-identifier">cryptText</span>) <span class="ruby-identifier">cryptStream</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">cryptText</span>) <span class="ruby-identifier">plainStream</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">''</span>) @@ -327,15 +327,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000479"></a><b>encrypt_block</b>(block) + <a name="M000489"></a><b>encrypt_block</b>(block) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000479_source')" id="l_M000479_source">show source</a> ]</p> - <div id="M000479_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000489_source')" id="l_M000489_source">show source</a> ]</p> + <div id="M000489_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 139</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_block</span>(<span class="ruby-identifier">block</span>) <span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span> = <span class="ruby-identifier">block</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'NN'</span>) <span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span> = <span class="ruby-identifier">encrypt_pair</span>(<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span>) @@ -346,15 +346,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000485"></a><b>encrypt_file</b>(plainFilename, cryptFilename) + <a name="M000495"></a><b>encrypt_file</b>(plainFilename, cryptFilename) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000485_source')" id="l_M000485_source">show source</a> ]</p> - <div id="M000485_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000495_source')" id="l_M000495_source">show source</a> ]</p> + <div id="M000495_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 229</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_file</span>(<span class="ruby-identifier">plainFilename</span>, <span class="ruby-identifier">cryptFilename</span>) <span class="ruby-identifier">plainFile</span> = <span class="ruby-identifier">carefully_open_file</span>(<span class="ruby-identifier">plainFilename</span>, <span class="ruby-value str">'rb'</span>) <span class="ruby-identifier">cryptFile</span> = <span class="ruby-identifier">carefully_open_file</span>(<span class="ruby-identifier">cryptFilename</span>, <span class="ruby-value str">'wb+'</span>) @@ -366,15 +366,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000477"></a><b>encrypt_pair</b>(xl, xr) + <a name="M000487"></a><b>encrypt_pair</b>(xl, xr) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000477_source')" id="l_M000477_source">show source</a> ]</p> - <div id="M000477_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000487_source')" id="l_M000487_source">show source</a> ]</p> + <div id="M000487_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 94</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_pair</span>(<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span>) <span class="ruby-value">3</span>.<span class="ruby-identifier">times</span> { <span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">0</span>]) @@ -400,15 +400,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000482"></a><b>encrypt_stream</b>(plainStream, cryptStream) + <a name="M000492"></a><b>encrypt_stream</b>(plainStream, cryptStream) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000482_source')" id="l_M000482_source">show source</a> ]</p> - <div id="M000482_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000492_source')" id="l_M000492_source">show source</a> ]</p> + <div id="M000492_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 168</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_stream</span>(<span class="ruby-identifier">plainStream</span>, <span class="ruby-identifier">cryptStream</span>) <span class="ruby-comment cmt"># Cypher-block-chain mode</span> @@ -442,15 +442,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000487"></a><b>encrypt_string</b>(plainText) + <a name="M000497"></a><b>encrypt_string</b>(plainText) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000487_source')" id="l_M000487_source">show source</a> ]</p> - <div id="M000487_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000497_source')" id="l_M000497_source">show source</a> ]</p> + <div id="M000497_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 247</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_string</span>(<span class="ruby-identifier">plainText</span>) <span class="ruby-identifier">plainStream</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">plainText</span>) <span class="ruby-identifier">cryptStream</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">''</span>) @@ -462,15 +462,15 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000476"></a><b>f</b>(longWord) + <a name="M000486"></a><b>f</b>(longWord) </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000476_source')" id="l_M000476_source">show source</a> ]</p> - <div id="M000476_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000486_source')" id="l_M000486_source">show source</a> ]</p> + <div id="M000486_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 88</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">longWord</span>) <span class="ruby-identifier">longWord</span> = <span class="ruby-identifier">longWord</span> <span class="ruby-operator">%</span> <span class="ruby-constant">ULONG</span> <span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span>, <span class="ruby-identifier">c</span>, <span class="ruby-identifier">d</span> = [<span class="ruby-identifier">longWord</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'L'</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'CCCC'</span>) @@ -480,24 +480,24 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000481"></a><b>generate_initialization_vector</b>(words) + <a name="M000491"></a><b>generate_initialization_vector</b>(words) </div> <div class="description"> <p> When this module is mixed in with an encryption class, the class must provide three methods: <a -href="BiCrypt.html#M000479">encrypt_block</a>(block) and <a -href="BiCrypt.html#M000480">decrypt_block</a>(block) and <a -href="BiCrypt.html#M000473">block_size</a>() +href="BiCrypt.html#M000489">encrypt_block</a>(block) and <a +href="BiCrypt.html#M000490">decrypt_block</a>(block) and <a +href="BiCrypt.html#M000483">block_size</a>() </p> </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000481_source')" id="l_M000481_source">show source</a> ]</p> - <div id="M000481_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000491_source')" id="l_M000491_source">show source</a> ]</p> + <div id="M000491_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 158</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate_initialization_vector</span>(<span class="ruby-identifier">words</span>) <span class="ruby-identifier">srand</span>(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-identifier">vector</span> = <span class="ruby-value str">&quot;&quot;</span> @@ -510,14 +510,14 @@ </div> </div> </div> <div class="method"> <div class="title"> - <a name="M000475"></a><b>precalculate_S_table</b>() + <a name="M000485"></a><b>precalculate_S_table</b>() </div> <div class="sourcecode"> - <p class="source-link">[ <a href="javascript:toggleSource('M000475_source')" id="l_M000475_source">show source</a> ]</p> - <div id="M000475_source" class="dyn-source"> + <p class="source-link">[ <a href="javascript:toggleSource('M000485_source')" id="l_M000485_source">show source</a> ]</p> + <div id="M000485_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/more/facets/bicrypt.rb, line 74</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">precalculate_S_table</span>() <span class="ruby-identifier">sTable</span> = [[], [], [], []] <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">3</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> \ No newline at end of file