Commit 284ecb2d authored by garciay's avatar garciay
Browse files

STF545: Validate ECIES implementation

parent 38e71615
Loading
Loading
Loading
Loading
+31 −28
Original line number Original line Diff line number Diff line
@@ -147,20 +147,20 @@ module LibItsSecurity_Functions {
         */
         */
        function f_encryptWithEciesNistp256WithSha256(
        function f_encryptWithEciesNistp256WithSha256(
                                                      in octetstring p_toBeEncryptedSecuredMessage,
                                                      in octetstring p_toBeEncryptedSecuredMessage,
                                                      in Oct32 p_peerPublicKeyX,
                                                      in Oct32 p_recipientsPublicKeyX,
                                                      in Oct32 p_peerPublicKeyY,
                                                      in Oct32 p_recipientsPublicKeyY,
                                                      out Oct32 p_publicEncKeyX, 
                                                      out Oct32 p_publicEphemeralKeyX, 
                                                      out Oct32 p_publicEncKeyY,
                                                      out Oct32 p_publicEphemeralKeyY,
                                                      out Oct16 p_encrypted_sym_key,
                                                      out Oct16 p_encrypted_sym_key,
                                                      out Oct16 p_authentication_vector,
                                                      out Oct16 p_authentication_vector,
                                                      out Oct12 p_nonce
                                                      out Oct12 p_nonce
        ) return octetstring {
        ) return octetstring {
          return fx_encryptWithEciesNistp256WithSha256(
          return fx_encryptWithEciesNistp256WithSha256(
                                                       p_toBeEncryptedSecuredMessage, 
                                                       p_toBeEncryptedSecuredMessage, 
                p_peerPublicKeyX,
                                                       p_recipientsPublicKeyX,
                p_peerPublicKeyY,
                                                       p_recipientsPublicKeyY,
                p_publicEncKeyX,
                                                       p_publicEphemeralKeyX,
                p_publicEncKeyY,
                                                       p_publicEphemeralKeyY,
                                                       p_encrypted_sym_key,
                                                       p_encrypted_sym_key,
                                                       p_authentication_vector,
                                                       p_authentication_vector,
                                                       p_nonce
                                                       p_nonce
@@ -174,19 +174,22 @@ module LibItsSecurity_Functions {
         */
         */
        function f_decryptWithEciesNistp256WithSha256(
        function f_decryptWithEciesNistp256WithSha256(
                                                      in octetstring p_encryptedSecuredMessage,
                                                      in octetstring p_encryptedSecuredMessage,
                                                      in Oct32 p_publicKeyX,
                                                      in Oct32 p_privateEncKey,
                                                      in Oct32 p_publicKeyY,
                                                      in Oct32 p_publicEphemeralKeyX, 
                                                      in Oct12 p_nonce,
                                                      in Oct32 p_publicEphemeralKeyY,
                                                      in Oct12 p_tag                                                      
                                                      in Oct16 p_encrypted_sym_key,
                                                      in Oct16 p_authentication_vector,
                                                      in Oct12 p_nonce
        ) return octetstring {
        ) return octetstring {
          return fx_decryptWithEciesNistp256WithSha256(
          return fx_decryptWithEciesNistp256WithSha256(
                                                       p_encryptedSecuredMessage,
                                                       p_encryptedSecuredMessage,
                p_publicKeyX, 
                                                       p_privateEncKey,
                p_publicKeyY, 
                                                       p_publicEphemeralKeyX, 
                p_nonce, 
                                                       p_publicEphemeralKeyY,
                p_tag
                                                       p_encrypted_sym_key,
                                                       p_authentication_vector,
                                                       p_nonce
                                                       );
                                                       );
            
        } // End of function f_decryptWithEcdsaNistp256WithSha256
        } // End of function f_decryptWithEcdsaNistp256WithSha256
        
        
        /**
        /**
@@ -1783,7 +1786,7 @@ module LibItsSecurity_Functions {
             * @param   p_publicKeyY                     The public key (Y coordonate)
             * @param   p_publicKeyY                     The public key (Y coordonate)
             * @return  The encrypted value
             * @return  The encrypted value
             */
             */
            external function fx_encryptWithEciesNistp256WithSha256(in octetstring p_toBeEncryptedSecuredMessage, in Oct32 p_peerPublicKeyX, in Oct32 p_peerPublicKeyY, out Oct32 p_publicEncKeyX, out Oct32 p_publicEncKeyY, out Oct16 p_encrypted_sym_key, out Oct16 p_authentication_vector, out Oct12 p_nonce) return octetstring;
            external function fx_encryptWithEciesNistp256WithSha256(in octetstring p_toBeEncryptedSecuredMessage, in Oct32 p_recipientsPublicKeyX, in Oct32 p_recipientsPublicKeyY, out Oct32 p_publicEphemeralKeyX, out Oct32 p_publicEphemeralKeyY, out Oct16 p_encrypted_sym_key, out Oct16 p_authentication_vector, out Oct12 p_nonce) return octetstring;
            
            
            /**
            /**
             * @desc    Produces a Elliptic Curve Digital Encrytion Algorithm (ECIES) decryption
             * @desc    Produces a Elliptic Curve Digital Encrytion Algorithm (ECIES) decryption
@@ -1792,7 +1795,7 @@ module LibItsSecurity_Functions {
             * @param   p_publicKeyY                     The public key (Y coordonate)
             * @param   p_publicKeyY                     The public key (Y coordonate)
             * @return  The decrypted value
             * @return  The decrypted value
             */
             */
            external function fx_decryptWithEciesNistp256WithSha256(in octetstring p_encryptedSecuredMessage, in Oct32 p_publicKeyX, in Oct32 p_publicKeyY, in Oct12 p_nonce, in Oct12 p_tag) return octetstring;
            external function fx_decryptWithEciesNistp256WithSha256(in octetstring p_encryptedSecuredMessage, in Oct32 p_privateEncKey, in Oct32 p_publicEphemeralKeyX, in Oct32 p_publicEphemeralKeyY, in Oct16 p_encrypted_sym_key, in Oct16 p_authentication_vector, in Oct12 p_nonce) return octetstring;
            
            
            /**
            /**
             * @desc    Produces a Elliptic Curve Digital Signature Algorithm (ECDSA) signature
             * @desc    Produces a Elliptic Curve Digital Signature Algorithm (ECDSA) signature