mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-04 04:32:24 -05:00 
			
		
		
		
	ECDH: Add test vectors for Curve25519
The test vectors added are published in RFC 7748.
This commit is contained in:
		
							parent
							
								
									e344d0f6fc
								
							
						
					
					
						commit
						ab0f71a22a
					
				@ -637,6 +637,10 @@ static int ecdh_calc_secret_internal( mbedtls_ecdh_context_mbed *ctx,
 | 
				
			|||||||
        return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA );
 | 
					        return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    *olen = ctx->grp.pbits / 8 + ( ( ctx->grp.pbits % 8 ) != 0 );
 | 
					    *olen = ctx->grp.pbits / 8 + ( ( ctx->grp.pbits % 8 ) != 0 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if( ctx->grp.id == MBEDTLS_ECP_DP_CURVE25519 )
 | 
				
			||||||
 | 
					        return mbedtls_mpi_write_binary_le( &ctx->z, buf, *olen );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return mbedtls_mpi_write_binary( &ctx->z, buf, *olen );
 | 
					    return mbedtls_mpi_write_binary( &ctx->z, buf, *olen );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -88,6 +88,18 @@ ECDH calc_secret: theirs first, SECP256R1 (RFC 5903)
 | 
				
			|||||||
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
 | 
					depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
 | 
				
			||||||
ecdh_exchange_calc_secret:MBEDTLS_ECP_DP_SECP256R1:"c6ef9c5d78ae012a011164acb397ce2088685d8f06bf9be0b283ab46476bee53":"04dad0b65394221cf9b051e1feca5787d098dfe637fc90b9ef945d0c37725811805271a0461cdb8252d61f1c456fa3e59ab1f45b33accf5f58389e0577b8990bb3":1:"d6840f6b42f6edafd13116e0e12565202fef8e9ece7dce03812464d04b9442de"
 | 
					ecdh_exchange_calc_secret:MBEDTLS_ECP_DP_SECP256R1:"c6ef9c5d78ae012a011164acb397ce2088685d8f06bf9be0b283ab46476bee53":"04dad0b65394221cf9b051e1feca5787d098dfe637fc90b9ef945d0c37725811805271a0461cdb8252d61f1c456fa3e59ab1f45b33accf5f58389e0577b8990bb3":1:"d6840f6b42f6edafd13116e0e12565202fef8e9ece7dce03812464d04b9442de"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ecdh calc_secret: ours first (Alice), curve25519 (rfc 7748)
 | 
				
			||||||
 | 
					depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
 | 
				
			||||||
 | 
					ecdh_exchange_calc_secret:MBEDTLS_ECP_DP_CURVE25519:"77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a":"de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f":0:"4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ecdh calc_secret: theirs first (Alice), curve25519 (rfc 7748)
 | 
				
			||||||
 | 
					depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
 | 
				
			||||||
 | 
					ecdh_exchange_calc_secret:MBEDTLS_ECP_DP_CURVE25519:"77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a":"de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f":1:"4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ecdh calc_secret: ours first (Bob), curve25519 (rfc 7748)
 | 
				
			||||||
 | 
					depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
 | 
				
			||||||
 | 
					ecdh_exchange_calc_secret:MBEDTLS_ECP_DP_CURVE25519:"5dab087e624a8a4b79e17f8b83800ee66f3bb1292618b6fd1c2f8b27ff88e0eb":"8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a":0:"4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ECDH get_params with mismatched groups: our BP256R1, their SECP256R1
 | 
					ECDH get_params with mismatched groups: our BP256R1, their SECP256R1
 | 
				
			||||||
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_BP256R1_ENABLED
 | 
					depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_BP256R1_ENABLED
 | 
				
			||||||
ecdh_exchange_get_params_fail:MBEDTLS_ECP_DP_BP256R1:"1234567812345678123456781234567812345678123456781234567812345678":MBEDTLS_ECP_DP_SECP256R1:"04dad0b65394221cf9b051e1feca5787d098dfe637fc90b9ef945d0c37725811805271a0461cdb8252d61f1c456fa3e59ab1f45b33accf5f58389e0577b8990bb3":0:MBEDTLS_ERR_ECP_BAD_INPUT_DATA
 | 
					ecdh_exchange_get_params_fail:MBEDTLS_ECP_DP_BP256R1:"1234567812345678123456781234567812345678123456781234567812345678":MBEDTLS_ECP_DP_SECP256R1:"04dad0b65394221cf9b051e1feca5787d098dfe637fc90b9ef945d0c37725811805271a0461cdb8252d61f1c456fa3e59ab1f45b33accf5f58389e0577b8990bb3":0:MBEDTLS_ERR_ECP_BAD_INPUT_DATA
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user