Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Preambulo
1.1 Porquê factorizar a RSA N ?
A razão principal é a descoberta da RSA D (*). E para quê? Para poder utilizar uma netcard.
No meu caso, preciso de uma netcard ligada diretamente no meu recetor oficial da NOZ!!!!
Porque quero poder partilhar o meu cartão oficial e também poder utilizar as funcionalidades
que a operadora me fornece como o TIMEWARP (visualização dos programas dos últimos 7
dias e que não gravei) etc….
A netcard não funciona, puro e simplesmente, sem a tal RSA D e poucos ou nenhuns tiveram
essa chave aquando da leitura da ROM do seu recetor oficial. Só mesmo as RSA N E BK são
fornecidas.
Todo o processo explicado neste documento é baseado no Windows sendo que também é
possível fazer em Linux.
2 Pré-requisitos
2-1 O computador.
Um Computador com vários cores (quanto mais cores melhor) e disco com mais de 10GB e boa
memoria 4GB já deve ser bom.
2.2 GGNFS
O programa GGNFS para a arquitetura do vosso Sistema Operativo (X86 ou X64).
64bits : http://gilchrist.ca/jeff/factoring/ggnfs-svn413-win64-core2.zip
ou
32Bits : http://gilchrist.ca/jeff/factoring/ggnfs-svn413-win32-p4.zip
2.3 MSIEVE
O programa MSIEVE para a arquitetura do vosso Sistema Operativo (X86 ou X64).
64Bits : http://gilchrist.ca/jeff/factoring/msieve152_svn883_win64_i7.zip
ou
32Bits : http://sourceforge.net/projects/msieve/files/latest/download
Nota1: as versões 64Bits não são oficiais, elas foram compiladas por outras pessoas
Nota2 : EVITE a versão 1.52 X64 svn939, tem um bug (nomeadamente na 3 fase do processo)
2.4 FACTMSIEVE.PY
O script de trabalho FACTMSIEVE.PY na versão mais recente possível (aconselho V0.83 ou 0.84
ou 0.86, são mais rápidas na 1ª fase)
83 http://www.mersenneforum.org/attachment.php?attachmentid=6752&d=1308581106
84 http://www.mersenneforum.org/attachment.php?attachmentid=6757&d=1308596785
https://www.python.org/ftp/python/3.5.0/python-3.5.0-webinstall.exe
Nota : Verifiquem a que vos falta pois muitos programas instalam automaticamente o runtime
visual c++.
X86:
2005 http://www.microsoft.com/en-us/download/details.aspx?id=3387
2008 http://www.microsoft.com/en-us/download/details.aspx?id=29
2010 http://www.microsoft.com/en-us/download/details.aspx?id=5555
2012 http://www.microsoft.com/en-us/download/details.aspx?id=30679
2013 http://www.microsoft.com/en-us/download/details.aspx?id=40784
X64:
2005 http://www.microsoft.com/en-us/download/details.aspx?id=18471
2008 http://www.microsoft.com/en-us/download/details.aspx?id=15336
2010 http://www.microsoft.com/en-us/download/details.aspx?id=14632
2012 http://www.microsoft.com/en-us/download/details.aspx?id=30679
2013 http://www.microsoft.com/en-us/download/details.aspx?id=40784
3 Preparação das pastas de trabalho
Extrair o conteúdo do MSIEVE.ZIP dentro dessa mesma pasta D:\GGNFS (responder sim às
questões sobre ficheiros com mesmo, eles não têm importância são readme’s)
Nesta pasta iremos colocar o ficheiro “example.n” que irá conter a nossa chave RSA N no
formato DECIMAL.
Está feito…
Se tiver hyperthreading
meter 2.
Existem vários programas que permitem a conversão da vossa RSA N de Hexadecimal para
Decimal.
Eu utilizei o rsatoolsv2,
- em cima à direita verificam (ou mudam) que está a number base 16.
Criar um novo ficheiro de texto que se vai chamar example.n (verificar que o vosso Windows
não o chame example.n.txt para isso desbloqueiam a visualização das extensões dos ficheiros
no Windows) dentro da pasta example.
Edite o com um editor clássico como o notepad. Este deverá ter esta forma:
n: 89385386199617313997160166654705640849862438803949289184823742958………
5 Lançamento do script
5.1 Algum esclarecimento prévio sobre as fases
Antes de lançar convém explicar sucintamente como trabalha o script.
Ele passa por 3 fases polynomial selection, sieving e finalmente linear álgebra. O script ocupa-
se de ligar estas 3 fases distintas. Ele vai alimentando um ficheiro example.log na pasta
example.
PS : é recomendável que façam nesta 2ª fase pelo menos uma cópia de todos os ficheiros da
pasta EXAMPLE (mesmo sem parar o script) o mais perto dos 100% do sieving. De maneira que
se houver problemas mais a frente não sejam obrigados a recomeçar desde o início.
A 3ª demora entre 10h a 24h e acaba ai o processo com as chaves P (r1) e Q (r2) metidas no
ficheiro g155.example.log que o script cria.
Ir a pasta D:\GGNFS\Example
Digitar : D:
Digitar: cd \GGNFS\example
6 Fim
No fim um ficheiro g155-example.TXT é criado onde dentro vão se encontrar os 2 numeros
primos r1 e r2 (que correspondem a p e q).
Verifiquem que a RSA N corresponde bem à vossa RSA N (no formato original em
HEXADECIMAL).
Recuperam e colam a chave RSA D num ficheiro de texto para futuro uso na netcard.
8 Biblioteca
http://gilchrist.ca/jeff/factoring/nfs_beginners_guide.html
Boa Factorização…
Mig28