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: Criptografia de Multicamadas Mentais Dinâmicas

O verdadeiro potencial de defesa do pipycryptex se revela quando combinamos a constante infinita com o poder de uma Chave Mental Fracionada. O algoritmo permite re-criptografar o texto gerado múltiplas vezes, criando camadas sobre camadas de segurança onde cada palavra de uma frase se torna uma chave isolada.

A vantagem? A senha fica guardada apenas na sua mente, é fácil de lembrar (você jamais esqueceria) e 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.3.tar.gz (5.5 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.3-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipycriptex-1.0.3.tar.gz
  • Upload date:
  • Size: 5.5 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.3.tar.gz
Algorithm Hash digest
SHA256 467c0330dee07eb8894393f40b91d9b186dc9f5dc0ddc57440f8d9c875f22af6
MD5 2d5eb3321cdc7f627aca474b82204469
BLAKE2b-256 481eb71b1630249bbbfeecd8c3e3fc73a11219e41ead89a7cd331e394a0bead8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipycriptex-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4b9cdcc361e1c0d141c5a454a01eb407b34d171b208285beca426b771a75cfde
MD5 8277b0f01df20592e583bff41d84fe9b
BLAKE2b-256 afecd971bd59ebcac3071951f4d674e99ad44609e93a271ba21755ea6f30bf98

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