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
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: 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:
- 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, 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
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.4.tar.gz.
File metadata
- Download URL: pipycriptex-1.0.4.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57e492cdb48480df9de51798f06b267024eb7eb3581881494c3835e1edeaa96e
|
|
| MD5 |
ac3d89de0de68e1eeee81a82cb57c0d4
|
|
| BLAKE2b-256 |
1827d22277ba9c86f2623f823e774d22a4132f22d74a59a99341616473ad8d35
|
File details
Details for the file pipycriptex-1.0.4-py3-none-any.whl.
File metadata
- Download URL: pipycriptex-1.0.4-py3-none-any.whl
- Upload date:
- Size: 6.2 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 |
af3c591118825d8f474dfd82ff55bbd4356f7a304133d9870ebb769c64fb907c
|
|
| MD5 |
e6b95857704b6db7197b6d53d620cff9
|
|
| BLAKE2b-256 |
c294b54e6e058a2236a498fc7b2e08e6a73a9a806a725d2ebd49b4f0a3a20752
|