<?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>sebmeyer.de::blog &#187; hacking.tools</title>
	<atom:link href="http://sebmeyer.de/index.php/category/hacking-tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://sebmeyer.de</link>
	<description>computer.science &#38; other.stuff</description>
	<lastBuildDate>Sun, 25 Jul 2010 13:50:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Cracking Vigenère Cipher</title>
		<link>http://sebmeyer.de/index.php/2010/04/17/cracking-vigenere-cipher/</link>
		<comments>http://sebmeyer.de/index.php/2010/04/17/cracking-vigenere-cipher/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 14:04:35 +0000</pubDate>
		<dc:creator>Archimedes</dc:creator>
				<category><![CDATA[hacking.tools]]></category>
		<category><![CDATA[open.source]]></category>
		<category><![CDATA[uni.sb]]></category>
		<category><![CDATA[Cracking]]></category>
		<category><![CDATA[Crypto]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://sebmeyer.de/?p=235</guid>
		<description><![CDATA[As our lecturer in cryptography wanted us to break some ciphertext (password needed!) encrypted using the Vigenère cipher. As this cipher was invented in 1553, it is, of course, long broken. But I decided to implement the Kasiskitest and some simple frequency analysis as explained by Stinson in &#8220;Cryptography &#8211; Theory and Practice&#8221; using Java [...]]]></description>
			<content:encoded><![CDATA[<p>As our lecturer in <a href="http://www.infsec.cs.uni-saarland.de/teaching/10SS/Cryptography/">cryptography</a> wanted us to break <a href="http://www.infsec.cs.uni-saarland.de/teaching/10SS/Cryptography/material/hw-01.txt" target="_blank">some ciphertext</a> (password needed!) encrypted using the <a href="http://en.wikipedia.org/wiki/Vigenère_cipher">Vigenère cipher</a>. As this cipher was invented in 1553, it is, of course, long broken. But I decided to implement the Kasiskitest and some simple frequency analysis as explained by <a href="http://www.amazon.com/Cryptography-Practice-Discrete-Mathematics-Applications/dp/1584885084/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1271512537&amp;sr=8-1" target="_blank">Stinson in &#8220;Cryptography &#8211; Theory and Practice&#8221;</a> using Java (I decided not to use C++, as the exercise sheet has other, more important questions and I didn&#8217;t want to <span style="text-decoration: line-through;">spend</span> waste my time debugging) as a small exercise for myself. <a href="http://dev.seb7.de/cVigenere.java" target="_blank">You can fetch the code here.</a></p>
<p>How to use it:</p>
<blockquote><p>wget http://dev.seb7.de/cVigenere.java<br />
javac cVigenere.java<br />
java cVigernere &lt;ciphertext goes here&gt;</p></blockquote>
<p>The ciphertext is expected to be just one line, spaces are ignored. I copied the ciphertext we were to break into a file <em>cryptoct</em> (with spaces, but WITHOUT line breaks) and did <em>java cVigenere $(cat cryptoct)</em>. If you have a long ciphertext, you should remove spaces as well (should be faster during initialization).</p>
<p>Now, what does the code do? Basically, we first do the Kasiskitest, which means we look for triplets (ok, I could use longer/shorter/variable patterns here, but triplets work just fine). Now we calculate the distance between each triplet and look for the Greatest common divisor, as this could probably be the keylength.</p>
<p>After we have the keylength, we can do usual frequency analysis, but only consider every <em>key.length</em>-th word. This means, we try to break the ciphertext like a normal <a href="http://en.wikipedia.org/wiki/Caesar_cipher">Ceasar cipher</a>, but instead of going through it only once, we do it <em>key.length</em> times.</p>
<p>If you really want to understand the code, take a look at the book, you can find it in the computer science library in Saarbrücken, but Kaiserslautern should have it as well <img src='http://sebmeyer.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://sebmeyer.de/index.php/2010/04/17/cracking-vigenere-cipher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux- und Windowslogin ohne gültiges Passwort</title>
		<link>http://sebmeyer.de/index.php/2009/07/04/linux-und-windowslogin-ohne-gultiges-passwort/</link>
		<comments>http://sebmeyer.de/index.php/2009/07/04/linux-und-windowslogin-ohne-gultiges-passwort/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 11:36:05 +0000</pubDate>
		<dc:creator>Archimedes</dc:creator>
				<category><![CDATA[hacking.tools]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://sebmeyer.de/?p=171</guid>
		<description><![CDATA[Wenn man physikalischen Zugriff auf eine Maschine hat, kommt man ja bekanntlich immer irgendwie in das System rein. Der normale Weg ist ja, dass man einfach die Datei, in der das Passwort steht manipuliert. Das Problem daran ist, dass dadurch evtl. auch andere Passwörter verändert werden&#8230; Einen etwas anderen, imho cooleren Ansatz fährt Kon-Boot: Man [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn man physikalischen Zugriff auf eine Maschine hat, kommt man ja bekanntlich immer irgendwie in das System rein. Der normale Weg ist ja, dass man einfach die Datei, in der das Passwort steht manipuliert. Das Problem daran ist, dass dadurch evtl. auch andere Passwörter verändert werden&#8230;</p>
<p><a href="http://www.piotrbania.com/all/kon-boot/" target="_blank">Einen etwas anderen, imho cooleren Ansatz fährt Kon-Boot</a>: Man lädt (entweder von Diskette oder CD) einen virtuellen Bootloader der den Kernel (egal ob Windows oder Linux &#8211; es ist ein 2 in 1 Tool <img src='http://sebmeyer.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ) im Speicher manipuliert und so den Login mit einem beliebigen Passwort erlaubt ohne, dass dabei irgendwas auf der Festplatte verändert werden muss.</p>
<p>Ich muss sagen: Richtig geiles Werkzeug (und es hat mir gerade den Tag gerettet, weil ich mal schnell an eine Windowskiste musste, deren Passwort ichvergessenhabe um daran weiter zu arbeiten&#8230; Also großes Danke an die Entwickler!!)</p>
<p>Sich gegen Missbrauch zu wehren ist eigentlich auch recht einfach: Booten von CD/Diskette im BIOS deaktivieren und ein BIOS Admin Passwort setzen. Dann muss jemand, der dieses oder ähnliche Werkzeuge missbraucht vorher den Rechner aufschrauben, was wesentlich auffälliger als nur eine Diskette oder CD im Laufwerk ist&#8230; 100% verhindern kann man solche Tools aber eigentlich nicht, ausser vielleicht mit einem Linuxkernel, der im RAM anders aussieht und nicht von der Heuristik gefunden werden kann (bis diese dann angepasst wird).</p>
<p>Gruß, Seb</p>
<p><strong>Wichtig</strong>: Immer dran denken, dass man sowas <strong>nur</strong> machen darf, <strong>wenn</strong> man dazu vom Besitzer des Computers <strong>authorisiert</strong> ist! Sollte eigentlich jeder wissen, aber ich sage es lieber nochmal dazu.</p>
]]></content:encoded>
			<wfw:commentRss>http://sebmeyer.de/index.php/2009/07/04/linux-und-windowslogin-ohne-gultiges-passwort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
