Changeset 106


Ignore:
Timestamp:
07/13/16 13:22:12 (8 years ago)
Author:
tim
Message:

.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/Overview.wiki

    r105 r106  
    77
    88<h2> bletchley-analyze </h2>
    9 
     9<p>
    1010Analyzes samples of encrypted data in an attempt to decode samples to
    1111binary and identify patterns useful in cryptanalysis.  The purpose of
     
    1313that is useful in determining how a token is encoded, encrypted and
    1414formatted.
    15 <br />
     15</p>
     16<p>
    1617bletchley-analyze currently performs two primary functions: iterative
    1718encoding detection and ciphertext-only block analysis.  Encrypted tokens
    1819are processed in multiple rounds. Within each round, the following
    1920occurs:
     21</p>
     22<p>
    2023<ul>
    2124 <li>Token length analysis is performed to attempt to determine possible
     
    3134 process is repeated until no further encodings are detected</li>
    3235</ul>
    33 
     36</p>
     37<p>
    3438<code>bletchley-analyze</code> can read from stdin or from a file.  Tokens are
    3539delimited with newlines.  Various options are provided to give the
    3640analyst control over the block sizes and encoding used during analysis.
    3741See the tool's usage statement for more information.
    38 
     42</p>
     43<p>
    3944As an example, several tokens were encrypted using ECB mode and encoded
    4045using base64, and then percent (URL) encoded:
     46</p>
    4147<pre>
    4248zRW5bHxcRYHHqi0nriqOzg%3D%3D
     
    4551meU8SyxVHE1lktsbYI4hIg%3D%3D
    4652</pre>
    47 
     53<p>
    4854These tokens were then fed to <code>bletchley-analyze</code>:
    49 <img src="https://code.blindspotsecurity.com/trac/bletchley/export/head/wiki/images/bletchley-analyze.png" />
    50 
     55</p>
     56<p><img src="https://code.blindspotsecurity.com/trac/bletchley/export/head/wiki/images/bletchley-analyze.png" /></p>
     57<p>
    51581. <i>Bletchley's blobtools module currently supports 36 encoding variants,
    5259including various forms of hexadecimal, base32, base64, and percent
    5360encodings. Try '<code>-e ?</code>' to list them.</i>
    54 
     61</p>
    5562
    5663<h2> bletchley-encode </h2>
     64<p>
    5765A simple tool to encode arbitrary data using a specified encoding chain.
    5866See the usage statement for more information.  A quick example:
     67</p>
     68<p>
    5969<pre>
    6070$ echo 'Mallory Is My Friend.' | bletchley-encode -e percent/upper-plus,base64/rfc3548
    6171TWFsbG9yeSBJcyBNeSBGcmllbmQuCg%3D%3D
    6272</pre>
    63 
     73</p>
     74<p>
    6475NOTE: The encoding chain is applied from right to left in order to be consistent with other tools. 
    6576That is, one can use the same encoding chain ordering for
    6677<code>bletchley-encode</code>, <code>bletchley-decode</code>, and <code>bletchley-analyze</code>.
    67 
     78</p>
    6879
    6980<h2> bletchley-decode </h2>
     81<p>
    7082A simple tool to decode data using a specified encoding chain.  See the
    7183usage statement for more information.  A quick example:
     84</p>
     85<p>
    7286<pre>
    7387$ echo 'TWFsbG9yeSBJcyBNeSBGcmllbmQuCg%3D%3D' | bletchley-decode -e percent/upper-plus,base64/rfc3548
    7488Mallory Is My Friend.
    7589</pre>
     90</p>
    7691
    7792<h2> bletchley-http2py </h2>
     93<p>
    7894This script parses an HTTP request (provided via stdin or as a text
    7995file) and generates a Python script that sends (approximately) the same
     
    8197a request that was observed to be sent by an application or web
    8298browser.  For more information, see the script's usage statement.
     99</p>
    83100
    84101<h2> bletchley-nextrand </h2>
    85 A simple program which computes the state of a Java Random class
     102<p>A simple program which computes the state of a Java Random class
    86103instance given two sequential outputs of
    87104<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Random.html#nextInt()"><code>nextInt()</code></a>.
    88105For more information, see the usage statement.
    89 
     106</p>
    90107
    91108<h1>Libraries</h1>
    92 
     109<p>
    93110Start with '<code>pydoc3 bletchley</code>'.  The following provides a brief overview of what each module is for.
    94 
     111</p>
    95112
    96113<h2> blobtools </h2>
    97 This module contains the code which handles base analysis of encrypted
     114
     115<p>This module contains the code which handles base analysis of encrypted
    98116token encodings.  It can be used to automatically detect the most likely
    99117encoding variant ("dialect") as well as to quickly encode or decode data
    100118which is wrapped in multiple levels of encodings.
    101 
     119</p>
    102120
    103121<h2> buffertools </h2>
     122<p>
    104123This module contains a collection of tools mean to help one manipulate
    105124binary buffers of ciphertext.
    106 
     125</p>
    107126
    108127<h2> CBC </h2>
     128<p>
    109129The CBC module contains various tools for attacking CBC encrypted data.
    110130In particular, it contains the POA class which automates padding oracle
     
    113133padding check was successful and False otherwise.  See
    114134'<code>pydoc3 bletchley.CBC.POA</code>' for more details.
    115 
     135</p>
    116136
    117137<h1>Support</h1>
    118 
     138<p>
    119139Having trouble?  Submit an issue <a href="/trac/bletchley/newticket">here</a>, or
    120140ask on the <a href="https://groups.google.com/d/forum/bletchley-devel">email list</a>.
    121 
     141</p>
    122142
    123143<h1>Contributing</h1>
    124 
     144<p>
    125145We welcome any kind of help with the project, from new tools to bug
    126146fixes and documentation.  You might want to start with our <a href="/trunk/doc/TODO">TODO</a>
    127147list.  Note that the GitHub repository is currently just a static mirror, so please don't submit pull requests.
    128148To submit a patch, please post an issue or submit it to the <a href="https://groups.google.com/d/forum/bletchley-devel">email list</a> and we'll merge it.
     149</p>
Note: See TracChangeset for help on using the changeset viewer.