• Anúncio Global
    Respostas
    Exibições
    Última mensagem

Função para descobrir primos grandes (200 dígitos ou +)

Função para descobrir primos grandes (200 dígitos ou +)

Mensagempor imaia » Qui Set 06, 2012 17:56

Tenho buscado na internet algoritmos de teste de primalidade de números. Deparei-me com o AKS e Monte-Carlo, sendo o AKS determinístico e o M.C. probabilístico, porém o M.C. é muito mais rápido. Contudo li artigos e monografias com gráficos de execução dos referidos algoritmos e eles funcionam bem para primos pequenos, digamos com 6 dígitos, além do que o tempo de resposta cresce de tal maneira que fica inviável testar a primalidade de centenas de dígitos, duraria uma eternidade. Estou supondo que fonte que li está correta.

Então gostaria de saber, se hoje em dia em comércio eletrônico e em protocolos de criptografia usam-se primos grandes, deve existir um meio de obtê-los. Na internet só se mostra listagens de primos pequenos. E os grandes, como descobri-los?

Preciso da informação para realização de software, então qualquer ajuda é muito bem vinda.
imaia
Novo Usuário
Novo Usuário
 
Mensagens: 1
Registrado em: Qui Set 06, 2012 17:51
Formação Escolar: GRADUAÇÃO
Área/Curso: informática
Andamento: formado

Re: Função para descobrir primos grandes (200 dígitos ou +)

Mensagempor MarceloFantini » Qui Set 06, 2012 19:03

Acredito que se hoje em dia primos grandes são usados em comércio eletrônico e protocolos de criptografia são justamente porque não são fáceis de descobrir. Se existisse tal modo mais fácil de obtê-los todo o esquema de criptografia seria quebrado, qualquer um poderia obter informações que outros querem esconder.
Futuro MATEMÁTICO
e^{\pi \cdot i} +1 = 0
MarceloFantini
Colaborador Moderador
Colaborador Moderador
 
Mensagens: 3126
Registrado em: Seg Dez 14, 2009 11:41
Formação Escolar: GRADUAÇÃO
Andamento: formado

Re: Função para descobrir primos grandes (200 dígitos ou +)

Mensagempor Renato_RJ » Sex Set 07, 2012 04:37

Boa noite !!!

Mas que assunto interessante !! Primos !!!

Hoje em dia existem maneiras de criar primos enormes, o problema é testá-los, existem diversos testes (como Rabin-Muller utilizado por alguns softwares de matemática, como o Maxima por exemplo) e temos tabelas com números maiores do que 200 dígitos que possuem mais de 97% de chances de serem primos veja em:

http://primes.utm.edu/lists/small/small3.html#300

Agora, o pouco que eu sei sobre criptografia é, atualmente estão estudando um algoritmo um baseado em curvas elípticas (o nome curvas elípticas não tem relação alguma com elipses) pois estas tem uma propriedade bem peculiar, se pegarmos dois pontos na curva (P e R, por exemplo), podemos determinar um terceiro (Q) fazendo apenas a soma desses pontos, mas uma curva elíptica é um anel com a propriedade apenas de soma, logo sabendo-se o ponto P e o ponto Q não temos como descobrir o ponto R (sendo que P + R = Q, lembre-se, é um anel com a propriedade somente de soma, nada mais)... Esse tipo de algoritmo é mais rápido e mais seguro do que o uso de primos enormes (pois devido a incerteza gerada pelos testes, podem ser considerados como pseudo-primos)...
Se quiser saber mais sobre primos existe um excelente livro chamado "Primos" do professor Paulo Ribenboim (é uma excelente leitura, mas a matemática ao longo do livro fica um tanto complexa)...

Abraços...
Iniciando a minha "caminhada" pela matemática agora... Tenho muito o quê aprender...
Avatar do usuário
Renato_RJ
Colaborador Voluntário
Colaborador Voluntário
 
Mensagens: 306
Registrado em: Qui Jan 06, 2011 15:47
Formação Escolar: PÓS-GRADUAÇÃO
Área/Curso: Mestrado em Matemática
Andamento: cursando


Voltar para Funções

 



  • Tópicos relacionados
    Respostas
    Exibições
    Última mensagem

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

 



Assunto: método de contagem
Autor: sinuca147 - Seg Mai 25, 2009 09:10

Veja este exercício:

Se A = {x \in Z \hspace{1mm} | \hspace{1mm} \frac{20}{x} = n, n \in N} e B = {x \in R \hspace{1mm} | \hspace{1mm} x = 5m, m \in z}, então o número de elementos A \cap B é:

Eu tentei resolver este exercício e achei a resposta "três", mas surgiram muitas dúvidas aqui durante a resolução.

Para determinar os elementos do conjunto A, eu tive de basicamente fazer um lista de vinte dividido por todos os números naturais maiores que zero e menores que vinte e um, finalmente identificando como elementos do conjunto A os números 1, 2, 4, 5, 10 e 20. Acho que procedi de maneira correta, mas fiquei pensando aqui se não existiria um método mais "sofisticado" e prático para que eu pudesse identificar ou ao menos contar o número de elementos do conjunto A, existe?

No processo de determinação dos elementos do conjunto B o que achei foi basicamente os múltiplos de cinco e seus opostos, daí me surgiram estas dúvidas:

existe oposto de zero?
existe inverso de zero?
zero é par, certo?
sendo x um número natural, -x é múltiplo de x?
sendo z um número inteiro negativo, z é múltiplo de z?
sendo z um número inteiro negativo, -z é múltiplo de z?

A resposta é 3?

Obrigado.


Assunto: método de contagem
Autor: Molina - Seg Mai 25, 2009 20:42

Boa noite, sinuca.

Se A = {x \in Z \hspace{1mm} | \hspace{1mm} \frac{20}{x} = n, n \in N} você concorda que n só pode ser de 1 a 20? Já que pertence aos naturais?
Ou seja, quais são os divisores de 20? Eles são seis: 1, 2, 4, 5, 10 e 20.
Logo, o conjunto A é A = {1, 2, 4, 5, 10, 20}

Se B = {x \in R \hspace{1mm} | \hspace{1mm} x = 5m, m \in z} você concorda que x será os múltiplos de 5 (positivos e negativos)? Já que m pertence ao conjunto Z?
Logo, o conjunto B é B = {... , -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, ...

Feito isso precisamos ver os números que está em ambos os conjuntos, que são: 5, 10 e 20 (3 valores, como você achou).

Vou responder rapidamente suas dúvidas porque meu tempo está estourando. Qualquer dúvida, coloque aqui, ok?

sinuca147 escreveu:No processo de determinação dos elementos do conjunto B o que achei foi basicamente os múltiplos de cinco e seus opostos, daí me surgiram estas dúvidas:

existe oposto de zero? sim, é o próprio zero
existe inverso de zero? não, pois não há nenhum número que multiplicado por zero resulte em 1
zero é par, certo? sim, pois pode ser escrito da forma de 2n, onde n pertence aos inteiros
sendo x um número natural, -x é múltiplo de x? Sim, pois basta pegar x e multiplicar por -1 que encontramos -x
sendo z um número inteiro negativo, z é múltiplo de z? Sim, tais perguntando se todo número é multiplo de si mesmo
sendo z um número inteiro negativo, -z é múltiplo de z? Sim, pois basta pegar -z e multiplicar por -1 que encontramos x

A resposta é 3? Sim, pelo menos foi o que vimos a cima


Bom estudo, :y:


Assunto: método de contagem
Autor: sinuca147 - Seg Mai 25, 2009 23:35

Obrigado, mas olha só este link
http://www.colegioweb.com.br/matematica ... ro-natural
neste link encontra-se a a frase:
Múltiplo de um número natural é qualquer número que possa ser obtido multiplicando o número natural por 0, 1, 2, 3, 4, 5, etc.

Para determinarmos os múltiplos de 15, por exemplo, devemos multiplicá-lo pela sucessão dos números naturais:

Ou seja, de acordo com este link -5 não poderia ser múltiplo de 5, assim como 5 não poderia ser múltiplo de -5, eu sempre achei que não interessava o sinal na questão dos múltiplos, assim como você me confirmou, mas e essa informação contrária deste site, tem alguma credibilidade?

Há e claro, a coisa mais bacana você esqueceu, quero saber se existe algum método de contagem diferente do manual neste caso:
Para determinar os elementos do conjunto A, eu tive de basicamente fazer um lista de vinte dividido por todos os números naturais maiores que zero e menores que vinte e um, finalmente identificando como elementos do conjunto A os números 1, 2, 4, 5, 10 e 20. Acho que procedi de maneira correta, mas fiquei pensando aqui se não existiria um método mais "sofisticado" e prático para que eu pudesse identificar ou ao menos contar o número de elementos do conjunto A, existe?