summaryrefslogtreecommitdiff
path: root/api/2.6/Crypto.Util.number-module.html
diff options
context:
space:
mode:
Diffstat (limited to 'api/2.6/Crypto.Util.number-module.html')
-rw-r--r--api/2.6/Crypto.Util.number-module.html677
1 files changed, 677 insertions, 0 deletions
diff --git a/api/2.6/Crypto.Util.number-module.html b/api/2.6/Crypto.Util.number-module.html
new file mode 100644
index 0000000..49ea036
--- /dev/null
+++ b/api/2.6/Crypto.Util.number-module.html
@@ -0,0 +1,677 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Crypto.Util.number</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="Crypto-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Tree link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Index link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Help link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Project homepage -->
+ <th class="navbar" align="right" width="100%">
+ <table border="0" cellpadding="0" cellspacing="0">
+ <tr><th class="navbar" align="center"
+ ><a href="http://www.pycrypto.org/">PyCrypto.org</a></th>
+ </tr></table></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="Crypto-module.html">Package&nbsp;Crypto</a> ::
+ <a href="Crypto.Util-module.html">Package&nbsp;Util</a> ::
+ Module&nbsp;number
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >]&nbsp;|&nbsp;<a href="Crypto.Util.number-module.html"
+ target="_top">no&nbsp;frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module number</h1><p class="nomargin-top"></p>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td align="left" colspan="2" class="table-header">
+ <span class="table-header">Functions</span></td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="size"></a><span class="summary-sig-name">size</span>(<span class="summary-sig-arg">N</span>)</span><br />
+ size(N:long) : int
+Returns the size of the number N in bits.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="getRandomNumber"></a><span class="summary-sig-name">getRandomNumber</span>(<span class="summary-sig-arg">N</span>,
+ <span class="summary-sig-arg">randfunc</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Deprecated. Use getRandomInteger or getRandomNBitInteger instead.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="Crypto.Util.number-module.html#getRandomInteger" class="summary-sig-name">getRandomInteger</a>(<span class="summary-sig-arg">N</span>,
+ <span class="summary-sig-arg">randfunc</span>=<span class="summary-sig-default">None</span>)</span><br />
+ getRandomInteger(N:int, randfunc:callable):long
+Return a random number with at most N bits.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="Crypto.Util.number-module.html#getRandomRange" class="summary-sig-name">getRandomRange</a>(<span class="summary-sig-arg">a</span>,
+ <span class="summary-sig-arg">b</span>,
+ <span class="summary-sig-arg">randfunc</span>=<span class="summary-sig-default">None</span>)</span><br />
+ getRandomRange(a:int, b:int, randfunc:callable):long
+Return a random number n so that a &lt;= n &lt; b.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="Crypto.Util.number-module.html#getRandomNBitInteger" class="summary-sig-name">getRandomNBitInteger</a>(<span class="summary-sig-arg">N</span>,
+ <span class="summary-sig-arg">randfunc</span>=<span class="summary-sig-default">None</span>)</span><br />
+ getRandomInteger(N:int, randfunc:callable):long
+Return a random number with exactly N-bits, i.e. a random number
+between 2**(N-1) and (2**N)-1.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="GCD"></a><span class="summary-sig-name">GCD</span>(<span class="summary-sig-arg">x</span>,
+ <span class="summary-sig-arg">y</span>)</span><br />
+ GCD(x:long, y:long): long
+Return the GCD of x and y.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="inverse"></a><span class="summary-sig-name">inverse</span>(<span class="summary-sig-arg">u</span>,
+ <span class="summary-sig-arg">v</span>)</span><br />
+ inverse(u:long, v:long):long
+Return the inverse of u mod v.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="Crypto.Util.number-module.html#getPrime" class="summary-sig-name">getPrime</a>(<span class="summary-sig-arg">N</span>,
+ <span class="summary-sig-arg">randfunc</span>=<span class="summary-sig-default">None</span>)</span><br />
+ getPrime(N:int, randfunc:callable):long
+Return a random N-bit prime number.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="Crypto.Util.number-module.html#getStrongPrime" class="summary-sig-name">getStrongPrime</a>(<span class="summary-sig-arg">N</span>,
+ <span class="summary-sig-arg">e</span>=<span class="summary-sig-default">0</span>,
+ <span class="summary-sig-arg">false_positive_prob</span>=<span class="summary-sig-default">1e-06</span>,
+ <span class="summary-sig-arg">randfunc</span>=<span class="summary-sig-default">None</span>)</span><br />
+ getStrongPrime(N:int, e:int, false_positive_prob:float, randfunc:callable):long
+Return a random strong N-bit prime number.
+In this context p is a strong prime if p-1 and p+1 have at
+least one large prime factor.
+N should be a multiple of 128 and &gt; 512.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="Crypto.Util.number-module.html#isPrime" class="summary-sig-name">isPrime</a>(<span class="summary-sig-arg">N</span>,
+ <span class="summary-sig-arg">false_positive_prob</span>=<span class="summary-sig-default">1e-06</span>,
+ <span class="summary-sig-arg">randfunc</span>=<span class="summary-sig-default">None</span>)</span><br />
+ isPrime(N:long, false_positive_prob:float, randfunc:callable):bool
+Return true if N is prime.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="Crypto.Util.number-module.html#long_to_bytes" class="summary-sig-name">long_to_bytes</a>(<span class="summary-sig-arg">n</span>,
+ <span class="summary-sig-arg">blocksize</span>=<span class="summary-sig-default">0</span>)</span><br />
+ long_to_bytes(n:long, blocksize:int) : string
+Convert a long integer to a byte string.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="Crypto.Util.number-module.html#bytes_to_long" class="summary-sig-name">bytes_to_long</a>(<span class="summary-sig-arg">s</span>)</span><br />
+ bytes_to_long(string) : long
+Convert a byte string to a long integer.</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="long2str"></a><span class="summary-sig-name">long2str</span>(<span class="summary-sig-arg">n</span>,
+ <span class="summary-sig-arg">blocksize</span>=<span class="summary-sig-default">0</span>)</span></td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="str2long"></a><span class="summary-sig-name">str2long</span>(<span class="summary-sig-arg">s</span>)</span></td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td align="left" colspan="2" class="table-header">
+ <span class="table-header">Variables</span></td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="__revision__"></a><span class="summary-name">__revision__</span> = <code title="'$Id$'"><code class="variable-quote">'</code><code class="variable-string">$Id$</code><code class="variable-quote">'</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a href="Crypto.Util.number-module.html#sieve_base" class="summary-name">sieve_base</a> = <code title="(2,
+ 3,
+ 5,
+ 7,
+ 11,
+ 13,
+ 17,
+ 19,
+..."><code class="variable-group">(</code>2<code class="variable-op">, </code>3<code class="variable-op">, </code>5<code class="variable-op">, </code>7<code class="variable-op">, </code>11<code class="variable-op">, </code>13<code class="variable-op">, </code>17<code class="variable-op">, </code>19<code class="variable-op">, </code>23<code class="variable-op">, </code>29<code class="variable-op">, </code>31<code class="variable-op">, </code>37<code class="variable-op">, </code>41<code class="variable-op">, </code><code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'Crypto.Util'"><code class="variable-quote">'</code><code class="variable-string">Crypto.Util</code><code class="variable-quote">'</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td align="left" colspan="2" class="table-header">
+ <span class="table-header">Function Details</span></td>
+</tr>
+</table>
+<a name="getRandomInteger"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">getRandomInteger</span>(<span class="sig-arg">N</span>,
+ <span class="sig-arg">randfunc</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ >&nbsp;
+ </td>
+ </tr></table>
+
+ <p>getRandomInteger(N:int, randfunc:callable):long
+Return a random number with at most N bits.</p>
+<p>If randfunc is omitted, then Random.new().read is used.</p>
+<p>This function is for internal use only and may be renamed or removed in
+the future.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="getRandomRange"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">getRandomRange</span>(<span class="sig-arg">a</span>,
+ <span class="sig-arg">b</span>,
+ <span class="sig-arg">randfunc</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ >&nbsp;
+ </td>
+ </tr></table>
+
+ <p>getRandomRange(a:int, b:int, randfunc:callable):long
+Return a random number n so that a &lt;= n &lt; b.</p>
+<p>If randfunc is omitted, then Random.new().read is used.</p>
+<p>This function is for internal use only and may be renamed or removed in
+the future.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="getRandomNBitInteger"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">getRandomNBitInteger</span>(<span class="sig-arg">N</span>,
+ <span class="sig-arg">randfunc</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ >&nbsp;
+ </td>
+ </tr></table>
+
+ <p>getRandomInteger(N:int, randfunc:callable):long
+Return a random number with exactly N-bits, i.e. a random number
+between 2**(N-1) and (2**N)-1.</p>
+<p>If randfunc is omitted, then Random.new().read is used.</p>
+<p>This function is for internal use only and may be renamed or removed in
+the future.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="getPrime"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">getPrime</span>(<span class="sig-arg">N</span>,
+ <span class="sig-arg">randfunc</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ >&nbsp;
+ </td>
+ </tr></table>
+
+ <p>getPrime(N:int, randfunc:callable):long
+Return a random N-bit prime number.</p>
+<p>If randfunc is omitted, then Random.new().read is used.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="getStrongPrime"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">getStrongPrime</span>(<span class="sig-arg">N</span>,
+ <span class="sig-arg">e</span>=<span class="sig-default">0</span>,
+ <span class="sig-arg">false_positive_prob</span>=<span class="sig-default">1e-06</span>,
+ <span class="sig-arg">randfunc</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ >&nbsp;
+ </td>
+ </tr></table>
+
+ <p>getStrongPrime(N:int, e:int, false_positive_prob:float, randfunc:callable):long
+Return a random strong N-bit prime number.
+In this context p is a strong prime if p-1 and p+1 have at
+least one large prime factor.
+N should be a multiple of 128 and &gt; 512.</p>
+<p>If e is provided the returned prime p-1 will be coprime to e
+and thus suitable for RSA where e is the public exponent.</p>
+<p>The optional false_positive_prob is the statistical probability
+that true is returned even though it is not (pseudo-prime).
+It defaults to 1e-6 (less than 1:1000000).
+Note that the real probability of a false-positive is far less. This is
+just the mathematically provable limit.</p>
+<p>randfunc should take a single int parameter and return that
+many random bytes as a string.
+If randfunc is omitted, then Random.new().read is used.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="isPrime"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">isPrime</span>(<span class="sig-arg">N</span>,
+ <span class="sig-arg">false_positive_prob</span>=<span class="sig-default">1e-06</span>,
+ <span class="sig-arg">randfunc</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ >&nbsp;
+ </td>
+ </tr></table>
+
+ <p>isPrime(N:long, false_positive_prob:float, randfunc:callable):bool
+Return true if N is prime.</p>
+<p>The optional false_positive_prob is the statistical probability
+that true is returned even though it is not (pseudo-prime).
+It defaults to 1e-6 (less than 1:1000000).
+Note that the real probability of a false-positive is far less. This is
+just the mathematically provable limit.</p>
+<p>If randfunc is omitted, then Random.new().read is used.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="long_to_bytes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">long_to_bytes</span>(<span class="sig-arg">n</span>,
+ <span class="sig-arg">blocksize</span>=<span class="sig-default">0</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ >&nbsp;
+ </td>
+ </tr></table>
+
+ <p>long_to_bytes(n:long, blocksize:int) : string
+Convert a long integer to a byte string.</p>
+<p>If optional blocksize is given and greater than zero, pad the front of the
+byte string with binary zeros so that the length is a multiple of
+blocksize.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="bytes_to_long"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">bytes_to_long</span>(<span class="sig-arg">s</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ >&nbsp;
+ </td>
+ </tr></table>
+
+ <p>bytes_to_long(string) : long
+Convert a byte string to a long integer.</p>
+<p>This is (essentially) the inverse of long_to_bytes().</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td align="left" colspan="2" class="table-header">
+ <span class="table-header">Variables Details</span></td>
+</tr>
+</table>
+<a name="sieve_base"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">sieve_base</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">(</code>2<code class="variable-op">,</code>
+ 3<code class="variable-op">,</code>
+ 5<code class="variable-op">,</code>
+ 7<code class="variable-op">,</code>
+ 11<code class="variable-op">,</code>
+ 13<code class="variable-op">,</code>
+ 17<code class="variable-op">,</code>
+ 19<code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="Crypto-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Tree link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Index link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Help link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Project homepage -->
+ <th class="navbar" align="right" width="100%">
+ <table border="0" cellpadding="0" cellspacing="0">
+ <tr><th class="navbar" align="center"
+ ><a href="http://www.pycrypto.org/">PyCrypto.org</a></th>
+ </tr></table></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu May 24 09:02:36 2012
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>