<?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...</title>
	<atom:link href="http://vierito.es/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://vierito.es/wordpress</link>
	<description>Cuando cualquier trasto es útil</description>
	<lastBuildDate>Tue, 15 May 2012 16:44:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Breaking LFSR-based pseudo-random number generators</title>
		<link>http://vierito.es/wordpress/2011/01/22/breaking-lfsr-based-pseudo-random-number-generators/</link>
		<comments>http://vierito.es/wordpress/2011/01/22/breaking-lfsr-based-pseudo-random-number-generators/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 19:28:33 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[berlekamp]]></category>
		<category><![CDATA[break]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[LFSR]]></category>
		<category><![CDATA[massey]]></category>
		<category><![CDATA[PRNG]]></category>
		<category><![CDATA[SecurityByDefault]]></category>
		<category><![CDATA[wargame]]></category>
		<category><![CDATA[wgsbd]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=869</guid>
		<description><![CDATA[Another english post? Yes because this is related to the first Security By Default Wargame that took place a few days ago. Congratulations to Int3pids! Nowadays, I think most security related people know the importance of random numbers in cryptography. We need to generate IVs, session keys, challenges, tokens, etc. that make our crypto systems [...]]]></description>
			<content:encoded><![CDATA[<p>Another english post? Yes because this is related to the first Security By Default Wargame that took place a few days ago.  Congratulations to Int3pids!</p>
<p>Nowadays, I think most security related people know the importance of  random numbers in cryptography. We need to generate IVs, session keys,  challenges, tokens, etc. that make our crypto systems secure, if the  PRNG is predictable the whole system is shattered (right Sony? btw,  remember the <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvSGlzdG9yaWFzX2RlX2xhX2NyaXB0YV8tX0phdmlfTW9yZW5vLnBkZg==">&#8220;Crypto Tales&#8221; talk</a>? check the slide 29 xD)</p>
<p>PRNGs&#8230; that&#8217;s what made me think about crypto03 for the contest. I  hate all those crypto levels which are just a matter of luck, iluminated  ideas or non realistic scenarios, so I tried to avoid all of those and  show something new.</p>
<p><span id="more-869"></span></p>
<p>Here, a file was encrypted with a key obtained from the first 128  bits of a PRNG and as a starting point you had a small stream of bits  from the PRNG. The purpose was to break the PRNG to know every output  you could obtain, then generate a dictionary of possible keys and crack  the encryption. The file was encrypted with 128 bit AES, let&#8217;s say  non-breakable, but with that PRNG you only got ~32k possible keys, and  that&#8217;s very very broken.</p>
<p>Unfortunately, this ended in a big #doublefacepalm and from here I  apologize, specially to Int3pids and Painsec, who did great at the  contest and to Security By Default. Apparently I skipped the lesson  where they teach you that 1000 in binary is 8 and not 4, so after doing  the hard part I encrypted the file with the wrong key  &#8220;F76AB499B1DDBD2DAC6D90923E3457A0&#8243; instead of the correct one &#8220;F76AB499B1DDBD2DAC6D90923E3857A0&#8243;.</p>
<p>Yeah, I know, I deserve a &#8230;</p>
<p>Anyways, this post is to explain how to break a LFSR-based PRNG.   Well, a LFSR is a shift register where some of the output bits are used  as feedback with a linear combination of them. This is really easy to  implement both in hardware and in software and probably that&#8217;s why they  were (still are) so extended.</p>
<p>A LFSR will have a finite number of states and after that the output  will repeat itself. Depending on the feedback the output length will be  maximized or decreased. The feedback is a linear combination of the  output bits so you can represent it as a polynomial.</p>
<p>Disclaimer: the latex plugin is not working properly, I&#8217;m sorry for your eyes</p>
<p>For example, a 4 bit LFSR. Input: s3, s2, s1, s0, feedback: C(D) =  D^4+D and output: s0, s1, s2, s3, s4, s5, s6, &#8230;. Then the connection  polynomial is c(x) = x^4 + x + 1 and the new bits will be obtained  xor&#8217;ing the shift register contents with the bits specified in the  polynomial.</p>
<p>I implemented everything on Matlab.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;"><span style="color: #0000FF;">function</span> k = lfsr<span style="color: #080;">&#40;</span>c,s0,n<span style="color: #080;">&#41;</span>;
&nbsp;
<span style="color: #228B22;">%</span>
<span style="color: #228B22;">% Use:</span>
<span style="color: #228B22;">% k = lfsr(c,s0,n)</span>
<span style="color: #228B22;">%</span>
<span style="color: #228B22;">% Generates a sequence of n bits produced by a shift register LFSR</span>
<span style="color: #228B22;">% with connection polynomial c and an initial state s0.</span>
<span style="color: #228B22;">%</span>
<span style="color: #228B22;">% Input variables:</span>
<span style="color: #228B22;">% c: Coefficients of the connection polynomial</span>
<span style="color: #228B22;">% $c(D)=1+c_1 D + c_2 D^2 + ... + c_L D^L$:</span>
<span style="color: #228B22;">% [1 c_1 c_2 ... c_L ]</span>
<span style="color: #228B22;">% s0: Initial state [s(L-1) s(L-2) ... s(0)]</span>
<span style="color: #228B22;">% n: Length of the sequence we aim to generate.</span>
<span style="color: #228B22;">% Output variables:</span>
<span style="color: #228B22;">% k: Generated sequence</span>
&nbsp;
<span style="color: #0000FF;">if</span> <span style="color: #080;">&#40;</span><span style="color: #0000FF;">nargin</span> ~= <span style="color: #33f;">3</span><span style="color: #080;">&#41;</span>, <span style="color: #228B22;">%number input arguments</span>
    <span style="color: #0000FF;">error</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'The number of input parameters must be 3'</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">end</span>
<span style="color: #0000FF;">if</span> <span style="color: #080;">&#40;</span><span style="color: #0000FF;">nargout</span> ~= <span style="color: #33f;">1</span><span style="color: #080;">&#41;</span>,
    <span style="color: #0000FF;">error</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'The number of output parameters must be 1'</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">end</span>
<span style="color: #0000FF;">if</span> <span style="color: #080;">&#40;</span> <span style="color: #080;">&#40;</span><span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>c<span style="color: #080;">&#41;</span>-<span style="color: #33f;">1</span><span style="color: #080;">&#41;</span> ~= <span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>s0<span style="color: #080;">&#41;</span> <span style="color: #080;">&#41;</span>
    <span style="color: #0000FF;">error</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'The sizes of the polynomial and the initial stated do not agree'</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">end</span>
&nbsp;
k = <span style="color: #0000FF;">zeros</span><span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,n<span style="color: #080;">&#41;</span>;
reg = <span style="color: #0000FF;">zeros</span><span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>s0<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;
statelen = <span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>s0<span style="color: #080;">&#41;</span>;
reg = s0;
mask = c<span style="color: #080;">&#40;</span><span style="color: #080;">&#91;</span><span style="color: #33f;">2</span>:<span style="color: #0000FF;">end</span><span style="color: #080;">&#93;</span><span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% forget about &quot;+1&quot; value</span>
&nbsp;
<span style="color: #0000FF;">for</span> <span style="color: #0000FF;"><span style="color: #33f;">i</span></span>=<span style="color: #33f;">1</span>:n
    k<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span> = reg<span style="color: #080;">&#40;</span>statelen<span style="color: #080;">&#41;</span>; <span style="color: #228B22;">% output current bit</span>
    feedback = <span style="color: #33f;">0</span>;
    <span style="color: #0000FF;">for</span> <span style="color: #0000FF;"><span style="color: #33f;">j</span></span>=<span style="color: #33f;">1</span>:statelen
        <span style="color: #0000FF;">if</span> <span style="color: #080;">&#40;</span> mask<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span><span style="color: #080;">&#41;</span> == <span style="color: #33f;">1</span> <span style="color: #080;">&#41;</span>
            feedback = xor<span style="color: #080;">&#40;</span>feedback,reg<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">j</span></span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;
        <span style="color: #0000FF;">end</span>
    <span style="color: #0000FF;">end</span>
    reg = reg<span style="color: #080;">&#40;</span><span style="color: #080;">&#91;</span> <span style="color: #0000FF;">end</span> <span style="color: #33f;">1</span>:end-<span style="color: #33f;">1</span><span style="color: #080;">&#93;</span><span style="color: #080;">&#41;</span>;
    reg<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span><span style="color: #080;">&#41;</span> = feedback;
<span style="color: #0000FF;">end</span></pre></div></div>

<p>Let&#8217;s try it:</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">&gt;&gt; stream = lfsr<span style="color: #080;">&#40;</span><span style="color: #080;">&#91;</span><span style="color: #33f;">1</span> <span style="color: #33f;">1</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">1</span><span style="color: #080;">&#93;</span>, <span style="color: #080;">&#91;</span><span style="color: #33f;">1</span> <span style="color: #33f;">1</span> <span style="color: #33f;">1</span> <span style="color: #33f;">1</span><span style="color: #080;">&#93;</span>, <span style="color: #33f;">20</span><span style="color: #080;">&#41;</span>
&nbsp;
stream =
&nbsp;
     <span style="color: #33f;">1</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">0</span></pre></div></div>

<p>An n-LFSR can have 2^n &#8211; 1 inner states and under certain conditions a  maximal period of 2^n &#8211; 1 (if the connection polynomial is primitive  modulo 2). They pass statistical tests for randomness so they are good  for simulations but as we will now see they&#8217;re quite broken.</p>
<p>Primitive what? A primitive polynomial of degree n is an irreducible  polynomial dividing x^(2^n &#8211; 1) + 1, not dividing x^d + 1 for every d  dividing 2^n &#8211; 1. Before you run away, let&#8217;s have an example:</p>
<p>x^4 + x^3 + 1 is primitive because</p>
<ul>
<li>is irreducible in Z2</li>
<li>divides to x^(2^4 &#8211; 1) + 1:
<ul>
<li>x^(2^4 &#8211; 1) + 1 = (x^4 + x^3 + 1) * (x^11 &#8211; x^10 + x^9 &#8211; x^8 + x^6 + x^4 &#8211; x^3 &#8211; 1)</li>
</ul>
</li>
<li>do not divides neither x^5 + 1 nor x^3 + 1</li>
</ul>
<p>Another nice thing is that primitive polynomials are sparse so we can do fast calculations on computers.</p>
<p>So, now we want to synthesize the feedback formula given an output.  The first option is trying to solve a linear system, have on mind that each inner state corresponds to the next n outputs, so from 2n consecutive output bits we can determine the feedback function.</p>
<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzAxL2xpbmVhci5wbmc="><img class="aligncenter size-medium wp-image-887" title="linear" src="http://vierito.es/wordpress/wp-content/uploads/2011/01/linear-480x198.png" alt="" width="480" height="198" /></a></p>
<p>If you don&#8217;t have enough bits to build the equations you would have to bruteforce dependent variables in the linear system.</p>
<p>Other attack (the one I used) is the Berlekamp-Massey algorithm that  given a sequence of bits allows you to find the linear complexity and  the feedback function of an LFSR.</p>
<p>THE BERLEKAMP-MASSEY ALGORITHM</p>
<p>You can read about it on <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9zZWN1cmUud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvZW4vd2lraS9CZXJsZWthbXAlRTIlODAlOTNNYXNzZXlfYWxnb3JpdGht">wikipedia</a> although I implemented it from other notes. You can find multiples references in math/crypto papers.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;"><span style="color: #0000FF;">function</span> <span style="color: #080;">&#91;</span>L,C<span style="color: #080;">&#93;</span> = berlekamp<span style="color: #080;">&#40;</span>S<span style="color: #080;">&#41;</span>
&nbsp;
<span style="color: #228B22;">%</span>
<span style="color: #228B22;">% Use:</span>
<span style="color: #228B22;">% function [L,C]=berlekamp(S)</span>
<span style="color: #228B22;">%</span>
<span style="color: #228B22;">% Obtains the connection polynomial and the linear complexity of</span>
<span style="color: #228B22;">% the sequence $S$.</span>
<span style="color: #228B22;">% Remark: the Berlekamp-Massey algorithm do not returns the</span>
<span style="color: #228B22;">% initial state.</span>
<span style="color: #228B22;">%</span>
<span style="color: #228B22;">% Input parameters: S (Sequence of bits)</span>
<span style="color: #228B22;">% Output parameters:</span>
<span style="color: #228B22;">% L (Linear complexity of the sequence)</span>
<span style="color: #228B22;">% C Polynomial with MSB first</span>
&nbsp;
<span style="color: #228B22;">% Checking</span>
<span style="color: #0000FF;">if</span> <span style="color: #080;">&#40;</span><span style="color: #0000FF;">nargin</span> ~= <span style="color: #33f;">1</span><span style="color: #080;">&#41;</span>,
<span style="color: #0000FF;">error</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'The number of input parameters must be 1'</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">end</span>
<span style="color: #0000FF;">if</span> <span style="color: #080;">&#40;</span><span style="color: #0000FF;">nargout</span> ~= <span style="color: #33f;">2</span><span style="color: #080;">&#41;</span>,
<span style="color: #0000FF;">error</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'The number of output parameters must be 2'</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">end</span>
&nbsp;
<span style="color: #228B22;">% Initialization</span>
L = <span style="color: #33f;">0</span>;
C = <span style="color: #33f;">1</span>;
m = -<span style="color: #33f;">1</span>;
B = <span style="color: #33f;">1</span>;
N = <span style="color: #33f;">1</span>;
&nbsp;
n = <span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>S<span style="color: #080;">&#41;</span>;
&nbsp;
<span style="color: #228B22;">% Loop</span>
<span style="color: #0000FF;">while</span> <span style="color: #080;">&#40;</span> N &lt;= n<span style="color: #080;">&#41;</span>
    <span style="color: #228B22;">% discrepancy</span>
    sumatory = <span style="color: #33f;">0</span>;
    <span style="color: #0000FF;">for</span> <span style="color: #0000FF;"><span style="color: #33f;">i</span></span>=<span style="color: #33f;">1</span>:L
        sumatory = sumatory + C<span style="color: #080;">&#40;</span><span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span>*S<span style="color: #080;">&#40;</span>N-<span style="color: #0000FF;"><span style="color: #33f;">i</span></span><span style="color: #080;">&#41;</span>;
    <span style="color: #0000FF;">end</span>
    d<span style="color: #080;">&#40;</span>N<span style="color: #080;">&#41;</span> = <span style="color: #0000FF;">rem</span><span style="color: #080;">&#40;</span> <span style="color: #080;">&#40;</span>S<span style="color: #080;">&#40;</span>N<span style="color: #080;">&#41;</span>+sumatory<span style="color: #080;">&#41;</span>, <span style="color: #33f;">2</span><span style="color: #080;">&#41;</span>;
&nbsp;
    <span style="color: #0000FF;">if</span> <span style="color: #080;">&#40;</span> d<span style="color: #080;">&#40;</span>N<span style="color: #080;">&#41;</span> == <span style="color: #33f;">0</span><span style="color: #080;">&#41;</span>
        <span style="color: #228B22;">% Linear complexity of S^(N+1) is L</span>
        <span style="color: #228B22;">% not sure if I need to do sthg.</span>
    <span style="color: #0000FF;">elseif</span> <span style="color: #080;">&#40;</span> d<span style="color: #080;">&#40;</span>N<span style="color: #080;">&#41;</span> == <span style="color: #33f;">1</span> <span style="color: #080;">&#41;</span>
        T = C;
        <span style="color: #228B22;">% C = C + B*D^(N-m)</span>
        <span style="color: #228B22;">% C and B have to be same size to be added</span>
        <span style="color: #228B22;">% first we pad B wih zeros</span>
        Bpadded = <span style="color: #080;">&#91;</span> B <span style="color: #0000FF;">zeros</span><span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,N-<span style="color: #33f;">1</span>-m<span style="color: #080;">&#41;</span> <span style="color: #080;">&#93;</span>;
        <span style="color: #228B22;">% lengths</span>
        lenC = <span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>C<span style="color: #080;">&#41;</span>;
        lenB = <span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>Bpadded<span style="color: #080;">&#41;</span>;
        <span style="color: #0000FF;">if</span> <span style="color: #080;">&#40;</span> lenC &gt; lenB <span style="color: #080;">&#41;</span>
            <span style="color: #228B22;">% insert zeros in the beginning</span>
            Bpadded = <span style="color: #080;">&#91;</span> <span style="color: #0000FF;">zeros</span><span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,lenC-lenB<span style="color: #080;">&#41;</span> Bpadded <span style="color: #080;">&#93;</span>;
        <span style="color: #0000FF;">end</span>
        <span style="color: #0000FF;">if</span> <span style="color: #080;">&#40;</span> lenC &lt; lenB <span style="color: #080;">&#41;</span>
            <span style="color: #228B22;">% make C longer</span>
            C = <span style="color: #080;">&#91;</span> <span style="color: #0000FF;">zeros</span><span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>,lenB-lenC<span style="color: #080;">&#41;</span> C <span style="color: #080;">&#93;</span>;
        <span style="color: #0000FF;">end</span>
        <span style="color: #228B22;">% both are equal length so we can add</span>
        C = C + Bpadded;
&nbsp;
        <span style="color: #0000FF;">if</span> <span style="color: #080;">&#40;</span> L &lt;= <span style="color: #080;">&#40;</span>N-<span style="color: #33f;">1</span><span style="color: #080;">&#41;</span>/<span style="color: #33f;">2</span> <span style="color: #080;">&#41;</span>
            L = N - L;
            m = N - <span style="color: #33f;">1</span>;
            B = T;
        <span style="color: #0000FF;">end</span>
    <span style="color: #0000FF;">end</span>
&nbsp;
    N = N + <span style="color: #33f;">1</span>;
<span style="color: #0000FF;">end</span></pre></div></div>

<p>Let&#8217;s see if it works:</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">&gt;&gt; <span style="color: #080;">&#91;</span>L C<span style="color: #080;">&#93;</span> = berlekamp<span style="color: #080;">&#40;</span>stream<span style="color: #080;">&#41;</span>
&nbsp;
L =
&nbsp;
     <span style="color: #33f;">4</span>
&nbsp;
C =
&nbsp;
     <span style="color: #33f;">1</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">1</span></pre></div></div>

<p>Now let&#8217;s use given bits in Crypto03. Depending on the bits stream the algorithm can converge better, so the best option is to start from a long group of ones (just move some bits forward from the beginning as a starting point)</p>
<p>This was the original bit stream from the PRNG:</p>
<pre>
10100000000000011000000000000010000000000000011111111111111101010101010101001100
11001100111011101110111010010110100101100011011000110111101101111011010110110101
10110010010011011011100011101101101000010110110110000011011011011111101101101101
01011011011011001101101101101110110110110110100100100100100111000111000111010000
10111101001111100101001110101000110001011001111011110010001010010100011110011100
11110101110100010100110100111100111011000101000101101111001111001001010001010001
11001111001111010001010001010011110011110011101011101011101001101001101001110110
00100111010010000111010011100000101100010111111001000011010101110000010011001011
11110001000110101011110000100110010100000111011100111111010010111010101100011010
01100100001001110111000001110100101111110100111001010100111010001100111010011110
11101001110101101001110100110110001011000100100001101111000111110110101111010100
10011010110011100010011011101000011101101001111101001001110101001110001011001110
10000110111010011111011010011101010010011101001100011101001110111101001110100101
00111010011100111010011101000101100010110000110111100100000100101000111111000110
00010101000010000011001111100000010001010111111100001100101010111110111001100101
01101000100011001001111000010001110101111100001011001010111110010001100101011100
00100011001011111000010001101010000011110110011111101011011101010110010010110011
01110001101110110100001001011011000001110010010000001011100011111110010111101010
10001101011001100001001101110111110001001011010100001110010011000001011100010000
00110100001111111011000001010101101111110011001001010100010001110011000011110100
01000001010011110000001100010100000001000011000000001111101111111110101001010101
01100111001100110111010001000100101100001111000110111110101111011010100110101101
10011101100100100010110111000111100100101111010111000110101100101111011001000110
10110111000010011011010000011101101100000010110110111111100100100101010111000111
00110010111101000100011010110000111101100100000101001000111111001110000101010001
01111100110000110101000100000100110000111111000100000101010000111111001100000101
01000100000011001111000000010001010000000011110011111111101011101010101001101001
10011000100111011101111000101101001010000110110001100000100100001000000111000001
11111101000000101010110000000110011011111111011101101010101101
</pre>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">&gt;&gt; <span style="color: #080;">&#91;</span>L C<span style="color: #080;">&#93;</span> = berlekamp<span style="color: #080;">&#40;</span>prngData<span style="color: #080;">&#41;</span>
&nbsp;
L =
&nbsp;
    <span style="color: #33f;">15</span>
&nbsp;
C =
&nbsp;
     <span style="color: #33f;">1</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">1</span></pre></div></div>

<p>I tried with different subsets of the bits from the PRNG and sometimes I had some curious results.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">&gt;&gt; <span style="color: #080;">&#91;</span>L C<span style="color: #080;">&#93;</span> = berlekamp<span style="color: #080;">&#40;</span>prngData2<span style="color: #080;">&#41;</span>
&nbsp;
L =
&nbsp;
    <span style="color: #33f;">15</span>
&nbsp;
C =
&nbsp;
     <span style="color: #33f;">1</span>     <span style="color: #33f;">2</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">0</span>     <span style="color: #33f;">1</span>     <span style="color: #33f;">1</span></pre></div></div>

<p>That &#8220;two&#8221; could turn into a &#8220;zero&#8221; or a &#8220;one&#8221;, means it still was iterating so we could only say it could be x^15+x^14+x+1 or x^15+x+1. But if we are speaking about a cryptographic use we could almost discard the first one because is not primitive, so might not be of maximal period, which is a nice feature in this case.</p>
<p>Of course, there&#8217;s a shortcut to solve the challenge, once you decided it was LFSR-based you could take a list of primitive polynomials in modulo 2, try them all and check which one overlaps with the given bits xDD</p>
<p>Once we had the feedback polynomial we still didn&#8217;t know the seed but it doesn&#8217;t matter. We could generate all 2^15 &#8211; 1 keys and try them all.</p>
<p>This was the correct key:</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">&gt;&gt; key = lfsr<span style="color: #080;">&#40;</span><span style="color: #080;">&#91;</span><span style="color: #33f;">1</span> <span style="color: #33f;">1</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">0</span> <span style="color: #33f;">1</span><span style="color: #080;">&#93;</span>, <span style="color: #080;">&#91;</span><span style="color: #33f;">1</span> <span style="color: #33f;">0</span> <span style="color: #33f;">1</span> <span style="color: #33f;">0</span> <span style="color: #33f;">1</span> <span style="color: #33f;">1</span> <span style="color: #33f;">0</span> <span style="color: #33f;">1</span> <span style="color: #33f;">1</span> <span style="color: #33f;">1</span> <span style="color: #33f;">0</span> <span style="color: #33f;">1</span> <span style="color: #33f;">1</span> <span style="color: #33f;">1</span> <span style="color: #33f;">1</span><span style="color: #080;">&#93;</span>, <span style="color: #33f;">128</span><span style="color: #080;">&#41;</span>;
&gt;&gt; <span style="color: #0000FF;">fprintf</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'%d'</span>,key<span style="color: #080;">&#41;</span>
<span style="color: #33f;">11110111011010101011010010011001101100011101110110111101001011011010110001101101100100001001001000111110001110000101011110100000</span></pre></div></div>

<p>Painsec it seems they just guessed the feedback by checking the stream by hand and Int3pids did a nice script that completed the LFSR sequence although I&#8217;m not sure if it would work with any feedback.</p>
<p>To encrypt/decrypt the file I used OpenSSL, the file was a GIF with the flag &#8220;aLFSRist00WeaKz&#8221; written on it.<br />
That&#8217;s all!<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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTAvMDQvMTkvY3J5cHRvMDQtY2hhbGxlbmdlLXdyaXRlLXVwLWZyb20tY2FtcHVzLXBhcnR5LWV1cm9wZS8=" rel=\"bookmark\" title=\"April 19, 2010\">Crypto04 challenge write-up from Campus Party Europe</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTAvMDgvMzAvY2FtcHVzLXBhcnR5LTIwMTAtd2FyZ2FtZS1sZWZ0b3ZlcnMtd2lubmVyLw==" rel=\"bookmark\" title=\"August 30, 2010\">Campus Party 2010 &#8211; Wargame Leftovers winner!</a></li>
</ul>
<p><!-- Similar Posts took 24.424 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=869" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2011/01/22/breaking-lfsr-based-pseudo-random-number-generators/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Campus Party 2010 &#8211; Wargame Leftovers winner!</title>
		<link>http://vierito.es/wordpress/2010/08/30/campus-party-2010-wargame-leftovers-winner/</link>
		<comments>http://vierito.es/wordpress/2010/08/30/campus-party-2010-wargame-leftovers-winner/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 11:42:11 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[campus party]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[reversing]]></category>
		<category><![CDATA[wargame]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=862</guid>
		<description><![CDATA[Just a quick note and I&#8217;ll be back to my regular spanish written crappy blog. Uri from Int3pids won the challenge. Congratulations! Eloi, dreyer, earada, kachakil and roman_soft did a great job too, thanks to all the participants. Now you can find online the solution of Crypto02&#8211;Fuente original en http://vierito.es/wordpressSimilar Posts: Crypto04 challenge write-up from Campus [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note and I&#8217;ll be back to my regular spanish written crappy blog.</p>
<p>Uri from Int3pids won the challenge. Congratulations! <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2VzYW5mZWxpeA==">Eloi</a>, <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2RyZXllcmNpdG8=">dreyer</a>, <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL2VhcmFkYQ==">earada</a>, <a title=\"kachakil\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2thY2hha2lsLmNvbQ==">kachakil</a> and <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3JvbWFuX3NvZnQ=">roman_soft</a> did a great job too, thanks to all the participants.</p>
<p>Now you can find online the solution of <a title=\"Crypto02 Campus Party Write-up\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvY3AyMDEwd2FyZ2FtZS9zb2wtY3J5cHRvMDIucGhw">Crypto02</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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTAvMDQvMTkvY3J5cHRvMDQtY2hhbGxlbmdlLXdyaXRlLXVwLWZyb20tY2FtcHVzLXBhcnR5LWV1cm9wZS8=" rel=\"bookmark\" title=\"April 19, 2010\">Crypto04 challenge write-up from Campus Party Europe</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTEvMDEvMjIvYnJlYWtpbmctbGZzci1iYXNlZC1wc2V1ZG8tcmFuZG9tLW51bWJlci1nZW5lcmF0b3JzLw==" rel=\"bookmark\" title=\"January 22, 2011\">Breaking LFSR-based pseudo-random number generators</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTAvMDgvMDIvY2FtcHVzLXBhcnR5LTIwMTAtd2FyZ2FtZS1sZWZ0b3ZlcnMv" rel=\"bookmark\" title=\"August 2, 2010\">Campus Party 2010 &#8211; Wargame Leftovers</a></li>
</ul>
<p><!-- Similar Posts took 5.237 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=862" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2010/08/30/campus-party-2010-wargame-leftovers-winner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Campus Party 2010 &#8211; Wargame Leftovers</title>
		<link>http://vierito.es/wordpress/2010/08/02/campus-party-2010-wargame-leftovers/</link>
		<comments>http://vierito.es/wordpress/2010/08/02/campus-party-2010-wargame-leftovers/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 22:30:22 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[campus party]]></category>
		<category><![CDATA[wargame]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=856</guid>
		<description><![CDATA[Campus Party is over now, it was a great week. Here are two unsolved levels from the hacking wargame, they were available in the contest so we wanted to release them. Go, get them and have fun! First to solve both gets a $30 gift card for Amazon. All the info available at http://vierito.es/cp2010wargame/&#8211;Fuente original [...]]]></description>
			<content:encoded><![CDATA[<p>Campus Party is over now, it was a great week. Here are two unsolved levels from the hacking wargame, they were available in the contest so we wanted to release them.</p>
<p>Go, get them and have fun! First to solve both gets a $30 gift card for Amazon. All the info available at</p>
<p><a title=\"Campus Party 2010 wargame leftovers\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvY3AyMDEwd2FyZ2FtZS8=">http://vierito.es/cp2010wargame/</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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTAvMDQvMTkvY3J5cHRvMDQtY2hhbGxlbmdlLXdyaXRlLXVwLWZyb20tY2FtcHVzLXBhcnR5LWV1cm9wZS8=" rel=\"bookmark\" title=\"April 19, 2010\">Crypto04 challenge write-up from Campus Party Europe</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTEvMDEvMjIvYnJlYWtpbmctbGZzci1iYXNlZC1wc2V1ZG8tcmFuZG9tLW51bWJlci1nZW5lcmF0b3JzLw==" rel=\"bookmark\" title=\"January 22, 2011\">Breaking LFSR-based pseudo-random number generators</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDgvMDMvY2FtcHVzLXBhcnR5LTA5LXNpc3RlbWFzLWRlLWRldGVjY2lvbi1kZS1pbnRydXNvcy8=" rel=\"bookmark\" title=\"August 3, 2009\">[Campus Party 09] Sistemas de Detección de Intrusos</a></li>
</ul>
<p><!-- Similar Posts took 5.012 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=856" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2010/08/02/campus-party-2010-wargame-leftovers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<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.023 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>Explota al máximo tu IDA Pro: los mejores plugins</title>
		<link>http://vierito.es/wordpress/2010/06/03/explota-al-maximo-tu-ida-pro-los-mejores-plugins/</link>
		<comments>http://vierito.es/wordpress/2010/06/03/explota-al-maximo-tu-ida-pro-los-mejores-plugins/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 21:15:02 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[decompiler]]></category>
		<category><![CDATA[diffing]]></category>
		<category><![CDATA[hex-rays]]></category>
		<category><![CDATA[IDA PRO]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[reversing]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=834</guid>
		<description><![CDATA[Es indudable que IDA Pro se ha convertido en una de las herramientas indispensables para todo el que quiera hacer ingeniería inversa de binarios de diversas plataformas y gracias a todo tipo de plugins podremos llevar sus capacidades más allá. Ya sé que hay por ahí varias listas como la de OpenRCE pero me parece [...]]]></description>
			<content:encoded><![CDATA[<p>Es indudable que <a title=\"IDA Pro\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5oZXgtcmF5cy5jb20vaWRhcHJvLw==">IDA Pro</a> se ha convertido en una de las herramientas indispensables para todo el que quiera hacer ingeniería inversa de binarios de diversas plataformas y gracias a todo tipo de plugins podremos llevar sus capacidades más allá. Ya sé que hay por ahí varias listas como la de <a title=\"OpenRCE\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL29wZW5yY2Uub3Jn">OpenRCE</a> pero me parece que se limitan un poco a <a title=\"IDA Plugins\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5vcGVucmNlLm9yZy9kb3dubG9hZHMvYnJvd3NlL0lEQV9QbHVnaW5z">listar plugins</a> y no a recopilar los que, al final, la gente termina usando porque son los más útiles.</p>
<p>Así que aquí va una lista de los mejores plugins que te ayudarán tu tarea de pwning. Gracias a todos los que me habéis recomendable alguno de ellos.</p>
<ul>
<li><a title=\"Hex-Rays\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5oZXgtcmF5cy5jb20vZGVjb21waWxlci5zaHRtbA=="><strong>Hex-Rays</strong></a>:  Creo que este era evidente. Uno de los mayores atractivos de IDA Pro.</li>
<li><a title=\"IDAPython IDA PRO\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2QtZG9tZS5uZXQvaWRhcHl0aG9uLw=="><strong>IDAPython</strong></a>: para poder manejar IDA desde scripts en python</li>
<li><a title=\"TurboDiff\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvcmVsYWJzLmNvcmVzZWN1cml0eS5jb20vaW5kZXgucGhwP21vZHVsZT1XaWtpJmFtcDthY3Rpb249dmlldyZhbXA7dHlwZT10b29sJmFtcDtuYW1lPXR1cmJvZGlmZg=="><strong>Turbodiff</strong></a>: para comparar cambios en binarios, comunmente llamado diffing. Otras opciones con el mismo propósito con <a title=\"Darungrim\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2RhcnVuZ3JpbS8="><strong>Darungrim</strong></a>, <a title=\"Patchdiff\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NnaS50ZW5hYmxlc2VjdXJpdHkuY29tL3RlbmFibGUvcGF0Y2hkaWZmLnBocA=="><strong>Patchdiff</strong></a> y <a title=\"Bindiff\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy56eW5hbWljcy5jb20vYmluZGlmZi5odG1s"><strong>BinDiff</strong></a></li>
<li><strong><a title=\"SWF Disassembler IDA Pro\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5oZXgtcmF5cy5jb20vY29udGVzdDIwMDkvIzI=">Adobe Flash Disassembler</a></strong>: el nombre habla por sí mismo</li>
<li><strong><a title=\"Dwarf plugin IDA Pro\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5oZXgtcmF5cy5jb20vY29udGVzdDIwMDkvIzE=">IDADWARF</a></strong>: para importar símbolos DWARF de binarios ELF. Nos facilita así conocer nombres y tipos, arregla algunos tipos y renombra variables y registros para una comprensión más sencilla. Vamos la pareja perfecta con Hex-Rays cuando es un binario de este tipo.</li>
<li><a title=\"Findcrypt\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5oZXhibG9nLmNvbS8yMDA2LzAxL2ZpbmRjcnlwdC5odG1s"><strong>Findcrypt</strong></a>: útil para reconocer algoritmos de cifrado, funciones hash y algoritmos de compresión usados dentro del binario. Está claro que algunos son fácilmente reconocibles según las pasadas que den u otras características pero no esta nada mal ahorrarte un buen rato intentando descubrir qué algoritmo es. Este plugin intenta buscar constantes típicas usadas en los algoritmos, ya sea en las famosas S-Boxes, como inicialización u otros.<br />
 <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5oZXhibG9nLmNvbS9pZGFfcHJvL2ZpbGVzL2ZpbmRjcnlwdDIuemlw">[Link to FindCrypt2]</a></li>
<li><a title=\"IDAStealth\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL25ld2dyZS5uZXQvaWRhc3RlYWx0aA=="><strong>IDAStealth</strong></a>: para poder evitar y manejar las técnicas anti-debug más comunes</li>
<li><a title=\"COM Helper\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy53b29kbWFubi5jb20vY29sbGFib3JhdGl2ZS90b29scy9pbmRleC5waHAvQ29tX2hlbHBlcg=="><strong>COM Helper</strong></a>: busca GUIDs</li>
<li><a title=\"mIDA Plugin IDA PRO\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NnaS50ZW5hYmxlc2VjdXJpdHkuY29tL3RlbmFibGUvbWlkYS5waHA="><strong>mIDA</strong></a>: extra las interfaces RPC y reconstruye su IDL</li>
<li><a title=\"ms_rtti IDA PRO\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5vcGVucmNlLm9yZy9kb3dubG9hZHMvZGV0YWlscy83NC9tc19ydHRpX2lkY19zY3JpcHQ="><strong>ms_rtti</strong></a>: información de los Run-time Type Information para binarios C++</li>
<li><a title=\"PDB IDA PRO\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHJlZWRvbS5vcmcvc29mdHdhcmUvZGV0cGRiLw=="><strong>PDB</strong></a>: proporciona información extra sobre los símbolos en binarios de Windows.</li>
<li>Importar infomación de <strong>MSDN</strong>: podéis ver como hacerlo en <a title=\"Importing MSDN information into IDA PRO\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuenluYW1pY3MuY29tLzIwMTAvMDQvMzAvaW1wb3J0aW5nLW1zZG4tZG9jdW1lbnRhdGlvbi1pbnRvLWlkYS1wcm8v">este post de Zynamics</a>, quizá incluso agobiante tanta información pero útil si vas perdido.</li>
<li><a title=\"Class Informer\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy53b29kbWFubi5jb20vY29sbGFib3JhdGl2ZS90b29scy9pbmRleC5waHAvQ2xhc3NfSW5mb3JtZXI="><strong>Class Informer</strong></a>: más de lo mismo, más información sobre vftables, RTTI y RTCI</li>
<li><a title=\"BinNavi\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy56eW5hbWljcy5jb20vYmlubmF2aS5odG1s"><strong>BinNavi</strong></a>: para visualizar la estructura de un programa, ver el camino que sigue una ejecución, ver como llegar a ciertos puntos del código, etc.</li>
<li><a title=\"MyNav\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL215bmF2Lw=="><strong>MyNav</strong></a>: el hermano pequeño pero de código libre de BinNavi. Se publicará en julio, mientras podréis ver una muestra en <a title=\"MyNav\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pveGVhbmtvcmV0LmNvbS9ibG9nLzIwMTAvMDUvMDIvbXluYXYtYS1weXRob24tcGx1Z2luLWZvci1pZGEtcHJvLw==">este post</a>. Promete mucho <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>Además, <span style="text-decoration: line-through;">en breve tendremos</span> hoy 3 de junio ha salido una suculenta nueva característica que será el soporte para <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2hleGJsb2cuY29tLzIwMTAvMDUvYXJtX2RlY29tcGlsZXJfYmV0YV9pc19jb21pbmcuaHRtbA=="><strong>decompilación para ARM</strong></a>, como se nota que esta arquitectura está creciendo mucho <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Seguro que hay algun plugin que usas de normal y no está en esta lista así que espero vuestros comentarios.<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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDgvMTIvMjQvMjVjMy1ub3RoaW5nLXRvLWhpZGUv" rel=\"bookmark\" title=\"December 24, 2008\">25C3: Nothing to Hide</a></li>
</ul>
<p><!-- Similar Posts took 3.588 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=834" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2010/06/03/explota-al-maximo-tu-ida-pro-los-mejores-plugins/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Crypto04 challenge write-up from Campus Party Europe</title>
		<link>http://vierito.es/wordpress/2010/04/19/crypto04-challenge-write-up-from-campus-party-europe/</link>
		<comments>http://vierito.es/wordpress/2010/04/19/crypto04-challenge-write-up-from-campus-party-europe/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 23:01:20 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[campus party europe]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[fault injection]]></category>
		<category><![CDATA[glitching]]></category>
		<category><![CDATA[RSA]]></category>
		<category><![CDATA[RSA-CRT]]></category>
		<category><![CDATA[Sage]]></category>
		<category><![CDATA[wargame]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=800</guid>
		<description><![CDATA[Hey there! I usually write in spanish here but as the attendance at Campus Party Europe was pretty international I&#8217;ll do this one in english so anyone can understand it. All the information to try the challenge is at Eloi&#8217;s blog since he released it as challenge a couple of days ago. Before continuing I [...]]]></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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzA0L0NhbXB1cy1QYXJ0eS1FdXJvcGUtTG9nby5qcGc="><img class="size-full wp-image-813   aligncenter" title="Campus-Party-Europe-Logo" src="http://vierito.es/wordpress/wp-content/uploads/2010/04/Campus-Party-Europe-Logo.jpg" alt="" width="250" height="119" /></a></p>
<p>Hey there! I usually write in spanish here but as the attendance at Campus Party Europe was pretty international I&#8217;ll do this one in english so anyone can understand it.</p>
<p>All the information to <a title=\"CP Europe Wargame Crypto04\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5saW1pdGVkLWVudHJvcHkuY29tL2NwZXUtd2FyZ2FtZS1jcnlwdG80">try the challenge</a> is at Eloi&#8217;s blog since he released it as challenge a couple of days ago. Before continuing I guess you either have played in the hacking contest at Campus Party Europe or already have read that post, if not&#8230; you are being late!</p>
<p>So, we receive 3 files: an AES encrypted file, a  public key file and a readme with some instructions and data.</p>
<p>From the readme, this are some hints to understand what&#8217;s going on here:</p>
<ul>
<li>It uses a cryptographic device that contains a 1024 bit modular exponentiation accelerator</li>
<li>A pair of RSA signatures over the same data, one of these signatures contains a fault injection</li>
</ul>
<p>From those hints we get that it is actually using the RSA-CRT algorithm, which is a RSA variation to reduce computational costs using the Chinese Remainder Theorem. The point is that instead of using the 2048 bit modular exponentation it splits them into two modular operations, aproximately half the size, make the calculations and then recombine the results as needed to obtain the regular RSA result. But here&#8217;s the trick, if we inject a fault in one of these two exponentiations, via power glitching for example, there&#8217;s a way to recover the private RSA key. The use of RSA-CRT is common in embedded devices such as smart cards, mainly because of the hardware limitations. You can read a post about it at Eloi&#8217;s blog, it&#8217;s in spanish though: <a title=\"RSA-CRT Fault Injection\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5saW1pdGVkLWVudHJvcHkuY29tL2ZhdWx0LWluamVjdGlvbi1hdGFxdWUtYS1yc2EtY3J0">RSA-CRT Fault Injection</a>.</p>
<p>RSA signs a message doing:</p>
<ul>
<li> s = m^d (mod n)</li>
</ul>
<p>RSA-CRT does:</p>
<ul>
<li>s1 = m^dq (mod q)</li>
<li>s2 = m^dp (mod p)</li>
<li>s = a*s1 + b*s2  (mod n) = m^d (mod n)</li>
<li>a being congruent to one modulo p and zero modulo q</li>
<li>b being congruent to zero modulo p and one modulo q</li>
</ul>
<p>Using the faulty signatures:</p>
<ul>
<li>s &#8211; s&#8217; = a*s1 &#8211; a*s1&#8242; will be congruent to zero modulo q</li>
<li>s &#8211; s&#8217; = b*s2 &#8211; b*s2&#8242; will not be congruent to zero modulo p</li>
</ul>
<p><span id="more-800"></span></p>
<p>Then if we calculate the greatest common divisor (using the <a title=\"Euclidean Algorithm\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9FdWNsaWRlYW5fYWxnb3JpdGht">Euclidean algorithm</a> for example) between c-c&#8217; and n ¡we will obtain the factor q! because c-c&#8217; is multiple of q but not p. Then with p = n / q we will have both prime factors used in RSA <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Now we have to implement the attack, we need to deal with really big integers so I first though of using Java and its BigInteger, Matlab or Sage. I do hate Java, Matlab would have been nice, usually it treats big integers as arrays and uses proper algorithms adapted to array calculations but Sage was going to be the easiest and quickest for me.</p>
<p>We have s1, s2 and the encrypted message. First we need to obtain the exponent and the modulus from the public.key file, let&#8217;s use openssl:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ openssl rsa <span style="color: #660033;">-pubin</span> <span style="color: #660033;">-text</span> <span style="color: #660033;">-in</span> public.key
Modulus <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">2048</span> bit<span style="color: #7a0874; font-weight: bold;">&#41;</span>:
00:e8:<span style="color: #000000;">52</span>:<span style="color: #000000;">42</span>:<span style="color: #000000;">77</span>:0a:<span style="color: #000000;">66</span>:<span style="color: #000000;">69</span>:8c:<span style="color: #000000;">64</span>:<span style="color: #000000;">49</span>:<span style="color: #000000;">61</span>:5a:d4:8f:
<span style="color: #000000;">70</span>:e5:ff:7f:<span style="color: #000000;">49</span>:ca:<span style="color: #000000;">45</span>:<span style="color: #000000;">33</span>:<span style="color: #000000;">43</span>:7d:<span style="color: #000000;">85</span>:<span style="color: #000000;">36</span>:7e:1a:f3:
8f:<span style="color: #000000;">31</span>:aa:<span style="color: #000000;">35</span>:<span style="color: #000000;">94</span>:8e:b3:3f:<span style="color: #000000;">97</span>:<span style="color: #000000;">88</span>:f7:<span style="color: #000000;">16</span>:4a:1d:d5:
c3:<span style="color: #000000;">87</span>:5b:f8:6b:<span style="color: #000000;">69</span>:3b:d8:<span style="color: #c20cb9; font-weight: bold;">cc</span>:<span style="color: #000000;">82</span>:e2:cb:cb:d0:1c:
f7:d1:b4:<span style="color: #000000;">51</span>:ef:<span style="color: #000000;">67</span>:cb:<span style="color: #000000;">72</span>:<span style="color: #000000;">90</span>:fa:<span style="color: #000000;">79</span>:0e:e1:02:<span style="color: #000000;">24</span>:
e3:<span style="color: #000000;">72</span>:5b:<span style="color: #000000;">37</span>:b6:<span style="color: #c20cb9; font-weight: bold;">bc</span>:3d:<span style="color: #000000;">53</span>:<span style="color: #000000;">56</span>:da:9d:0f:ba:c1:e0:
6b:b2:6f:f2:<span style="color: #000000;">43</span>:03:d9:06:d3:c9:<span style="color: #000000;">66</span>:c8:1b:<span style="color: #000000;">19</span>:9a:
<span style="color: #000000;">78</span>:b9:ef:02:2b:0f:b9:<span style="color: #000000;">28</span>:e5:<span style="color: #000000;">82</span>:<span style="color: #7a0874; font-weight: bold;">fc</span>:0c:e0:<span style="color: #000000;">29</span>:<span style="color: #000000;">57</span>:
f6:b1:<span style="color: #000000;">64</span>:<span style="color: #000000;">21</span>:01:f9:2e:<span style="color: #000000;">83</span>:4a:ab:<span style="color: #000000;">47</span>:<span style="color: #000000;">24</span>:9e:e4:08:
c2:<span style="color: #000000;">91</span>:d3:<span style="color: #7a0874; font-weight: bold;">fc</span>:e8:<span style="color: #000000;">72</span>:c1:<span style="color: #000000;">44</span>:<span style="color: #000000;">69</span>:<span style="color: #000000;">12</span>:<span style="color: #000000;">31</span>:<span style="color: #000000;">37</span>:f4:da:<span style="color: #000000;">49</span>:
<span style="color: #000000;">28</span>:00:<span style="color: #000000;">75</span>:03:<span style="color: #000000;">36</span>:<span style="color: #000000;">47</span>:<span style="color: #000000;">20</span>:<span style="color: #000000;">69</span>:f4:e2:4b:4a:0e:3e:e5:
<span style="color: #000000;">15</span>:<span style="color: #000000;">85</span>:ae:<span style="color: #000000;">78</span>:<span style="color: #000000;">68</span>:<span style="color: #000000;">43</span>:a3:c0:<span style="color: #000000;">39</span>:<span style="color: #000000;">61</span>:c2:<span style="color: #000000;">12</span>:a1:e3:<span style="color: #000000;">94</span>:
d2:<span style="color: #000000;">71</span>:e8:<span style="color: #000000;">26</span>:<span style="color: #000000;">14</span>:c4:e7:aa:1d:5d:a4:<span style="color: #000000;">16</span>:01:1f:9b:
<span style="color: #000000;">40</span>:<span style="color: #000000;">81</span>:a8:e4:<span style="color: #000000;">70</span>:<span style="color: #000000;">65</span>:<span style="color: #000000;">75</span>:1a:de:de:<span style="color: #000000;">51</span>:d0:<span style="color: #000000;">90</span>:<span style="color: #000000;">97</span>:fb:
8a:<span style="color: #000000;">41</span>:ac:be:2e:<span style="color: #000000;">54</span>:5c:b6:d4:04:<span style="color: #000000;">40</span>:1d:<span style="color: #000000;">59</span>:<span style="color: #000000;">16</span>:c3:
f6:<span style="color: #000000;">86</span>:<span style="color: #000000;">16</span>:e9:<span style="color: #000000;">66</span>:<span style="color: #000000;">79</span>:b3:5f:<span style="color: #000000;">77</span>:<span style="color: #000000;">74</span>:a9:e4:<span style="color: #000000;">42</span>:b1:<span style="color: #000000;">98</span>:
<span style="color: #000000;">74</span>:<span style="color: #000000;">14</span>:b0:<span style="color: #000000;">22</span>:ee:06:f0:0f:ac:3d:<span style="color: #c20cb9; font-weight: bold;">dd</span>:b6:<span style="color: #000000;">14</span>:<span style="color: #000000;">19</span>:<span style="color: #000000;">43</span>:
e5:<span style="color: #000000;">53</span>
Exponent: <span style="color: #000000;">65537</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>0x10001<span style="color: #7a0874; font-weight: bold;">&#41;</span>
writing RSA key
<span style="color: #660033;">-----BEGIN</span> PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6FJCdwpmaYxkSWFa1I9w
5f9<span style="color: #000000; font-weight: bold;">/</span>ScpFM0N9hTZ+GvOPMao1lI6zP5eI9xZKHdXDh1v4a2k72MyC4svL0Bz30bRR
72fLcpD6eQ7hAiTjcls3trw9U1banQ+6weBrsm<span style="color: #000000; font-weight: bold;">/</span>yQwPZBtPJZsgbGZp4ue8CKw+<span style="color: #000000;">5</span>
KOWC<span style="color: #000000; font-weight: bold;">/</span>AzgKVf2sWQhAfkug0qrRySe5AjCkdP86HLBRGkSMTf02kkoAHUDNkcgafTi
S0oOPuUVha54aEOjwDlhwhKh45TScegmFMTnqh1dpBYBH5tAgajkcGV1Gt7eUdCQ
l<span style="color: #000000; font-weight: bold;">/</span>uKQay+LlRcttQEQB1ZFsP2hhbpZnmzX3d0qeRCsZh0FLAi7gbwD6w93bYUGUPl
UwIDAQAB
<span style="color: #660033;">-----END</span> PUBLIC KEY-----</pre></div></div>

<p>To copy the modulus it&#8217;s easier from here:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ openssl rsa <span style="color: #660033;">-pubin</span> <span style="color: #660033;">-modulus</span> <span style="color: #660033;">-in</span> public.key
<span style="color: #007800;">Modulus</span>=E85242770A66698C6449615AD48F70E5FF7F49CA4533437D85367E1AF38F31AA35948EB33F9788F7164A1DD5C3875BF86B693BD8CC82E2CBCBD01CF7D1B451EF67CB7290FA790EE10224E3725B37B6BC3D5356DA9D0FBAC1E06BB26FF24303D906D3C966C81B199A78B9EF022B0FB928E582FC0CE02957F6B1642101F92E834AAB47249EE408C291D3FCE872C14469123137F4DA492800750336472069F4E24B4A0E3EE51585AE786843A3C03961C212A1E394D271E82614C4E7AA1D5DA416011F9B4081A8E47065751ADEDE51D09097FB8A41ACBE2E545CB6D404401D5916C3F68616E96679B35F7774A9E442B1987414B022EE06F00FAC3DDDB6141943E553
writing RSA key
<span style="color: #660033;">-----BEGIN</span> PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6FJCdwpmaYxkSWFa1I9w
5f9<span style="color: #000000; font-weight: bold;">/</span>ScpFM0N9hTZ+GvOPMao1lI6zP5eI9xZKHdXDh1v4a2k72MyC4svL0Bz30bRR
72fLcpD6eQ7hAiTjcls3trw9U1banQ+6weBrsm<span style="color: #000000; font-weight: bold;">/</span>yQwPZBtPJZsgbGZp4ue8CKw+<span style="color: #000000;">5</span>
KOWC<span style="color: #000000; font-weight: bold;">/</span>AzgKVf2sWQhAfkug0qrRySe5AjCkdP86HLBRGkSMTf02kkoAHUDNkcgafTi
S0oOPuUVha54aEOjwDlhwhKh45TScegmFMTnqh1dpBYBH5tAgajkcGV1Gt7eUdCQ
l<span style="color: #000000; font-weight: bold;">/</span>uKQay+LlRcttQEQB1ZFsP2hhbpZnmzX3d0qeRCsZh0FLAi7gbwD6w93bYUGUPl
UwIDAQAB
<span style="color: #660033;">-----END</span> PUBLIC KEY-----</pre></div></div>

<p>Now we have the modulus and exponent. So let&#8217;s start Sage and apply what we&#8217;ve seen before <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Load the values:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">sage: s1 = 0x3ae81964c8ecf1524b47c42cb0ecd2a3b6768dccd55960d7ff0a998f839b8c312a2cd821c270ae961777dd4dd50aa631fe823a8afd914911adf69c1c6cfda3b3aed01dad372cfdd6e9f63a4cc39e1a455cbfd04dea72bf07c4790d5fec469198ce28113d6d38a7baced9d3c3695ab27cbc5ab434aa8d2b5f53f66a383e079ddaed485d4a2b446e410eafcadbba9f159494c28c4a19fd416dff90f8c141e96d8260f8e6e0901832e31899c48ce0cbdae6a24595a19a01e490c87e7b48860e09006920d8ef7384217358c6db90638d6e8cbc795a091240f24105d8f3b27fe4b98fe9a507e00590b4cded41777b1b8967b0f752231e0e856b8f0132bde30a6e082e
sage: s2 = 0x391e0340e5931a202012572ddacad877e5af3a1d846b70c1e64e3041f9ac0a3c7e8f82621df908eadca44fe777a6b1c799610be829e13ca233982fd268034addb5a79fa19f984631fdf3a61d32fc75ed77176c7a0b719504e804076dca66f10111aa124a7efe743ada75dda2ec53f3c28882a7724928685918261739f960a3648aa3eadc426181aa146a8ba0ff20f1c53de2113e0196af09595dc2ad1a0fe12096ff681f61363044615a7f72edf1f8c6531055e66c1e5f4498434c731d2308fecae46c779379ea3d7d7a5f1c2a0efeb5bc1b8a4af4fb21fce1dae943c27043e86642b3b1e6b889a31e7c4bc01bc2ebae4dc8432344532567d1d3df8b9bcafcbf
sage: encrypted = 0x19303a82cbc50a56dc22f9aafc554da2ea632e33bee1d33c35edb13269ba0fd2fa791744e86eda7fc1cb15433f1232f86a42afcd5470215ccf0d05096ce1b8f075e6dc45df74896345297fcc145a4765aeaea78babaa6441ead3a2e73b37931dc7c07d4e04b7115284c7c04c85a61c7e555194d0f4ee762d47a8aeec2efcd75ee45e3e6a65f876f9a67aa01016f3ce9552d8f0b50cc150c70333aa6ac3a4ac8860d2879cad8439566f0ffda32612cb75dd9c1b456a4e1828582f05932f495452f19d71f300f2f48b8c1f8cde1b1b8d8ada3f6ff506e10d5d18d91d61402bc36756a88196381ff795980eee932a179525264e3a968f0abe9edbe672560c41833a
sage: exponent = 0x10001
sage: modulus = 0xe85242770a66698c6449615ad48f70e5ff7f49ca4533437d85367e1af38f31aa35948eb33f9788f7164a1dd5c3875bf86b693bd8cc82e2cbcbd01cf7d1b451ef67cb7290fa790ee10224e3725b37b6bc3d5356da9d0fbac1e06bb26ff24303d906d3c966c81b199a78b9ef022b0fb928e582fc0ce02957f6b1642101f92e834aab47249ee408c291d3fce872c14469123137f4da492800750336472069f4e24b4a0e3ee51585ae786843a3c03961c212a1e394d271e82614c4e7aa1d5da416011f9b4081a8e47065751adede51d09097fb8a41acbe2e545cb6d404401d5916c3f68616e96679b35f7774a9e442b1987414b022ee06f00fac3dddb6141943e553</pre></div></div>

<p>Calculate q and p:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">sage: q = gcd<span style="color: black;">&#40;</span>s1-s2,modulus<span style="color: black;">&#41;</span>
sage: p = modulus / q</pre></div></div>

<p>In Sage to work with modular arithmetics you need to declare a group and then use the variables in that group. First let&#8217;s calculate the private RSA key</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">sage: G1 = IntegerModRing<span style="color: black;">&#40;</span>lcm<span style="color: black;">&#40;</span>q-<span style="color: #ff4500;">1</span>,p-<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
sage: private_key = G1<span style="color: black;">&#40;</span>exponent<span style="color: black;">&#41;</span>^-<span style="color: #ff4500;">1</span></pre></div></div>

<p>And finally working in modulo &#8216;modulus&#8217; make the decryption to get the message:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">sage: G2 = IntegerModRing<span style="color: black;">&#40;</span>modulus<span style="color: black;">&#41;</span>
sage: message = G2<span style="color: black;">&#40;</span>encrypted<span style="color: black;">&#41;</span>^G2<span style="color: black;">&#40;</span>private_key<span style="color: black;">&#41;</span>
sage: message
<span style="color: #ff4500;">333277202522695828352578908493424296965</span>
sage: <span style="color: #008000;">hex</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">333277202522695828352578908493424296965</span><span style="color: black;">&#41;</span>
<span style="color: #483d8b;">'fabadababecafedeadbeef0102030405'</span></pre></div></div>

<p>It&#8217;s a <a title=\"Fabada!\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZvdG9zLm11bmRvcmVjZXRhcy5uZXQvYWxidW1zL3VzZXJwaWNzLzExNDE2L2ZhYmFkYS4ufjAuSlBH">fabada</a> password! xD We now have the plaintext which is the AES key. Let&#8217;s use again openssl to decipher the file. The readme file says it&#8217;s AES in ECB mode with a 128 bit key. The key length it&#8217;s obvious but if we didn&#8217;t know the operation mode we could just try them all.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ openssl enc <span style="color: #660033;">-d</span> <span style="color: #660033;">-aes-128-ecb</span> <span style="color: #660033;">-in</span> encrypted.aes <span style="color: #660033;">-out</span> unencrypted.file <span style="color: #660033;">-K</span> fabadababecafedeadbeef0102030405
$ <span style="color: #c20cb9; font-weight: bold;">file</span> unencrypted.file
unencrypted.file: PNG image, <span style="color: #000000;">124</span> x <span style="color: #000000;">124</span>, <span style="color: #000000;">8</span>-bit<span style="color: #000000; font-weight: bold;">/</span>color RGB, non-interlaced</pre></div></div>

<p>We can see that it worked like a charm: the file it&#8217;s a PNG image. The first thing you think when you see a PNG it&#8217;s uhmm&#8230; a bit of stego? thumbnails? LSB? Well, this one is just a QR Code.</p>
<p style="text-align: center;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzA0L2ZvdG8ucG5n"><img class="size-full wp-image-809 aligncenter" title="foto" src="http://vierito.es/wordpress/wp-content/uploads/2010/04/foto.png" alt="" width="124" height="124" /></a></p>
<p>Using any QR decoder (I used <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3p4aW5nLm9yZy93L2RlY29kZS5qc3B4">http://zxing.org/w/decode.jspx</a> ) we get:</p>
<pre>Key: DoubleCheckYourCryptoResults</pre>
<p>Which is a funny final password since one of the common protections against fault injection attacks is to double-check all sensitive computations</p>
<p>Congratulations to <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2xpbWl0ZWQtZW50cm9weS5jb20=">Eloi</a> for this challenge! I found it one of best I&#8217;ve ever done because it has to do with real world attacks and crypto related maths, so it&#8217;s not just another cryptic puzzle where mostly you only have to use tools or need a smart guess.</p>
<p>I hope you liked it! <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Many thanks also to <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NlY3VyaXR5YnlkZWZhdWx0LmNvbQ==">SecurityByDefault</a> for an excelent wargame and congratulations to the winners:</p>
<ol>
<li>knx</li>
<li>FluxReiners</li>
<li>aw3a</li>
</ol>
<p><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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTEvMDEvMjIvYnJlYWtpbmctbGZzci1iYXNlZC1wc2V1ZG8tcmFuZG9tLW51bWJlci1nZW5lcmF0b3JzLw==" rel=\"bookmark\" title=\"January 22, 2011\">Breaking LFSR-based pseudo-random number generators</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>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDgvMTIvMjQvMjVjMy1ub3RoaW5nLXRvLWhpZGUv" rel=\"bookmark\" title=\"December 24, 2008\">25C3: Nothing to Hide</a></li>
</ul>
<p><!-- Similar Posts took 6.159 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=800" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2010/04/19/crypto04-challenge-write-up-from-campus-party-europe/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Rooted CON 2010 &#8211; All your base are belong to us</title>
		<link>http://vierito.es/wordpress/2010/04/15/rooted-con-2010-all-your-base-are-belong-to-us/</link>
		<comments>http://vierito.es/wordpress/2010/04/15/rooted-con-2010-all-your-base-are-belong-to-us/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 20:03:10 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[0day]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[rooted2010]]></category>
		<category><![CDATA[rootedcon]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=771</guid>
		<description><![CDATA[Más vale tarde que nunca, varias semanas después encuentro un rato para poder escribir este post. El cansancio acumulado hizo que gran parte de la semana siguiente fuera a medio gas y desde entonces he ido hasta arriba de cosas. ¿Qué puedo decir? Sin duda ha sido una gran experiencia, de una vez por todas, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://vierito.es/wordpress/wp-content/uploads/2010/01/rootedcon.png" alt="" width="200" height="104" /></p>
<p>Más vale tarde que nunca, varias semanas después encuentro un rato para poder escribir este post. El cansancio acumulado hizo que gran parte de la semana siguiente fuera a medio gas y desde entonces he ido hasta arriba de cosas.</p>
<p>¿Qué puedo decir? Sin duda ha sido una gran experiencia, de una vez por todas, poder poner caras a tanta que gente que sólo puedes tratar por e-mail, IRC, foros, twitter o simplemente ni le tratabas y te conformabas con seguirle por internet. Coges a toda esa gente y durante 3 días compartes comidas, cenas y cervezas. <strong>Impresionante</strong>. Han sido unos días repletos de buen rollo y diversión.</p>
<p>Para la organización mis más sinceras felicitaciones,yo creo que han sacado nota alta y más siendo su primera vez, errores por supuesto que han habido pero como todos sabemos que habrá Rooted CON 2011&#8230; no pasa nada, al año que viene más y mejor <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Cómo ya sabréis, <a title=\"Limited Entropy\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5saW1pdGVkLWVudHJvcHkuY29tLw==">Eloi</a> y yo fuimos seleccionados con una ponencia sobre Seguridad y Explotación Nativa en Android que parece que gustó bastante, así que no me puedo sentir más orgulloso y realizado. Gracias a todos los estuvísteis ahí a primera hora el último día, como unos campeones. Si alguien se la perdió que no se preocupe porque la presentación os la enlazo ahora y, como ya prometimos en su momento, para descargar también todo el código y ejemplos:</p>
<p style="text-align: center;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzA0L2FuZHJvaWQtb3Blbi0yNDh4MzAwLmpwZw=="><img class="size-full wp-image-784   aligncenter" title="android-open-248x300" src="http://vierito.es/wordpress/wp-content/uploads/2010/04/android-open-248x300.jpg" alt="android-open-248x300" width="112" height="135" /></a><span id="more-771"></span></p>
<ul style="text-align: left;">
<li> <a title=\"Seguridad y Explotación Nativa en Android\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvQW5kcm9pZF9Sb290ZWRDT05fRmluYWwucGRm">Seguridad y Explotación Nativa en Android</a></li>
</ul>
<ul style="text-align: left;">
<li style="text-align: left;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzA0L2V4YW1wbGVzX2FuZHJvaWRfcm9vdGVkY29uLnRhci5neg==">Ejemplos y código</a></li>
</ul>
<p style="text-align: left;">En el comprimido podréis encontrar los payloads y los scripts para cada tipo de exploit para metasploit, así como el código del micro-rootkit secuestrador del teclado virtual. De todas formas, en el blog de Eloi (eso sí, en inglés) podréis encontrar <a title=\"Rooted CON examples summary\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5saW1pdGVkLWVudHJvcHkuY29tL3Jvb3RlZGNvbi1leGFtcGxlcy1zdW1tYXJ5">más información acerca de ello</a>.</p>
<p style="text-align: left;">Por ahora casi sólo hemos tenido feedback positivo pero desde aquí os animo a hacernos llegar críticas constructivas, para poder mejorar.</p>
<p style="text-align: left;">Unas fotillos:</p>
<p style="text-align: center;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzA0L1Jvb3RlZENPTjIwMTBfMDEuanBn"><img class="size-medium wp-image-778  aligncenter" title="IMG_2010" src="http://vierito.es/wordpress/wp-content/uploads/2010/04/RootedCON2010_01-480x320.jpg" alt="IMG_2010" width="480" height="320" /></a><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzA0L1Jvb3RlZENPTjIwMTBfMDIuanBn"><img class="size-medium wp-image-779  aligncenter" title="IMG_2011" src="http://vierito.es/wordpress/wp-content/uploads/2010/04/RootedCON2010_02-480x320.jpg" alt="IMG_2011" width="480" height="320" /></a><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzA0L1Jvb3RlZENPTjIwMTBfMDMuanBn"><img class="size-medium wp-image-780    aligncenter" title="IMG_2025" src="http://vierito.es/wordpress/wp-content/uploads/2010/04/RootedCON2010_03-320x480.jpg" alt="IMG_2025" width="320" height="480" /></a><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzA0L1Jvb3RlZENPTjIwMTBfMDQuanBn"><img class="size-medium wp-image-781  aligncenter" title="A1200469" src="http://vierito.es/wordpress/wp-content/uploads/2010/04/RootedCON2010_04-480x360.jpg" alt="A1200469" width="480" height="360" /></a></p>
<p style="text-align: left;"><a title=\"Security By Default\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zZWN1cml0eWJ5ZGVmYXVsdC5jb20=">SecurityByDefault</a> cubrió el evento así que podréis encontrar cosillas <a title=\"Rooted CON - Security By Default\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zZWN1cml0eWJ5ZGVmYXVsdC5jb20vc2VhcmNoL2xhYmVsL3Jvb3RlZGNvbg==">día a día en su web</a>.</p>
<p style="text-align: left;">Creo que había ponentes muy muy buenos con charlas que no estaban a la altura de ellos mismos y viceversa, ideas buenas pero que no pudieron llegar al público de la mejor manera. Las que más me gustaron fueron (sin orden en particular):</p>
<ul style="text-align: left;">
<li><strong>Autopsia de una intrusión. A la sombra del chacal</strong>, por <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvbmV4aW9uaW52ZXJzYS5ibG9nc3BvdC5jb20v">Pedro Sánchez</a> y <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2hhY2tpbmctYXZhbnphZG8uYmxvZ3Nwb3QuY29tLw==">Eduardo Abril</a></li>
<li><strong>Operación Triunfo Profesional</strong>, por <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zZWN1cml0eWJ5ZGVmYXVsdC5jb20v">Alejandro Ramos</a>.</li>
<li><strong>Liberando un 0day en la Rooted CON</strong>, por <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5yZXZlcnNlbW9kZS5jb20v">Rubén Santamarta</a>.</li>
<li><strong>Hackproofing Oracle Finantials 11i &amp; R12</strong>, por <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=d3d3LmpveGVhbmtvcmV0LmNvbS8=">Joxean Koret</a>.</li>
<li><strong>RootedPanel &#8220;Hackers Históricos&#8221;</strong> con <strong><strong><span style="font-weight: normal;"><strong>Grupo  Apòstols</strong></span><span style="font-weight: normal;">, con </span><span style="font-weight: normal;"><strong>Jordi Murgó</strong></span><span style="font-weight: normal;"> (</span><span style="font-weight: normal;"><em>savage</em></span><span style="font-weight: normal;">) y </span><span style="font-weight: normal;"><strong>Ramón Martínez</strong></span><span style="font-weight: normal;"> (</span><span style="font-weight: normal;"><em>rampa)</em></span></strong></strong></li>
<li><strong>New w32 hooking skills</strong> por <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mcjMzcHJvamVjdC5vcmcv">David Regrera</a></li>
<li><strong>Hackers, encerrados en la viñeta</strong> por David López López</li>
<li><strong>iPhone + Botnets = FUN</strong> por <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy55ZXJzaW5pYS5uZXQ=">David Barroso</a>.<strong> </strong></li>
<li><strong>Exploits y mitigaciones: EMET</strong> por <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3pob2RpYWMuaGlzcGFoYWNrLmNvbS8=">Fermín J. Serna</a>.<strong> </strong></li>
</ul>
<p style="text-align: left;">Impresionante también todo el trabajo detrás de <strong>Radare2,</strong> desarrollado por <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3JhZGFyZS5vcmcv">Sergi Álvarez</a> y <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3JhZGFyZS5vcmcv">Roi Martín</a>. Una de las charlas que me perdí y, que según dicen gustó mucho, fue la de Antonio Ramos, <em>La seguridad como sistema. Factores limitantes y evolución en el tiempo</em>, una pena. Todas las presentaciones se han subido a <a title=\"Slideshare Rooted CON\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zbGlkZXNoYXJlLm5ldC9yb290ZWRjb24=">slideshare</a>.</p>
<p style="text-align: left;">Por un lado penosa actuación de cierta empresa, además ¿no conocen <a title=\"Efecto Streisand\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VzLndpa2lwZWRpYS5vcmcvd2lraS9FZmVjdG9fU3RyZWlzYW5k">El Efecto Streisand</a>?</p>
<p style="text-align: left;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzA0L01yVDE1LmpwZw=="><img class="size-medium wp-image-777  aligncenter" title="MrT15" src="http://vierito.es/wordpress/wp-content/uploads/2010/04/MrT15-480x480.jpg" alt="MrT15" width="480" height="480" /></a></p>
<p style="text-align: left;">Por otro lado&#8230;pobres las azafatas!! se morían un poco de asco xD, bueno de vez en cuando se les escapaban alguna risa. En algún momento que me crucé con una le pregunté ¿no estás harta? a lo cual se le escapó un sincero y directo sí, 2 segundos más tarde se corrigió a sí misma para mantener la compostura: &#8220;ay, bueno no, quería decir, ehm, a ver, en realidad no está mal [sonrisa comprometida] he estado en congresos peores&#8221;</p>
<p style="text-align: left;">Eloi y yo decidimos que tocaba atender a las charlas cosa que era totalmente incompatible con el CTF, aún así <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21hcGV0aXRlbW9ydC5jb20v">Amín</a> y <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mZXJyZXJ2aWNlbnQuY29tLw==">Vicent</a> le dedicaron unas cuantas horas, el pobre Amín se quedó a una prueba de quedar tercero y <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2thY2hha2lsLmNvbS8=">Dani Kachakil</a> consiguió un merecido segundo puesto. Ahora mismo, Dani está en Korea compitiendo junto con los Intr3pids para darles cera a todos en el <a title=\"Codegate\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGVnYXRlLm9yZy8=">Codegate 2010</a>.</p>
<p style="text-align: left;">Fue una lástima que no tuvieramos acceso a internet decente, yo no tenía  3G así que tenía que aprovechar los 30 minutos gratis que me daban en  el hotel para revisarme el correo y el twitter. La noche del sábado, ya sin presiones, pudimos disfrutar de una fiesta todos juntos, cosa que se alargó hasta el amanecer sentados con cervezas.</p>
<p style="text-align: left;">Podréis encontrar otras <a title=\"Rooted CON 2010\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5yb290ZWRjb24uZXMvcHJlbnNhLmh0bWw=">reseñas del congreso aquí</a> y <a title=\"Fotos Rooted CON\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy9fcm9vdGVkLw==">fotos en el perfil de Flickr</a>. En cuanto estén disponibles todos los videos ya actualizaré.</p>
<p style="text-align: left;">Lo que tengo muy claro es que acudiré a la <strong>Rooted CON 2011</strong>, ¡a poder ser como ponente de nuevo! Bueno xD eso será si me dejan o, más difícil aún, si me surge alguna idea buena. Por mi parte ha sido un honor, eso es todo hamijos!</p>
<p><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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTAvMDEvMTMvY29uZ3Jlc28tZGUtc2VndXJpZGFkLXJvb3RlZC1jb24tMjAxMC8=" rel=\"bookmark\" title=\"January 13, 2010\">Congreso de Seguridad Rooted CON 2010</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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDgvMDkvMDcvY2FtcHVzLXBhcnR5LTA4LWRpYXJpby1kZS1hLWJvcmRvLXBhcnRlLTIv" rel=\"bookmark\" title=\"September 7, 2008\">[Campus Party 08] Diario de a bordo &#8211; Parte 2</a></li>
</ul>
<p><!-- Similar Posts took 5.769 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=771" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2010/04/15/rooted-con-2010-all-your-base-are-belong-to-us/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Resolución de conflictos, es decir, cómo no perder nunca al 3 en raya</title>
		<link>http://vierito.es/wordpress/2010/02/04/resolucion-de-conflictos-es-decir-como-no-perder-nunca-al-3-en-raya/</link>
		<comments>http://vierito.es/wordpress/2010/02/04/resolucion-de-conflictos-es-decir-como-no-perder-nunca-al-3-en-raya/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 20:31:19 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[Opinión]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[tic tac toe]]></category>
		<category><![CDATA[tres en raya]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=749</guid>
		<description><![CDATA[A menudo, ya sea con amigos o no, nos encontramos con situaciones en las que no hay vuelta atrás, uno opina una cosa, otro otra, y eso no va a cambiar. Pero queda algo, el orgullo, en el fondo tu sabes que tienes razón y quieres dejarlo patente. Veamos las opciones: Llegar a las manos: [...]]]></description>
			<content:encoded><![CDATA[<p>A menudo, ya sea con amigos o no, nos encontramos con situaciones en las que no hay vuelta atrás, uno opina una cosa, otro otra, y eso no va a cambiar. Pero queda algo, el orgullo, en el fondo tu sabes que tienes razón y quieres dejarlo patente. Veamos las opciones:</p>
<ul>
<li>Llegar a las manos: Darse leches está mal visto. Meterse mano también.</li>
<li>Jugárselo a piedra, papel o tijera: si es el otro es japonés estás perdido, vas a perder sí o sí, ellos nacieron con un don para ello. Si no es japonés nada te asegura que vayas a ganar, así que nada, mala opción.</li>
<li>Jugárselo al tres-en-raya. Esta es la buena.</li>
</ul>
<p>El tres en raya es un juego sencillo, cuando la gente se pone a jugar se cree que es un juego tonto (que lo es!) y que más o menos, sin considerar empates, el 50% de las partidas las ganarán y el resto las perderán pero no es tan tan sencillo. Así que le sueltas: &#8220;Pues ya está! Nos lo jugamos al tres en raya. El primero en ganar será el que tenga la razón, ¿es justo no?&#8221; Suelen aceptar.</p>
<p>Vamos a asumir que el juego es empezando con un tablero vacío, que empiezas donde quieras y que cuando ya has puesto las piezas posibles y no ha ganado nadie comienza una partida nueva desde cero.</p>
<p>También vamos a asumir que tú no estás en la parra y que sólo vas a perder si te provocan una situación en la que el contrincante te puede hacer tres en raya de dos maneras simultáneas y no es que se te ha <em>escapado</em> la línea ¬¬. Tú eres cruz, tu víctima será cara.</p>
<h3>Cómo no perder</h3>
<p>Se supone que el que empieza lleva la voz cantante. Tu contrincante puede empezar en el centro, en una esquina o en un lado. Lo decisivo son las 2 primeras posiciones.</p>
<p>Si él empieza en el centro, ve siempre a la esquina. En caso de que luego su ficha se ponga en línea tu ve de nuevo a una esquina.</p>
<p style="text-align: center;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzAyL25vcGVyZGVyX2NlbnRyby5wbmc="><img class="size-medium wp-image-755   aligncenter" title="noperder_centro" src="http://vierito.es/wordpress/wp-content/uploads/2010/02/noperder_centro-480x256.png" alt="no perder al tres en raya cuando el otro empieza en el centro" width="480" height="256" /></a></p>
<p>Si empieza en una esquina nosotros cogemos el centro.  En caso de que él vuelva a colocar su ficha en línea entonces nosotros nos vamos a una posición que no sea esquina.</p>
<p style="text-align: center;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzAyL25vcGVyZGVyX2VzcXVpbmEucG5n"><img class="size-medium wp-image-756  aligncenter" title="noperder_esquina" src="http://vierito.es/wordpress/wp-content/uploads/2010/02/noperder_esquina-480x278.png" alt="noperder_esquina" width="480" height="278" /></a></p>
<p>Si empieza en un lado cogemos el centro de nuevo. En caso de que él coga un lado contiguo debemos colocar nuestra ficha en la esquina común.</p>
<p style="text-align: center;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzAyL25vcGVyZGVyX2xhZG8ucG5n"><img class="size-medium wp-image-757  aligncenter" title="noperder_lado" src="http://vierito.es/wordpress/wp-content/uploads/2010/02/noperder_lado-480x254.png" alt="noperder_lado" width="480" height="254" /></a></p>
<p>Ahora ya lo tenemos neutralizado.</p>
<h3>Cómo intentar ganar</h3>
<p>Intentar ganar viene a ser lo mismo pero al revés, con alguna variación más porque él no tiene por qué hacer de su primer movimiento los que yo he hecho antes.  Sólo tienes que esperar a que lleve 3 o 4 partidas y que ponga donde no toca en su segundo movimiento.</p>
<p>Aplicado al primer caso, si empiezas en el centro y él no pone en una esquina está muerto, en el caso de que lo haga tu colocas tu ficha haciendo línea. Ahora si él no se posiciona en una de las dos esquina restantes habrá perdido también.</p>
<p>Si tu contrincante se sabe esto, simplemente jugar será un while(true) hasta que uno de los dos se harte, y entonces, por supuesto, tiene razón el otro <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>P.S. Aprovecho este post para anunciar que TuXeD se ha comprado un dominio nuevo y pasa de <a title=\"/var/log/TuXeD\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R1eGVkLnNlcnZlYmxvZy5uZXQ=">/var/log/TuXeD</a> a <a title=\"Limited Entropy Dot Com - TuXeD\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5saW1pdGVkLWVudHJvcHkuY29t">Limited Entropy Dot Com</a>. ¡Ya estás actualizando tus feeds y bookmarks!<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">None Found
</ul>
<p><!-- Similar Posts took 3.122 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=749" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2010/02/04/resolucion-de-conflictos-es-decir-como-no-perder-nunca-al-3-en-raya/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Congreso de Seguridad Rooted CON 2010</title>
		<link>http://vierito.es/wordpress/2010/01/13/congreso-de-seguridad-rooted-con-2010/</link>
		<comments>http://vierito.es/wordpress/2010/01/13/congreso-de-seguridad-rooted-con-2010/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 16:56:40 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[conferencias]]></category>
		<category><![CDATA[rootedcon]]></category>
		<category><![CDATA[rootedlabs]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=733</guid>
		<description><![CDATA[Cómo se puede leer ya en muchos sitios, este año se celebra un nuevo congreso de seguridad informática en España. Su web es http://www.rootedcon.es y como ellos mismos dicen su objetivo es ofrecer conferencias altamente técnicas y fomentar el conocimiento, no bastante con conocer que existen cosas, hay que saber cómo son y por qué [...]]]></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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzAxL3Jvb3RlZGNvbi5wbmc="><img class="size-full wp-image-738 aligncenter" title="rootedcon" src="http://vierito.es/wordpress/wp-content/uploads/2010/01/rootedcon.png" alt="rootedcon" width="200" height="104" /></a></p>
<p>Cómo se puede leer ya en muchos sitios, este año se celebra un nuevo congreso de seguridad informática en España. Su web es <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5yb290ZWRjb24uZXM=">http://www.rootedcon.es</a> y como ellos mismos dicen su objetivo es ofrecer conferencias altamente técnicas y fomentar el conocimiento, no bastante con conocer que existen cosas, hay que saber cómo son y por qué funcionan así <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Se va a organizar un wargame tipo <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DYXB0dXJlX3RoZV9mbGFnI0NvbXB1dGVyX3NlY3VyaXR5">Capture The Flag</a> a manos de un <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NleHkucGFuZGFzLmVzL2Jsb2cv">Sexy Panda</a>, ¿qué más se puede tener? Además hay una serie de talleres intensivos denominados <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9zaXRlcy5nb29nbGUuY29tL2Evcm9vdGVkY29uLmVzL3Jvb3RlZGxhYnMv">RootedLabs</a> donde podrás aprender con los mejores sobre: ingeniería inversa, análisis forense, análisis de malware, pentesting, securización de redes inalámbricas y seguridad web (aún quedan plazas libres en los labs si te interesa algún área).</p>
<p>Allá por noviembre me enteré de la existencia el congreso y desde un principio me interesó acudir, pero ¿por qué no algo más? Hablando con <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R1eGVkLnNlcnZlYmxvZy5uZXQv">TuXeD</a> nos planteamos la posibilidad de enviar algo al <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5yb290ZWRjb24uZXMvcm9vdGVkLWNvbi0yMDEwL2NmcC5odG1s">Call For Papers</a>, estuvimos unas cuantas semanas dudando pero tiró para adelante&#8230; <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Unas semanas después (contra todo pronóstico, por lo menos mío) resulta que nos han seleccionado la propuesta, además junto con los primeros ponentes confirmados, cosa que considero un honor más aún. Ya de por sí, ser el último mono iba a ser considerado un éxito 100% por nuestra parte.</p>
<p>Para que os hagáis una idea del personal, esto es lo que hay confirmado por ahora:<br />
<a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5yb290ZWRjb24uZXMvcm9vdGVkLWNvbi0yMDEwL3BvbmVudGVzLmh0bWw=">http://www.rootedcon.es/rooted-con-2010/ponentes.html</a></p>
<ul> &#8211; David Barroso, de <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zMjFzZWMuY29tLw==">S21Sec</a><br />
- Joxean Koret, de <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuNDhiaXRzLmNvbS8=">48bits</a> &amp; <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5wYW5kYXNlY3VyaXR5LmNvbS8g">Panda Security</a><br />
- Alfonso Muñoz Muñoz, de la <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ldWkudXBtLmVzLyA=">EUI-UPM</a> y colaborador cátedra <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5jYXBzZGVzaS51cG0uZXMv">Applus-UPM</a>.<br />
- Alejandro Ramos &#8220;dab&#8221;, de <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zZWN1cml0eWJ5ZGVmYXVsdC5jb20v">SecurityByDefault</a>.<br />
- Antonio Ramos, de <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zMjFzZWMuY29tLw==">S21Sec</a>.<br />
- David Reguera, de <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5oaXNwYXNlYy5jb20v">Hispasec Sistemas</a>.<br />
- Rubén Santamarta, de <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5yZXZlcnNlbW9kZS5jb20v">ReverseMode</a> &amp; <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuNDhiaXRzLmNvbS8=">48bits</a>.<br />
- Chema Alonso, de <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pbmZvcm1hdGljYTY0LmNvbS8=">Informática64</a></ul>
<p>Y <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R1eGVkLnNlcnZlYmxvZy5uZXQv">TuXeD</a> y yo! No puedo ocultar que estoy emocionado <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  me lo voy a pasar de lo lindo seguro.</p>
<p>Poco a poco se tienen que ir confirmando más ponentes y saldrán los detalles de la conferencias. Esto promete.</p>
<p>Si queréis acudir al evento daos prisa porque debido a la gran acogida pronto colgarán el cartel de todo vendido. Me alegro de que haya surgido una nueva iniciativa así y más aún con precios populares y apostando por gente muy capaz que hay por nuestro país.</p>
<p>Por la mocosfera mucha gente ya se ha hecho eco del evento:<br />
<a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zZWN1cml0eWJ5ZGVmYXVsdC5jb20vc2VhcmNoL2xhYmVsL3Jvb3RlZGNvbg==">http://www.securitybydefault.com/search/label/rootedcon<br />
</a><br />
Y aquí entrevistas a gente que lo organiza o va a estar danzando por ahí:<br />
<a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VsbGFkb2RlbG1hbC5ibG9nc3BvdC5jb20vc2VhcmNoL2xhYmVsL0VudHJldmlzdGFz">http://elladodelmal.blogspot.com/search/label/Entrevistas</a></p>
<p>Can&#8217;t wait!</p>
<p>ACTUALIZACIÓN: Ya empiezan a salir más nombres de ponentes y títulos de las conferencias. Toda la información <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5yb290ZWRjb24uZXMvcm9vdGVkLWNvbi0yMDEwL3BvbmVudGVzLmh0bWw=">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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMTAvMDQvMTUvcm9vdGVkLWNvbi0yMDEwLWFsbC15b3VyLWJhc2UtYXJlLWJlbG9uZy10by11cy8=" rel=\"bookmark\" title=\"April 15, 2010\">Rooted CON 2010 &#8211; All your base are belong to us</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDgvMTIvMjQvMjVjMy1ub3RoaW5nLXRvLWhpZGUv" rel=\"bookmark\" title=\"December 24, 2008\">25C3: Nothing to Hide</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDkvMDcvY2FtcHVzLXBhcnR5LTA5LWxhcy1jcm9uaWNhcy8=" rel=\"bookmark\" title=\"September 7, 2009\">[Campus Party 09] Las crónicas</a></li>
</ul>
<p><!-- Similar Posts took 5.703 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=733" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2010/01/13/congreso-de-seguridad-rooted-con-2010/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Descodificar tonos DTMF usando Matlab</title>
		<link>http://vierito.es/wordpress/2009/11/25/descodificar-tonos-dtmf-usando-matlab/</link>
		<comments>http://vierito.es/wordpress/2009/11/25/descodificar-tonos-dtmf-usando-matlab/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 01:16:50 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[DTMF]]></category>
		<category><![CDATA[FFT]]></category>
		<category><![CDATA[Fourier]]></category>
		<category><![CDATA[Matlab]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=710</guid>
		<description><![CDATA[Ya vimos como crear tonos DTMF usando Matlab y han pedido en un par de comentarios [1] [2] cómo se haría a la inversa, así que aquí va He cogido el script para generar los tonos del otro post y lo he cambiado para los pitidos duren 40ms (que se resume a cambiar que use [...]]]></description>
			<content:encoded><![CDATA[<p>Ya vimos como <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDEvMTUvbGxhbWFuZG8tcG9yLXRlbGVmb25vLWNvbi1tYXRsYWIv">crear tonos DTMF usando Matlab</a> y han pedido en un par de comentarios [<a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDEvMTUvbGxhbWFuZG8tcG9yLXRlbGVmb25vLWNvbi1tYXRsYWIvI2NvbW1lbnQtOTIw">1</a>] [<a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDEvMTUvbGxhbWFuZG8tcG9yLXRlbGVmb25vLWNvbi1tYXRsYWIvI2NvbW1lbnQtMTA5OQ==">2</a>] cómo se haría a la inversa, así que aquí va <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>He cogido el script para generar los tonos del otro post y lo he cambiado para los pitidos duren 40ms (que se resume a cambiar que use 320 muestras en lugar de 1200 para cada pitido o silencio), para que sea un poco más real. El wav que voy a usar será el siguiente: <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzExL3Jpbmcud2F2">ring.wav</a></p>
<p>Empezamos, ¿qué necesitamos? Cada pitido estará compuesto por una pareja de tonos así que para saber qué número es deberemos reconocer las dos frecuencias principales que tienen los pitidos, y conocer la frecuencia viene a ser lo mismo que saber el periodo.</p>
<p>Hace un tiempo hice una práctica de Tratamiento Digital de la Señal en la que se hacían cosas de estas, uno de los códigos no es mío, está indicado. El resto los hicimos <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21vdW5zdHJ1b2RlbGFzZ2FsbGV0YXMuYmxvZ3Nwb3QuY29t">Rafa</a> y yo en su día.</p>
<p>Aprovechándonos de la Transformada de Fourier:</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;"><span style="color: #0000FF;">function</span> <span style="color: #080;">&#91;</span>P,f<span style="color: #080;">&#93;</span>=periodograma<span style="color: #080;">&#40;</span>x,N<span style="color: #080;">&#41;</span>
<span style="color: #228B22;">% [P f]=periodograma(x,N)</span>
<span style="color: #228B22;">% Calcula N muestras del periodograma de las muestras en x</span>
<span style="color: #228B22;">% N debe ser &gt; que length(x)</span>
<span style="color: #228B22;">%</span>
<span style="color: #228B22;">% P: Periodograma propiamente</span>
<span style="color: #228B22;">% f frecuencias correspondientes</span>
&nbsp;
k=<span style="color: #33f;">0</span>:N-<span style="color: #33f;">1</span>;
f=k./N;
&nbsp;
L=<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>;
P=<span style="color: #33f;">1</span>/L*<span style="color: #080;">&#40;</span><span style="color: #0000FF;">fft</span><span style="color: #080;">&#40;</span>x,N<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>.^<span style="color: #33f;">2</span>;</pre></div></div>

<p>Pero lo propio será usar un programa que use <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9XaW5kb3dfZnVuY3Rpb24=">ventanas</a>  para su propósito:</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;"><span style="color: #0000FF;">function</span> <span style="color: #080;">&#91;</span>P,f<span style="color: #080;">&#93;</span>=periodmodif<span style="color: #080;">&#40;</span>x,ventana,N<span style="color: #080;">&#41;</span>
<span style="color: #228B22;">% [P ,f]=periodmodif(x,ventana,N)</span>
<span style="color: #228B22;">%</span>
<span style="color: #228B22;">% Calcula N muestras del periodograma modificado de las muestras en x</span>
<span style="color: #228B22;">% N debe ser &gt; que length(x)</span>
<span style="color: #228B22;">%</span>
<span style="color: #228B22;">% P: Periodograma propiamente</span>
<span style="color: #228B22;">% f frecuencias correspondientes</span>
&nbsp;
<span style="color: #0000FF;">if</span> N &lt;= <span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>
   <span style="color: #0000FF;">error</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'N debe ser &gt; que length(x)'</span><span style="color: #080;">&#41;</span>;
<span style="color: #0000FF;">else</span>
   k=<span style="color: #33f;">0</span>:N-<span style="color: #33f;">1</span>;
   f=k./N;
&nbsp;
   L=<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>;
   m=<span style="color: #33f;">0</span>:L-<span style="color: #33f;">1</span>;
&nbsp;
   U=<span style="color: #33f;">1</span>/L*<span style="color: #080;">&#40;</span><span style="color: #0000FF;">sum</span><span style="color: #080;">&#40;</span>ventana<span style="color: #080;">&#40;</span>m+<span style="color: #33f;">1</span><span style="color: #080;">&#41;</span>.^<span style="color: #33f;">2</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>;
   P=<span style="color: #33f;">1</span>/<span style="color: #080;">&#40;</span>L*U<span style="color: #080;">&#41;</span>*<span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span><span style="color: #0000FF;">fft</span><span style="color: #080;">&#40;</span>x.*ventana,N<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>.^<span style="color: #33f;">2</span>;
<span style="color: #0000FF;">end</span></pre></div></div>

<p>Cargamos el fichero <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzExL3Jpbmcud2F2">ring.wav</a></p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">&gt;&gt; <span style="color: #080;">&#91;</span>x,fs,nbits<span style="color: #080;">&#93;</span>= <span style="color: #0000FF;">wavread</span><span style="color: #080;">&#40;</span><span style="color:#A020F0;">'ring.wav'</span><span style="color: #080;">&#41;</span>
&gt;&gt; t=<span style="color: #33f;">0</span>:<span style="color: #33f;">1</span>/fs:<span style="color: #33f;">1</span>/fs*<span style="color: #080;">&#40;</span><span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>-<span style="color: #33f;">1</span><span style="color: #080;">&#41;</span>;
&gt;&gt; <span style="color: #0000FF;">plot</span><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span></pre></div></div>

<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzExL3JpbmcucG5n"><img src="http://vierito.es/wordpress/wp-content/uploads/2009/11/ring-480x360.png" alt="ring" title="ring" width="480" height="360" class="aligncenter size-medium wp-image-719" /></a></p>
<p>Ahora tendremos que calcular de cuanto es nuestra ventana mínima. La separación mínima entre tonos es de 320 muestras (que además en este caso es la misma entre todos los tonos) luego la frecuencia digital será 320 / fs = 320/8000 = 0.04</p>
<p>Y aquí un poco de teoría sobre ventanas gracias a los <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3VzZXJzLmFsbGllZG1vZHMubmV0L35mYWx1Y28vYXB1bnRlc3Bhay8=">Apuntes de Pak</a>:</p>
<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzExL3ZlbnRhbmFzX0xURFNfcGFrLlBORw=="><img src="http://vierito.es/wordpress/wp-content/uploads/2009/11/ventanas_LTDS_pak.PNG" alt="ventanas_LTDS_pak" title="ventanas_LTDS_pak" width="463" height="548" class="aligncenter size-full wp-image-720" /></a></p>
<p>Pero no voy a aburriros con ella así que nos quedaremos en que vamos a usar una ventana tipo Hamming, luego necesitaremos una longitud de ventana L = 4 / resolución = 4 / 0.04 = 100 muestras</p>
<p>Ahora vamos a determinar los dígitos, y para ello vamos a hacer uso de la siguiente función para búscar máximos:</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;"><span style="color: #0000FF;">function</span> p=buscapicosu<span style="color: #080;">&#40;</span>x,umbral<span style="color: #080;">&#41;</span>
<span style="color: #228B22;">%posi_picos=buscapicosu(x,umbral)</span>
<span style="color: #228B22;">% Busca los máximos locales de un vector mayores que un cierto umbral</span>
<span style="color: #228B22;">% umbral se expresa en % respecto al valor máximo del vector.</span>
<span style="color: #228B22;">% Ej. buscapicos(x,60) buscaria los picos mayores o iguales al 60% del</span>
<span style="color: #228B22;">% pico más alto</span>
<span style="color: #228B22;">%</span>
<span style="color: #228B22;">% posi_picos son los indices del vector de entrada correspondientes a los picos.</span>
&nbsp;
<span style="color: #228B22;">% (C) Antonio Albiol , 2003</span>
&nbsp;
<span style="color: #228B22;">%Primero descarto los valores menores que el umbral</span>
&nbsp;
umbral=<span style="color: #0000FF;">max</span><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#40;</span>:<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>*umbral/<span style="color: #33f;">100</span>;
&nbsp;
x=x.*<span style="color: #080;">&#40;</span>x&gt;umbral<span style="color: #080;">&#41;</span>;
&nbsp;
<span style="color: #228B22;">%Ahora buscaré los máximos</span>
&nbsp;
<span style="color: #228B22;">%Primero creo un vector con dos valores muy pequeños en los extremos</span>
xe=<span style="color: #080;">&#91;</span>-<span style="color: #0000FF;">inf</span>;x<span style="color: #080;">&#40;</span>:<span style="color: #080;">&#41;</span>;-<span style="color: #0000FF;">inf</span><span style="color: #080;">&#93;</span>;
&nbsp;
<span style="color: #228B22;">%Ahora calculo la derivada</span>
d1=<span style="color: #0000FF;">diff</span><span style="color: #080;">&#40;</span>xe<span style="color: #080;">&#41;</span>;
ld1=<span style="color: #0000FF;">length</span><span style="color: #080;">&#40;</span>d1<span style="color: #080;">&#41;</span>;
<span style="color: #228B22;">%Ahora busco valores de la derivada de signo diferente consecutivos y que sean máximos</span>
p=<span style="color: #0000FF;">find</span><span style="color: #080;">&#40;</span><span style="color: #0000FF;">sign</span><span style="color: #080;">&#40;</span>d1<span style="color: #080;">&#40;</span><span style="color: #33f;">2</span>:ld1<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>.*<span style="color: #0000FF;">sign</span><span style="color: #080;">&#40;</span>d1<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>:<span style="color: #080;">&#40;</span>ld1-<span style="color: #33f;">1</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>&lt;<span style="color: #33f;">0</span> &amp; <span style="color: #0000FF;">sign</span><span style="color: #080;">&#40;</span>d1<span style="color: #080;">&#40;</span><span style="color: #33f;">1</span>:ld1-<span style="color: #33f;">1</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>&gt;<span style="color: #33f;">0</span><span style="color: #080;">&#41;</span>;</pre></div></div>

<p>Cada pitido y cada silencio dura 320 muestras luego calculamos periodos en esas zonas. Vamos a por el primer dígito, con ventana Hamming de 100 y usando 1024 puntos:</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">&gt;&gt; <span style="color: #080;">&#91;</span>P,f<span style="color: #080;">&#93;</span>=periodmodif<span style="color: #080;">&#40;</span>x<span style="color: #080;">&#40;</span><span style="color: #33f;">320</span>:<span style="color: #33f;">320</span>+<span style="color: #33f;">99</span><span style="color: #080;">&#41;</span>,hamming<span style="color: #080;">&#40;</span><span style="color: #33f;">100</span><span style="color: #080;">&#41;</span>,<span style="color: #33f;">1024</span><span style="color: #080;">&#41;</span>;
&gt;&gt; buscapicosu<span style="color: #080;">&#40;</span><span style="color: #0000FF;">abs</span><span style="color: #080;">&#40;</span>P<span style="color: #080;">&#41;</span>,<span style="color: #33f;">50</span><span style="color: #080;">&#41;</span>
&nbsp;
<span style="color: #0000FF;">ans</span> =
&nbsp;
   <span style="color: #33f;">110</span>
   <span style="color: #33f;">190</span>
   <span style="color: #33f;">836</span>
   <span style="color: #33f;">916</span></pre></div></div>

<p>En el espectro digital, de 0 a 1, veremos que las frecuencias se repiten en espejo a partir de 0.5. Luego la frecuencia 110 se corresponde con la 916, igualmente ocurre entre la de 190 y 836, son lo mismo. Así que sólo tenemos que ver a qué corresponden 110 y 190.</p>
<p>Nota a tener en cuenta: en las FFTs (Fast Fourier Transforms) el cálculo se hace mucho más rapido cuando N es una potencia de 2, por eso la elección de hacerlo en 1024 puntos no ha sido del todo al azar.</p>

<div class="wp_syntax"><div class="code"><pre class="matlab" style="font-family:monospace;">&gt;&gt; <span style="color: #33f;">110</span>/<span style="color: #33f;">1024</span>*fs
&nbsp;
<span style="color: #0000FF;">ans</span> =
&nbsp;
  <span style="color: #33f;">859.3750</span>
&nbsp;
&gt;&gt; <span style="color: #33f;">190</span>/<span style="color: #33f;">1024</span>*fs
&nbsp;
<span style="color: #0000FF;">ans</span> =
&nbsp;
  1.4844e+003</pre></div></div>

<p>Nos vamos a la tablita y vemos con qué 2 valores más cercanos concuerdan 859.375 y 1484.4 Hz. Claramente sería con 852 y 1477 Hz que juntos corresponden con el dígito 9.</p>
<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzExL2R0bWYxLnBuZw=="><img src="http://vierito.es/wordpress/wp-content/uploads/2009/11/dtmf1.png" alt="dtmf1" title="dtmf1" width="485" height="189" class="aligncenter size-full wp-image-722" /></a></p>
<p>Y así con cada uno de los dígitos <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Sé que estaría mucho mejor un script que hiciera todo el proceso entero y obtuviera qué número es de la tabla pero últimamente necesito días de 30 horas así os tendréis que conformar con esto. ¿A qué número he llamado?<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=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDEvMTUvbGxhbWFuZG8tcG9yLXRlbGVmb25vLWNvbi1tYXRsYWIv" rel=\"bookmark\" title=\"January 15, 2009\">Llamando por teléfono con Matlab</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDkvMDgvMTAvY3Vlc3Rpb24tZGUtb3B0aW1pemFjaW9uLw==" rel=\"bookmark\" title=\"August 10, 2009\">Cuestión de optimización</a></li>
</ul>
<p><!-- Similar Posts took 4.761 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=710" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/11/25/descodificar-tonos-dtmf-usando-matlab/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
<enclosure url="http://vierito.es/wordpress/wp-content/uploads/2009/11/ring.wav" length="12204" type="audio/x-wav" />
		</item>
	</channel>
</rss>

