Replacing DES_ede3_cbc_encrypt with EVP API's for upgrading to openssl 3.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

 

               I am trying to upgrade over application to use openssl 3.0 from openssl 1.0.2.

               I am trying to replace DES_ede3_cbc_encrypt with EVP API’s as below.

               DES_ede3_cbc_encrypt accepts 3 keys got from des_key_sched.

               But for same thing to work using EVP API we have option for only one key.

              EVP_EncryptInit_ex2(ctx, EVP_des_ede3_cbc(), (unsigned char *)key->v, (unsigned char *)iv->v, NULL)

                

              Please suggest if this is correct. Even for decrypt, will passing only one key to  EVP_EncryptInit_ex2 work

 

Old Code:

    if (des_key_sched((void *)key->v, ks1) != 0)

        return NULL;

    if (des_key_sched((void *)(key->v + 8), ks2) != 0)

        return NULL;

    if (des_key_sched((void *)(key->v + 16), ks3) != 0)

        return NULL;

 

    /* decryption data */

    DES_ede3_cbc_encrypt((const unsigned char *)data->v, (unsigned char *)res->v, data->l,

                 &ks1, &ks2, &ks3, (unsigned char (*)[8])iv->v, DES_ENCRYPT);

 

New Code:

   EVP_EncryptInit_ex2(ctx, EVP_des_ede3_cbc(), (unsigned char *)key->v, (unsigned char *)iv->v, NULL)

   

   EVP_EncryptUpdate(ctx, (unsigned char *)res->v, &outl, (unsigned char *)data->v,

         data->l)

   EVP_EncryptFinal_ex(ctx, (unsigned char *) res->v + outl, &tmpl)

 

Thanks and Regards,

Sunil


Notice: This e-mail together with any attachments may contain information of Ribbon Communications Inc. and its Affiliates that is confidential and/or proprietary for the sole use of the intended recipient. Any review, disclosure, reliance or distribution by others or forwarding without express permission is strictly prohibited. If you are not the intended recipient, please notify the sender immediately and then delete all copies, including any attachments.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux