A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Laboratórios

DRT-240 BITS

Seg

19

Abr

2004


02:00

(4 votos, média 4.00 de 5) 


O CICLO DE CIFRAGEM

As quatro fases de cada rodada:

1. Soma e Subtração
	A = (A + CHAVE[1]) MOD 65536
	B = (B - CHAVE[2] + 65536) MOD 65536
	C = (C - CHAVE[3] + 65536) MOD 65536
	D = (D + CHAVE[4]) MOD 65536
2. Inversão
	X1 = A DIV 256
	X2 = C MOD 256
	X3 = A MOD 256
	X4 = C DIV 256
	A = (X2 * 256) + X1
	C = (X3 * 256) + X4

	X1 = B DIV 256
	X2 = D MOD 256
	X3 = B MOD 256
	X4 = D DIV 256
	B = (X2 * 256) + X1
	D = (X3 * 256) + X4
3. Difusão
	ACL = C XOR 27809
	ACL = (ACL + (D * CHAVE[5])) MOD 65536
	A = A XOR ACL
	B = (B + A) MOD 65536

	ACL = (A * CHAVE[6])
	ACL = (ACL + (B XOR 30561)) MOD 65536
	C = ((C + ACL) MOD 65536) XOR B

	ACL = (C DIV 256) + ((B MOD 256) * 256)
	ACL = ACL XOR A
	D = ((D XOR B) + ACL) MOD 65536
4. Rotação
	ACL = A
	A = B
	B = C
	C = D
	D = ACL

Após a oitava rodada faz-se o processo da 1 parte da rodada, ou seja, soma e subtração. Na primeira rodada utilizamos as chaves de 1 até 6, na 2ª de 7 até 12, na 3ª de 13 até 18, na 4ª de 19 até 24, na 5ª rodada de 25 até 30, na 6ª de 31 até 36, na 7ª de 37 até 42, e na oitava rodada de 43 até 48. As Sub-chaves de números 49, 50, 51 e 52 são utilizadas na última parte da cifragem que é executada após a última rodada e corresponde a 1ª fase da rodada, ou seja:

	A = (A + CHAVE[49]) MOD 65536
	B = (B - CHAVE[50] + 65536) MOD 65536
	C = (C - CHAVE[51] + 65536) MOD 65536
	D = (D + CHAVE[52]) MOD 65536

Após este processo o bloco de 64 bits está cifrado. O ciclo da cifragem pode ser representado da seguinte forma:

					-----------------
	A = (A + CHAVE[1]) MOD 65536			|
	B = (B - CHAVE[2] + 65536) MOD 65536		|
	C = (C - CHAVE[3] + 65536) MOD 65536		|
	D = (D + CHAVE[4]) MOD 65536			|
							|
	X1 = A DIV 256					|
	X2 = C MOD 256					|
	X3 = A MOD 256					|
	X4 = C DIV 256					|
	A = (X2 * 256) + X1				|
	C = (X3 * 256) + X4				|
	X1 = B DIV 256					|
	X2 = D MOD 256					|
	X3 = B MOD 256					|
	X4 = D DIV 256					|
	B = (X2 * 256) + X1				|
	D = (X3 * 256) + X4				|
							| ----- 8 voltas
	ACL = C XOR 27809				|
	ACL = (ACL + (D * CHAVE[5])) MOD 65536		|
	A = A XOR ACL					|
	B = (B + A) MOD 65536				|
							|
	ACL = (A * CHAVE[6])				|
	ACL = (ACL + (B XOR 30561)) MOD 65536		|
	C = ((C + ACL) MOD 65536) XOR B			|
							|
	ACL = (C DIV 256) + ((B MOD 256) * 256)		|
	ACL = ACL XOR A					|
	D = ((D XOR B) + ACL) MOD 65536			|
							|
	ACL = A						|
	A = B						|
	B = C						|
	C = D						|
	D = ACL						|
	-------------------------------------------------
			|
			|
	A = (A + CHAVE[49]) MOD 65536
	B = (B - CHAVE[50] + 65536) MOD 65536
	C = (C - CHAVE[51] + 65536) MOD 65536
	D = (D + CHAVE[52]) MOD 65536

Informações adicionais