Hello,

owner-openssl-us...@openssl.org wrote on 02/17/2009 03:20:38 PM:

> 2009/2/17 Victor Duchovni <victor.ducho...@morganstanley.com>:
> > On Mon, Feb 16, 2009 at 01:48:54PM +0800, loody wrote:
> >
> >> Dear all:
> >> I want to realize aes, so I trace enc_main in enc.c.
> >> But I find there are a lot call back functions such that I spend more
> >> time on tracing these call back functions than understanding aes
> >> algorithm.
> >>
> >> I have studied the aes flow chart on the wiki,
> >> http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
> >> But I cannot find out where the connection between the password I
> >> input with the aes.
> >>
> >> suppose I type:
> >> openssl enc -aes-256-cbc -salt -in test.txt -out test.enc
> >> enter aes-256-cbc encryption password: 123456
> >> Verifying - enter aes-256-cbc encryption password:123456
> >>
> >> How do we deal with "123456" before calling AES_cbc_encrypt?
> >> Is "123456" a part of key?
> >
> > User-supplied passwords (password based encryption) are not strong
> > enough to use directly as AES keys. Instead these are passed to
> > a key-derivation function. OpenSSL uses PBKDF2 from PKCS#5 v2.1
> >
> >    http://en.wikipedia.org/wiki/PBKDF2
> >
> > The API entry point (still to be documented) is:
> >
> >    src/distro/crypto/evp/p5_crpt2.c:
> >        PKCS5_PBKDF2_HMAC_SHA1(pass, passlen, salt, saltlen, iter, 
keylen, key)
> 
> Hi:
> thanks for your help.
> I have another questions about aes:
> 
> The round# is set according to the bits we pass to AES_set_encrypt_key.
> And Nk*round# keys are also produced well in it.
> But how about Nb, the number of column in state?
> (in 128, 192 and 256 bits block plaintext, the Nb, column# of state is 
4,6,8.)
Yes, but AES implementation used in OpenSSL supports only 128 bit block 
(16 bytes).
So, in this implementation Nb is always 4 (4 32-bit words).

Best regards,
--
Marek Marcola <marek.marc...@malkom.pl>

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to