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, italiano, ucraniano e russo.
| © Extra Systems, 2024 |
|