<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi All,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">               I am trying to upgrade over application to use openssl 3.0 from openssl 1.0.2.<o:p></o:p></p>
<p class="MsoNormal">               I am trying to replace DES_ede3_cbc_encrypt with EVP API’s as below.<o:p></o:p></p>
<p class="MsoNormal">               DES_ede3_cbc_encrypt accepts 3 keys got from des_key_sched.<o:p></o:p></p>
<p class="MsoNormal">               But for same thing to work using EVP API we have option for only one key.<o:p></o:p></p>
<p class="MsoNormal">              <span style="color:red">EVP_EncryptInit_ex2(ctx, EVP_des_ede3_cbc(), (unsigned char *)key->v, (unsigned char *)iv->v, NULL)<o:p></o:p></span></p>
<p class="MsoNormal">                <o:p></o:p></p>
<p class="MsoNormal">              Please suggest if this is correct. Even for decrypt, will passing only one key to  <span style="color:red">EVP_EncryptInit_ex2
</span>work<o:p></o:p></p>
<p class="MsoNormal"><span style="color:red"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:red">Old Code: <o:p></o:p></span></p>
<p class="MsoNormal">    if (des_key_sched((void *)key->v, ks1) != 0)<o:p></o:p></p>
<p class="MsoNormal">        return NULL;<o:p></o:p></p>
<p class="MsoNormal">    if (des_key_sched((void *)(key->v + 8), ks2) != 0)<o:p></o:p></p>
<p class="MsoNormal">        return NULL;<o:p></o:p></p>
<p class="MsoNormal">    if (des_key_sched((void *)(key->v + 16), ks3) != 0)<o:p></o:p></p>
<p class="MsoNormal">        return NULL;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    /* decryption data */<o:p></o:p></p>
<p class="MsoNormal">    DES_ede3_cbc_encrypt((const unsigned char *)data->v, (unsigned char *)res->v, data->l,<o:p></o:p></p>
<p class="MsoNormal">                 &ks1, &ks2, &ks3, (unsigned char (*)[8])iv->v, DES_ENCRYPT);<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:red">New Code:<o:p></o:p></span></p>
<p class="MsoNormal">   EVP_EncryptInit_ex2(ctx, EVP_des_ede3_cbc(), (unsigned char *)key->v, (unsigned char *)iv->v, NULL)<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">   EVP_EncryptUpdate(ctx, (unsigned char *)res->v, &outl, (unsigned char *)data->v,<o:p></o:p></p>
<p class="MsoNormal">         data->l)<o:p></o:p></p>
<p class="MsoNormal">   EVP_EncryptFinal_ex(ctx, (unsigned char *) res->v + outl, &tmpl)
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks and Regards,<o:p></o:p></p>
<p class="MsoNormal">Sunil<o:p></o:p></p>
</div>
<br clear="both">
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.<BR>
</body>
</html>