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