<?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>It should work... &#187; criptografía</title>
	<atom:link href="http://vierito.es/wordpress/tag/criptografia/feed/" rel="self" type="application/rss+xml" />
	<link>http://vierito.es/wordpress</link>
	<description>Cuando cualquier trasto es útil</description>
	<lastBuildDate>Sun, 20 May 2012 15:59:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Historias de la cripta</title>
		<link>http://vierito.es/wordpress/2010/07/10/historias-de-la-cripta/</link>
		<comments>http://vierito.es/wordpress/2010/07/10/historias-de-la-cripta/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 17:20:15 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[Curso de Verano de Seguridad]]></category>
		<category><![CDATA[RSA]]></category>
		<category><![CDATA[side channel]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=846</guid>
		<description><![CDATA[El Maligno me lió para dar una charla en el III Curso de Verano de Seguridad en Valencia. El curso ha estado genial, tanto las ponencias como la gente que acudió, sin duda una gran oportunidad para pasar un buen rato con conocidos y nuevas caras. Mi charla la quise enfocar como una recopilación de [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzA3L0hpc3Rvcmlhc19kZV9sYV9jcmlwdGFfc2xpZGUxLnBuZw=="><img class="aligncenter size-medium wp-image-850" title="Historias_de_la_cripta_slide" src="http://vierito.es/wordpress/wp-content/uploads/2010/07/Historias_de_la_cripta_slide1.png" alt="" /></a></p>
<p><a title=\"Chema Alonso\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VsbGFkb2RlbG1hbC5ibG9nc3BvdC5jb20v">El Maligno</a> me lió para dar una charla en el <a title=\"III Curso de Seguridad\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pbmZvcm1hdGljYTY0LmNvbS9paWljdXJzb3ZlcmFuby8=">III Curso de Verano de Seguridad</a> en Valencia. El curso ha estado genial, tanto las ponencias como la gente que acudió, sin duda una gran oportunidad para pasar un buen rato con conocidos y nuevas caras.</p>
<p>Mi charla la quise enfocar como una recopilación de fallos comunes (algunos de ellos famosos) cuando nos toca tratar con criptografía. Es un tema un poco denso así que para darle un toque más curioso y divertido en la parte final incluí puntos decisivos a la hora de implementar criptografía en dispositivos embebidos en los que, debido a factores como el <em>side channel</em>, tenemos que tener en cuenta todo tipo de nuevas medidas.</p>
<p>Gracias a <a title=\"Eloi Sanfèlix\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5saW1pdGVkLWVudHJvcHkuY29tLw==">Eloi</a> y <a title=\"kuasar\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2t1YXNhci5lcy9ibG9nLw==">Bea</a> por echarme una mano <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Aquí os dejo la presentación de <a title=\"Historia de la cripta - Javi Moreno\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvSGlzdG9yaWFzX2RlX2xhX2NyaXB0YV8tX0phdmlfTW9yZW5vLnBkZg==">Historias de la cripta</a></p>
<p>Si tenéis dudas o preguntas podéis dejar comentarios aquí o usar twitter con el tag #cripta.</p>
<p>Keep hacking!<br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMDkvZ2FuYWRvcmVzLWRlbC1yZXRvLWRlLWNyaXB0b2dyYWZpYS8=" rel=\"bookmark\" title=\"May 9, 2009\">Ganadores del reto de criptografía</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDYvMTEvY3VhbmRvLW5vLXNlLXRpZW5lLWN1aWRhZG8tY29uLWxhLWNyaXB0b2dyYWZpYS8=" rel=\"bookmark\" title=\"June 11, 2009\">Cuando no se tiene cuidado con la criptografía&#8230;</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDQvMjkvY29uZmVyZW5jaWEtc29icmUtY3JpcHRvZ3JhZmlhLXktcmV0by8=" rel=\"bookmark\" title=\"April 29, 2009\">Conferencia sobre criptografía y reto</a></li>
</ul>
<p><!-- Similar Posts took 5.653 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=846" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2010/07/10/historias-de-la-cripta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crackeador de hashes MD5 en C y OpenSSL</title>
		<link>http://vierito.es/wordpress/2009/08/28/crackeador-de-hashes-md5-en-c-y-openssl/</link>
		<comments>http://vierito.es/wordpress/2009/08/28/crackeador-de-hashes-md5-en-c-y-openssl/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 11:43:03 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[crackeador]]></category>
		<category><![CDATA[cracker]]></category>
		<category><![CDATA[cracking]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[diccionario]]></category>
		<category><![CDATA[EVP_DigestInit]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[MD5]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[password cracking]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=642</guid>
		<description><![CDATA[Un hash es una función criptográfica de tipo resumen cuyo objetivo es identificar casi unívocamente un conjunto de datos. Pretende ser una función inyectiva, es decir, que para una salida (valor imagen) solo exista una entrada (valor origen) pero debido a que su salida está limitada en tamaño es posible que para entradas diferentes existan [...]]]></description>
			<content:encoded><![CDATA[<p>Un hash es una función criptográfica de tipo resumen cuyo objetivo es identificar <em>casi unívocamente</em> un conjunto de datos. Pretende ser una función inyectiva, es decir, que para una salida (valor imagen) solo exista una entrada (valor origen) pero debido a que su salida está limitada en tamaño es posible que para entradas diferentes existan claves resultantes iguales. Eso sería una colisión y una función hash deberá tener una salida pequeña equilibrada con su resistencia a colisiones. MD5 tiene una salida fija de 128 bits, lo que vienen siendo 32 dígitos en hexadecimal.</p>
<p>Primero de todo vamos a hacer un programa que nos permita calcular el hash md5 de un string que se le pase y luego ya pasaremos al crackeador.</p>
<p>Sería más fácil hacer un script en bash o perl gracias a la utilidad CLI de OpenSSL, a la hora de calcular un solo hash no importa mucho la velocidad pero si luego queremos hacer un pequeño crackeador no podemos partir de algo que ya sabemos que va a ser mucho más lento. Así que lo que vamos a usar es C y la librería de OpenSSL.</p>
<p>Si no sabemos por donde empezar un extracto del man:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">$ man md5
...
<span style="color: #202020;">SYNOPSIS</span>
&nbsp;
<span style="color: #339933;">#include &lt;openssl/md2.h&gt;</span>
&nbsp;
        <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>MD5<span style="color: #009900;">&#40;</span><span style="color: #993333;">const</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>d<span style="color: #339933;">,</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">long</span> n<span style="color: #339933;">,</span>
                         <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>md<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #993333;">int</span> MD5_Init<span style="color: #009900;">&#40;</span>MD5_CTX <span style="color: #339933;">*</span>c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #993333;">int</span> MD5_Update<span style="color: #009900;">&#40;</span>MD5_CTX <span style="color: #339933;">*</span>c<span style="color: #339933;">,</span> <span style="color: #993333;">const</span> <span style="color: #993333;">void</span> <span style="color: #339933;">*</span>data<span style="color: #339933;">,</span>
                         <span style="color: #993333;">unsigned</span> <span style="color: #993333;">long</span> len<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #993333;">int</span> MD5_Final<span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>md<span style="color: #339933;">,</span> MD5_CTX <span style="color: #339933;">*</span>c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
...
<span style="color: #202020;">DESCRIPTION</span>
...
<span style="color: #202020;">Applications</span> should use the higher level functions EVP_DigestInit<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span> etc. <span style="color: #202020;">instead</span> of calling the hash functions directly.
...</pre></div></div>

<p><span id="more-642"></span><br />
Vemos que podríamos añadir esa librería y usar las funciones MD5_Init(), MD5_Update y MD5_Final pero ya nos avisan que deberíamos usar unas funciones de más alto nivel así que: <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5vcGVuc3NsLm9yZy9kb2NzL2NyeXB0by9FVlBfRGlnZXN0SW5pdC5odG1s">EVP_DigestInit</a></p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">$ man EVP_DigestInit
...
<span style="color: #202020;">SYNOPSIS</span>
        <span style="color: #339933;">#include &lt;openssl/evp.h&gt;</span>
&nbsp;
        <span style="color: #993333;">void</span> EVP_MD_CTX_init<span style="color: #009900;">&#40;</span>EVP_MD_CTX <span style="color: #339933;">*</span>ctx<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        EVP_MD_CTX <span style="color: #339933;">*</span>EVP_MD_CTX_create<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #993333;">int</span> EVP_DigestInit_ex<span style="color: #009900;">&#40;</span>EVP_MD_CTX <span style="color: #339933;">*</span>ctx<span style="color: #339933;">,</span> <span style="color: #993333;">const</span> EVP_MD <span style="color: #339933;">*</span>type<span style="color: #339933;">,</span> ENGINE <span style="color: #339933;">*</span>impl<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #993333;">int</span> EVP_DigestUpdate<span style="color: #009900;">&#40;</span>EVP_MD_CTX <span style="color: #339933;">*</span>ctx<span style="color: #339933;">,</span> <span style="color: #993333;">const</span> <span style="color: #993333;">void</span> <span style="color: #339933;">*</span>d<span style="color: #339933;">,</span> size_t cnt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #993333;">int</span> EVP_DigestFinal_ex<span style="color: #009900;">&#40;</span>EVP_MD_CTX <span style="color: #339933;">*</span>ctx<span style="color: #339933;">,</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>md<span style="color: #339933;">,</span>
               <span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span> <span style="color: #339933;">*</span>s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>De paso, aprovecho para desaconsejar el uso de MD5 a día de hoy y como mínimo usar SHA1 o incluso dejarte de monsergas y pasar a SHA256, SHA512.</p>
<p>He intentado que el programa sea bastante fácil de entender y seguir, ahí va:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #339933;">#include &lt;openssl/evp.h&gt;</span>
&nbsp;
<span style="color: #339933;">#ifdef DEBUG</span>
<span style="color: #339933;">#define DBG 1</span>
<span style="color: #339933;">#else</span>
<span style="color: #339933;">#define DBG 0</span>
<span style="color: #339933;">#endif</span>
&nbsp;
<span style="color: #339933;">#define MAX_SIZE_WORD 200</span>
&nbsp;
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>simple_digest<span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span> <span style="color: #339933;">*</span>algth<span style="color: #339933;">,</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>buffer<span style="color: #339933;">,</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span> len<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> <span style="color: #339933;">*</span>olen<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	EVP_MD <span style="color: #339933;">*</span>m<span style="color: #339933;">;</span>
	EVP_MD_CTX ctx<span style="color: #339933;">;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>ret<span style="color: #339933;">;</span>
&nbsp;
	OpenSSL_add_all_digests <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>m <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>EVP_MD<span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span> EVP_get_digestbyname<span style="color: #009900;">&#40;</span>algth<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> NULL<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>ret <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span> malloc<span style="color: #009900;">&#40;</span>EVP_MAX_MD_SIZE<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> NULL<span style="color: #339933;">;</span>
&nbsp;
	EVP_DigestInit<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>ctx<span style="color: #339933;">,</span> m<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	EVP_DigestUpdate<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>ctx<span style="color: #339933;">,</span> buffer<span style="color: #339933;">,</span> len<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	EVP_DigestFinal<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>ctx<span style="color: #339933;">,</span> ret<span style="color: #339933;">,</span> olen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> ret<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> hex_print<span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>buff<span style="color: #339933;">,</span><span style="color: #993333;">int</span> len<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>len<span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%02x&quot;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>buff<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">&amp;</span><span style="color: #208080;">0xFF</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> argc<span style="color: #339933;">,</span> <span style="color: #993333;">char</span> <span style="color: #339933;">**</span>argv<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> buff<span style="color: #009900;">&#91;</span>MAX_SIZE_WORD<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span> olen<span style="color: #339933;">;</span>
	<span style="color: #993333;">char</span> <span style="color: #339933;">*</span>out<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	        <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Usage: mymd5 word<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        	exit<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// copy arg string into a buffer</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>strlen<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> MAX_SIZE_WORD <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		strncpy<span style="color: #009900;">&#40;</span>buff<span style="color: #339933;">,</span> argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> strlen<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// calculate string's md5 hash</span>
		out <span style="color: #339933;">=</span> simple_digest<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;md5&quot;</span><span style="color: #339933;">,</span>buff<span style="color: #339933;">,</span>strlen<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,&amp;</span>olen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// print results	</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>DBG<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Word: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Hash: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		hex_print<span style="color: #009900;">&#40;</span>out<span style="color: #339933;">,</span>olen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Not computing hash<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>I can feel your dark side... ;)<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Compilamos y probamos:</p>
<pre>$ gcc mymd5.c -o mymd5 -l ssl
$ ./mymd5 passworddeelite
5b4f50aa173b977e4cd0850cf7c52bd0</pre>
<p>Podemos comprobar su correcto funcionamiento comparando con webs online que ofrecen utilidades para calcular hashes MD5 [<a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5taXJhY2xlc2FsYWQuY29tL3dlYnRvb2xzL21kNS5waHA=">1</a>], [<a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21kNS1oYXNoLW9ubGluZS53YXJheGUudXMv">2</a>].</p>
<p>Y ahora a por el crackeador. No vamos a intentar buscar colisiones sino a partir de un diccionario sacar la clave. Le pasaremos como parámetros un fichero con el hash y un diccionario con una palabra por línea.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #339933;">#include &lt;openssl/evp.h&gt;</span>
&nbsp;
<span style="color: #339933;">#ifdef DEBUG</span>
<span style="color: #339933;">#define DBG 1</span>
<span style="color: #339933;">#else</span>
<span style="color: #339933;">#define DBG 0</span>
<span style="color: #339933;">#endif</span>
&nbsp;
<span style="color: #339933;">#define MAX_SIZE_BUFF 200</span>
&nbsp;
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>simple_digest<span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span> <span style="color: #339933;">*</span>algth<span style="color: #339933;">,</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>buffer<span style="color: #339933;">,</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span> len<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> <span style="color: #339933;">*</span>olen<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	EVP_MD <span style="color: #339933;">*</span>m<span style="color: #339933;">;</span>
	EVP_MD_CTX ctx<span style="color: #339933;">;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>ret<span style="color: #339933;">;</span>
&nbsp;
	OpenSSL_add_all_digests <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>m <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>EVP_MD<span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span> EVP_get_digestbyname<span style="color: #009900;">&#40;</span>algth<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> NULL<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>ret <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span> malloc<span style="color: #009900;">&#40;</span>EVP_MAX_MD_SIZE<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> NULL<span style="color: #339933;">;</span>
&nbsp;
	EVP_DigestInit<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>ctx<span style="color: #339933;">,</span> m<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	EVP_DigestUpdate<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>ctx<span style="color: #339933;">,</span> buffer<span style="color: #339933;">,</span> len<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	EVP_DigestFinal<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>ctx<span style="color: #339933;">,</span> ret<span style="color: #339933;">,</span> olen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> ret<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> hex_print<span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>buff<span style="color: #339933;">,</span><span style="color: #993333;">int</span> len<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>len<span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%02x&quot;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>buff<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">&amp;</span><span style="color: #208080;">0xFF</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> strtohex<span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>in<span style="color: #339933;">,</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>out<span style="color: #339933;">,</span><span style="color: #993333;">int</span> len<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
	<span style="color: #993333;">char</span> tmp<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	tmp<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>len<span style="color: #339933;">/</span><span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		tmp<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>in<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		tmp<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>in<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		out<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>strtol<span style="color: #009900;">&#40;</span>tmp<span style="color: #339933;">,</span>NULL<span style="color: #339933;">,</span><span style="color: #0000dd;">16</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> argc<span style="color: #339933;">,</span> <span style="color: #993333;">char</span> <span style="color: #339933;">**</span>argv<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #993333;">int</span> tries<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> buff_words<span style="color: #009900;">&#91;</span>MAX_SIZE_BUFF<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> hash<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">16</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>line<span style="color: #339933;">=</span>NULL<span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span> len<span style="color: #339933;">=</span><span style="color: #0000dd;">100</span><span style="color: #339933;">,</span>read<span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span> olen<span style="color: #339933;">;</span>
	<span style="color: #993333;">char</span> <span style="color: #339933;">*</span>out<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>argc<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	        <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Usage: mymd5crack /path/to/hashfile /path/to/dictfile<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        	exit<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	FILE <span style="color: #339933;">*</span>hashfile<span style="color: #339933;">;</span>
	hashfile <span style="color: #339933;">=</span> fopen<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;r&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>hashfile<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		perror<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
	FILE <span style="color: #339933;">*</span>dictfile<span style="color: #339933;">;</span>
	dictfile <span style="color: #339933;">=</span> fopen<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;r&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>dictfile<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		perror<span style="color: #009900;">&#40;</span>argv<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	read <span style="color: #339933;">=</span> getline<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>line<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>len<span style="color: #339933;">,</span> hashfile<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>strlen<span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span><span style="color: #339933;">!=</span><span style="color: #0000dd;">33</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		fprintf<span style="color: #009900;">&#40;</span>stderr<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;ERROR: Invalid hash length %d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>strlen<span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>	
&nbsp;
	strtohex<span style="color: #009900;">&#40;</span>line<span style="color: #339933;">,</span>hash<span style="color: #339933;">,</span><span style="color: #0000dd;">32</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>DBG<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Input hash: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> line<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Input buffer from hash: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			hex_print<span style="color: #009900;">&#40;</span>hash<span style="color: #339933;">,</span><span style="color: #0000dd;">16</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//Read words in a loop</span>
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>read <span style="color: #339933;">=</span> getline<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>line<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>len<span style="color: #339933;">,</span> dictfile<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> strlen<span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">200</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			tries<span style="color: #339933;">++;</span>	
&nbsp;
			<span style="color: #666666; font-style: italic;">//Copy word into buffer</span>
			strcpy<span style="color: #009900;">&#40;</span>buff_words<span style="color: #339933;">,</span>line<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>DBG<span style="color: #009900;">&#41;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Input buffer from dict: %s <span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>buff_words<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #666666; font-style: italic;">// compute md5</span>
			out <span style="color: #339933;">=</span> simple_digest<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;md5&quot;</span><span style="color: #339933;">,</span>buff_words<span style="color: #339933;">,</span>strlen<span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,&amp;</span>olen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>DBG<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>	
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;For password %s MD5 is: &quot;</span><span style="color: #339933;">,</span>line<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				hex_print<span style="color: #009900;">&#40;</span>out<span style="color: #339933;">,</span>olen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
			<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//Compare computed md5 with hash</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>memcmp<span style="color: #009900;">&#40;</span>out<span style="color: #339933;">,</span>hash<span style="color: #339933;">,</span><span style="color: #0000dd;">16</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;PASSWORD FOUND!! in %d tries: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>tries<span style="color: #339933;">,</span>line<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				fclose<span style="color: #009900;">&#40;</span>hashfile<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				fclose<span style="color: #009900;">&#40;</span>dictfile<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				free<span style="color: #009900;">&#40;</span>out<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span>
					free<span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>	
			<span style="color: #009900;">&#125;</span>
			free<span style="color: #009900;">&#40;</span>out<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Words from dict too long... cough*, cough*...<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Password not found in %d tries!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>tries<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span>
		free<span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	fclose<span style="color: #009900;">&#40;</span>hashfile<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	fclose<span style="color: #009900;">&#40;</span>dictfile<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Y comprobamos su funcionamiento metiendo en /tmp/hash el hash obtenido anteriormente:</p>
<pre>$ gcc mymd5cracker.c -o mymd5cracker -l ssl
$ ./mymd5cracker /tmp/hash /tmp/dict
PASSWORD FOUND!! in 6 tries: passworddeelite</pre>
<p>Premio! Podéis ir en paz.</p>
<p>Para descargar <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA4L215bWQ1LmM=">mymd5.c</a> y <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA4L215bWQ1Y3JhY2tlci5j">mymd5cracker.c</a></p>
<p>Gracias a <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R1eGVkLnNlcnZlYmxvZy5uZXQ=">TuXeD</a> que siempre está ahí para echar una mano.<br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDQvMTgvZGVzY2lmcmFuZG8tdW4tcmV0by1kZWwtZmJpLw==" rel=\"bookmark\" title=\"April 18, 2009\">Descifrando un reto del FBI</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDkvMjUvcG9ydC1rbm9ja2luZy15LWNyeXB0LXBvcnQta25vY2tpbmcv" rel=\"bookmark\" title=\"September 25, 2009\">Port-Knocking y Crypt-Port-Knocking</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMjIvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMi8=" rel=\"bookmark\" title=\"May 22, 2009\">Soluciones del reto de criptografía &#8211; Parte 2</a></li>
</ul>
<p><!-- Similar Posts took 6.934 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=642" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/08/28/crackeador-de-hashes-md5-en-c-y-openssl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reconociendo volúmenes Truecrypt</title>
		<link>http://vierito.es/wordpress/2009/06/14/reconociendo-volumenes-truecrypt/</link>
		<comments>http://vierito.es/wordpress/2009/06/14/reconociendo-volumenes-truecrypt/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 20:56:56 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[análisis forense]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[truecrypt]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=470</guid>
		<description><![CDATA[Como ya habréis leído más de uno en la solución de la prueba 11 habréis visto que se llegaba un punto en el cual nos descargábamos el fichero cifradoverdadero que había que abrir para continuar la prueba. Este fichero estaba creado con Truecrypt, pero ¿cómo lo podíamos saber? La pista era el nombre pero existen [...]]]></description>
			<content:encoded><![CDATA[<p>Como ya habréis leído más de uno en <a title=\"Solución prueba 11 del reto\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDYvMDgvc29sdWNpb24tZGUtbGFzLXBydWViYXMtMTEteS0xMi1kZWwtcmV0by8=">la solución de la prueba 11</a> habréis visto que se llegaba un punto en el cual nos descargábamos el fichero <a title=\"Cifrado con Truecrypt\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8vcHJ1ZWJhcy8xMS9jaWZyYWRvdmVyZGFkZXJv">cifradoverdadero</a> que había que abrir para continuar la prueba. Este fichero estaba creado con <a title=\"Truecrypt\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy50cnVlY3J5cHQub3JnLw==">Truecrypt</a>, pero ¿cómo lo podíamos saber? La pista era el nombre pero existen algunas herramientas útiles para detectar este tipo de volúmenes.</p>
<div id="attachment_627" class="wp-caption aligncenter" style="width: 490px"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA2L3FyY29kZS5qcGc="><img class="size-medium wp-image-627" title="qrcode" src="http://vierito.es/wordpress/wp-content/uploads/2009/06/qrcode-480x480.jpg" alt="Imagen de la prueba 11 del reto" width="480" height="480" /></a><p class="wp-caption-text">Imagen de la prueba 11 del reto</p></div>
<p>En <a title=\"Conexión Inversa - Truecrypt\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvbmV4aW9uaW52ZXJzYS5ibG9nc3BvdC5jb20vMjAwOS8wNi9kZXRlY3RhbmRvLWZpY2hlcm9zLWNvbi10cnVlY3J5cHQuaHRtbA==">conexioninversa</a> nos proponen un par de herramientas que nos ayudarán en este proceso. En ese post se muestra como detectar (ojo, no descifrar) qué ficheros existen dentro del contenedor Truecrypt. Para ello han usado un USB al cual le han añadido una partición cifrada con truecrypt y han metido unos cuantos ficheros.</p>
<p>El resultado es que con un editor hexadecimal podemos reconocer que claramente ha sido creado con Truecrypt y gracias a herramientas como <a title=\"File Investigator File\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mb3JlbnNpY2lubm92YXRpb25zLmNvbS9kb3dubG9hZC9maXQyMjMuZXhl">File Investigator File</a> y <a title=\"TCHunt\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovLzE2c3lzdGVtcy5jb20vVENIdW50L2ZpbGVzLzEuMS9UQ0h1bnQtMS4xX2VzLmV4ZQ==">TCHunt</a> podremos ver los nombres y unos cuantos metadatos sobre los ficheros que hayan dentro.</p>
<p>Pero ¿cómo se puede ocultar esa información? Pues no usando una partición entera con Truecrypt, <strong>usando una partición normal con el volumen truecrypt dentro</strong> (por lo menos hasta donde he podido comprarlo yo xD). De este modo se detecta que el volumen ha sido creado con Truecrypt pero no se ofrece ningún tipo de información sobre los ficheros que contiene. De hecho el fichero cifradoverdadero contiene un mp3 en su volumen normal y un fichero de texto en el oculto, y la gracia es que nada nos ha avisado ni siquiera de la existencia de la parte oculta, se te tiene que ocurrir o imaginártelo por tema de tamaños.</p>
<p>Además, en el caso de que  solo tuviéramos un editor hexadecimal la cabecera no delataría el uso de Truecrypt como ocurría con la partición completa cifrada, por lo que ya de primeras podríamos considerarlo mejor opción.</p>
<p>Por cierto, a mí me el TCHunt me ha sacado todo tipo de falsos positivos por el disco duro: un pdf, un bz2, un binario normal y alguna cosa más, eso sí, el par de volumenes de Truecrypt que tenía me los ha marcado <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Felicidades a <a title=\"ConexiónInversa\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvbmV4aW9uaW52ZXJzYS5ibG9nc3BvdC5jb20v">conexioninversa</a> por el artículo, yo no conocía las herramientas, si buscáis información sobre análisis forense es un buen sitio a donde acudir.<br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMjIvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMi8=" rel=\"bookmark\" title=\"May 22, 2009\">Soluciones del reto de criptografía &#8211; Parte 2</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDYvMDgvc29sdWNpb24tZGUtbGFzLXBydWViYXMtMTEteS0xMi1kZWwtcmV0by8=" rel=\"bookmark\" title=\"June 8, 2009\">Solución de las pruebas 11 y 12 del reto</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDQvMTgvZGVzY2lmcmFuZG8tdW4tcmV0by1kZWwtZmJpLw==" rel=\"bookmark\" title=\"April 18, 2009\">Descifrando un reto del FBI</a></li>
</ul>
<p><!-- Similar Posts took 5.527 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=470" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/06/14/reconociendo-volumenes-truecrypt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cuando no se tiene cuidado con la criptografía&#8230;</title>
		<link>http://vierito.es/wordpress/2009/06/11/cuando-no-se-tiene-cuidado-con-la-criptografia/</link>
		<comments>http://vierito.es/wordpress/2009/06/11/cuando-no-se-tiene-cuidado-con-la-criptografia/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 23:50:35 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[GPGME]]></category>
		<category><![CDATA[keyczar]]></category>
		<category><![CDATA[Mifare]]></category>
		<category><![CDATA[side channel analysis]]></category>
		<category><![CDATA[timing attack]]></category>
		<category><![CDATA[wii]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=462</guid>
		<description><![CDATA[&#8230; puede ocurrir de todo. Cuanta razón tiene Nate Lawson cuando recomienda encarecidamente usar librerías de alto nivel cuando estemos usando criptografía. Ejemplos de ellas son GPGME (GnuPG Made Easy) y Keyczar, de la que hace poco el mismo autor sacó un timing attack de libro, irónicamente xD (para ver de qué va el Side [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; puede ocurrir de todo.</p>
<p style="text-align: center;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA2L3RpbWluZ19hdHRhY2sucG5n"><img class="size-full wp-image-464 aligncenter" title="Timing Attack, imagen creada por Riscure" src="http://vierito.es/wordpress/wp-content/uploads/2009/06/timing_attack.png" alt="timing_attack" width="480" height="154" /></a></p>
<p>Cuanta razón tiene <a title=\"Rdist\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3JkaXN0LnJvb3Qub3JnLzIwMDkvMDYvMTAvd2hlbi1jcnlwdG8tYXR0YWNrcy1zbGlkZXMtcG9zdGVkLw==">Nate Lawson</a> cuando recomienda encarecidamente usar librerías de alto nivel cuando estemos usando criptografía. Ejemplos de ellas son <a title=\"GPGME\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5nbnVwZy5vcmcvZ3BnbWUuaHRtbA==">GPGME</a> (GnuPG Made Easy) y <a title=\"Keyczar\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5rZXljemFyLm9yZy8=">Keyczar</a>, de la que hace poco el mismo autor sacó un <a title=\"Timming Attack Keyczar\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3JkaXN0LnJvb3Qub3JnLzIwMDkvMDUvMjgvdGltaW5nLWF0dGFjay1pbi1nb29nbGUta2V5Y3phci1saWJyYXJ5Lw==">timing attack de libro</a>, irónicamente xD (para ver de qué va el Side Channel <a title=\"TuXeD\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R1eGVkLnNlcnZlYmxvZy5uZXQ=">TuXeD</a> tiene unos cuantos posts interesantes, entre otros [<a title=\"Side Channel Analysis\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R1eGVkLnNlcnZlYmxvZy5uZXQvYXRhcXVlcy1hLXNtYXJ0LWNhcmRzLXNpZGUtY2hhbm5lbC1hbmFseXNpcy1p">1</a>] [<a title=\"Side Channel Analysis\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R1eGVkLnNlcnZlYmxvZy5uZXQvYXRhcXVlcy1hLXNtYXJ0LWNhcmRzLXNpZGUtY2hhbm5lbC1hbmFseXNpcy1paQ==">2</a>])</p>
<p>Si nos ponemos a buscar cagadas que haya hecho la gente en los últimos años veremos que se tropieza una y otra vez en las mismas piedras. Por eso jamás se deben implementar los algoritmos por nuestra cuenta reinventando la rueda&#8230; mal, y siempre deberemos usar código contrastado y revisado por terceros.</p>
<p>Muy recomendable la siguiente presentación:</p>
<p><a title=\"When Crypto Attacks\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zbGlkZXNoYXJlLm5ldC9yb290bGFicy93aGVuLWNyeXB0by1hdHRhY2tzLXlhaG9vLTIwMDk=">http://www.slideshare.net/rootlabs/when-crypto-attacks-yahoo-2009</a></p>
<p>En la <a title=\"Conferencia Criptografía 2009\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8vY2hhcmxhL1NsaWRlc19DcmlwdG9fU2VjdXRlbDA5LnBkZg==">conferencia en la UPV (PDF)</a> de hace unas semanas ya lancé ideas sobre estas cosas con metidas de pata gordas, como la de <a title=\"Team Twiizers\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2V2ZW50cy5jY2MuZGUvY29uZ3Jlc3MvMjAwOC9GYWhycGxhbi9ldmVudHMvMjc5OS5lbi5odG1s">Nintendo Wii</a>, la de <a title=\"Karsten Nohl\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2V2ZW50cy5jY2MuZGUvY29uZ3Jlc3MvMjAwNy9GYWhycGxhbi9ldmVudHMvMjM3OC5lbi5odG1s">Mifare</a>, la de <a title=\"PRNG Debian OpenSSL\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5tZXRhc3Bsb2l0LmNvbS91c2Vycy9oZG0vdG9vbHMvZGViaWFuLW9wZW5zc2wv">Debian</a>, etc.<br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMjIvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMi8=" rel=\"bookmark\" title=\"May 22, 2009\">Soluciones del reto de criptografía &#8211; Parte 2</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTAvMDcvMTAvaGlzdG9yaWFzLWRlLWxhLWNyaXB0YS8=" rel=\"bookmark\" title=\"July 10, 2010\">Historias de la cripta</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDQvMTgvZGVzY2lmcmFuZG8tdW4tcmV0by1kZWwtZmJpLw==" rel=\"bookmark\" title=\"April 18, 2009\">Descifrando un reto del FBI</a></li>
</ul>
<p><!-- Similar Posts took 6.058 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=462" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/06/11/cuando-no-se-tiene-cuidado-con-la-criptografia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solución de las pruebas 11 y 12 del reto</title>
		<link>http://vierito.es/wordpress/2009/06/08/solucion-de-las-pruebas-11-y-12-del-reto/</link>
		<comments>http://vierito.es/wordpress/2009/06/08/solucion-de-las-pruebas-11-y-12-del-reto/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 11:42:21 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[ieee]]></category>
		<category><![CDATA[concurso]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[dani kachakil]]></category>
		<category><![CDATA[ETSIT]]></category>
		<category><![CDATA[IEEEsb-UPV]]></category>
		<category><![CDATA[reto]]></category>
		<category><![CDATA[secutel]]></category>
		<category><![CDATA[soluciones]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=454</guid>
		<description><![CDATA[Después de la entrega 1 y 2 llega la final. Las pruebas 11 y 12 quedaron invictas así que se dejaron propuestas para los aventureros. Dani Kachakil, todo un experto en retos de hacking ganar retos de hacking se puso manos a la obra y resolvió ambas. Durante el reto varias personas intentaron hacer la [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA2L2dudXBnLnBuZw=="><img class="size-full wp-image-456 aligncenter" title="gnupg" src="http://vierito.es/wordpress/wp-content/uploads/2009/06/gnupg.png" alt="gnupg" width="285" height="372" /></a></p>
<p>Después de la entrega <a title=\"Solución criptografía parte 1\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMTcvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMS8=">1</a> y <a title=\"Solución criptografía parte 2\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMjIvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMi8=">2</a> llega la final. Las pruebas 11 y 12 quedaron invictas así que se dejaron propuestas para los aventureros. <a title=\"Dani Kachakil\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2thY2hha2lsLmNvbQ==">Dani Kachakil</a>, todo un experto en <span style="text-decoration: line-through;">retos de hacking</span> ganar retos de hacking se puso manos a la obra y resolvió ambas.</p>
<p>Durante el reto varias personas intentaron hacer la prueba 11 pero casi todos se quedaron en el mismo punto: ¿cómo abrir el fichero cifradoverdadero? Al final resultó que no era algo tan retorcido y había una pista importante. Sobre la prueba 12 parece que nadie llego a gastar mucho tiempo para intentar resoverla.</p>
<p>Dani nos ha mandado su solucionario escrito paso a paso, muchas gracias!</p>
<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA2L3NvbHVjaW9uLXJldG8tc2VjdXRlbC0yMDA5LnBkZg==">Solución Reto Secutel 2009</a></p>
<p>Y felicidades a los <a title=\"Sexy Pandas\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NleHkucGFuZGFzLmVzL2Jsb2cv">Sexy Pandas</a>, que <a title=\"Prequals Defcon Sexy Pandas\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuNDhiaXRzLmNvbS8/cD0zOTY=">se han clasificado terceros</a> en las prequals de la <a title=\"DefCon\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5kZWZjb24ub3JnLw==">DefCon</a>.<br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMjkvcmV0by1mYmktbWF5by0wOS8=" rel=\"bookmark\" title=\"May 29, 2009\">Reto FBI Mayo 09</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMTcvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMS8=" rel=\"bookmark\" title=\"May 17, 2009\">Soluciones del reto de criptografía &#8211; Parte 1</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMjIvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMi8=" rel=\"bookmark\" title=\"May 22, 2009\">Soluciones del reto de criptografía &#8211; Parte 2</a></li>
</ul>
<p><!-- Similar Posts took 5.902 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=454" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/06/08/solucion-de-las-pruebas-11-y-12-del-reto/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Reto FBI Mayo 09</title>
		<link>http://vierito.es/wordpress/2009/05/29/reto-fbi-mayo-09/</link>
		<comments>http://vierito.es/wordpress/2009/05/29/reto-fbi-mayo-09/#comments</comments>
		<pubDate>Fri, 29 May 2009 16:11:36 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[cryptoanálisis]]></category>
		<category><![CDATA[FBI]]></category>
		<category><![CDATA[reto]]></category>
		<category><![CDATA[sustitución]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=434</guid>
		<description><![CDATA[Hoy me he enterado (via La Comunidad de DragonJar) que el 23/05/09 se publicó otro reto a estilo este que expliqué hace un tiempo. La solución después del &#8220;Read More&#8221; Nos dan una imagen con símbolos en plan de las runas. Lo primero es ver que tiene signos de puntuación. Un signo de admiración a [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy me he enterado (via <a title=\"La Comunidad de DragonJar\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5kcmFnb25qYXIub3JnLw==">La Comunidad de DragonJar</a>) que el 23/05/09 <a title=\"Reto 2009\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mYmkuZ292L3BhZ2UyL21heTA5L2NvZGVfMDUyMzA5Lmh0bWw=">se publicó otro reto</a> a estilo <a title=\"Reto FBI 2008\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDQvMTgvZGVzY2lmcmFuZG8tdW4tcmV0by1kZWwtZmJpLw==">este</a> que expliqué hace un tiempo.</p>
<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA1L2NvZGUwNTE4MDkuanBn"><img class="aligncenter size-full wp-image-435" title="code051809" src="http://vierito.es/wordpress/wp-content/uploads/2009/05/code051809.jpg" alt="code051809" width="480" height="247" /></a></p>
<p>La solución después del &#8220;Read More&#8221;</p>
<p><span id="more-434"></span></p>
<p>Nos dan una imagen con símbolos en plan de las runas. Lo primero es ver que tiene signos de puntuación. Un signo de admiración a principio de una palabra y un punto y una coma situados de la misma forma. Con eso se me ocurren 2 opciones: o es una transposición o está todo al revés. Como coincide que 3 elementos caen en esa posición vamos a suponer que simplemente le han dado la vuelta. En la Campus Party hubo una prueba que también tenía un signo de puntuación de estos y por culpa de suponer que era &#8216;al revés&#8217; perdimos mucho mucho tiempo jejeje resultó ser una transposición doble.</p>
<p>Así que cogemos todos los símbolos, les damos la vuelta y los sustituímos por letras siguiendo la estructura. Después de unos minutos ya lo tengo escrito en una hoja de papel y todo parece que sea una sustitucion simple (otra vez ¬¬). Hay 2 letras sueltas iguales, lo normal es que sea una &#8220;a&#8221; ya que es inglés. Y el final parece un &#8220;to go!&#8221; Bueno, no nos adelantemos. Vamos a buscar un patrón para tener por donde empezar.</p>
<p>Igual que en la solución del reto anterior del FBI cogemos <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDQvMTgvZGVzY2lmcmFuZG8tdW4tcmV0by1kZWwtZmJpLw==">el programita de buscar patrones en C</a> y el diccionario aspell (que es cutre pero sirve):</p>
<p><code>$ ./pattern en-common.dat ABCADEDBDEFG<br />
substituting<br />
substitution<br />
substitution's<br />
substitutions</code></p>
<p>A huevos! ¿no? Solo puede ser <em>substituting</em> o <em>substitution</em>. ¿Cuál de las 2 es? Vemos que además de ser sustitución simple el cambio guarda cierto parecido con las formas de los símbolos y no es difícil reconocer que es <em>substitution</em> y que justo la palabra que la precede es <em>simple</em> =&gt; <em>simple substitution</em>.</p>
<p>Vamos sustituyendo todas las letras que hemos sacado y las palabras van saliendo fácilmente. Al final el resultado es:</p>
<p><code>You have solved a simple substitution cipher, using symbols intead of letters and a few twists thrown in for good measure. Way to go!</code></p>
<p>Faciliiiiiiiiito <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>En breve tendréis la solución de las pruebas 11 y 12 de nuestro reto, que <a title=\"Dani Kachakil\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5rYWNoYWtpbC5jb20=">Dani Kachakil</a> se pasó un buen rato dándole al coco hasta sacarlas.<br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDQvMTgvZGVzY2lmcmFuZG8tdW4tcmV0by1kZWwtZmJpLw==" rel=\"bookmark\" title=\"April 18, 2009\">Descifrando un reto del FBI</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDYvMDgvc29sdWNpb24tZGUtbGFzLXBydWViYXMtMTEteS0xMi1kZWwtcmV0by8=" rel=\"bookmark\" title=\"June 8, 2009\">Solución de las pruebas 11 y 12 del reto</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMTcvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMS8=" rel=\"bookmark\" title=\"May 17, 2009\">Soluciones del reto de criptografía &#8211; Parte 1</a></li>
</ul>
<p><!-- Similar Posts took 5.731 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=434" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/05/29/reto-fbi-mayo-09/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Soluciones del reto de criptografía &#8211; Parte 2</title>
		<link>http://vierito.es/wordpress/2009/05/22/soluciones-del-reto-de-criptografia-parte-2/</link>
		<comments>http://vierito.es/wordpress/2009/05/22/soluciones-del-reto-de-criptografia-parte-2/#comments</comments>
		<pubDate>Fri, 22 May 2009 11:43:29 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[ieee]]></category>
		<category><![CDATA[concurso]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[ETSIT]]></category>
		<category><![CDATA[IEEEsb-UPV]]></category>
		<category><![CDATA[reto]]></category>
		<category><![CDATA[secutel]]></category>
		<category><![CDATA[soluciones]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=386</guid>
		<description><![CDATA[Las 5 primeras pruebas eran bastante directas, se podían resolver con papel y boli, excepto sacar los datos EXIF, claro. Ahora se va complicando un poco la cosa, pero no mucho, eh? Prueba Nº6 Dame el link Pensamos que esta prueba iba a ser más sencilla de resolver pero resultó ser la $&#38;#@ prueba del [...]]]></description>
			<content:encoded><![CDATA[<p>Las <a title=\"Soluciones al reto de criptografía\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMTcvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMS8=">5 primeras pruebas</a> eran bastante directas, se podían resolver con papel y boli, excepto sacar los datos EXIF, claro. Ahora se va complicando un poco la cosa, pero no mucho, eh?</p>
<h2>Prueba Nº6 Dame el link</h2>
<p>Pensamos que esta prueba iba a ser más sencilla de resolver pero resultó ser la $&amp;#@ prueba del kebab. Dentro del tiempo estipulado no hubo ningún participante que diera con la solución aunque unos días después si recibí una correcta. Se proporciona el siguiente texto:</p>
<p><code>LEAR TA__ LC_S ERUE S/_T .AHR PW:/ DWTW UxI. xxNx CxCx xxOx</code></p>
<p>y se da la pista <code>¿Te apetece un kebab? Gira que te gira!</code>.</p>
<p>Era muy importante intentar deducir algo de las pistas. Nos pide un link y se pueden intuir unas Ws, los 2 puntos, barras, hay suficientes vocales, es decir, es un cifrado de transposición. Además las pistas son claras, es algo que gira.</p>
<p>Si hacemos un búsqueda con las palabras clave <em>transposition, turning, cipher</em> veremos que llegamos al cifrado Turning Grille. Tan fácil o tan difícil, creímos que no costaría tanto, la mayoría de los participantes intentaron sacar la frase a mano pero sin intentar averiguar la secuencia o el cifrado, de ese modo el resultado depende en gran parte de la suerte.</p>
<p>Una vez que asumimos que es seguro turning grille, miramos como funciona y tendremos que darnos cuenta de que es un cifrado que necesita un padding para ajustarse a una rejilla (se podría pensar que ese padding son las Xs) y que debemos eliminar el espaciado.</p>
<p>La rejilla usada para cifrar es la siguiente:<br />
<code><br />
X_X_<br />
__X_<br />
____<br />
__X_<br />
</code></p>
<p>Y podremos usar este programa en Java que nos facilitará mucho la tarea: <a title=\"TuGriToo\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy50dXJuaW5nLWdyaWxsZS5jb20v">TuGriToo</a></p>
<p>El mensaje descifrado es: <code>LA URL SECRETA ES <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hcmR1aW5vLmNj">HTTP://WWW.ARDUINO.CC</a></code></p>
<p>Si os parece que esta prueba era puta&#8230; probad la 11 ^__^ Amine la preparó con amor para vosotros.</p>
<p><span id="more-386"></span></p>
<h2>Prueba Nº7 Los Seis Bandidos</h2>
<p>Se proporciona la siguiente imagen PNG:</p>
<p><img src="http://www.ieee.upv.es/cripto/pruebas/7/imagen.png" alt="" align="middle" /></p>
<p>Si sólo nos dan una imagen podemos pensar que pueden haber datos EXIF o algún tipo de esteganografía. Lo de EXIF ya ha salido y además sería muy fácil como para no ser una de las primeras pruebas. ¿Que métodos existen? LSB, en el canal alpha, etc. Es un PNG y podría tener canal alpha pero el título de la prueba es &#8220;<strong>L</strong>os <strong>S</strong>eis <strong>B</strong>andidos&#8221; lo cual viene a ser LSB <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  en particular LSB0.</p>
<p>Podemos usar algún programa como <a title=\"StegSecret\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3N0ZWdzZWNyZXQuc291cmNlZm9yZ2UubmV0">StegSecret</a> o acudir a alguna herramienta online como la siguiente:<br />
<a title=\"LSB Steganography\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2luY29oZXJlbmN5LmNvLnVrL2hpZGVpbWFnZS5waHA=">http://incoherency.co.uk/hideimage.php</a></p>
<p>Después de obtener el contenido oculto mediante LSB0  (eso del final es un _cero_ pero es que con esta tipografía se ve un poco raro xD) vemos el siguiente mensaje:</p>
<p><code>Tenemos que crackear este hash pero lo unico que sabemos es que contiene 5 caracteres:<br />
3e785445adc128d92ae8b8b98e9e624e</code></p>
<p>Por la longitud del hash sabemos que puede ser MD5 y nos dicen que la clave tenía 5 caracteres. Eso está pidiendo a gritos fuerza bruta. Tenemos 2 opciones:</p>
<p>- Usar alguna base de datos online de hashes calculados como <a title=\"Online MD5 hash database, cracker\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2dkYXRhb25saW5lLmNvbS9zZWVraGFzaC5waHA=">http://gdataonline.com/seekhash.php</a></p>
<p>- Usar mdcrack ya que siendo la clave de esa longitud se obtendrá pronto:<br />
<code>$ mdcrack 3e785445adc128d92ae8b8b98e9e624e</code></p>
<pre>&lt;&lt;System&gt;&gt; MDcrack v1.2 is starting.
&lt;&lt;System&gt;&gt; Using default charset : abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
&lt;&lt;System&gt;&gt; Max pass size = 12 &gt;&gt; Entering MD5 Core 1.

Password size: 1

Password size: 2

Password size: 3

Password size: 4

Password size: 5

----------------------------------------
Collision found ! =&gt; p1ngu

Collision(s) tested : 312026920 in 46 second(s), 748 millisec, 211 microsec.
Average of 6674628.0 hashes/sec.

&lt;&lt;System&gt;&gt; Session terminated -- Press a key</pre>
<p>Hemos tenido suerte, ha sido rápido e indoloro gracias a que la clave no tenía símbolos fuera del abecedario y los numeros.</p>
<p>Esta prueba fue resuelta por 2 personas.</p>
<h2>Prueba Nº 8  ¿Qué tienes para beber?</h2>
<p>Nos dan un <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8vcHJ1ZWJhcy84L3BydWViYTguemlw">fichero zip</a> con un enunciado y un fichero mp3.</p>
<p><code>La resolucion de este reto es simplemente espectacular!<br />
Queremos que encuentres la palabra clave.</code></p>
<p>Esta es una de esas pruebas que puede ser o, muy fácil e inmediata, o que te haga rayarte hasta el infinito. Pero es que la solución es muy chula y aunque este fichero mp3 es conocido de una prueba ya publicada en otro reto ( <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5uZXQtZm9yY2Uubmwv">http://www.net-force.nl</a>, ajeno al nuestro ) nos apetecía ponerla.</p>
<p>El ruidito en cuestión es marciano como él sólo y podríamos pensar que tiene una secuencia escondida, que haya algún mensaje por tonos escondido cerca del algún ruido, patrones repetitivos, etc. En realidad es mucho más simple.</p>
<p>Abrimos el fichero con algún editor de onda, audacity por ejemplo, y vemos la siguiente forma de onda:<br />
<a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA1L3J1aWRpdG9fZm9ybWFkZW9uZGEucG5n"><img class="aligncenter wp-image-392" title="ruidito_formadeonda" src="http://vierito.es/wordpress/wp-content/uploads/2009/05/ruidito_formadeonda.png" alt="ruidito_formadeonda" width="480" height="110" /></a></p>
<p>Pero&#8230; ¿y si ponemos el modo de vista con el espectrograma?<br />
<a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA1L3J1aWRpdG9fZXNwZWN0cm9ncmFtYS5wbmc="><img class="aligncenter wp-image-393" title="ruidito_espectrograma" src="http://vierito.es/wordpress/wp-content/uploads/2009/05/ruidito_espectrograma.png" alt="ruidito_espectrograma" width="480" height="110" /></a></p>
<p>Si nos fijamos un poco, veremos que en el espectrograma se puede leer la palabra VODKA pero escrita en ruso, y esa es la solución. Bastante directo si se te ocurría, chulo, eh?</p>
<h2>Prueba Nº9 Palomitas</h2>
<p>Nos dan un fichero que se contiene lo siguiente y además se llama passwd</p>
<p><code>crackme:$1$pXSQEDco$/sYpZtE048g18JTSCW9jH/:1001:1010::/home/crackme:/bin/bash<br />
</code></p>
<p>Esta claro, tanto por el nombre del fichero como por su contenido que es la línea de un usuario de linux llamado crackme con el correspondiente hash de su password. Pero, oye, eso no es así el hash estaría en <em>/etc/shadow</em> y no en <em>/etc/passwd</em>&#8230; ya&#8230; sólo se trata de simplificar.</p>
<p>La pista es:</p>
<p><code>Ese usuario tiene la solución del examen de microondas del año que viene pero ten cuidado no quemes tu CPU. ¡Obtén su contraseña!</code></p>
<p>No quemes tu CPU! Lo cual viene a ser, está claro que tendrás que darle a la CPU pero no sea cafre y no lo intentes por fuerza bruta probando todas las posibles claves. Lo del examen de microondas era sólo para dar más ganas a la gente de crackearlo ^__^</p>
<p>Es un hash de un usuario de linux luego estará en MD5+SALT, aunque en sistemas distribuciones linux modernas ya es más común usar SHA512 en lugar de MD5 para ofrecer mayor robustez.</p>
<p>¿Qué opciones tenemos?<br />
- Fuerza bruta: si la clave es larga o compleja tardará horrorores.<br />
- algo tipo Rainbow tables: al usarse un SALT es un opción no recomendada. Para una misma clave la salida sería distinta y no nos serían útiles la mayoría de las tablas precalculadas.<br />
- Fuerza bruta pero usando diccionario: opción más inteligente.</p>
<p>Así que nos ponemos a ello. Ahora se resume a tener suerte y dar con el diccionario correcto, el diccionario Argon sirve por ejemplo, que suele estar entre los primeros cuando buscas por ahí. La prueba es sencilla pero según la suerte que tengas puedes tardar mucho o poco para encontrar el diccionario adecuado por eso tiene una puntuación alta, para recompensarlo.</p>
<p>Ponemos a trabajar al amigo Juan:</p>
<p><code>$ john --wordlist=wordlist --users=crackme passwd<br />
Loaded 1 password hash (FreeBSD MD5 [32/32])<br />
wobbleywibble    (crackme)<br />
guesses: 1  time: 0:00:09:18 100%  c/s: 4977  trying: wobbleywibble</code></p>
<p>Solución: el password es <em>wobbleywibble</em>&#8221; y se puede obtener en poco más de 9 minutos.</p>
<p>Aquí os adjunto un posible <a title=\"diccionario johntheripper linux\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA1L3dvcmRsaXN0LnRhci5neg==">diccionario</a><a>.</a></p>
<h2><a>Prueba Nº 10 Código Ofuscado</a></h2>
<p><a>Se nos proporciona un </a><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8vcHJ1ZWJhcy8xMC9wcnVlYmExMC56aXA=">fichero zip</a> que contiene unas instrucciones y código de programación cifrado:</p>
<p><code>Descubre el nombre del software y el cifrado usado</code></p>
<p>Había bastante gente intentando la prueba pero nadie la sacaba así que decidimos que si nos decían el software no tendríamos en cuenta saber o no el nombre del cifrado, ya que siempre hay métodos medio a mano que te pueden llevar a la solución sin necesidad de conocerlo.</p>
<p>Esta prueba sólo fue resulta correctamente por una persona que nos proporcionó el nombre del software correcto.</p>
<p>El texto estaba cifrado con el algoritmo <em><a title=\"Beaufort Cipher\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CZWF1Zm9ydF9jaXBoZXI=">Beaufort</a></em>, una variación de <em>Vigenère</em>, con clave <em>emerge</em>. Un ataque por <a title=\"Ataque por Kasiski\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9LYXNpc2tpX2V4YW1pbmF0aW9u">Kasiski</a> nos podría dar pistas sobre la longitud de la clave.</p>
<p>Viendo el código se puede reconocer que está escrito en python, por lo menos si se ha usado alguna vez este lenguaje, ya que tiene una estructura y tabulados característicos además de que se podía intuir el típico <em>import</em> al inicio.</p>
<p>En la solución entregada el modo fue reconocer posibles sustituciones:<br />
- 2 variables con 26 caracteres, una en mayúsculas y otra en minúsculas: claramente 2 alfabetos!<br />
- al final de una función está la palabra return<br />
- sentencias típicas como: if, else, lowercase, uppercase<br />
- un buen mogollón de palabras de la cabecera donde está la licencia (GNU Public License, como no)</p>
<p>Gracias a todo eso <em>conocido</em> dedujo que la clave tenía un tamaño 6 y mediante un programa en Matlab colocó los caracteres en una matrix 6xN. El siguiente paso fue ir rellenando a mano las sustituciones. Una vez con el suficiente código descifrado hacer una búsqueda en google para encontrar que se trataba del fichero crack.py de la herramienta <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ub25nbnUub3JnL3B5dGhvbi1jcmFjay8=">python-crack</a>.</p>
<p>Para cifrar y descifrar Beaufort podemos usar el siguiente <a title=\"Beaufort Cipher Applet\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21lbWJlcnMuYW9uLmF0L2NpcGhlcmNsZXJrL0NpcGhlckNsZXJrLmh0bWw=">applet</a>, que además permite usar unos cuantos algoritmos más.</p>
<p>Y hasta aquí hemos llegado <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Esperamos que os haya gustado y se haya aprendido.</p>
<p>Faltarían las dos últimas pruebas pero no vamos a publicar las respuestas por ahora ya que nadie las ha resuelto. Ajo y agua y a por ellas.</p>
<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8vY29uY3Vyc28ucGhw">www.ieee.upv.es/cripto/concurso.php</a><br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMTcvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMS8=" rel=\"bookmark\" title=\"May 17, 2009\">Soluciones del reto de criptografía &#8211; Parte 1</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDYvMTQvcmVjb25vY2llbmRvLXZvbHVtZW5lcy10cnVlY3J5cHQv" rel=\"bookmark\" title=\"June 14, 2009\">Reconociendo volúmenes Truecrypt</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDgvMjgvY3JhY2tlYWRvci1kZS1oYXNoZXMtbWQ1LWVuLWMteS1vcGVuc3NsLw==" rel=\"bookmark\" title=\"August 28, 2009\">Crackeador de hashes MD5 en C y OpenSSL</a></li>
</ul>
<p><!-- Similar Posts took 7.134 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=386" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/05/22/soluciones-del-reto-de-criptografia-parte-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Soluciones del reto de criptografía &#8211; Parte 1</title>
		<link>http://vierito.es/wordpress/2009/05/17/soluciones-del-reto-de-criptografia-parte-1/</link>
		<comments>http://vierito.es/wordpress/2009/05/17/soluciones-del-reto-de-criptografia-parte-1/#comments</comments>
		<pubDate>Sun, 17 May 2009 00:35:26 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[ieee]]></category>
		<category><![CDATA[concurso]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[ETSIT]]></category>
		<category><![CDATA[IEEEsb-UPV]]></category>
		<category><![CDATA[reto]]></category>
		<category><![CDATA[secutel]]></category>
		<category><![CDATA[soluciones]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=372</guid>
		<description><![CDATA[Las pruebas las podréis encontrar en: www.ieee.upv.es/cripto/concurso.php Prueba Nº1 Calentando motores&#8230; Se entrega el siguiente texto y se pide el mensaje: SnNtdHdmZ3pqc2YgbWZ4IHh6dWp3Zml0IHFmIHV3empnZi4gIEpx IHVmeHhidHdpIGp4IHh6dWp3c3RhZg== Así a primera vista vemos que sólo hay caracteres ASCII y lo más llamativo es, sin duda, los 2 iguales del final. Eso nos lleva a que seguro está codificado en base64, [...]]]></description>
			<content:encoded><![CDATA[<p>Las pruebas las podréis encontrar en: <a title=\"Reto de Criptografía IEEEsb-UPV 2009\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8vY29uY3Vyc28ucGhw">www.ieee.upv.es/cripto/concurso.php</a></p>
<h2>Prueba Nº1 Calentando motores&#8230;</h2>
<p>Se entrega el siguiente texto y se pide el mensaje:</p>
<p><code>SnNtdHdmZ3pqc2YgbWZ4IHh6dWp3Zml0IHFmIHV3empnZi4gIEpx<br />
IHVmeHhidHdpIGp4IHh6dWp3c3RhZg==</code></p>
<p>Así a primera vista vemos que sólo hay caracteres ASCII y lo más llamativo es, sin duda, los 2 iguales del final. Eso nos lleva a que seguro está codificado en base64, codificación usada por doquier en protocolos y aplicaciones en internet.</p>
<p>Para decodificarlo podemos usar alguno de los cientos decoders online, por ejemplo este: <a title=\"Base64 encoder/decoder\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jhc2U2NC1lbmNvZGVyLW9ubGluZS53YXJheGUudXM=">http://base64-encoder-online.waraxe.us</a> o la utilidad gnu:</p>
<p><code>$ base64 -d prueba1.txt<br />
Jsmtwfgzjsf mfx xzujwfit qf uwzjgf.  Jq ufxxbtwi jx xzujwstaf</code></p>
<p>Ahora nos encontramos con algo que tiene pocas vocales y que por ser la primera prueba puede que sea una sustitución simple. El primer paso puede ser un análisis de las frecuencias de cada símbolo.</p>
<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA1L3BydWViYTEucG5n"><img class="aligncenter size-full wp-image-373" title="prueba1" src="http://vierito.es/wordpress/wp-content/uploads/2009/05/prueba1.png" alt="prueba1" width="478" height="166" /></a></p>
<p>Vemos que los símbolos 6º y 10º coinciden en frecuencia y separación con las letras &#8216;A&#8217; y &#8216;E&#8217; en varios idiomas sólo que desplazadas, luego se podría haber aplicado un cifrado César con clave 5 (rotación de 5 símbolos) y así es.</p>
<p>El mensaje es: <code>Enhorabuena has superado la prueba.  El password es supernova</code></p>
<h2>Prueba Nº2 ¿Dónde está Wally?</h2>
<p>Wally se ha escondido en un faro y se nos proporciona una imagen para obtener la solución. Lo primero en lo que se debería pensar sería mirar los datos EXIF y luego ya pasar a cosas más elaboradas como algo de stego. Para ello podemos usar <a title=\"Exiftool\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zbm8ucGh5LnF1ZWVuc3UuY2EvfnBoaWwvZXhpZnRvb2wv">exiftool</a>:</p>
<p><code>$ exiftool recuerdo\ de\ wally.jpg<br />
...<br />
GPS Altitude                    : 37.62866192 m Above Sea Level<br />
GPS Date/Time                   : 2009:04:18 17:07:03<br />
GPS Latitude                    : 28 deg 9' 52.60" N<br />
GPS Longitude                   : 15 deg 42' 27.73" W<br />
GPS Position                    : 28 deg 9' 52.60" N, 15 deg 42' 27.73" W<br />
...<br />
</code></p>
<p>Vemos que hay datos GPS, era evidente. Introduciendo las coordenadas <code>28 9' 52.60" N, 15 42' 27.73" W</code> en google maps vemos que se trata del Faro de Sardina en Las Palmas de Gran Canaria.</p>
<p><span id="more-372"></span></p>
<h2>Prueba Nº3 Leonardo estaría orgulloso</h2>
<p>Nos piden el link donde está hospedado el siguiente texto cifrado:</p>
<p><code>Gznyrém xlmlxrwz xlnl Fmrevihrwzw Klorgéxmrxz wv Ezovmxrz, l vo Klor kziz olh znrtlh, vh fm lhxfil oftzi oovml wv vhgfwrl b kvievihróm. Hlyivglwl, klijfv glwl zjféo ol hfurxrvmgvnvmgv olxl xlnl kziz vmgizi vm vooz, gvmwiá jfv szxvi zotl wv ol zmgvirlinvmgv xrgzwl kziz hzori zrilhl wv vooz. Vmgiv olh oftzivh náh xlmxfiirwlh, hv vmxfvmgizm oz Xzhz wvo Zofnml (szyrgfzonvmgv fhzwz kziz wlinri olh qfvevh wv nzwiftzwz, kvil gznyrém kziz qftzi z yroozi l ufgyloím, zfmjfv mlh jfrgzm vhgv vm éklxz wv vcánvmvh), oz Yryorlgvxz (wlmwv oz tvmgv hv wrervigv vhgfwrzmwl), b ozh krhgzh wv gvmrh b káwvo.</code></p>
<p>El título insinua algo sobre Leonardo&#8230; es Leonardo Da Vinci y de ahí &#8220;El Código Da Vinci&#8221; donde se habla del cifrado ATBASH, un cifrado de sustitución simple cuya sustitución es el alfabeto al revés. Si no nos damos cuenta de la pista haciendo un análisis de frecuencias vemos claramente que las frecuencias de los símbolos coinciden con las frecuencias esperables del alfabeto invertido</p>
<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA1L3BydWViYTMucG5n"><img class="aligncenter size-full wp-image-375" title="prueba3" src="http://vierito.es/wordpress/wp-content/uploads/2009/05/prueba3.png" alt="prueba3" width="479" height="161" /></a></p>
<p>Desciframos aplicando ATBASH y obtenemos:</p>
<p><code>También conocida como Universidad Politécnica de Valencia, o el Poli para los amigos, es un oscuro lugar lleno de estudio y perversión. Sobretodo, porque todo aquél lo suficientemente loco como para entrar en ella, tendrá que hacer algo de lo anteriormente citado para salir airoso de ella. Entre los lugares más concurridos, se encuentran la Casa del Alumno (habitualmente usada para dormir los jueves de madrugada, pero también para jugar a billar o futbolín, aunque nos quitan este en época de exámenes), la Biblioteca (donde la gente se divierte estudiando), y las pistas de tenis y pádel.</code></p>
<p>Y una búsqueda en google nos lleva a <a title=\"Frikipedia UPV\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mcmlraXBlZGlhLmVzL2ZyaWtpL1VQVg==">www.frikipedia.es/friki/UPV</a> (por si no lo conocíamos ya de antes)</p>
<h2>Prueba Nº4 A los egipcios les habría gustado</h2>
<p>Se entrega el siguiente texto:</p>
<p><code>P aatrri ael nape ascs laqaruv eee  spdtrRaoe p3poRrraucyeiaboan</code></p>
<p>Hay bastantes vocales, todo parece indicar que es una transposición, ¿pero cuál? Como pista se da el título y <em>&#8220;Un toblerone es algo más que chocolate&#8221;</em>. Los egipcios usaban pergaminos y existe un cifrado que consistía en enrollar un pergamino en un palo y luego el mensaje eran las letras en vertical: scytale, inicialmente usado por los griegos. pero necesitamos saber que con qué diámetro se cogen las letras, así que cogemos un toblerone y enrollamos nuestro pergamino, cogeríamos las letras en 3n+1, es decir, 1-4-7-10-13-16-&#8230;</p>
<p>El resultado: <code>Para pasar esta prueba tienes que proporcionar la clave dRe3Raya</code></p>
<h2>Prueba Nº5 ¿Qué canción es?</h2>
<p>Nos entregan el siguiente <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8vcHJ1ZWJhcy81L3BydWViYTUudHh0">texto</a>, no lo pongo aquí que es muy largo, y como pista se da &#8220;<em>Un informador de fiar nos ha comunicado que seguramente el criptograma no está en español</em>&#8220;, lo que viene siendo casi seguro que está en inglés.</p>
<p>Parece un cifrado de sustitución simple, podemos intentar buscar patrones, palabras que conocemos e ir sustituyendo para sacar el alfabeto usado. Ya sea mediante un método automatizado contra un diccionario o a mano podremos llegar a que el alfabeto usado para la sustitución es: <code>LRCVESHUNTDOJZXYGMBFIKPQAW</code>.</p>
<p>Una vez tenemos el texto de la canción usamos google para encontrar el título y el artista. La canción es, en concreto, la del final de juego Portal, titulada Still Alive, de Jonathan Coulton.</p>
<p>En la próxima entrega de la 6 a la 10.</p>
<p>:wq!<br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDQvMTgvZGVzY2lmcmFuZG8tdW4tcmV0by1kZWwtZmJpLw==" rel=\"bookmark\" title=\"April 18, 2009\">Descifrando un reto del FBI</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMjIvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMi8=" rel=\"bookmark\" title=\"May 22, 2009\">Soluciones del reto de criptografía &#8211; Parte 2</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMjkvcmV0by1mYmktbWF5by0wOS8=" rel=\"bookmark\" title=\"May 29, 2009\">Reto FBI Mayo 09</a></li>
</ul>
<p><!-- Similar Posts took 6.593 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=372" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/05/17/soluciones-del-reto-de-criptografia-parte-1/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Ganadores del reto de criptografía</title>
		<link>http://vierito.es/wordpress/2009/05/09/ganadores-del-reto-de-criptografia/</link>
		<comments>http://vierito.es/wordpress/2009/05/09/ganadores-del-reto-de-criptografia/#comments</comments>
		<pubDate>Sat, 09 May 2009 16:53:24 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[ieee]]></category>
		<category><![CDATA[charla]]></category>
		<category><![CDATA[conferencia]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[ETSIT]]></category>
		<category><![CDATA[IEEEsb-UPV]]></category>
		<category><![CDATA[reto]]></category>
		<category><![CDATA[secutel]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=367</guid>
		<description><![CDATA[¡Ya tenemos vencedores! 1º puesto: Vicent 2º puesto: papanoel 3º puesto: TuXeD Me alegra que al final haya participado bastante gente. Todas las pruebas no han sido resueltas así que siguen disponibles y no chafaremos las respuestas de las más elaboradas, al menos por ahora. Los niveles que nadie ha resuelto correctamente son el número [...]]]></description>
			<content:encoded><![CDATA[<p>¡Ya tenemos vencedores!</p>
<p><strong>1º puesto: <a title=\"Vicent Ferrer\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mZXJyZXJ2aWNlbnQuY29tLw==">Vicent</a></strong></p>
<p><strong>2º puesto: <a title=\"papanoel\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21vbnN0cnVvZGVsYXNnYWxsZXRhcy5ibG9nc3BvdC5jb20v">papanoel</a></strong></p>
<p><strong>3º puesto: <a title=\"TuXeD\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R1eGVkLnNlcnZlYmxvZy5uZXQ=">TuXeD</a></strong></p>
<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA1L3NjeXRhbGUucG5n"><img class="aligncenter size-full wp-image-368" title="scytale" src="http://vierito.es/wordpress/wp-content/uploads/2009/05/scytale.png" alt="scytale" width="480" height="275" /></a></p>
<p>Me alegra que al final haya participado bastante gente. Todas las pruebas no han sido resueltas así que siguen <a title=\"Reto de criptografía IEEEsb-UPV\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8vY29uY3Vyc28ucGhw">disponibles</a> y no chafaremos las respuestas de las más elaboradas, al menos por ahora. Los niveles que nadie ha resuelto correctamente son el número 6, el 11 y el 12, para quien quiera entretenerse. Y los 2 primeros concursantes en el raking han resuelto 7 de 12 pruebas para colocarse en cabeza.</p>
<p>En próximas entregas iremos explicando como resolver cada prueba,  salvo las invictas <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Las transparencias de la charla se pueden encontrar <a title=\"Charla Criptografía IEEEsb-UPV 2009\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8vY2hhcmxhL1NsaWRlc19DcmlwdG9fU2VjdXRlbDA5LnBkZg==">aquí</a><br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMjIvc29sdWNpb25lcy1kZWwtcmV0by1kZS1jcmlwdG9ncmFmaWEtcGFydGUtMi8=" rel=\"bookmark\" title=\"May 22, 2009\">Soluciones del reto de criptografía &#8211; Parte 2</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTAvMDcvMTAvaGlzdG9yaWFzLWRlLWxhLWNyaXB0YS8=" rel=\"bookmark\" title=\"July 10, 2010\">Historias de la cripta</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDQvMjkvY29uZmVyZW5jaWEtc29icmUtY3JpcHRvZ3JhZmlhLXktcmV0by8=" rel=\"bookmark\" title=\"April 29, 2009\">Conferencia sobre criptografía y reto</a></li>
</ul>
<p><!-- Similar Posts took 6.000 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=367" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/05/09/ganadores-del-reto-de-criptografia/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Conferencia sobre criptografía y reto</title>
		<link>http://vierito.es/wordpress/2009/04/29/conferencia-sobre-criptografia-y-reto/</link>
		<comments>http://vierito.es/wordpress/2009/04/29/conferencia-sobre-criptografia-y-reto/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 18:54:03 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[charla]]></category>
		<category><![CDATA[conferencia]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[ETSIT]]></category>
		<category><![CDATA[ieee]]></category>
		<category><![CDATA[IEEEsb-UPV]]></category>
		<category><![CDATA[reto]]></category>
		<category><![CDATA[secutel]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=357</guid>
		<description><![CDATA[ACTUALIZACIÓN 1: Por lo visto han decidido cortar la luz sin previo aviso en la ETSIT donde se encuentra el servidor, no es la primera vez, aprovechando el festivo para cambiar algo, sin avisar. El servidor tiene SAI pero el switch de planta lo tienen que encender a mano, hoy es festivo y mañana sábado [...]]]></description>
			<content:encoded><![CDATA[<p><strong>ACTUALIZACIÓN 1:</strong> Por lo visto han decidido cortar la luz sin previo aviso en la ETSIT donde se encuentra el servidor, no es la primera vez, aprovechando el festivo para cambiar algo, sin avisar. El servidor tiene SAI pero el switch de planta lo tienen que encender a mano, hoy es festivo y mañana sábado así que en cuanto podamos intentaremos reestablecer la conexión. La página <a title=\"ETSIT UPV\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ldHNpdC51cHYuZXM=">www.etsit.upv.es</a> también está caída. Lamentamos mucho las inconveniencias.</p>
<p><strong>ACTUALIZACIÓN 2: </strong>Teleco no ha abierto hoy sábado por la mañana aunque de normal lo hace,  así que no se podrá reestablecer la  conexión del servidor hasta el lunes por la mañana.</p>
<p><strong>ACTUALIZACIÓN 3: </strong>Desde hoy a primera hora ha vuelto a estar disponible el servidor.</p>
<p>El próximo <strong>martes día 5 de mayo</strong> daré, junto con <a title=\"Amin Taouirsa\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5tYXBldGl0ZW1vcnQuY29tLw==">Amine</a>, una <strong>conferencia sobre criptografía</strong> con motivo de la Semana Cultural de Teleco. Haremos un repaso desde la criptografía clásica a la moderna,  tanto criptografía simétrica como asimétrica, la importancia de la generación de números aleatorios, esteganografía y algunos tipos de ataques ya sean a los algoritmos o a las implementaciones en sí.</p>
<p><a title=\"Criptografía\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8=">www.ieee.upv.es/cripto</a></p>
<p>La charla será <strong>a las 11h en el Salón de Grados de la ETSI de Telecomunicación</strong> de la UPV,  en el tercer piso. Si te interesa la criptografía o quieres que te ayudemos a dar tus primeros pinitos por el mundo no dudes en acudir.</p>
<p>Para que os animéis a jugar y practicar un poco <strong>os proponemos un <a title=\"Reto Criptografía IEEEsb-UPV 2009\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZWVlLnVwdi5lcy9jcmlwdG8vY29uY3Vyc28ucGhw">reto</a></strong> donde el ganador se llevará una <a title=\"Arduino Duemilanove\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5icmljb2dlZWsuY29tL3Nob3AvMTAtYXJkdWluby1kdWVtaWxhbm92ZS11c2IuaHRtbA==">Arduino Duemilanove</a>. El reto comenzará mañana a jueves 30 de abril a partir de las 20h.</p>
<div id="attachment_358" class="wp-caption aligncenter" style="width: 310px"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA0L2FyZHVpbm8uanBn"><img class="size-medium wp-image-358" title="arduino" src="http://vierito.es/wordpress/wp-content/uploads/2009/04/arduino-300x300.jpg" alt="Arduino Duemilanove" width="300" height="300" /></a><p class="wp-caption-text">Arduino Duemilanove</p></div>
<p>Os espero!<br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTAvMDcvMTAvaGlzdG9yaWFzLWRlLWxhLWNyaXB0YS8=" rel=\"bookmark\" title=\"July 10, 2010\">Historias de la cripta</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDYvMDgvc29sdWNpb24tZGUtbGFzLXBydWViYXMtMTEteS0xMi1kZWwtcmV0by8=" rel=\"bookmark\" title=\"June 8, 2009\">Solución de las pruebas 11 y 12 del reto</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDUvMDkvZ2FuYWRvcmVzLWRlbC1yZXRvLWRlLWNyaXB0b2dyYWZpYS8=" rel=\"bookmark\" title=\"May 9, 2009\">Ganadores del reto de criptografía</a></li>
</ul>
<p><!-- Similar Posts took 5.551 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=357" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/04/29/conferencia-sobre-criptografia-y-reto/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

