DOC PREVIEW
MASON ECE 646 - Hardware Implementation of Twofish Block Cipher

This preview shows page 1-2-3-4-5-6 out of 19 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Hardware Implementation of Twofish Block CipherIntroductionGoals of this projectTwofish Encryption OverviewTwofish Pin-out DiagramFunction FPermutation StructureS-keys (S0,S1) GenerationRound Key GenerationKey SchedulingControl SignalsTools UsedFPGA Implementation Results(1)FPGA Implementation Results(2)ASIC Implementation ResultsProblems EncounteredConclusionHardware Implementation of Twofish Block CipherRanjeeta PatilIntroduction Twofish- one of the five finalists chosen for AES Commended by analyst for its security and flexibility 128-bit Block Cipher Supports key sizes of 128, 192 and 256 bitsGoals of this project Implementation of Twofish in hardware Key size of 128-bits Targeting both FPGAs and ASIC platforms FPGA Implementation- Xilinx SPARTAN 3  ASIC Implementation – 90 nm, 130 nm technologiesTwofish Encryption OverviewTwofish Pin-out DiagramKey InputKey AvailableKey Read128Data InputData AvailableData Read128Data Output128Data WriteFIFO FullClockResetEncr/DecrTwofish Block CipherK3P0+P3+P1+P2+ROL1ROL1ROR1ROR1+++++ +C0C1C2C3F functionK0K1K2K4K5K7K6S0S1K2r+8K2r+9eeeeddddE/DE/DE/DE/D00001111XORPseudo-Hadamard TransformK2r+8q0q1q0q1q0q0q1q1q0q1q0++S0S1ROL8Fin2Fin1MDS<<<1PHTK2r+9Fout1Function Fq1mod 232addition+S-boxesg- functionXx0x1x2x3y0y1y2y3ZZq0q1q0q1q0q0q1q1q0q1q0++MDSq1Xx0x1x2x3y0y1y2y3Fout2Permutation Structure+ROR1a0(0),0,0,0+t0t1+ROR1+t2t3a0b0a2b1a1b2a3b3b4a4xya0(0),0,0,0 a0,b0= x mod 16 a1= a0XOR b0b1= a0 XOR ROR(b0,1) XOR 8a0mod 16 a2, b2= t0[a1], t1[b1] a3= a2XOR b2b3= b2XOR ROR(b2,1) XOR 8 a2mod 16 a4, b4= t2[a3], t3[b3] y = 16 a4+ b4S-keys (S0,S1) GenerationReed Solomon matrixq0q1q0q1q0q0q1q1q0q1q0++MDSq1q0q1q0q1q0q0q1q1q0q1q0++MDSq1ROL8ROL9<<<1PHT2i2i2i2i2i+12i+12i+12i+1M2 M0M3M1K2r+8K2r+9Round Key GenerationKey GenerationReg0Reg1 Reg2 Reg3 Reg4 Reg5 Reg6 Reg7K2r+8K2r+93232Up counter (0 to 3)Down counter (3 downto 0)Up-Down counter (4 to 19)8888K0K2K4K6K3K5K1K73232323232 32 32 32Key SchedulingK0,1K8,9K10,11K32,33K34,35K36,37K38,39K2,312K4,53K6,754KP8920 21 22 2367Control SignalsClkResetE/DKey_InputKey_availData_availData_ReadFIFO_fullData_WriteKey_ReadData_InputCData_OutputTools Used Design Entry Aldec Active HDL  FPGA Implementation Synplicity Synplify Pro 8.0  Xilinx ISE 7.1 ASIC Synthesis Synopsys Design CompilerFPGA Implementation Results(1)Virtex family Device Used XCV-1000 No. of CLB slices: 1076 Max. Clk Freq: 22.1Mhz Throughput: 177 MbpsSpartan 3 family Device used: 3s200ft256 No. of 4-input LUTs: 3391 No. of CLB Slices: 1918FPGA Implementation Results(2)Timing Analysis Min. period= 44.33ns Max. Frequency= 22.55Mhz Throughput= 180.4MbpsThroughput =Block size No. of rounds X Min. Clk PeriodASIC Implementation Results Technology: 90 nm Area= 53753 sq. microns Min. period= 2.23 ns Max. Clock Frequency= 448 MHz Technology: 130 nm Area= 108664.15 sq. microns Min. period= 2.57 ns Max. Clock Frequency= 389 MHzProblems Encountered Problem with Endian-ness of inputs Multiplication over GF(28)Conclusion All specifications are met Results are comparable to previous implementation Throughput of the design can be improved by pipelining the


View Full Document

MASON ECE 646 - Hardware Implementation of Twofish Block Cipher

Documents in this Course
Load more
Download Hardware Implementation of Twofish Block Cipher
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Hardware Implementation of Twofish Block Cipher and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Hardware Implementation of Twofish Block Cipher 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?