É o primo de Secp256k1?

Dec 02 2020

O protocolo Bitcoin depende da curva elíptica secp256k1 para sua segurança criptográfica. Para esse efeito, o número inteiro$p = 2^{256}-2^{32}-977$deve ser primo. Como eles sabem$p$é realmente primo? Quer dizer, qual teste de primalidade pode ser usado para provar isso?

Respostas

3 kodlu Dec 02 2020 at 10:52

Como apontado nos comentários, este não é um grande número para fatorar com métodos modernos.

A calculadora online Magma http://magma.maths.usyd.edu.au/calc/ verifica se é primo, quando solicitado a fatorá-lo, quase que instantaneamente.

Fatoração de tempo (2 ^ 256-2 ^ 32-977);

retorna

[<115792089237316195423570985008687907853269984665640564039457584007908834671663, 1>] Tempo: 0,070

como a fatoração em potências de primos; o número$2^{256}-2^{32}-977$ é um único primo para o poder $1$. Demora 0,07 segundos para obter este resultado.

O teste de primazia também é consistente.

tempo IsPrime (2 ^ 256-2 ^ 32-977);

rendimentos

tempo verdadeiro: 0,060