Criptografia Numaboa
O princípio dos rotores
Qua 9 Nov 2005 01:45 |
- Detalhes
- Categoria: Dispositivos de Cifragem
- Atualização: Terça, 14 Abril 2009 21:02
- Autor: vovó Vicki
- Acessos: 13485
Máquinas de cifragem com rotores trabalham com uma sequência de substituições monoalfabéticas, alternadas a cada letra do texto claro. Esta troca de alfabeto cifrante a cada letra é efetuada por um "rotor". Para entender o princípio de funcionamento destas máquinas, vamos inicialmente ver como funciona um rotor.
O princípio da substituição
Um rotor é constituído por um disco que possui contatos na borda externa em ambas as faces. O número de contatos é igual ao número de letras que o alfabeto do disco possui. Os contatos da face A estão ligados aos contatos da face B de forma irregular. Por exemplo, o contato 1 é ligado ao 5, o 2 ao 18, etc. Como consequência dos contatos trocados obtém-se uma substituição monoalfabética que ocorre da seguinte maneira:
- Numa das faces - a face de entrada - os contatos são ligados a um teclado. Na outra face - a face de saída - os contatos são ligados a pequenas lâmpadas identificadas por uma letra ou são ligados a uma impressora ou outro dispositivo de impressão.
- Na face de entrada cada uma das teclas do teclado está ligada a um contato. Como as ligações entre os contatos da face de entrada e os da face de saída estão trocados, a saída é de letras diferentes das correspondentes à face de entrada.
Na tabela abaixo está um exemplo fictício do que pode ocorrer. A primeira linha corresponde às letras do teclado. A segunda linha contém a sequência dos contatos da face de entrada, nesta etapa do exemplo ligados aos contatos das letras correspondentes do teclado. A terceira contém a sequência das ligações entre os contatos da face de entrada e os da face de saída e, finalmente, a quarta linha indica a letra cifrada, resultado da substituição.
No exemplo foi ressaltada a letra "a" do teclado, ligada ao contato da letra "A" na face de entrada. Esta, por sua vez, está ligada ao contato que corresponde à letra "K" na face de saída. Como resultado, a letra "a" é substituída pela letra "K".
Da mesma forma podemos verificar que a letra "i", por exemplo, será substituída pela letra "H", a "e" por "C" e assim por diante.
Teclado | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
Entrada | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
Saída | Q | W | E | R | T | Z | U | I | O | P | A | S | D | F | G | H | J | K | L | Y | X | C | V | B | N | M |
CIFRA | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
Tabela exemplo de substituição por rotor
O princípio da rotação
Após a substituição de uma letra, o rotor é girado para ocupar uma nova posição. Desta forma é obtida uma substituição polialfabética.
Substituindo as letras por números (o que não altera o processo), vamos analisar o exemplo acima depois do rotor ter rodado uma posição: a letra "a" do teclado se encontra agora no contato Z=25, a letra "b" do teclado no contato A=00 e assim sucessivamente. Observe as tabelas abaixo:
|
|
Na posição inicial, a letra "a" do teclado foi substituída pela letra "K". Após o avanço de uma posição do rotor, a mesma letra "a" passa a ser substituída por "G".
Descrição com o uso de uma tabela
O alfabeto primário, o qual descreve a posição inicial do rotor, encontra-se na linha 0. Os alfabetos acompanhantes são chamados de alfabetos "rotantes".
Os alfabetos rotantes, como de costume, podem ser escolhidos progressivamente ou através de uma chave.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z -> claro --------------------------------------------------- 0 K X V M C N O P H Q R S Z Y I J A D L E G W B U T F -> primário 1 G L Y W N D O P Q I R S T A Z J K B E M F H X C V U 2 V H M Z X O E P Q R J S T U B A K L C F N G I Y D W 3 X W I N A Y P F Q R S K T U V C B L M D G O H J Z E 4 F Y X J O B Z Q G R S T L U V W D C M N E H P I K A 5 B G Z Y K P C A R H S T U M V W X E D N O F I Q J L 6 M C H A Z L Q D B S I T U V N W X Y F E O P G J R K 7 L N D I B A M R E C T J U V W O X Y Z G F P Q H K S 8 T M O E J C B N S F D U K V W X P Y Z A H G Q R I L 9 M U N P F K D C O T G E V L W X Y Q Z A B I H R S J 10 K N V O Q G L E D P U H F W M X Y Z R A B C J I S T 11 U L O W P R H M F E Q V I G X N Y Z A S B C D K J T 12 U V M P X Q S I N G F R W J H Y O Z A B T C D E L K 13 L V W N Q Y R T J O H G S X K I Z P A B C U D E F M 14 N M W X O R Z S U K P I H T Y L J A Q B C D V E F G 15 H O N X Y P S A T V L Q J I U Z M K B R C D E W F G 16 H I P O Y Z Q T B U W M R K J V A N L C S D E F X G 17 H I J Q P Z A R U C V X N S L K W B O M D T E F G Y 18 Z I J K R Q A B S V D W Y O T M L X C P N E U F G H 19 I A J K L S R B C T W E X Z P U N M Y D Q O F V G H 20 I J B K L M T S C D U X F Y A Q V O N Z E R P G W H 21 I J K C L M N U T D E V Y G Z B R W P O A F S Q H X 22 Y J K L D M N O V U E F W Z H A C S X Q P B G T R I 23 J Z K L M E N O P W V F G X A I B D T Y R Q C H U S 24 T K A L M N F O P Q X W G H Y B J C E U Z S R D I V 25 W U L B M N O G P Q R Y X H I Z C K D F V A T S E J
Algumas considerações fazem-se necessárias. Observe que cada diagonal da tabela, da esquerda para a direita e de cima para baixo, contém um alfabeto padrão. Além disso, as representações possíveis de uma letra não estão uniformemente distribuídas.
Como na coluna correspondente à letra "A" do alfabeto claro não aparecem todas as letras, os inícios das linhas não são apropriadas para orientarem a escolha de um alfabeto através de uma chave. Devido a isto, é mais fácil escolher o número da linha, uma vez que este corresponde às letras do alfabeto (0=A, 1=B, ..., 25=Z).
Fontes
- Klaus Pommerening, Universidade de Mainz