diff options
Diffstat (limited to 'old/api/2.5/Crypto.Protocol.Chaffing.Chaff-class.html')
-rw-r--r-- | old/api/2.5/Crypto.Protocol.Chaffing.Chaff-class.html | 290 |
1 files changed, 290 insertions, 0 deletions
diff --git a/old/api/2.5/Crypto.Protocol.Chaffing.Chaff-class.html b/old/api/2.5/Crypto.Protocol.Chaffing.Chaff-class.html new file mode 100644 index 0000000..ec9747e --- /dev/null +++ b/old/api/2.5/Crypto.Protocol.Chaffing.Chaff-class.html @@ -0,0 +1,290 @@ +<?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.Protocol.Chaffing.Chaff</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> <a + href="Crypto-module.html">Home</a> </th> + + <!-- Tree link --> + <th> <a + href="module-tree.html">Trees</a> </th> + + <!-- Index link --> + <th> <a + href="identifier-index.html">Indices</a> </th> + + <!-- Help link --> + <th> <a + href="help.html">Help</a> </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 Crypto</a> :: + <a href="Crypto.Protocol-module.html">Package Protocol</a> :: + <a href="Crypto.Protocol.Chaffing-module.html">Module Chaffing</a> :: + Class Chaff + </span> + </td> + <td> + <table cellpadding="0" cellspacing="0"> + <!-- hide/show private --> + <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" + onclick="toggle_private();">hide private</a>]</span></td></tr> + <tr><td align="right"><span class="options" + >[<a href="frames.html" target="_top">frames</a + >] | <a href="Crypto.Protocol.Chaffing.Chaff-class.html" + target="_top">no frames</a>]</span></td></tr> + </table> + </td> + </tr> +</table> +<!-- ==================== CLASS DESCRIPTION ==================== --> +<h1 class="epydoc">Class Chaff</h1><p class="nomargin-top"></p> +<p>Class implementing the chaff adding algorithm.</p> +<p>Methods for subclasses:</p> +<blockquote> +<dl class="rst-docutils"> +<dt>_randnum(size):</dt> +<dd>Returns a randomly generated number with a byte-length equal +to size. Subclasses can use this to implement better random +data and MAC generating algorithms. The default algorithm is +probably not very cryptographically secure. It is most +important that the chaff data does not contain any patterns +that can be used to discern it from wheat data without running +the MAC.</dd> +</dl> +</blockquote> + +<!-- ==================== INSTANCE METHODS ==================== --> +<a name="section-InstanceMethods"></a> +<table class="summary" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td colspan="2" class="table-header"> + <table border="0" cellpadding="0" cellspacing="0" width="100%"> + <tr valign="top"> + <td align="left"><span class="table-header">Instance Methods</span></td> + <td align="right" valign="top" + ><span class="options">[<a href="#section-InstanceMethods" + class="privatelink" onclick="toggle_private();" + >hide private</a>]</span></td> + </tr> + </table> + </td> +</tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="Crypto.Protocol.Chaffing.Chaff-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">factor</span>=<span class="summary-sig-default">1.0</span>, + <span class="summary-sig-arg">blocksper</span>=<span class="summary-sig-default">1</span>)</span><br /> + Chaff(factor:float, blocksper:int)</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"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="Crypto.Protocol.Chaffing.Chaff-class.html#chaff" class="summary-sig-name">chaff</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">blocks</span>)</span><br /> + chaff( [(serial-number:int, data:string, MAC:string)] ) +: [(int, string, string)]</td> + <td align="right" valign="top"> + + + </td> + </tr> + </table> + + </td> + </tr> +<tr class="private"> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a name="_randnum"></a><span class="summary-sig-name">_randnum</span>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">size</span>)</span></td> + <td align="right" valign="top"> + + + </td> + </tr> + </table> + + </td> + </tr> +</table> +<!-- ==================== METHOD DETAILS ==================== --> +<a name="section-MethodDetails"></a> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td colspan="2" class="table-header"> + <table border="0" cellpadding="0" cellspacing="0" width="100%"> + <tr valign="top"> + <td align="left"><span class="table-header">Method Details</span></td> + <td align="right" valign="top" + ><span class="options">[<a href="#section-MethodDetails" + class="privatelink" onclick="toggle_private();" + >hide private</a>]</span></td> + </tr> + </table> + </td> +</tr> +</table> +<a name="__init__"></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">__init__</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">factor</span>=<span class="sig-default">1.0</span>, + <span class="sig-arg">blocksper</span>=<span class="sig-default">1</span>)</span> + <br /><em class="fname">(Constructor)</em> + </h3> + </td><td align="right" valign="top" + > + </td> + </tr></table> + + <p>Chaff(factor:float, blocksper:int)</p> +<p>factor is the number of message blocks to add chaff to, +expressed as a percentage between 0.0 and 1.0. blocksper is +the number of chaff blocks to include for each block being +chaffed. Thus the defaults add one chaff block to every +message block. By changing the defaults, you can adjust how +computationally difficult it could be for an adversary to +brute-force crack the message. The difficulty is expressed +as:</p> +<blockquote> +pow(blocksper, int(factor * number-of-blocks))</blockquote> +<p>For ease of implementation, when factor < 1.0, only the first +int(factor*number-of-blocks) message blocks are chaffed.</p> + <dl class="fields"> + </dl> +</td></tr></table> +</div> +<a name="chaff"></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">chaff</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">blocks</span>)</span> + </h3> + </td><td align="right" valign="top" + > + </td> + </tr></table> + + <p>chaff( [(serial-number:int, data:string, MAC:string)] ) +: [(int, string, string)]</p> +<p>Add chaff to message blocks. blocks is a list of 3-tuples of the +form (serial-number, data, MAC).</p> +<p>Chaff is created by choosing a random number of the same +byte-length as data, and another random number of the same +byte-length as MAC. The message block's serial number is +placed on the chaff block and all the packet's chaff blocks +are randomly interspersed with the single wheat block. This +method then returns a list of 3-tuples of the same form. +Chaffed blocks will contain multiple instances of 3-tuples +with the same serial number, but the only way to figure out +which blocks are wheat and which are chaff is to perform the +MAC hash and compare values.</p> + <dl class="fields"> + </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> <a + href="Crypto-module.html">Home</a> </th> + + <!-- Tree link --> + <th> <a + href="module-tree.html">Trees</a> </th> + + <!-- Index link --> + <th> <a + href="identifier-index.html">Indices</a> </th> + + <!-- Help link --> + <th> <a + href="help.html">Help</a> </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 Fri Jan 13 12:36:11 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> |