Extra Systems

CYPHERNET

procedimento para a criação de uma chave de sessão através da fusão de opções propostas pelos parceiros make_common_key


O procedimento para a criação de uma chave de sessão Extra Systems Cypher Net através da fusão das opções make_common_key propostas pelos parceiros funciona de acordo com o seguinte 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 subscritor gera a sua própria chave (local_key) independentemente no procedimento make_local_key e recebe a chave do parceiro (remote_key) deste último em formato encriptado durante o procedimento get_common_key.

Obviamente, devido à natureza comutativa da operação utilizada, este procedimento dá o mesmo resultado em ambas as extremidades da ligação. Ou seja, ambos os subscritores recebem a mesma chave de sessão para a encriptação subsequente de todo o tráfego entre eles.

O conteúdo desta página está também disponível em inglês, francês, alemão, espanhol, ucraniano e russo.


© Extra Systems, 2024 Extra Web Top