Dina,
Comments below.  I updated the webrev.
- Dan

On 17/11/2009 10:52 PM, Dina wrote:
> DKN-1
> bignumimpl.c, line 188 (new numbering)
> arcfourcrypt.c, line 240:
>     nit: ... checks for an AMD-64 ...

FIXED.

> DKN-2
> aes_intel.s, line 479/480 (new numbers):
>     is there a reason why there is no
>         aeskeygenassist $0x40, %xmm0, %xmm1
>         call    _key_expansion 256b
>     after the preceding block?
>     
>     line 444 says 14 rounds, but the following code looks like 13
>     line 494 says 12 rounds, but the following code looks like 8
>     line 531 says 10 rounds, and it actually looks like 10 rounds
>
>     I don't get it.

I noticed that too and so did someone reviewing the Linux port of similar code. 
 After looking it over for a few months (among other things), I found the 
comments misleading.  The term "rounds" is used in two different ways:

* "ROUNDS" of encryption/decryption required
The 14, 12, 10 rounds for aes-256, -192, -128 refer to the encryption and 
decryption rounds performed later.

* "ROUNDS"--number of calls to AESKEYGENASSIST
The 13, 8, and 10 are the number of calls to AESKEYGENASSIST required to setup 
the key expansion (from the user-provided key). I removed the comments that 
called this "rounds" and replaced it with "expanding the key" (the comment used 
in the orignal Intel white paper).


> DKN-3
> intel/sha1/Makefile
> intel/sha2/Makefile
>     LINTFLAGS += -I$(COMDIR) -I../../common/sys
> but
> sparc/sha1/Makefile
> sparc/sha2/Makefile
> sun4u/sha1/Makefile
>     LINTFLAGS += -I$(COMDIR)

> You're sure about this?

Yeah.  The Intel version uses a header file that the SPARC-ites (not to be 
confused with the Hittites) do not need.
-- 
This message posted from opensolaris.org

Reply via email to