On Sun, Jul 09, 2006 at 02:53:29PM -0500, Matthew R. Dempsky wrote:
> > as they pretty well can encrypt per byte according to applied cryptography 
> > from 
> > schneier.  
> 
> What about CTR?  OpenBSD can do AES-CTR.

Oh wow my applied cryptography second edition is getting old. ;) There is no
mention of CTR mode in it, I had to look it up online.  I think it may work
that way.

I found the functions for aes_ctr_crypt() et al. in /sys/crypto/xform.c:

xform.c:int  aes_ctr_setkey(u_int8_t **, u_int8_t *, int);
xform.c:void aes_ctr_zerokey(u_int8_t **);
xform.c:void aes_ctr_reinit(caddr_t, u_int8_t *);
xform.c:void aes_ctr_crypt(caddr_t, u_int8_t *);
xform.c:        aes_ctr_crypt,

As I'm unfamiliar with this function, perhaps someone experienced can explain
how this works.  I read the code briefly for aes_ctr_crypt() and noticed it
does manipulate AESCTR_BLOCKSIZE (16) bytes on the second argument, how do I 
make it work for just 1 byte streaming, I suppose I must make sure I pass it 
such many  bytes.. are the remaining 15 bytes just padding that I can throw
away?

I'm talking about this:

        for (i = 0; i < AESCTR_BLOCKSIZE; i++)
                data[i] ^= keystream[i];

Why is there a AESCTR_BLOCKSIZE?  Pardon my ignorance on this cipher, cipher
mode and implementation in OpenBSD's kernel.  Any provided "official" stream 
cipher would beat a simple XOR.

regards,

-peter

-- 
Here my ticker tape .signature #### My name is Peter Philipp #### lynx -dump 
"http://en.wikipedia.org/w/index.php?title=Pufferfish&oldid=20768394"; | sed -n 
131,136p #### So long and thanks for all the fish!!!

Reply via email to