- Timestamp:
- 07/13/16 13:22:12 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wiki/Overview.wiki
r105 r106 7 7 8 8 <h2> bletchley-analyze </h2> 9 9 <p> 10 10 Analyzes samples of encrypted data in an attempt to decode samples to 11 11 binary and identify patterns useful in cryptanalysis. The purpose of … … 13 13 that is useful in determining how a token is encoded, encrypted and 14 14 formatted. 15 <br /> 15 </p> 16 <p> 16 17 bletchley-analyze currently performs two primary functions: iterative 17 18 encoding detection and ciphertext-only block analysis. Encrypted tokens 18 19 are processed in multiple rounds. Within each round, the following 19 20 occurs: 21 </p> 22 <p> 20 23 <ul> 21 24 <li>Token length analysis is performed to attempt to determine possible … … 31 34 process is repeated until no further encodings are detected</li> 32 35 </ul> 33 36 </p> 37 <p> 34 38 <code>bletchley-analyze</code> can read from stdin or from a file. Tokens are 35 39 delimited with newlines. Various options are provided to give the 36 40 analyst control over the block sizes and encoding used during analysis. 37 41 See the tool's usage statement for more information. 38 42 </p> 43 <p> 39 44 As an example, several tokens were encrypted using ECB mode and encoded 40 45 using base64, and then percent (URL) encoded: 46 </p> 41 47 <pre> 42 48 zRW5bHxcRYHHqi0nriqOzg%3D%3D … … 45 51 meU8SyxVHE1lktsbYI4hIg%3D%3D 46 52 </pre> 47 53 <p> 48 54 These 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> 51 58 1. <i>Bletchley's blobtools module currently supports 36 encoding variants, 52 59 including various forms of hexadecimal, base32, base64, and percent 53 60 encodings. Try '<code>-e ?</code>' to list them.</i> 54 61 </p> 55 62 56 63 <h2> bletchley-encode </h2> 64 <p> 57 65 A simple tool to encode arbitrary data using a specified encoding chain. 58 66 See the usage statement for more information. A quick example: 67 </p> 68 <p> 59 69 <pre> 60 70 $ echo 'Mallory Is My Friend.' | bletchley-encode -e percent/upper-plus,base64/rfc3548 61 71 TWFsbG9yeSBJcyBNeSBGcmllbmQuCg%3D%3D 62 72 </pre> 63 73 </p> 74 <p> 64 75 NOTE: The encoding chain is applied from right to left in order to be consistent with other tools. 65 76 That is, one can use the same encoding chain ordering for 66 77 <code>bletchley-encode</code>, <code>bletchley-decode</code>, and <code>bletchley-analyze</code>. 67 78 </p> 68 79 69 80 <h2> bletchley-decode </h2> 81 <p> 70 82 A simple tool to decode data using a specified encoding chain. See the 71 83 usage statement for more information. A quick example: 84 </p> 85 <p> 72 86 <pre> 73 87 $ echo 'TWFsbG9yeSBJcyBNeSBGcmllbmQuCg%3D%3D' | bletchley-decode -e percent/upper-plus,base64/rfc3548 74 88 Mallory Is My Friend. 75 89 </pre> 90 </p> 76 91 77 92 <h2> bletchley-http2py </h2> 93 <p> 78 94 This script parses an HTTP request (provided via stdin or as a text 79 95 file) and generates a Python script that sends (approximately) the same … … 81 97 a request that was observed to be sent by an application or web 82 98 browser. For more information, see the script's usage statement. 99 </p> 83 100 84 101 <h2> bletchley-nextrand </h2> 85 A simple program which computes the state of a Java Random class102 <p>A simple program which computes the state of a Java Random class 86 103 instance given two sequential outputs of 87 104 <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Random.html#nextInt()"><code>nextInt()</code></a>. 88 105 For more information, see the usage statement. 89 106 </p> 90 107 91 108 <h1>Libraries</h1> 92 109 <p> 93 110 Start with '<code>pydoc3 bletchley</code>'. The following provides a brief overview of what each module is for. 94 111 </p> 95 112 96 113 <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 98 116 token encodings. It can be used to automatically detect the most likely 99 117 encoding variant ("dialect") as well as to quickly encode or decode data 100 118 which is wrapped in multiple levels of encodings. 101 119 </p> 102 120 103 121 <h2> buffertools </h2> 122 <p> 104 123 This module contains a collection of tools mean to help one manipulate 105 124 binary buffers of ciphertext. 106 125 </p> 107 126 108 127 <h2> CBC </h2> 128 <p> 109 129 The CBC module contains various tools for attacking CBC encrypted data. 110 130 In particular, it contains the POA class which automates padding oracle … … 113 133 padding check was successful and False otherwise. See 114 134 '<code>pydoc3 bletchley.CBC.POA</code>' for more details. 115 135 </p> 116 136 117 137 <h1>Support</h1> 118 138 <p> 119 139 Having trouble? Submit an issue <a href="/trac/bletchley/newticket">here</a>, or 120 140 ask on the <a href="https://groups.google.com/d/forum/bletchley-devel">email list</a>. 121 141 </p> 122 142 123 143 <h1>Contributing</h1> 124 144 <p> 125 145 We welcome any kind of help with the project, from new tools to bug 126 146 fixes and documentation. You might want to start with our <a href="/trunk/doc/TODO">TODO</a> 127 147 list. Note that the GitHub repository is currently just a static mirror, so please don't submit pull requests. 128 148 To 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.