O que é a Cifra Afim?
A cifra Afim é uma substituição monoalfabética que generaliza a de César.
Cada letra do alfabeto (convertida em um índice 0..25) é transformada por uma função linear
módulo 26 com dois parâmetros: a (inclinação) e b (deslocamento).
Em outras palavras: converte-se letras em números, aplica-se a transformação afim e reconverte-se em letras.
Se a e 26 não forem coprimos, a função não é inversível e não será possível descriptografar.
Fórmulas
Criptografia: C = (a·P + b) mod 26
Descriptografia: P = a⁻¹·(C - b) mod 26
Condição: a deve ser coprimo com 26 (mdc(a,26)=1) para que exista a⁻¹.
Válidos: a ∈ {1,3,5,7,9,11,15,17,19,21,23,25}, b ∈ {0..25}
Aqui a⁻¹ é o inverso modular de a em ℤ26, ou seja, a·a⁻¹ ≡ 1 (mod 26).
Como funciona
1) Escolha um a coprimo com 26 e um b entre 0 e 25.
2) Normalize o texto (acentos → base). Você pode optar por preservar ñ/Ñ sem criptografar para compatibilidade, mas deve documentar isso.
3) Converta cada letra em seu índice (A=0, …, Z=25), aplique C = (a·P + b) mod 26 e converta novamente em letras.
Para descriptografar, calcule a⁻¹ (pelo algoritmo de Euclides estendido) e use P = a⁻¹·(C - b) mod 26.
Exemplo
Exemplo rápido
Parâmetros: a=5, b=8 ⇒ E(x) = (5x + 8) mod 26
Texto: ATAQUE → índices A=0, T=19, A=0, Q=16, U=20, E=4
Cálculo:
A: (5·0+8)=8 → I | T: (5·19+8)=103≡25 → Z |
A: 8 → I | Q: 88≡10 → K |
U: 108≡4 → E | E: 28≡2 → C
Texto cifrado: IZIKEC
Para descriptografar com a=5, o inverso é a⁻¹=21 (pois 5·21=105≡1 mod 26).
História
- Formaliza e generaliza substituições clássicas (como a de César) usando álgebra modular.
- Usada no ensino para introduzir inversos modulares e funções lineares em ℤn.
Ataques clássicos
- Frequência + pares conhecidos: dois pares texto claro/cifrado
(P₁,C₁),(P₂,C₂)permitem resolveraeb. - Força bruta: o espaço de chaves é pequeno (12 valores possíveis de
a× 26 deb= 312 combinações). - Linguagem: adivinhar mapeamentos prováveis (ex.: letra
Edo texto claro → letra frequente no cifrado) acelera a quebra.
Continua sendo monoalfabética: as frequências globais das letras são preservadas, o que a torna vulnerável.
Prós e contras
Prós
- Generaliza César; excelente para ensinar aritmética modular e inversos.
- Parâmetros flexíveis (
a,b) e implementação simples. - Perfeita para ferramentas interativas e exercícios educacionais.
Contras
- Monoalfabética: vulnerável à análise de frequência e à força bruta (312 combinações).
- Se
anão for coprimo com 26, não existe inverso e a descriptografia é impossível. - Não fornece integridade nem autenticidade; apenas oculta letras por meio de uma função linear.
Ferramenta de Criptografia/Descriptografia Afim
Valores permitidos para a: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25.
b aceita negativos e valores grandes; normalizado módulo 26 (ex.: 27→1, −1→25).