Números primos ilegais: eles existem? Sim, mas eles não são legalmente atacáveis

Qual é o mínimo múltiplo comum entre os números primos, um conceito puramente matemático, e a ciência da computação? Para os não iniciados, é segurança! E é principalmente por essa razão que eles são particularmente fascinantes e há recompensas reais pagas pelos novos números primos que são descobertos. Mas você sabia que alguns desses números primos são, legalmente falando, "ilegais"?

A busca por números primos ilegais, porém, é uma espécie de "jogo" , um jogo que visa interpretar de forma paradoxal as leis citadas pelo Digital Millennium Copyright Act (DMCA). Tudo começou com o matemático e programador americano Phil Carmody, com o objetivo de identificar um número primo tão grande a ponto de ser digno de interesse em publicações científicas, mas que ao mesmo tempo codifica informações cuja divulgação está sujeita a restrições .

Você sabia que tudo no mundo pode ser representado exclusivamente por um número?

Pode parecer um pouco estranho para alguém fora do mundo digital, mas nós, cientistas da computação, desenvolvemos uma certa habilidade em encontrar uma codificação única para praticamente tudo. Em última análise, tudo vive na forma de bits (1s e 0s), que juntos formam milhões de números diferentes.

Não é por acaso que a codificação ASCII, tanto em 7 quanto em 8 bits, fornece uma atribuição única do caractere <-> número, ou que cada pixel é representado por 3 números (vermelho, verde e azul) com valores de 0 a 255 cada. para indicar sua intensidade. Juntando todos esses números, obtemos letras enormes, imagens de resolução incrível ou músicas.

Tabela ASCII em 8 bits

Porém, o mesmo "objeto" pode ser representado por diferentes números com base na codificação escolhida , o truque para nos entendermos é escolher a priori de qual codificação estamos falando. É por isso que a mesma imagem pode ter formatos diferentes (jpg, png, gif): a informação é a mesma, mas codificada de uma forma diferente ou melhor, os dados são compactados de uma forma diferente, e isso significa que os números dentro dela são diferente de acordo com o formato escolhido. Mesmo os próprios programas, no final, são um conjunto de instruções de baixo nível, mas cada instrução é um conjunto de bits que juntos formam um grande número.

Agora imagine que você escreveu um número aleatório em um pedaço de papel, e esse número, por acaso, quando convertido para binário representa uma série de instruções que permitem decodificar um fluxo de dados governamental protegido e, conseqüentemente, este programa seria ilegal em mãos não governamentais. Mas nós apenas escrevemos um número em um pedaço de papel, não roubamos nenhum software de ninguém. De quem é a culpa?

Embora a legislação sobre a proteção dos direitos autorais proteja as obras intelectuais, do ponto de vista jurídico é difícil, senão impossível, bloquear a divulgação e o compartilhamento de um número (especialmente se de particular interesse, como um número primo) , mesmo que de alguma forma codifique conteúdo protegido por direitos autorais, porque pode admitir muitos usos diferentes. Além disso, um número não é patenteável ou sujeito a direitos autorais como tal.

A história de Jon Lech: uma diatribe legal sobre a decodificação de DVDs protegidos por DRM

O negócio de primos ilegais começou em 2002 com John Lech Johansen. Também conhecido como DVD Jon, ele é um programador norueguês envolvido na engenharia reversa de formatos de arquivos proprietários. Membro do grupo de crackers Master of Reverse Engineering (MoRE), desenvolveu o software DeCSS em 2002 e foi processado por publicar o código-fonte do software em seu site.

O que há de especial nessa história? DeCSS é um programa escrito em C que permite contornar as proteções DRM impostas aos DVDs. Johansen foi julgado e depois absolvido, mas a história foi um ponto de partida para muitos analisarem em vários aspectos a ilegalidade de programas e dados em computadores ou sobre a interpretação da Lei de Direitos Autorais do Milênio Digital .

DeCSS - Wikipedia
O código DeCSS escrito em C: pode ser usado para ignorar a codificação DRM imposta aos DVDs.

Números principais ilegais: como eles se parecem?

Com base no discurso de codificação feito nos parágrafos anteriores, um método hipotético para tentar contornar a restrição e distribuir software em princípio ilegal sem problemas é codificar de alguma forma o programa em uma forma alternativa que tivesse outros usos legítimos ou mesmo tais propriedades notáveis. para torná-lo publicável.

Na verdade, pensamos em pegar o código binário que compõe o programa e compactá-lo. Ao compactá-lo, sai outro código binário compactado que, como tal, pode ser expresso na forma de um número, até mesmo decimal.

Bem, em 2001, o matemático e programador Phil Carmody começou a procurar algum número primo que pudesse codificar o DeCSS . E como a busca por números primos é muito importante para a pesquisa, tanto matematicamente (para as várias propriedades que os números primos oferecem) quanto na ciência da computação (ver RSA), esse número seria facilmente digno de interesse científico e, portanto, publicável.

Explorando alguns recursos da codificação gzip e contando com o teorema de Dirichlet (que afirma que, dados dois inteiros coprime a e b, há primos na forma a + nb), Carmody primeiro conseguiu provar a existência pelo menos teórica de primos que satisfaziam esses requisitos , e posteriormente identificou alguns deles na prática.

O primeiro número primo ilegal a ser descoberto foi relativamente pequeno, consistindo de apenas 1.041 dígitos . Assim, Carmody decidiu continuar a pesquisa, identificando posteriormente um número de 1905 dígitos, na época o décimo maior identificado pela primeira vez e depois inserido em algumas publicações do setor.

Dissemos que um número pode representar várias coisas e que coisas diferentes podem ser representadas por números diferentes. Então, quem nos proíbe de representar um programa como uma imagem? Atualmente nenhum, aqui está a aparência do primeiro número primo ilegal, assim como software ilegal, descoberto por Carmody :

números primos ilegais
Representação gráfica do número primo ilegal descoberto por Carmody criado pela associação de cada bit com uma cor, cinza ou preto, dependendo se zero ou um. O primeiro bit é o mais significativo, os quadrados correspondentes aos bits são agrupados para formar uma imagem retangular. Créditos: wikipedia

Carmody não parou por aí, porém, e continuou sua pesquisa com um outro objetivo: encontrar números primos que codificassem diretamente o programa em código de máquina, sem passar por nenhum algoritmo de compressão intermediário. Com mais trabalho, portanto, ele identificou outro número primo que representava em uma proporção de 1: 1 um arquivo executável ELF Linux para arquitetura i386, com funcionalidade semelhante ao DeCSS . É, portanto, o primeiro programa executável para o qual uma representação na forma de um número primo foi identificada .

Curioso para saber a aparência de um executável representado como um número primo?

números primos ilegais

Pegue este número, escreva-o em um arquivo codificado em binário e você terá o executável Linux do DeCCS. E aqui está como é possível distribuir informações ilegais, legalmente disfarçadas de números primos . Fascinante, não é?

Artigo Números primos ilegais: eles existem? Sim, mas eles não são legalmente atacáveis vem do TechCuE .