<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>gHacks Technology News &#124; Latest Tech News, Software And Tutorials &#187; hash</title> <atom:link href="http://www.ghacks.net/tag/hash/feed/" rel="self" type="application/rss+xml" /><link>http://www.ghacks.net</link> <description>A technology news blog covering software, mobile phones, gadgets, security, the Internet and other relevant areas.</description> <lastBuildDate>Fri, 10 Feb 2012 09:07:37 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/> <item><title>File Verifier++, Windows File Integrity Checker</title><link>http://www.ghacks.net/2010/12/14/file-verifier-windows-file-integrity-checker/</link> <comments>http://www.ghacks.net/2010/12/14/file-verifier-windows-file-integrity-checker/#comments</comments> <pubDate>Tue, 14 Dec 2010 14:10:27 +0000</pubDate> <dc:creator>Martin Brinkmann</dc:creator> <category><![CDATA[Open Source]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[file integrity]]></category> <category><![CDATA[file verifier++]]></category> <category><![CDATA[hash]]></category> <category><![CDATA[portable software]]></category> <category><![CDATA[windows software]]></category> <guid
isPermaLink="false">http://www.ghacks.net/?p=37948</guid> <description><![CDATA[File integrity checks should play an important part in a computer system&#8217;s backup strategy. Nothing is worse than having to find out that the needed backups are corrupt and cannot be used anymore for restoration purposes. File Verifier++ is an Open Source software for the Windows operating system that can create and store hash values [...]]]></description> <content:encoded><![CDATA[<p>File integrity checks should play an important part in a computer system&#8217;s backup strategy. Nothing is worse than having to find out that the needed backups are corrupt and cannot be used anymore for restoration purposes.</p><p>File Verifier++ is an Open Source software for the Windows operating system that can create and store hash values of selected files and check their integrity whenever it is needed.</p><p>It begins by adding files or directories with files to the program. A click on files or dirs in the main menubar opens a file and folder browser to do that. all files are then added to the program listing and hashes are calculated automatically for them.</p><p><img
src="http://www.ghacks.net/wp-content/uploads/2010/12/file-verifier-550x410.jpg" alt="file verifier" title="file verifier" width="550" height="410" class="alignnone size-medium wp-image-37949" /></p><p>Information such as the file path on the system, hash, encoding, algorithm used to compute the has, size, modification time and verification are displayed in a table in the main interface.</p><p>The message log details which operations have been started and completed in the program. This includes how many files have been processed at what speed and time.</p><p>File listings can be stored on the computer system to load and verify them against the file hashes of existing programs.</p><p><img
src="http://www.ghacks.net/wp-content/uploads/2010/12/verify-files-550x410.jpg" alt="verify files" title="verify files" width="550" height="410" class="alignnone size-medium wp-image-37950" /></p><p>Identical (or valid) files are highlighted in green, files that fail the verification check in red. Files can also be highlighted in blue if the hash and file size is identical but the modification date differs. The program does not only use a files hash to verify its integrity but also the file size, file attributes and modification time.</p><p>The default algorithm used is MD5, the program does support several other algorithms including CRC, SHA or RMD.</p><h3>File Verifier++ Features</h3><ul><li> Can load and save results to and from various formats.</li><li> Hash algorithms can be added through the DLL interface.</li><li> Hash verification. Can load hash results and compare to what is actually on your disk.</li><li> Color coding of validity states</li><li> Verification considers file size, file attributes, and modification date to be significant.</li><li> Drag and drop support.</li><li> Recursive directory processing.</li><li> Recursive processing using patterns.</li><li> Calculates hashes on strings.</li><li> Search and grep using regular expressions.</li><li> Selective verification.</li><li> Unicode support (recognizes Unicode file names and writes results encoded in UTF-8 (without BOM))</li><li> Supports Windows XP Visual Styles</li><li> Shell Integration (Shell extension).</li><li> Can be installed using installer or without.</li><li> Command line version. (in beta)</li></ul><p><a
href="http://www.programmingunlimited.net/siteexec/content.cgi?page=fv">File Verifier++</a> comes with several extras that are accessible through the file menu. It is for instance possible to use the advanced processing module to process multiple directories with select patterns or regular expressions as filters.</p><p>The program is fully compatible with 32-bit and 64-bit versions of the Windows operating system. The portable version can be run from any location, ideal for storing it with the file verification information on burned CDs, DVDs or other backup storage locations.</p> ]]></content:encoded> <wfw:commentRss>http://www.ghacks.net/2010/12/14/file-verifier-windows-file-integrity-checker/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Exact File, Informs You Of File Modifications</title><link>http://www.ghacks.net/2010/10/21/exact-file-informs-you-of-file-modifications/</link> <comments>http://www.ghacks.net/2010/10/21/exact-file-informs-you-of-file-modifications/#comments</comments> <pubDate>Thu, 21 Oct 2010 09:49:54 +0000</pubDate> <dc:creator>Martin Brinkmann</dc:creator> <category><![CDATA[Software]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[checksum]]></category> <category><![CDATA[exact file]]></category> <category><![CDATA[file integrity]]></category> <category><![CDATA[file verification]]></category> <category><![CDATA[hash]]></category> <category><![CDATA[windows software]]></category> <guid
isPermaLink="false">http://www.ghacks.net/?p=36070</guid> <description><![CDATA[A few scenarios spring to mind where it can be essential to make sure that files have not been modified. Think of data backups for example. Nothing is worse than having to realize that the dire needed backup is corrupt and cannot be used. Or files on a web server. A good way to make [...]]]></description> <content:encoded><![CDATA[<p>A few scenarios spring to mind where it can be essential to make sure that files have not been modified. Think of data backups for example. Nothing is worse than having to realize that the dire needed backup is corrupt and cannot be used. Or files on a web server. A good way to make sure that no one tampered with the files is to verify them regularly.</p><p>But file integrity can be important on the local PC as well. A program like Exact File can tell you exactly if someone modified your Word or Excel document, or played your game just a little bit further.</p><p>Exact File is a free file integrity tool for the Windows operating system. It can process single files or batch process complete folders. The software supports all important hash methods including MD5, SHA512, CRC32 and about a dozen more.</p><p><img
src="http://www.ghacks.net/wp-content/uploads/2010/10/file-integrity-check-500x393.png" alt="file integrity check" title="file integrity check" width="500" height="393" class="alignnone size-medium wp-image-36071" /></p><p>Options to create checksums for single or multiple files, as well as to verify the integrity of already checked files are offered in the program&#8217;s interface.</p><p>A single-file check works by dragging and dropping a file into the interface, or selecting it in the file browser. ExactFile will compute all supported hashes and display a report in the end listing them all.</p><p><img
src="http://www.ghacks.net/wp-content/uploads/2010/10/file-integrity-report-500x375.png" alt="file integrity report" title="file integrity report" width="500" height="375" class="alignnone size-medium wp-image-36072" /></p><p>The generated information can be copied to the clipboard. More interesting is the ability to create a digest. A digest contains hash values of all files found in a selected folder and its subfolders.</p><p>It is again possible to drag and drop a folder into the program window, or to use the file browser to pick a folder from the system. Available options are to include subfolders, full paths in the output and to out the checksums to a file.</p><p>All supported hash methods are available, but only one can be selected for the process.</p><p>ExactFile will process all files in the selected folder structure and display a similar results window in the end.</p><p><img
src="http://www.ghacks.net/wp-content/uploads/2010/10/exact-file-500x393.png" alt="exact file" title="exact file" width="500" height="393" class="alignnone size-medium wp-image-36073" /></p><p>The calculations are speedy and use all available cpu cores by default. The results are stored in the selected file and displayed to the user directly. It is here again possible to copy them to the clipboard.</p><p>The test digest menu is available to test a previously generated folder hash. All it takes is to select the digest file, click verbose report and then go to compare the previously generated hash values of the files with the current ones.</p><p>One interesting application for this would be to generate the hashes before sending the files to another user. The receiving user could then test the validity of the files by running the previously generated checksum file against the received files.</p><p>An option to create a test file applet is available to make this easier. Instead of having to use the file integrity software to check the files, it is possible to generate and use a standalone executable generated by the program to do the same. Ideal for putting it on burned CDs or DVDs, or sending it along with the files for the recipient to check.</p><p>Exact File is a sophisticated file verification tool for the Windows operating system. Especially the option to test and verify the integrity of all files in a folder is welcome, coupled with the option to create a standalone executable to verify the integrity at all times.</p><p>What the developer of Exact File says:</p><blockquote><ul><li>A file integrity verification tool:<p> Use it to make sure files copied to CD-ROM are bit-perfect copies,<br
/> Use it to make sure backups copied from one drive to another are just right,<br
/> Use it to make sure files haven’t been changed or damaged over time.</li><li>Multi-threaded, so your extra CPU cores get used when scanning multiple files and work gets done faster.</li><li>Happy with Unicode file names, so it doesn’t fail when you’re using it on files named in Japanese, Hebrew, Chinese, or any other language.</li><li>Supports multiple checksum routines (hashes), like MD5, SHA1, CRC32, RIPEMD and others.</li><li>Supports recursive directory scanning.</li><li>Supports Very Big Files — If it’s on your hard drive, ExactFile can handle it.</li><li>Does everything popular file summer utilities do, like fsum, md5sum, sha1sum, sfv, etc, but better!</li><li>Compatible with popular file checksum digest formats.</li><li>For Windows 2000, XP, and Vista.</li><li>GUI. Easy to use to get checksums for individual files, create checksum digests, and test checksum digests. Does not require the console version or any external DLLs.</li></ul></blockquote><p>Interested users can download <a
href="http://www.exactfile.com/">Exactfile</a> from the developer homepage. The program is compatible with most 32-bit and 64-bit editions of the Windows operating system.</p> ]]></content:encoded> <wfw:commentRss>http://www.ghacks.net/2010/10/21/exact-file-informs-you-of-file-modifications/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Fingerprint Files In Windows To Uncover File Changes</title><link>http://www.ghacks.net/2009/08/30/fingerprint-files-in-windows-to-uncover-file-changes/</link> <comments>http://www.ghacks.net/2009/08/30/fingerprint-files-in-windows-to-uncover-file-changes/#comments</comments> <pubDate>Sun, 30 Aug 2009 10:02:27 +0000</pubDate> <dc:creator>Martin Brinkmann</dc:creator> <category><![CDATA[Software]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[calculate hashes]]></category> <category><![CDATA[compare files]]></category> <category><![CDATA[file comparison]]></category> <category><![CDATA[fingerprint]]></category> <category><![CDATA[hash]]></category> <category><![CDATA[windows software]]></category> <category><![CDATA[windows-files]]></category> <guid
isPermaLink="false">http://www.ghacks.net/?p=15691</guid> <description><![CDATA[What&#8217;s the best way of making sure that you know when files are changed in the operating system? It is possible to create a backup and compare the backup with a later stage. Other possibilities include software programs that have been designed to detect changes. Fingerprint is one of those software programs. The computer program [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://www.ghacks.net/wp-content/uploads/2009/04/microsoft_windows.jpg" alt="microsoft windows" title="microsoft windows" width="128" height="128" class="alignleft size-full wp-image-11907" />What&#8217;s the best way of making sure that you know when files are changed in the operating system? It is possible to create a backup and compare the backup with a later stage. Other possibilities include software programs that have been designed to detect changes. Fingerprint is one of those software programs. The computer program can index files from multiple folders or hard drives.</p><p>Fingerprint calculates hash values of every file during the first selection unlike many other tools that simply report file size or file date modifications. This way might take a bit longer but it ensures that every modification can be noticed as the program compares the hash values and not data that can be easily modified.</p><p><span
id="more-15691"></span><img
src="http://www.ghacks.net/wp-content/uploads/2009/08/fingerprint-500x243.jpg" alt="fingerprint" title="fingerprint" width="500" height="243" class="alignnone size-medium wp-image-15693" /></p><p>Some aspects of a directory scan can be configured during setup. It is for instance possible to include or exclude files from the scan, switch from hash generation to file size, date and time records or schedule scans for the profile.</p><p>The Windows Task Scheduler is used to schedule file comparisons at a later time or on a regular basis. File changes will be written to a log file that is automatically displayed in the default web browser of the computer system. Fingerprint is a small program for the Windows operating system that can be <a
href="http://www.2brightsparks.com/freeware/freeware-hub.html">downloaded</a> from the developer&#8217;s website.</p> ]]></content:encoded> <wfw:commentRss>http://www.ghacks.net/2009/08/30/fingerprint-files-in-windows-to-uncover-file-changes/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>File Integrity Check</title><link>http://www.ghacks.net/2008/11/12/file-integrity-check/</link> <comments>http://www.ghacks.net/2008/11/12/file-integrity-check/#comments</comments> <pubDate>Wed, 12 Nov 2008 20:03:11 +0000</pubDate> <dc:creator>Martin Brinkmann</dc:creator> <category><![CDATA[Software]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[algorithm]]></category> <category><![CDATA[file integrity]]></category> <category><![CDATA[hash]]></category> <category><![CDATA[hash algorithm]]></category> <category><![CDATA[hash algorithms]]></category> <category><![CDATA[md6 hash]]></category> <category><![CDATA[portable software]]></category> <category><![CDATA[sha algorithm]]></category> <category><![CDATA[windows software]]></category> <guid
isPermaLink="false">http://www.ghacks.net/?p=8236</guid> <description><![CDATA[File Verifier++ is a portable software program for Windows that can check the file integrity of selected files. This is done by calculating the hash of every selected file in the first run of the application and comparing that initial hash value with the hash that was calculated at a later time. The file has [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://www.programmingunlimited.net/siteexec/content.cgi?page=fv">File Verifier++</a> is a portable software program for Windows that can check the file integrity of selected files. This is done by calculating the hash of every selected file in the first run of the application and comparing that initial hash value with the hash that was calculated at a later time. The file has been modified if the hash values do not match.</p><p>The software program does not act automatically. The user has to select files or folders that he wants to calculate hash values for. Once they are stored in the database it is possible to check the files at anytime to see if the file has been changed in the meantime.</p><p>A set of 21 different hash algorithms including popular algorithms like MD5, SHA-512 or CRC-32 is available and at the user&#8217;s disposal. Results can be saved or loaded so that they are available whenever they are needed.</p><p><span
id="more-8236"></span><img
src="http://www.ghacks.net/wp-content/uploads/2008/11/file_integrity-500x323.jpg" alt="file integrity" title="file integrity" width="500" height="323" class="alignnone size-medium wp-image-8237" /></p><p>Other interesting options include Windows Shell integration, a command line version, drag and drop support, Unicode support or search and grep using regular expressions. All in all a very sophisticated tool to check the file integrity of selected files.</p> ]]></content:encoded> <wfw:commentRss>http://www.ghacks.net/2008/11/12/file-integrity-check/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>How users are being tracked on P2P networks</title><link>http://www.ghacks.net/2008/02/09/how-users-are-being-tracked-on-p2p-networks/</link> <comments>http://www.ghacks.net/2008/02/09/how-users-are-being-tracked-on-p2p-networks/#comments</comments> <pubDate>Sat, 09 Feb 2008 15:15:50 +0000</pubDate> <dc:creator>Martin Brinkmann</dc:creator> <category><![CDATA[P2p]]></category> <category><![CDATA[Security]]></category> <category><![CDATA[The Web]]></category> <category><![CDATA[hash]]></category> <category><![CDATA[Music Industry]]></category> <category><![CDATA[riaa]]></category> <guid
isPermaLink="false">http://www.ghacks.net/2008/02/09/how-users-are-being-tracked-on-p2p-networks/</guid> <description><![CDATA[Have you ever asked yourself how it is possible that users are tracked over months in P2P networks although their IP address is changing regularly ? We only hear reports about session based user identifications. Session based means that shared files of this session are analyzed and recorded opposed to tracking a user over months.]]></description> <content:encoded><![CDATA[<p>Have you ever asked yourself how it is possible that users are tracked over months in P2P networks although their IP address is changing regularly ? We only hear reports about session based user identifications. Session based means that shared files of this session are analyzed and recorded opposed to tracking a user over months.</p><p>Common sense tells us that the IP address is the major information needed to identify a user, but there are other information available to other users of P2P networks that can be used to track users even if the IP address changes. Those are, among other data the software and version used as well as the MAC address of the computer.</p><p>These two values are used to generate a hash that identifies the user even if his IP changes because the IP is not relevant for tracking users over a period of time. It is still recorded though with additional information like shared files, date and time, servers and all other information available.</p><p><span
id="more-3174"></span>It could be that even more information are used to calculate the hash value. Everything that is not changed regularly could be possible. The hash value of a new user is then compared to a database table that contains the hash values of users that have been using the P2P network and linked if a match is found.</p> ]]></content:encoded> <wfw:commentRss>http://www.ghacks.net/2008/02/09/how-users-are-being-tracked-on-p2p-networks/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Theoretical Cryptography Part I &#8211; MD5</title><link>http://www.ghacks.net/2008/02/07/theoretical-cryptography-part-i-md5/</link> <comments>http://www.ghacks.net/2008/02/07/theoretical-cryptography-part-i-md5/#comments</comments> <pubDate>Thu, 07 Feb 2008 19:30:39 +0000</pubDate> <dc:creator>Stefan</dc:creator> <category><![CDATA[Knowledge]]></category> <category><![CDATA[Security]]></category> <category><![CDATA[aes]]></category> <category><![CDATA[DES]]></category> <category><![CDATA[hash]]></category> <category><![CDATA[md5]]></category> <category><![CDATA[ophcrack]]></category> <category><![CDATA[sha]]></category> <category><![CDATA[Theoretical Cryptography]]></category> <guid
isPermaLink="false">http://www.ghacks.net/2008/02/07/theoretical-cryptography-part-i-md5/</guid> <description><![CDATA[Since Martin constantly manages to cover all ongoing news regarding cryptography and security I myself planned on writing about "any time soon", I had to look for other topics on the subject I could cover. So I decided to make good use of all the time I spend studying this kind of stuff and share this knowledge with you. And I would be very grateful, if someone could tell me in return how to defeat shirred fabrics with my sewing machine... but that's a whole different matter.]]></description> <content:encoded><![CDATA[<p>Since Martin constantly manages to cover all ongoing news regarding cryptography and security I myself planned on writing about &#8220;any time soon&#8221;, I had to look for other topics on the subject I could cover. So I decided to make good use of all the time I spend studying this kind of stuff and share this knowledge with you. And I would be very grateful, if someone could tell me in return how to defeat shirred fabrics with my sewing machine&#8230; but that&#8217;s a whole different matter.</p><p>So for the first Part of this &#8211; hopefully ongoing &#8211; series, I decided to look at the MD5 hash algorithm. It&#8217;s one of the most commonly used cryptographic algorithms out there and I would claim that nearly everyone has a password somewhere that is stored with an MD5 or similar hash.</p><p><span
id="more-3142"></span>MD5 stands for Message-Digest Algorithm 5, and is &#8211; as already mentioned and you probably already knew &#8211; a hash algorithm.</p><p>The MD5 hash algorithm is in simple terms a deterministic function (or blackbox) that will calculate a 128-Bit hash value from a given string of well-nigh any length &#8230; yeah, I had to read this sentence over a few times, and it&#8217;s just rubbish. If I wanted to write something like that, I could&#8217;ve gone Wikipedia. So let&#8217;s crack this one open.</p><p>You feed the MD5-Box a string of any length you want. This &#8220;string&#8221; doesn&#8217;t have to be alphanumeric of course, any stream of bits and bytes is just fine, like the bitstream of a file, for instance. The output string has always a length of 128 bits and is usually noted as a string of 32 octets, like this one: &#8220;B5A8AD3A9CDD6A6953FCBE6975FDE734&#8243; (try guessing what I typed in though).</p><p>One of the most important things about hashes is, that they are so-called one-way-functions, meaning, they only encrypt stuff, and can&#8217;t &#8211; and must not &#8211; be decrypted. So hashes are often used for storing passwords in a databases. The same plaintext will always be hashed to the same cipher text with MD5, so all you have to do to check if your password and the stored (hashed) password are identical is to compute the hash of the given password and compare it with the stored one.</p><p>There are several demands a good hash-function has to meet in order not to get cracked in the first two hours of its lifetime.<br
/> The first one is, that a minor change in the plaintext (like &#8220;ghacks&#8221; and &#8220;gHacks&#8221;) should have a big impact on the computed hash (&#8220;D1B81FBDEB51C3A850E37177A5A22498&#8243; and &#8220;DB3E20DC88EF0B6CA6A8FD5DA448D323&#8243;). If the difference would be only minor, and I know the plaintext and hash of &#8220;ghacks&#8221; (which I do, of course), and have the hash of &#8220;gHacks&#8221; without the knowledge of its plaintext, I could easily guess it.</p><p>The second very important demand is that a hash-function produces a much smaller memory imprint than the original stream. If you hash an 11MB installer to verify its integrity and have to download another 10MB of hash file as well, it&#8217;s pretty useless. There are lots of other points to keep an eye on, but these will (and have to) suffice.</p><p>As I mentioned already, hash-functions such as MD5 are most commonly used to store passwords without actually storing them in plaintext, and to verify the integrity of files. When you put a file online, just compute the hash and publish it together (but separate) with the file. Ever user would be able to determine if the downloaded file has been tampered with by simply comparing the hash of the downloaded file with the one published on the website.</p><p>Now I&#8217;d like to say something about security and known (and partly successful) attacks against hashes and MD5 in particular.<br
/> Due to the reduction (a 2MB file gets reduced to a 32-octet hash), information gets lost. This gets perfectly clear, if you take a look at the numbers. There are only 2^128 possible hash values, but infinite possible plaintexts. So in a best-case-scenario, after hashing plaintext numbers (2^128)+1 you have at least two plaintexts getting mapped on one and the same hash value.</p><p>So the first attack tries to make use of this very fact. When the same hash value is calculated from two different plaintexts, it is called a collision. Depending on the scenario of the attack using collisions, the birthday paradox comes in handy as well, increasing the attackers chance of success.</p><p>That would mean that you do not attempt to break the encryption or guess the user&#8217;s password when trying to crack a password, but just try to create another password that leads to the very same hash value, granting you access to the account. Of course, knowledge of the hashed password is required, but without that information, most attacks on modern ciphers are more than just tricky.</p><p>Edit: please take a look at comments for more clarification on the types of attacks mentioned above.</p><p>The second attack is based on a brute-force attack, which is basically &#8220;try all possible keys/passwords&#8221;. Depending on the numbers this could take some time. Let&#8217;s say you&#8217;ve already acquired the target hash value and your machine is able to try 100 keys per ms. That would make 100.000 keys per second, and 6.000.000 keys per minute. 2^128 hash values. That&#8217;s 3.4E38. We&#8217;re talking &#8220;age of the universe in seconds&#8221;-numbers here.</p><p>But there&#8217;s more to it than meets the eye. There are several options to reduce the available possibilities. Can you reduce the amount of possible plaintexts maybe? Maybe the password only allows to be 8 alphanumeric letters long? Can you have a look at the used algorithm and find something that may help you further? Do you know part of the plaintext? Maybe a name of son/wife/pet? Then you could combine it with a dictionary-attack. Every bit of information helps reducing the number of possibilities further, which in the end leads to a situation like this:</p><p>The following is a description of an attack to crack the user passwords of windows accounts (up to XP), and implemented in a near-perfect way by <a
href="http://ophcrack.sourceforge.net/">ophcrack</a>. If interested, do make sure to check this <a
href="http://elliottback.com/wp/cracking-windows-passwords-with-ophcrack-and-rainbow-tables/">tutorial</a>, it&#8217;s quite fascinating and yet unbelievably scary.</p><p>Windows saves hash values of the user passwords, but if a password is longer than 7 signs, it gets broken up into chunks of length &lt;= 7. Then the chunks get converted to uppercase only. Microsoft used DES for creating the hashes, but there&#8217;s no difference regarding this kind of attack.</p><p>So the attacker knows pretty much about the plaintext and can reduce its possibilities by a great deal. Now a computer starts calculating all possible hash values for this particular range of plaintexts (up to 7 digits, uppercase, numbers and some special characters only) and stores them in a database. Once finished, the database is from about 0.7 to 4 GB in size and can be easily transported using a thumb drive or a DVD.</p><p>Now all the attacker needs is a few minutes alone with the target computer and it&#8217;s done. Again, check the tutorial mentioned above, it kinda blew my mind. 1.7 minutes was the average time in this experiment for cracking a password to your windows account. Ouch.</p><p>Since I read and heard all of the above some time ago, I started wondering about the benefits and risks of using MD5. Most security experts discourage the use of MD5 nowadays for its known vulnerability to collision attacks. It should be replaced by something like the SHA-1 or since it is kind of outdated as well the even newer SHA-512. But that doesn&#8217;t help against the attack last mentioned, apart from increasing the possible hash values to even greater dimensions.</p><p>After some time, I found this very helpful article about spicing up your hashs to be more secure. I have to say though, these tips are NOT increasing the security of your hash function in a mathematical way. Luckily, the real world&#8217;s not all about math, so I think they are an easy way to get some extra security.</p><p>Edit: Please keep in mind that the tutorial posted here is not a perfect implementation of salts. It&#8217;s &#8211; as always &#8211; a source for ideas, not a perfect solution. But I always like it more if it&#8217;s explained like that, easy and understandable and in a rather digestible way. Please correct me if I&#8217;m mistaken.</p><p>If you want to screw around with MD5 a bit, here&#8217;s a link to an applet where you can do just that (SHA-1 as well). Switch to MD5, enter some text and press &#8220;Text digest&#8221;. Try guessing my hash from above (reaaaal easy), if you like and post the answer in the comments. First to score gets a cookie ;)</p><p>Stay tuned for upcoming ramblings about encryption and stuff. Maybe AES will be next.</p> ]]></content:encoded> <wfw:commentRss>http://www.ghacks.net/2008/02/07/theoretical-cryptography-part-i-md5/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> </channel> </rss>
