Extra Systems

CYPHERNET

procedimiento de generación de clave de sesión make_local_key


El procedimiento de generación de claves de sesión make_local_key llena el búfer con una secuencia de bytes aleatorios. Este procedimiento lo realiza de la misma manera cada suscriptor de Extra Systems Cypher Net (por supuesto, se generan diferentes secuencias aleatorias). A continuación, en el procedimiento get_common_key, se produce la suma binaria de dos de estas claves creadas por dos suscriptores. El resultado es el mismo número, que se utiliza como clave de sesión para el algoritmo de cifrado de transmisión.

El tamaño de la clave PACKED_SESSION_KEY_LENTH depende del algoritmo de cifrado, pero debe ser menor que el módulo RSA; de lo contrario, no se puede cifrar. En nuestro sistema, la longitud máxima de este parámetro se establece en un byte más corto que la longitud de la clave RSA (esto garantiza que se pueda realizar el cifrado posterior).

void make_local_key(void)
{
	memset(local_key.packed, 0, PACKED_VALUE_LENTH);
	fill_random_buffer(local_key.packed, PACKED_SESSION_KEY_LENTH);
	unpack_value(local_key.packed, local_key.unpacked);
}

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