Extra Systems

CYPHERNET

procedimiento para crear una clave de sesión fusionando opciones propuestas por los socios make_common_key


El procedimiento para crear una clave de sesión Cypher Net de Extra Systems fusionando las opciones make_common_key propuestas por los socios funciona de acuerdo con el siguiente algoritmo:

void make_common_key(void)
{
	unsigned char x, y;
	int i;
	for (i = 0; i < PACKED_VALUE_LENTH; i++)
	{
		x = local_key.packed[i];
		y = remote_key.packed[i];
		common_key.packed[i] = x ^ y;
	}
	unpack_value(common_key.packed, common_key.unpacked);
}

Cada suscriptor genera su propia clave (local_key) de forma independiente en el procedimiento make_local_key y recibe la clave del socio (remote_key) de este último en forma cifrada durante el procedimiento get_common_key.

Evidentemente, debido al carácter conmutativo de la operación utilizada, este procedimiento da el mismo resultado en ambos extremos de la conexión. Es decir, ambos suscriptores reciben en última instancia la misma clave de sesión para el posterior cifrado de todo el tráfico entre ellos.

El contenido de esta página también está disponible en inglés, francés, alemán, portugués, ucraniano y ruso.


© Extra Systems, 2024 Extra Web Top