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
2e6$\rightarrow$ formando o número26. - 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
8e3$\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:
- Palavra "MEU": Letras $M=13, E=5, U=21 \rightarrow$ vira o número 13521.
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c7fa80d225bfd16b7d504cb824aa2920886b57a109f831bddc0db831f9ade8d
|
|
| MD5 |
046ba1e8554e63f025c229ea0f0fabea
|
|
| BLAKE2b-256 |
3dc09180036b4e90f5ed414e40b248e0e8ac5e28d01dae57134e7282f253c7ba
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d65187330e77a43d582859add8e29d8298af8800bb271bea5f8a2478ca93aaac
|
|
| MD5 |
f16b1669363afd7e7c31f0d4bae0e57e
|
|
| BLAKE2b-256 |
962d861692d707b4b3c8fcfa993c2a598179eb7be81fe9e6631b980679cc4a32
|