Skip to main content

Experimental CLI cryptography tool based on decimal digits of pi.

Project description

🥧 PiChain Cipher (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, 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

(Atualize aqui com o comando do seu pacote atualizado)

pip install pichain-cipher --upgrade

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.1.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.1-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipycriptex-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 7c7fa80d225bfd16b7d504cb824aa2920886b57a109f831bddc0db831f9ade8d
MD5 046ba1e8554e63f025c229ea0f0fabea
BLAKE2b-256 3dc09180036b4e90f5ed414e40b248e0e8ac5e28d01dae57134e7282f253c7ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipycriptex-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d65187330e77a43d582859add8e29d8298af8800bb271bea5f8a2478ca93aaac
MD5 f16b1669363afd7e7c31f0d4bae0e57e
BLAKE2b-256 962d861692d707b4b3c8fcfa993c2a598179eb7be81fe9e6631b980679cc4a32

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