OTFBrutusGUI Change Log

0.2.0.4    2012-03-16
	Add the choice to use the embedded backup header (TrueCrypt v6.0 or greater)

0.2.0.3    2012-03-11
	Fix broken methods for legacy cascades in CBC mode

0.2.0.2    2012-03-10
	Fix a memory leak when using Sha512 and Whirlpool with the Crypto++ Hash Library

0.2.0.1    2012-03-10
	Small amount of clode cleanup in pkcs5 to add a couple more passwords per second

0.2.0.0    2012-03-07
	Pretty decent speed increase, thanks to a few suggestions by IvanG on a post at the TrueCrypt forums: http://forums.truecrypt.org/viewtopic.php?p=101229#101229
		Depending on which algorithm settings you use, this new version is about 160% and up to as much as 530% faster than previous versions.
		There is a value for the inner and outer digests of each hash method that was being computed for every round, 1000 or 2000 times per password attempt.
			Thanks to IvanG, I found out that this can be precomputed one time for each Hash method per password attempt, resulting in about 200% speed increase in the TrueCrypt Hash libraries.
	Also, the Hash libraries were always generating the max amount of hash data for each password attempt, 192 bytes.
		Some of the encryption algorithm methods (all but one of the non-cascade versions) only require 64 bytes.  This was another significant increase in speed.
	Added Menu option to use either the TrueCrypt or Crypto++ library for each of the four Hash Algorithms.
		In older version, the Crypto++ Library was usually faster and so it was always used.
		In this version, the TrueCrypt Libraries are usually faster so they are selected by default.
		You can change this setting for each of the four Hash Algorithms via the Hash Library Menu.
	Added a config ini file so that startup preferences (which algorithms, etc. are turned on when you first load the program) can be saved
		The config file settings can be loaded/saved via the File Menu.

0.1.1.1    2011-03-07
	Expanded the variable length string syntax to include comma separated values
		[12]{1,3-5} will generate variable length character patterns of lengths 1, 3, 4 and 5
		(s1|s2|s3|s4){1,3,5:1} will generate variable length string patterns of lengths 1, 3 and 5 with no string repeated more than once

0.1.1.0    2011-03-05
	Fixed a bug in the variable length string syntax when a length of 0 was used {0-5}
		A length of 0 now allows a character pattern to be skipped over completely
		[12]{0-2}[ab]{1}
			a b 1a 1b 2a 2b 11a 11b 12a 12b 21a 21b 22a 22b

	Added character range classes [a-zA-Z]
		Values are based on the ASCII Character Set Table
		Search google for "ASCII table" http://www.asciitable.com/
		Valid values are the same as TrueCrypt [ -~] the space character through tilde, ASCII values DEC 32 through DEC 126
			[abcd]{2}
				is the same as
				[a-d]{2}
					aa ab ac ad ba bb bc bd ca cb cc cd da db dc dd
			[A-Za-z]
				is the same as
				[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]
			[z-A0-9]
				is the same as
				[zyxwvutsrqponmlkjihgfedcba`_^\]\\\[ZYXWVUTSRQPONMLKJIHGFEDCBA0123456789]

0.1.0.9    2011-03-04
	Removed the null character and replaced it with variable length strings.  This gets rid of the duplicates produced by using the null character.
		[12]{1-3} will generate a variable length character pattern from 1 to 3 with no duplicates
			  1   2  11  12  21  22 111 112 121 122 211 212 221 222
		[12]{1-3:2} will generate a variable length character pattern from 1 to 3 with no duplicates and no character repeated more than twice
			  1   2  11  12  21  22     112 121 122 211 212 221

0.1.0.8    2011-02-27
	Removed the null character from the function to limit the number of duplicated characters in a password section
		This helps to generate passwords with widely varying lengths
		And also, unfortunately, increases the amount of duplicate passwords that get processed by mistake.

0.1.0.7    2011-02-26
	Fixed a bug when using the null (\0) character that threw away valid password strings
		(a1|a2|\0){1}(b1|b2){1} should return
			a1b1 a1b2 a2b1 a2b2 b1 b2
		but in v0.1.06 it only returned
			a1b1 a1b2 a2b1 a2b2
		It skipped all password values that started with a null character
0.1.0.6    2011-02-26
	Added \0 to be used as a null character in password pattern generator
		This will generate some duplicate values, as seen in the example below, but it does allow you to generate variable length passwords
		[12\0]{3} will generate
			111 112  11 121 122  12  11  12   1 211 212  21 221 222  22  21  22   2
	Added option to password generator to limit the number of duplicated characters in a password section
		[12\0]{3:2} will generate a 3 character password with a max of 2 duplicated characters
			    112  11 121 122  12  11  12   1 211 212  21 221      22  21  22   2
	Added Fileoverwrite confirmation to Save Word List

0.1.0.5    2010-12-19
	Slightly increase speed of saving custom password pattern to a word list file
	Added associated Drive Letter to Select Devices Dialog
	Added code to compile x86 (32 bit) and x64 (64 bit) versions.
		RipeMD, SHA512 and SHA1 are 12-15% faster on a Dual XEON X5550 but Whirlpool is 12% slower

0.1.0.4    2010-12-14
	Added the ability to save the custom password pattern to a word list file

0.1.0.3    2010-12-13
	Fix Select Devices Dialog to correctly read GPT formatted parition tables

0.1.0.2    2010-12-12
	Added Select Devices Button and Dialog
	Added days calculation to time left and elapsed
	Significantly sped up counting of dictionary words
	Fixed some bugs with start and end index
	Some bugs fixed with time elapsed/remaing calculation
	Added hidden (source code only) option to use Crypto++ or TrueCrypt PKCS methods

0.1.0.0    2010-12-11
	Initial Release