Skip to main content

Experimental CLI cryptography tool based on decimal digits of pi.

Project description

🥧 PiPycryptex (O Caos das Casas Decimais de Pi)

Bem-vindo ao pipycryptex, um desafio científico de criptografia polialfabética dinâmica criado do zero!

Este projeto nasceu de uma provocação entre eu e um amigo chamado Kaue que também curte criptografia: Como transformar a expansão decimal infinita do número Pi em um fluxo caótico de criptografia que destrói qualquer tentativa de análise de frequência tradicional?

O resultado é um CLI em Python que utiliza ponteiros dinâmicos e autocifra (autokey) para gerar textos cifrados onde uma mesma letra nunca se repete com o mesmo caractere.


🧠 Como Funciona o Algoritmo? (O Raio-X do Caos)

Diferente de uma Cifra de César comum, que usa um deslocamento fixo, o pipycryptex caminha pela expansão de Pi (1415926535...) de forma viva. O alfabeto funciona de forma circular ($A=1$ até $Z=26$, voltando ao $A$ via operação de módulo).

Imagine que queremos criptografar a palavra CASA ($C=3, A=1, S=19, A=1$) escolhendo a 5ª casa decimal de Pi como ponto de partida:

1ª Letra (C = 3):

  • O algoritmo vai até a 5ª casa decimal de Pi (que é o número 9).
  • Regra da 1ª Letra: Pega apenas 1 algarismo.
  • Operação: $3 \text{ (C)} + 9 = 12 \rightarrow$ L
  • O ponteiro avança 1 casa no Pi.

2ª Letra (A = 1):

  • O ponteiro está na 6ª casa.
  • Regra Geral (Daqui até o fim): Pega sempre 2 algarismos juntos.
  • Na 6ª e 7ª casa de Pi, encontramos os números 2 e 6 $\rightarrow$ formando o número 26.
  • Operação: $1 \text{ (A)} + 26 = 27$. Aplicando o módulo do alfabeto, $27 \pmod{26} = 1 \rightarrow$ A
  • O ponteiro agora dá um Salto Dinâmico Autoguiado: ele avança somando o valor da própria letra atual ($+1$).

3ª Letra (S = 19):

  • O ponteiro saltou para a frente baseando-se na letra anterior. Ele lê os próximos 2 algarismos (vamos supor que sejam 8 e 3 $\rightarrow$ 83).
  • Operação: $19 \text{ (S)} + 83 = 102 \pmod{26} = 24 \rightarrow$ X
  • O Efeito Cascata: Se um atacante errar uma única letra na descriptografia, o ponteiro dele vai para o lugar errado no Pi e todo o resto do texto vira estática pura.

🔐 O Futuro: Constantes Privadas e Multicamadas Mentais Dinâmicas

O verdadeiro potencial de defesa do pipycryptex aponta para um futuro revolucionário na segurança: a criação de Constantes Irracionais e Transcendentais Privadas.

Hoje, a expansão do Pi é pública, o que permite ataques de força bruta testando posições sequenciais. Mas e se você descobrisse ou gerasse uma constante matemática própria? Uma sequência infinita, não periódica e totalmente privada, cuja fórmula de geração é conhecida apenas por você e pelo receptor. Sem um banco de dados público dessas casas decimais, a engenharia reversa e a força bruta se tornam matematicamente impossíveis.

A partir dessa constante privada, o algoritmo permite re-criptografar o texto múltiplas vezes usando uma Chave Mental Fracionada. Cada palavra de uma frase ou poema memorizado por você se transforma em uma camada independente de criptografia em cascata.

A vantagem definitiva? Essa estrutura de camadas fica guardada apenas na sua mente. É uma senha fácil de lembrar (você jamais esqueceria), mas que gera um labirinto geométrico no Pi que nunca toca o disco rígido, ficando 100% imune a malwares ou spywares.

💡 A Lógica da Frase "Meu Amor"

Imagine que você escolheu a frase mental "meu amor". Ela é composta por duas palavras, o que significa que o seu texto passará por mais duas camadas consecutivas de criptografia além da constante principal.

O sistema converte cada palavra em uma sequência numérica baseada na posição das letras no alfabeto:

  1. Palavra "MEU": Letras $M=13, E=5, U=21 \rightarrow$ vira o número 13521.
  2. Palavra "AMOR": Letras $A=1, M=13, O=15, R=18 \rightarrow$ vira o número 1131518.

O Processo em Cascata:

  • Camada Base: Você criptografa o livro original usando a sua constante secreta na casa inicial desejada.
  • Camada 2 (Palavra "MEU"): Você pega o resultado da camada anterior e aplica o algoritmo novamente, mas usando o número 13521 como a nova casa inicial do Pi. O ponteiro vai saltar de forma totalmente diferente.
  • Camada 3 (Palavra "AMOR"): Você pega o resultado da Camada 2 e passa a faca mais uma vez, aplicando o algoritmo com a casa inicial 1131518.

🎼 O Limite é a Sua Imaginação: Criptografia por Soneto ou poesias faceis de memorizar

Se duas palavras já geram um nível de caos absurdo, imagine usar um soneto inteiro de poesia.

Cada palavra do poema será processada na ordem exata em que aparece. Se o soneto tiver 100 palavras, e você quiser criptografar um livro de 500 páginas, o seu livro de 500 páginas será criptografado 100 vezes seguidas, alternando o ponto de partida e a dinâmica de saltos no Pi 100 vezes!

Para um criptoanalista, tentar desatar esse nó estatístico sem saber qual poema você tem na cabeça (e em qual ordem) é uma tarefa virtualmente impossível. Você destrói qualquer resquício de estrutura da linguagem original.


⚡ E que se foda a quantidade de RAM! 💻🔥

Uma das partes mais insanas e divertidas desse algoritmo é o seu custo computacional para chaves colossais. Como o gerador precisa calcular Pi de forma global e sequencial para achar a casa inicial desejada, o consumo de hardware escala de forma brutal.

Imagine criar uma criptografia que precisou de 10 Terabytes de memória RAM só para gerar o fluxo de dígitos de uma camada? E aí você vai lá e faz isso três vezes, criando três camadas consecutivas de puro caos de hardware. É a união da segurança lógica com o estresse absoluto de silício! Se o atacante não tiver um supercomputador de um centro de dados inteiro, ele não consegue nem começar a processar a busca.


🛠️ Como Instalar e Rodar

pip install pipycryptex

basta escolher um texto qualquer e alguma casa decimal de pi para começar a testar a criptografia

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pipycriptex-1.0.6.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pipycriptex-1.0.6-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file pipycriptex-1.0.6.tar.gz.

File metadata

  • Download URL: pipycriptex-1.0.6.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for pipycriptex-1.0.6.tar.gz
Algorithm Hash digest
SHA256 20e27ebf1884d8a3b51361d744d7a8a6b166a5f58ca33be13fd99a0593da8da7
MD5 26d81a5a2a192f62336a100ec0a6797f
BLAKE2b-256 e9d3ffcf8ff86cd76321f3531c2f4bb65c0676601da4325d5808063d9fc9b17b

See more details on using hashes here.

File details

Details for the file pipycriptex-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: pipycriptex-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for pipycriptex-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4776e42abfee0f15e5e0cd07d6ccc6941e9b606a38d9e52d72ef9e76734843b0
MD5 ff3eba97dfae9d4d41aba8efa8f2d549
BLAKE2b-256 56066f91a51aea14916edd7da2b3ded08624e806b92e08169692b0a4046332d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page