Openwall GNU/*/Linux 3.0 - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 19 May 2011 18:32:33 -0300
From: Yuri Gonzaga <yuriggc@...il.com>
To: crypt-dev@...ts.openwall.com
Subject: Re: alternative approach

Hi!

I did the first attempt. I think I spent more time than I expected mainly
because the adaptation to Xilinx dev environment.

It is composed of a state machine to read the "n" input, calculate the
rounds and then output "l", "r" and "s" (byte-by-byte).
I put a directive `define to parameterize how much rounds are done per
single clock cycle.
The state machine has 8 states, but only 2 are related to rounds
calculation.

For NROUNDS = 2, synthesis results (Target Device: Virtex6
xc6vlx75t-3ff484):

Device Utilization Summary (estimated values)

[-] <?&ExpandedTable=DeviceUtilizationSummary(estimatedvalues)>

Logic Utilization

Used

Available

Utilization

Number of Slice Registers

35

93120

0%

Number of Slice LUTs

131

46560

0%

Number of fully used LUT-FF pairs

35

131

26%

Number of bonded IOBs

14

240

5%

Number of BUFG/BUFGCTRLs

2

32

6%

Maximum frequency: 261.356MHz

For NROUNDS = 4 (same target device):

Device Utilization Summary (estimated values)

[-] <?&ExpandedTable=DeviceUtilizationSummary(estimatedvalues)>

Logic Utilization

Used

Available

Utilization

Number of Slice Registers

35

93120

0%

Number of Slice LUTs

183

46560

0%

Number of fully used LUT-FF pairs

35

183

19%

Number of bonded IOBs

14

240

5%

Number of BUFG/BUFGCTRLs

2

32

6%

Maximum frequency: 147.432MHz

About the pipelining, how can we deal with the fact that there are
dependencies between r, l and s in calculations?
Will each stage have to store locally r, l and s?

The verilog code is attached, including simulation.

Regards,

Yuri Gonzaga

[ CONTENT OF TYPE text/html SKIPPED ]

[ CONTENT OF TYPE application/octet-stream SKIPPED ]

[ CONTENT OF TYPE application/octet-stream SKIPPED ]

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux - Powered by OpenVZ