Implementation of IDEA on a Reconfigurable ComputerIDEA AlgorithmWhy use IDEA?SRC-6 Reconfigurable ComputerCarte Programming EnvironmentImplementationSlide 7ResultsSlide 9Slide 10Slide 11EnhancementImplementation of IDEA on a Reconfigurable ComputerToan LeGreg ZumbrookIDEA Algorithm•Block cipher•64-bit block, 128-bit key•8 rounds (plus output transformation)•3 operations:-XOR-Addition mod 216-Multiplication mod 216 + 1Why use IDEA?•Intended as a replacement for DES•Still secure as the best attack breaks IDEA reduced to 5 rounds (full cipher uses 8 rounds)SRC-6 Reconfigurable Computer•uP and MAP (Multi-Adaptive Processor) boards•2128 MB/s xfer between boards•FPGAs on MAP board can be reconfigured as program is runCarte Programming Environment•Program in HLLs like C or FORTRAN•Compiled code will configure the MAP board when run (no need for VHDL)Implementation•Using High Level Language (HLL) to describe software•Main program functions–Prepare for data and key–Link with MAP libraries and function files•Data structure–Declare memory banks, move data in and out–Set pointers to a cache alignedImplementation•Parallel structureResults•Encrypt/Decrypt IDEA both on MAP and Intel CPU•Control the number of bits when performing multiplication or XOR•Parallel code: 19 cycles for one round and 158 clock cycles for a 64-bit input plaintext blockResults•Reconfigurable processor is allocated to the given application•MAP function is called•8 internal loops for 64-bit input block•The execute time of the MAP function is measured•Compare between execution time of the MAP function and of Intel CPU functionResults•Time to encrypt 5 blocks on CPU: ~121 uS•Time to encrypt 5 blocks on MAP: ~180 mS???Results•Time to encrypt 5 blocks on MAP is currently longer than on CPU•This is because the time to transfer the block, key, and results to/from the MAP takes additional time•Encrypting multiple blocks at a time (bulk encryption of large files) should produce more expected resultsEnhancement•File I/O functionality•Improve efficiency of MAP functions•Add other encryption schemes to the program•Create application services for end
View Full Document