Extra Systems

CYPHERNET

procedimento de geração de chaves de sessão make_local_key


O procedimento de geração de chaves de sessão make_local_key preenche o buffer com uma sequência de bytes aleatórios. Este procedimento é realizado da mesma forma por cada subscritor da Extra Systems Cypher Net (claro, são geradas diferentes sequências aleatórias). De seguida, no procedimento get_common_key, ocorre a adição binária de duas destas chaves criadas por dois subscritores. O resultado é o mesmo número, que é utilizado como chave de sessão para o algoritmo de encriptação de fluxo.

O tamanho da chave PACKED_SESSION_KEY_LENTH depende do algoritmo de encriptação, mas deve ser menor que o módulo RSA, caso contrário não pode ser encriptada. No nosso sistema, o comprimento máximo deste parâmetro é definido como um byte menor que o comprimento da chave RSA (isto garante que a encriptação subsequente pode ser executada).

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);
}

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