<?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>Kryptoblog &#187; MOS6502</title>
	<atom:link href="http://www.strombergson.com/kryptoblog/tag/mos6502/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.strombergson.com/kryptoblog</link>
	<description>Kryptografi och IT-säkerhet på svenska</description>
	<lastBuildDate>Thu, 20 Jan 2011 21:25:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>AES-implementationer för C64</title>
		<link>http://www.strombergson.com/kryptoblog/2008/08/30/aes-implementationer-for-c64/</link>
		<comments>http://www.strombergson.com/kryptoblog/2008/08/30/aes-implementationer-for-c64/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 16:14:44 +0000</pubDate>
		<dc:creator>Joachim Strömbergson</dc:creator>
				<category><![CDATA[Inbyggda system]]></category>
		<category><![CDATA[Krypto]]></category>
		<category><![CDATA[AES]]></category>
		<category><![CDATA[C64]]></category>
		<category><![CDATA[MOS6502]]></category>

		<guid isPermaLink="false">http://strombergson.com/kryptoblog/?p=550</guid>
		<description><![CDATA[<p><a href="http://www.kahlin.net/daniel/">Daniel Kahlin</a> heter en kreativ person som kodar algoritmer f&#246;r 6502-processorn och <em>gamla br&#246;dburken</em> C64.</p>

	<p><img src="http://www.kahlin.net/daniel/daniel_at_sea.jpg" alt="Daniel Kahlin" /></p>

	<p>Flera av algoritmerna Daniel implementerat &#228;r relaterade till s&#228;kerhet. Bland annat har han som en del i ett antal <em>Crack Me!</em><del>t&#228;vlingar implementerat <span</del>&#8230;</p>


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[	<p><a href="http://www.kahlin.net/daniel/">Daniel Kahlin</a> heter en kreativ person som kodar algoritmer f&#246;r 6502-processorn och <em>gamla br&#246;dburken</em> C64.</p>

	<p><img src="http://www.kahlin.net/daniel/daniel_at_sea.jpg" alt="Daniel Kahlin" /></p>

	<p>Flera av algoritmerna Daniel implementerat &#228;r relaterade till s&#228;kerhet. Bland annat har han som en del i ett antal <em>Crack Me!</em><del>t&#228;vlingar implementerat <span class="caps">AES</span></del>128 i assemblerkod f&#246;r 6502 med olika <a href="http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation">kryptomoder.</a> <a href="http://noname.c64.org/csdb/release/?id=62804">Electronic CodeBook Mode (ECB-mod)</a>  och <a href="http://noname.c64.org/csdb/release/?id=63116">Cipher Feedback Mode (CFB-mod)</a>.</p>

	<p>K&#228;llkoden f&#246;r implementationerna finns p&#229; sidorna och &#228;r l&#228;ttl&#228;st och snygg. En intressant detalj &#228;r att Daniels kod r&#228;knar fram S-boxen samt och den tabell som anv&#228;nds f&#246;r att g&#246;ra GF-multiplikationen i MixColumns-steget av <span class="caps">AES</span>.</p>

	<p>Att d&#246;ma av diskussionen kopplad till den utmaning d&#228;r <span class="caps">ECB</span>-mod anv&#228;ndes utnyttjade <em>Ymgve</em> Google f&#246;r att s&#246;ka p&#229; inneh&#229;llet i S-boxen och den v&#228;gen identifiera <span class="caps">AES</span>. Ett snygg trick som visar att den som utf&#246;r attacken inte alltid tar den v&#228;g man tror.</p>

	<p>Ett annat program g&#246;r <a href="http://noname.c64.org/csdb/release/?id=57977">statistisk analys f&#246;r att attackera enklare skiffer p&#229; <span class="caps">C64</span></a>. Imponerande att f&#229; till det p&#229; burken med dess ber&#228;kningar.</p>

	<p>Daniel har &#228;ven hackat en del andra fr&#228;cka program, bla en <em><a href="http://en.wikipedia.org/wiki/Tracker">tracker</a></em> till <span class="caps">VIC</span>-20 kallad <a href="http://www.kahlin.net/daniel/victracker/"><span class="caps">VIC</span>-TRACKER</a>. Eftersom jag inte har n&#229;gon gammal <span class="caps">VIC</span>-20, och &#228;r r&#228;tt kass p&#229; att anv&#228;nda trackers vet jag inte hur bra den &#228;r. Men bilden p&#229; trackerns sida &#228;r helt fantastisk:</p>

	<p><img src="http://www.kahlin.net/daniel/victracker/victracker.jpg" alt="VIC-TRACKER 2.0" /><br />
Klockren annons (ett montage) fr&#229;n 80-talets b&#246;rjan. Hela familjen samlas i v&#228;rmen fr&#229;n sin fantastiska hemdator. Mycket nostalgi blir det.</p>
 <div class="shr-publisher-550"></div>

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.strombergson.com/kryptoblog/2008/08/30/aes-implementationer-for-c64/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MOS6502 &#8211; En Pythonbaserad emulator</title>
		<link>http://www.strombergson.com/kryptoblog/2008/08/29/mos6502-en-pythonbaserad-emulator/</link>
		<comments>http://www.strombergson.com/kryptoblog/2008/08/29/mos6502-en-pythonbaserad-emulator/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 09:51:19 +0000</pubDate>
		<dc:creator>Joachim Strömbergson</dc:creator>
				<category><![CDATA[Krypto]]></category>
		<category><![CDATA[Om Kryptoblog]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Verktyg]]></category>
		<category><![CDATA[MOS6502]]></category>

		<guid isPermaLink="false">http://strombergson.com/kryptoblog/?p=548</guid>
		<description><![CDATA[<p>Jag har precis lagt upp en sida med mitt sommarhack <a href="http://strombergson.com/kryptoblog/mos6502-emulator/" class="broken_link"><span class="caps">MOS6502</span></a>. <span class="caps">MOS6502 </span>&#228;r en enkel, objektorienterad emulator av den gamla processorn <a href="http://en.wikipedia.org/wiki/6502"><span class="caps">MOS 6502</span></a> skriven i Python.</p>

	<p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/49/MOS_6502AD_4585_top.jpg/300px-MOS_6502AD_4585_top.jpg" alt="MOS 6502" /></p>

	<p>Processormodelln inkluderar i dag alla <span class="caps">API</span>-synliga register,&#8230;</p>


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[	<p>Jag har precis lagt upp en sida med mitt sommarhack <a href="http://strombergson.com/kryptoblog/mos6502-emulator/" class="broken_link"><span class="caps">MOS6502</span></a>. <span class="caps">MOS6502 </span>&#228;r en enkel, objektorienterad emulator av den gamla processorn <a href="http://en.wikipedia.org/wiki/6502"><span class="caps">MOS 6502</span></a> skriven i Python.</p>

	<p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/49/MOS_6502AD_4585_top.jpg/300px-MOS_6502AD_4585_top.jpg" alt="MOS 6502" /></p>

	<p>Processormodelln inkluderar i dag alla <span class="caps">API</span>-synliga register, flaggor och pekare. Dock finns det ingen egentlig funktionalitet f&#246;r stack och interrupt. Vidare &#228;r inte de mer ortodoxa instruktionspekar, och adressber&#228;kningarna i <span class="caps">MOS 6502</span> med.</p>

	<p>D&#228;remot finns det st&#246;d f&#246;r att r&#228;kna cykler och instruktioner samt stega processorn en instruktion i taget. Vidare kan processorn dumpa valfri del av sitt minne. Tanken &#228;r att detta skall underl&#228;tta profilering och debuggning av assemblerprogram.</p>

	<p><span class="caps">MOS6502</span> klarar i dagsl&#228;get av att exekvera en delm&#228;ngd av alla instruktioner, och av dessa inte alla adesseringsmoder. Dock klarar den i alla fall av att k&#246;ra en implementation av <a href="http://en.wikipedia.org/wiki/RC4"><span class="caps">PRNG</span>-delen av str&#246;mkryptot <span class="caps">RC4</span></a>:</p>

	<p><code>js@sotis:&gt;time ./rc4_MOS6502.py<br />
Key byte 0: 2<br />
Key byte 100000: 34<br />
Key byte 200000: 27<br />
Key byte 300000: ba<br />
Key byte 400000: 56<br />
Key byte 500000: ac<br />
Key byte 600000: b<br />
Key byte 700000: 9c<br />
Key byte 800000: 6b<br />
Key byte 900000: 20<br />
Cycles executed: 80000000<br />
i_ptr =   40<br />
j_ptr =   81<br />
acc_reg = 8a<br />
x_reg =   8a<br />
y_reg =   8e<br />
carry =   0<br />
95.658u 0.103s 1:35.97 99.7%0+0k 0+16io 0pf+0w<br />
</code></p>

	<p>K&#246;rningen ovan &#228;r fr&#229;n ett exempelprogram som k&#246;r <span class="caps">PRNG</span>-delen av <span class="caps">RC4</span> en miljon g&#229;nger. Assemblerkoden (som <span class="caps">INTE </span>&#228;r optimerad) tar 80 cykler per varv. Som synes tar k&#246;rningen n&#228;stan 100 sekunder p&#229; min MacBook. Dvs jag f&#229;r n&#228;stan 1 MHz(!) i klockfrekvens och drygt 10 kByte/s i kryptoprestanda. Inte snabbt, men samtidigt inte illa av en emulerad processor som k&#246;rs i en emulerad milj&#246; (Python VM).</p>

	<p><span class="caps">RC4</span>-exemplet finns med i den release som finns att tanka ner p&#229; emulatorns sida. Jag tar v&#228;ldigt g&#228;rna emot kommentarer, buggrapporter, patchar och tips f&#246;r att utveckla emulatorn vidare.</p>
 <div class="shr-publisher-548"></div>

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.strombergson.com/kryptoblog/2008/08/29/mos6502-en-pythonbaserad-emulator/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

