Laboratórios
DRT-240 BITS
Seg 19 Abr 2004 02:00 |
- Detalhes
- Categoria: Laboratório de Criptografia
- Atualização: Quinta, 14 Janeiro 2010 14:00
- Autor: Yugi
- Acessos: 13613
2.4 DECIFRAGEM PASSO A PASSO
Consideremos o criptograma cujos valores para A, B, C e D, representem respectivamente 19057, 11640, 33583 e 60240, e cuja chave seja
[000000000000000000000000000000000000000000000000000000000000]. Vamos à sua decifragem. Como se fez na cifragem, vamos condensar a decifragem relativa à interação final e às rodadas de 8 até 2 (note que na decifragem devemos considerar tudo ao inverso!!!) em uma tabela. Veja a seguir:
RODADA | Rotação | Difusão | Inversão | Soma & Subtração |
INTERAÇÃO FINAL |
A = 37778 B = 8351 C = 34358 D = 45639 |
|||
8 | A = 45639 B = 37778 C = 8351 D = 34358 |
A = 28373 B = 57675 C = 46316 D = 63069 |
A = 54708 B = 19446 C = 60526 D = 24033 |
A = 56835 B = 31582 C = 52193 D = 37815 |
7 | A = 37815 B = 56835 C = 31582 D = 52193 |
A = 7984 B = 19020 C = 18856 D = 58646 |
A = 12361 B = 19685 C = 43039 D = 5706 |
A = 1035 B = 28538 C = 10518 D = 14085 |
6 | A = 14085 B = 1035 C = 28538 D = 10518 |
A = 50993 B = 52486 C = 64460 D = 59559 |
A = 12795 B = 1768 C = 52423 D = 42957 |
A = 48815 B = 39829 C = 18683 D = 8025 |
5 | A = 8025 B = 48815 C = 39829 D = 18683 |
A = 44466 B = 40790 C = 62816 D = 9878 |
A = 45813 B = 22054 C = 24749 D = 38559 |
A = 2732 B = 56111 C = 65211 D = 53860 |
4 | A = 53860 B = 2732 C = 56111 D = 65211 |
A = 41263 B = 14408 C = 18922 D = 30032 |
A = 12105 B = 18549 C = 60065 D = 20536 |
A = 30218 B = 52033 C = 40194 D = 13053 |
3 | A = 13053 B = 30218 C = 52033 D = 40194 |
A = 30615 B = 17165 C = 60987 D = 4806 |
A = 38894 B = 3346 C = 15223 D = 50755 |
A = 23253 B = 62006 C = 47626 D = 56413 |
2 | A = 56413 B = 23253 C = 62006 D = 47626 |
A = 27251 B = 32376 C = 15485 D = 60046 |
A = 29500 B = 30954 C = 32106 D = 36478 |
A = 39337 B = 43445 C = 11434 D = 61640 |
LÓGICA DA DECIFRAGEM (última volta)
A = 39337 B = 43445 C = 11434 D = 61640 ACL = D D = C C = B B = A A = ACL A = 61640 B = 39337 C = 43445 D = 11434
ACL = (C DIV 256) + ((B MOD 256) * 256) ACL = (ACL XOR A) D = (D – ACL + 65536) MOD 65536 D = (D XOR B) ACL = (43445 DIV 256) + ((39337 MOD 256) * 256) = 43433 ACL = 43433 XOR 61640 = 22881 D = (11434 – 22881 + 65536) MOD 65536 = 54089 D = (54089 XOR 39337) = 19168 ACL = (A * KEY[N + 5]) ACL = (ACL + (B XOR 30561)) MOD 65536 C = C XOR B C = (C - ACL + 65536) MOD 65536 ACL = (61640 * 28188) = 1737508320 ACL = (1737508320 + (39337 XOR 30561)) MOD 65536 = 13480 C = 43445 XOR 39337 = 12316 C = (12316 – 13480 + 65536) MOD 65536 = 64372 ACL = ((C XOR 27809) + (D * KEY[N + 4])) MOD 65536 B = (B - A + 65536) MOD 65536 A = (A XOR ACL) ACL = (64372 XOR 27809) = 38869 ACL = (38869 + (19168 * 12596)) MOD 65536 = 44373 B = (39337 – 61640 + 65536) MOD 65536 = 43233 A = (61640 XOR 44373) = 23965
Valores atuais para as words:
A = 23965 B = 43233 C = 64372 D = 19168
X1 = (A MOD 256) * 256 X2 = C DIV 256 X3 = (C MOD 256) * 256 X4 = A DIV 256 A = (X1 + X2) C = (X3 + X4) X1 = (23965 MOD 256) * 256 = 40192 X2 = 64372 DIV 256 = 251 X3 = (64372 MOD 256) * 256 = 29696 X4 = 23965 DIV 256 = 93 A = (40192 + 251) = 40443 C = (29696 + 93) = 29789 X1 = (B MOD 256) * 256 X2 = D DIV 256 X3 = (D MOD 256) * 256 X4 = B DIV 256 B = (X1 + X2) D = (X3 + X4) X1 = (43233 MOD 256) * 256 = 57600 X2 = (19168 DIV 256) = 74 X3 = (19168 MOD 256) * 256 = 57344 X4 = (43233 DIV 256) = 168 B = (57600 + 74) = 57674 D = (57344 + 168) = 57512 A = 40443 B = 57674 C = 29789 D = 57512
A = (A - KEY[N + 0] + 65536) MOD 65536 B = (B + KEY[N + 1]) MOD 65536 C = (C + KEY[N + 2]) MOD 65536 D = (D - KEY[N + 3] + 65536) MOD 65536 A = (40443 – 40443 + 65536) MOD 65536 = 0 B = (57674 + 7862) MOD 65536 = 0 C = (29789 + 35747) MOD 65536 = 0 D = (57512 – 57512 + 65536) MOD 65536 = 0
ENFIM O BLOCO DECIFRADO:
A = 0 B = 0 C = 0 D = 0
Está completo o processo de decifragem do Criptossistema DRT.