Hi Andy, Thanks for the reply. I am trying to understand whether FIPS 180-2 or FIPS 180-3 is supported in OpenSSL 1.0.1. CHANGES document in OpenSSL claims the support for FIPS 180-2. However CH is defined in SHA-256 is #define Ch(x,y,z) (((x) & (y)) ^ ((~(x)) & (z))) in SHA-256.c . This is as per FIPS 180-3 standard. As per FIPS 180-2 this should been #define Ch(x,y,z) (((x) & (y)) ^ ((x) & (z)) . And if I am right this is only difference for SHA-256 implementation across FIPS 180-3 and FIPS 180-2 standard.
So I am confused about the standard implementation supported in OpenSSL 1.0.1. Regards Jaya -----Original Message----- From: owner-openssl-...@openssl.org [mailto:owner-openssl-...@openssl.org] On Behalf Of Andy Polyakov Sent: Tuesday, June 26, 2012 5:51 PM To: openssl-dev@openssl.org Subject: Re: SHA-256 and SHA-512 doubts in OpenSSL > I have couple of questions like, > > 1. What is FIPS standard OpenSSL 1.0.1 library following. CHANGES claims > the support for FIPS180-2? What is the concern? That post-FIPS180-2 is not supported? Well, if you can point out essential difference in specification for algorithms in question in post-FIPS180-2, then the question would be relevant. > 2. In Sha256.c, these are not as per the FIPS 180-2 standard or FTP 180-3. > #define Sigma0(x) (ROTATE((x),30) ^ ROTATE((x),19) ^ > ROTATE((x),10)) > #define Sigma1(x) (ROTATE((x),26) ^ ROTATE((x),21) ^ > ROTATE((x),7)) > #define sigma0(x) (ROTATE((x),25) ^ ROTATE((x),14) ^ ((x)>>3)) > #define sigma1(x) (ROTATE((x),15) ^ ROTATE((x),13) ^ ((x)>>10)) There is comment just two lines above. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org :��I"Ϯ��r�m���� (����Z+�7�zZ)���1���x��h����W^��^��%�� ��&jם.+-1�ځ��j:+v�������h�