On Mon, Aug 10, 2009, MusicAndy wrote:

> 
> OK, so after the last post I made; I was trying to use the DES library, and
> was advised to use the higher level EVP library, I have now used this and
> getting the same type of error! %-|
> 
> So where do I go from here.  The command line that i wish to use for
> decrypting the file that i am encrypting is 
>  openssl des3 -d -nosalt -k "1" -in <source filename> -out <destination
> filename>
> 
> The code that i am using to test these has two file streams, one for the
> input and one for the output and is shown below.  This is test code only. 
> What am i doing wrong here?  Is it the key that is at fault.  Please help... 
> I also wish to use salt in the final implementation on this.  Please
> advise...
> 
> 
>       if(infile == NULL)
>               AfxMessageBox("File load error");
>  
>       fseek(infile, 0L, SEEK_END);
>       numbytes = ftell(infile);
>  
>       fseek(infile, 0L, SEEK_SET);    
> 
>       buffer = (char*)calloc(numbytes, sizeof(char));         
> 
>       fread(buffer, sizeof(char), numbytes, infile);
>  
> 
>       unsigned char* input = new unsigned char[numbytes];
>       input = (unsigned char*)buffer;
> 
> 
>       if(buffer == NULL)
>               AfxMessageBox("Error with buffer");
>  
>       unsigned char password[] = {'1'};
>       EVP_CIPHER_CTX ctx;
>       EVP_CIPHER_CTX_init(&ctx);
> 
>       unsigned char* desBuf = new unsigned char[numbytes];
> 
>       EVP_EncryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL,password,NULL);
> 

Well that's the problem right there. You have to pass a key and IV of the
correct length to EVP_EncryptInit_ex(). You are passing 1 byte and whatever
garbage follows it in memory.

You need to derive the correct key using EVP_BytestToKey() and pass the
derived key to EVP_EncryptInit_ex().

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to