c# - Symmetric Cipher HDL -


suppose okay c programmer wanted write vhdl code of given symmetric cipher scratch..anyone have ideas or tips on not overly difficult 1 write? it's proof of concept final year project. have got aes working using opencores core.

basically, have week write vhdl implementation. above average @ c not great @ vhdl not looking difficult. reading estream ciphers , that. if point me in right direction...thanks!

p.s. concern i'll tackle awkward implementation in fpga, considering limited time working with!

i wrote implementation of digital encryption standard (des) in 1996 in 2 1/2 days, prefaced on understanding particular (and dated) symmetrical encryption algorithm quite thoroughly, not mention vhdl well. use little c programs generate parts of vhdl code (like test vectors test bench, s boxes). des required implemented in hardware, described in 1 ibm patent @ rtl level while documented in fips pub 46 in neutral fashion there reference implementations.

my implementation, can used reference isn't directly synthesis eligible, has rtl level i/o buffers need removed. uses configuration specify s boxes in 4 otherwise identical byte register pairs of r , l component. i've uniquified them before use vhdl analyzer/simulator hadn't yet supported configuration.

the largest part of distribution pdf document on des's permutations, 8 bit interface transposition of 8 wires initial permutation, inverse initial permutation , permuted choice 1 (with addition of 9th wire. e permutation terribly regular. irregular permutations permuted choice 2 , p permutation. , of course there's s boxes.

des can implemented in around 4,700 nand gate equivalents in it's simplest implementation, , there test vectors expected results.

see vhdl_des.tar.gz , des.test (the test vectors) on dropbox.

there's javascript des implementation floating around that's been disabled prevent using arbitrary keys in educational environment. capturing page can actual undo disable allowing use arbitrary keys. see javascript des example. value here in showing off internal values each round.

[a copy of js-des.html writable keys can found @ js-des.html http://dpades.googlecode.com/svn/trunk/simu_js/js-des.html, project home page (http://code.google.com/p/dpades/) says it's gplv2.]

you can use javascript implementation find round values troubleshooting implementation.

if it's not quite sophisticated enough you, try triple des.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -