<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
<link rel="self" type="application/atom+xml" href="https://forum.yubico.com/feed.php?f=16&amp;t=69" />

<title>Yubico Forum</title>
<subtitle>...visit our web-store at</subtitle>
<link href="https://forum.yubico.com/index.php" />
<updated>2010-10-18T11:46:47+01:00</updated>

<author><name><![CDATA[Yubico Forum]]></name></author>
<id>https://forum.yubico.com/feed.php?f=16&amp;t=69</id>
<entry>
<author><name><![CDATA[yuvalr]]></name></author>
<updated>2010-10-18T11:46:47+01:00</updated>
<published>2010-10-18T11:46:47+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=2389#p2389</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=2389#p2389"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine[SOLVED]]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=2389#p2389"><![CDATA[
hi guys<br /><br />the java-based Yubikeymulator 1.0 is located at<br /><!-- m --><a class="postlink" href="https://code.google.com/p/yubikeymulator/">https://code.google.com/p/yubikeymulator/</a><!-- m --><br /><br />enjoy!<br />Yuval<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=1317">yuvalr</a> — Mon Oct 18, 2010 11:46 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wkossen]]></name></author>
<updated>2010-10-06T08:32:32+01:00</updated>
<published>2010-10-06T08:32:32+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=2370#p2370</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=2370#p2370"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine[SOLVED]]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=2370#p2370"><![CDATA[
Hi,<br /><br />The original link you posted sais deprecated and takes me to a new version. That does not work for the source. Could you tell me (us?) where to get the source php?<br /><br />And how's that java version coming along? That could be helpful to run on mobile platform as midlet...<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=934">wkossen</a> — Wed Oct 06, 2010 8:32 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[yuvalr]]></name></author>
<updated>2010-08-18T10:58:41+01:00</updated>
<published>2010-08-18T10:58:41+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=2322#p2322</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=2322#p2322"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine[SOLVED]]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=2322#p2322"><![CDATA[
problem solved, it seems that the original crc calculation (with 0xffff as start value) was ok but i didn't use a ~ for the crc 1-complement, which caused the error.<br /><br />i will publish the project soon. thanks anyway<br /><br />Yuval<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=1317">yuvalr</a> — Wed Aug 18, 2010 10:58 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[yuvalr]]></name></author>
<updated>2010-08-15T17:08:25+01:00</updated>
<published>2010-08-15T17:08:25+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=2317#p2317</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=2317#p2317"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine[SOLVED]]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=2317#p2317"><![CDATA[
hi folks  <img src="https://forum.yubico.com/images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /> <br /><br />i'm trying to accomplish a similar Yubikey simulator, only implemented in Java.<br /><br />unfortunately, i'm still stuck in the crc calculation. in Alex's php project it's written just the same, but for some reason it's not working for me - when i take the generated block (16 bytes including the crc), in order to validate the generated block i call: <br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">new com.yubico.base.Token(block);</div><br />that runs it through its own crc check, but then i get<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />java.lang.IllegalArgumentException: CRC failure<br /></div><br />i can't figure out why is that, especially that it worked for Alex?<br /><br />my CRC generation code:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">   private static int calculateCrc(byte&#91;&#93; b) {<br />        int crc = 0x5af0;<br /><br />        for (int i = 0; i &lt; 14; i++) {<br />          crc ^= b&#91;i&#93; &amp; 0xFF;<br />          for (int j = 0; j &lt; 8; j++){<br />             int n = crc &amp; 1;<br />             crc &gt;&gt;= 1;<br />             if (n != 0) {<br />               crc ^= 0x8408;<br />             }<br />          }<br />        }<br />        return crc;<br />   }<br /></div><br />i'm aware of the difference between java and other languages in the implementation of unsigned bytes (there are no unsigned types in Java). but given that all the operations are bitwise, i don't think it should matter, should it? because negative numbers are just specific representations of the same bits..<br /><br />i will publish the whole project once it's ready, but in the meantime i can appreciate your kind help  <img src="https://forum.yubico.com/images/smilies/icon_e_wink.gif" alt=";)" title="Wink" /> <br /><br />many thanks,<br />Yuval<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=1317">yuvalr</a> — Sun Aug 15, 2010 5:08 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fortean]]></name></author>
<updated>2009-08-30T21:41:12+01:00</updated>
<published>2009-08-30T21:41:12+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=1728#p1728</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=1728#p1728"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine[SOLVED]]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=1728#p1728"><![CDATA[
<div class="quotetitle">JakobE wrote:</div><div class="quotecontent"><br />1st complement (= bit flip) is thw way to go.<br /></div><br /><br />Thanks, Jakob - in fact, you made me a happy man, as my software seems to work properly already then <img src="https://forum.yubico.com/images/smilies/icon_e_smile.gif" alt=":)" title="Smile" />. Now, I hope to find the time this week to finish the first prototype of Yubidrone, will keep you posted.<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=682">fortean</a> — Sun Aug 30, 2009 9:41 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jakob]]></name></author>
<updated>2009-08-28T21:26:13+01:00</updated>
<published>2009-08-28T21:26:13+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=1726#p1726</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=1726#p1726"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine[SOLVED]]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=1726#p1726"><![CDATA[
Sorry - I'm the offender here. The example above states 2nd complement which of course is wrong. 1st complement (= bit flip) is thw way to go.<br /><br />To quickly summarize the steps:<br /><br />a) Calculate the ISO13239 checksum over the bytes, in this case <strong>55 aa 00 ff</strong> which gives <strong>0xcbb5</strong><br /><br />b) Make 1st complement (flip bits) which gives <strong>0x344a</strong><br /><br />c) Append the CRC with LSB first, i.e. <strong>4a 34</strong><br /><br />c) Verify the checksum over the checksummed byte string <strong>55 aa 00 ff 4a 34</strong> gives <strong>0xf0b8</strong> which is the correct residue<br /><br />Again - terribly sorry for the error and the confusion it has created.<br /><br />Regards,<br /><br />JakobE<br />Hardware- and firmware guy @ Yubico<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=83">Jakob</a> — Fri Aug 28, 2009 9:26 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fortean]]></name></author>
<updated>2009-08-26T21:33:03+01:00</updated>
<published>2009-08-26T21:33:03+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=1712#p1712</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=1712#p1712"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine...]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=1712#p1712"><![CDATA[
I am still wrestling with this. I wrote some javacode (gruesome language, but I had to as I am programming a Yubikey emulation for the Android G1). Now, to test it it used the array as you suggested it to be:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">int &#91;&#93; input = { <br />              0x55, 0xaa, 0x00, 0xff, 0x4a, 0x34<br />};<br /></div><br /><br />(Yes, I know, that are int's. I have to use int's, as  sick Java does not dig unsigned bytes..  <img src="https://forum.yubico.com/images/smilies/icon_eek.gif" alt=":shock:" title="Shocked" /> )<br /><br />Next I wrote a little class that contains the method getcrc - it calculates the CRC over it's input array of 'bytes' (integers..). Parameters are the array and the number of 'bytes' it should use to calculate the checksum. I also wrote a method 'TwoComplement' that does what you think it does, namely: invert the bits and add one. <br /><br />Then I did:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">java.lang.Integer.toHexString( modhex.TwoComplement(modhex.getcrc( input, 4 ));  <br /></div><br /><br />.. which gave me 0x344b (not 0x344a) ...<br /><br />and then I did: <br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">java.lang.Integer.toHexString( modhex.getcrc(input,6));<br /></div><br /><br />.. which gave me 0xf0b8 (the correct checksum). <br /><br />Now, I am puzzled. <br /><br />If, instead of using the 2's complement I simply flip bits, it all works as you predicted. Can you help out: do we need to use 2nd complement (and hence your example was flawed) or not? Or..??<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=682">fortean</a> — Wed Aug 26, 2009 9:33 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fortean]]></name></author>
<updated>2009-08-26T20:14:24+01:00</updated>
<published>2009-08-26T20:14:24+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=1707#p1707</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=1707#p1707"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine...]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=1707#p1707"><![CDATA[
<div class="quotetitle">JakobE wrote:</div><div class="quotecontent"><br />A simple test vector 55 aa 00 ff gives crc 0xcbb5. 2nd complement is 0x344a<br /></div><br /><br />I respectfully disagree (after spending some time scrutinizing my algorithms which consequently reported back 0x344b as the 2's complement of 0xcbb5). Shouldn't it be 0x344_B_...?<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">   <br />C    B    B    5<br />1100 1011 1011 0101<br />0011 0100 0100 1010  flipped bits<br />0011 0100 0100 1011  added one<br />3    4    4    B     <br /></div><p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=682">fortean</a> — Wed Aug 26, 2009 8:14 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[hasterguf]]></name></author>
<updated>2008-05-30T20:50:35+01:00</updated>
<published>2008-05-30T20:50:35+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=125#p125</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=125#p125"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine...]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=125#p125"><![CDATA[
Hi JakobE <img src="https://forum.yubico.com/images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /> <br /><br />I figured it out after hacking, trying and looping the crc parameters <img src="https://forum.yubico.com/images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /><br /><br />It seems that the crc starting-point should be set to 0x5af0 instead of 0xffff and then I should only work on the 14 bytes instead of 16 <img src="https://forum.yubico.com/images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /> But thanks for using your precious time to help me <img src="https://forum.yubico.com/images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /> Have a nice weekend.<br /><br />I already made a new forum-entry with my new fully working emulator <img src="https://forum.yubico.com/images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /> Maybe you want to link to it in the development section of your site?<br /><br />Best regards,<br />  Alex<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=76">hasterguf</a> — Fri May 30, 2008 8:50 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[hasterguf]]></name></author>
<updated>2008-05-30T14:17:01+01:00</updated>
<published>2008-05-30T14:17:01+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=124#p124</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=124#p124"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine...]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=124#p124"><![CDATA[
Hi JakobE,<br /><br />Thanks for your answer.<br /><br />Here is a very small example with the CRC-routine that works for decoding. <br /><br />The first echo-line from the code prints <strong>0xF0B8</strong> when I feed it with decoded data from my real hardware yubikey - thats great <img src="https://forum.yubico.com/images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /> It means that the routine is ok for decoding crc.<br /><br />In the next echo-line i feed the CRC-routine with exactly the same data except setting the two CRC-bytes to 0x0000 (because thats the one I want to calculate just like the youbikey would do internally). I did this according to your technical document on your homepage. Now i get back 0x92e5 and I was expecting 0xfc41 (like the crc from my real hardware yubikey).<br /><br />So all of this is about emulating the hardware of the youbikey... I am building a homepage that is able to simulate a hardware yubikey. I am doing the opposite of everyone else that makes serverside authentication. I don't think the CRC encoding routine is the same as the decoding routine.<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">&lt;?php<br />   $crc=crc(pack('H*',&quot;e2e417f4ad3b2d00af47071217bd41fc&quot;));<br />   echo dechex($crc).&quot;&lt;br&gt;&quot;;<br /><br />   $crc=crc(pack('H*',&quot;e2e417f4ad3b2d00af47071217bd0000&quot;));<br />   echo dechex($crc).&quot;&lt;br&gt;&quot;;<br /><br />   <br />   function crc($buffer)<br />   {<br />      $m_crc=0xffff;<br />      for($bpos=0; $bpos&lt;16; $bpos++)<br />      {<br />         $m_crc ^= ord($buffer&#91;$bpos&#93;) &amp; 0xff;<br />         for ($i=0; $i&lt;8; $i++)<br />         {<br />            $j=$m_crc &amp; 1;<br />            $m_crc &gt;&gt;= 1;<br />            if ($j) $m_crc ^= 0x8408;<br />         }<br />      }<br />      return $m_crc;<br />   }<br />?&gt;</div><p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=76">hasterguf</a> — Fri May 30, 2008 2:17 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jakob]]></name></author>
<updated>2008-05-29T22:29:35+01:00</updated>
<published>2008-05-29T22:29:35+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=119#p119</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=119#p119"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine...]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=119#p119"><![CDATA[
Yes - that's the one used. I'm not quite with you where it fails. Please indicate where in the steps below.<br /><br />a) Strip the OTP part, i.e. the last 16 bytes received<br />a) Decode modhex - binary<br />b) Decrypt the OTP with the AES key<br />c) Verify the OTP CRC over all 16 bytes - the result shall be 0xf0b8<br /><br />The Yubikey calculates the OTP CRC over the first bytes and stores the ~crc in 2nd complement, LSB first.<br /><br />Please let me know if this resolved anything.<br /><br />       / J<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=83">Jakob</a> — Thu May 29, 2008 10:29 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[hasterguf]]></name></author>
<updated>2008-05-29T22:06:31+01:00</updated>
<published>2008-05-29T22:06:31+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=118#p118</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=118#p118"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine...]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=118#p118"><![CDATA[
Hi JakobE,<br /><br />Yes that's the CRC routine I am trying to use, but it fails <img src="https://forum.yubico.com/images/smilies/icon_e_sad.gif" alt=":(" title="Sad" /><br />Are you sure that's the one you use inside the yubikey to <strong>ENCODE</strong> (not decode) the CRC?<br /><br />Best regards,<br />   Alex<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=76">hasterguf</a> — Thu May 29, 2008 10:06 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jakob]]></name></author>
<updated>2008-05-29T21:20:20+01:00</updated>
<published>2008-05-29T21:20:20+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=112#p112</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=112#p112"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine...]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=112#p112"><![CDATA[
It's an ISO13239 checksum - a simple implementation can be done as:<br /><br />unsigned short crc;<br /><br />void init_crc(void)<br />{<br />crc = 0xffff;<br />}<br /><br />void update_crc(unsigned char val)<br />{<br />int i, j;<br /><br />crc ^= val;<br />for (i = 0; i &lt; 8; i++) {<br />j = crc &amp; 1;<br />crc &gt;&gt;= 1;<br />if (j) crc ^= 0x8408;<br />}<br />}<br /><br />void update_crc_buf(unsigned char *buf, int bcnt)<br />{<br />while (bcnt--) update_crc(*buf++);<br />}<br /><br />The 13239 checksum is typically used in a way so the 2nd complement of the checksum is stored in the end of the buffer. Then, verification is done over the buffer and the crc shall then be 0xf0b8 if it all matches.<br /><br />A simple test vector 55 aa 00 ff gives crc 0xcbb5. 2nd complement is 0x344a<br /><br />Store crc in little-endian format, i.e. LSB first: 55 aa 00 ff 4a 34<br /><br />Verify CRC by calculating over all six bytes = 0xf0b8<br /><br />Hope this helps,<br /><br />Regards,<br /><br />Jakob E<br />Hardware and firmware guy @ Yubico<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=83">Jakob</a> — Thu May 29, 2008 9:20 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[hasterguf]]></name></author>
<updated>2008-05-29T20:26:03+01:00</updated>
<published>2008-05-29T20:26:03+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=109#p109</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=109#p109"/>
<title type="html"><![CDATA[Re: Yubikey Simulator! HELP - need low level CRC-routine...]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=109#p109"><![CDATA[
.<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=76">hasterguf</a> — Thu May 29, 2008 8:26 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[hasterguf]]></name></author>
<updated>2008-05-31T20:24:10+01:00</updated>
<published>2008-05-29T19:54:30+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=69&amp;p=106#p106</id>
<link href="https://forum.yubico.com/viewtopic.php?t=69&amp;p=106#p106"/>
<title type="html"><![CDATA[Yubikey Simulator! HELP - need low level CRC-routine[SOLVED]]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=69&amp;p=106#p106"><![CDATA[
Hi,<br /><br />I almost finished my php-yubikey simulator. It makes it possible to simulate a yubikey without actually having to reprogram your key. It's minded for development and testing purposes.<br /><br />You can test it here: <!-- m --><a class="postlink" href="http://zyz.dk/yk/generator_0.2/yubi_generator.php">http://zyz.dk/yk/generator_0.2/yubi_generator.php</a><!-- m --><br /><br />And the source-code is here: <!-- m --><a class="postlink" href="http://zyz.dk/yk/generator_0.2/yubi_generator.php.html">http://zyz.dk/yk/generator_0.2/yubi_generator.php.html</a><!-- m --><br /><br />The only thing I need to finish it is the CRC-calculation, otherwise it works perfectly. I would appreciate if the yubikey-team could provide me with their low level <strong>CRC-calculation</strong> routine that their yubikey uses. Code in C would be fine <img src="https://forum.yubico.com/images/smilies/icon_e_smile.gif" alt=":)" title="Smile" /><br /><br />Best regards,<br />   Alex<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=76">hasterguf</a> — Thu May 29, 2008 7:54 pm</p><hr />
]]></content>
</entry>
</feed>