Encontre todos os polinómios de grau 3 irredutíveis mod 2. Sugestão

Propaganda
Paar & Pelzl, Capítulos 3,4
Confusão e difusão
Cifras de Feistel, DES
S-box e criptanálise diferencial
Ataques de força bruta
O standard AES
ByteSub, ShiftRows & MixColumns, KeySchedule
Aritmética em corpos de Galois
%%%% Cifras de Feistel e DES (standard 1977-1999)
e(x,c) = (IP; h1; s; … ; hn-1; s; hn; IPinv) (x)
com
hi(L,R) = (L + f(R,ci), R)
s(L,R) = (R,L)
d(x,c) = (IP; hn; s; hn-1; s … ; h2; s; h1; IPinv) (x)
basta inverter as subchaves ci
DES usa blocos de 64 bits, c de 56 bits, ci de 48 bits, n = 16
Função f usa expansão de 32 para 48 bits, permutação e soma com ci
8 S-boxes não lineares de 6 para 4 bits
permutação final
subchaves geradas por rotação de blocos e permutação
%%%% Criptanálise diferencial de S-box
usa (muitos!) pares texto-cifra
análise estatística de diferenciais (Dx,Dy) onde Dy=S(x+Dx)+S(x)
%%%% Ataques de força bruta
56 bits … 3DES seguro, usado em sistemas antigos
%%%% Cifra por camadas, Rijndael = AES (standard desde 2001)
AES(x,c) = (KeyAdd(c0); ByteSub; ShiftRows; MixColumns; KeyAdd(c1);
ByteSub; ShiftRows; MixColumns; KeyAdd(c2);
…
ByteSub; ShiftRows; MixColumns; KeyAdd(cr-1);
ByteSub; ShiftRows; KeyAdd(cr))(x)
x tem 128 bits, tal como cada ci
KeyAdd (ci) (x) = ci+x mod 2
ByteSub(A00 A04 A08 A12) = B onde Bi = M.inv(Ai) + V mod 2 e inv(Ai1,Ai2)=(invGF(Ai1),invGF(Ai2))
A01 A05 A09 A13
inversão em GF(2^8) altamente não linear
A02 A05 A10 A14
seguida de afim que destrói a estrutura de GF
A03 A09 A11 A15
confusão!!!
ShiftRows(B00 B04 B08 B12) = (B00 B04 B08 B12)
B01 B05 B09 B13
B05 B09 B13 B01
1 rotação à esquerda
B02 B06 B10 B14
B10 B14 B02 B06
2 rotações à esquerda
B03 B07 B11 B15
B15 B03 B07 B11
3 rotações à esquerda
MixColumns(coluna) = M.coluna (em GF(2^8))
Por exemplo:
ByteSub-byte(1100 0010) = ByteSub-byte (C2) = M.2F + V = M.(00101111) + V = 25 = 0010 0101
MixColumns(25)= (x.(x^5+x^2+1)) = (x^6+x^3+x) = (0100 1010)
00
…
…
00
00
Subchaves ci: não linear e não simétrica
Exercícios
Ex1
O DES e o AES são cifras construídas sobre S-boxes não lineares.
a) Traduza matematicamente o significado da afirmação.
b) Calcule, para cada uma das cifras o resultado da aplicação de uma S-box aos seguintes pares de
dados:
i. x1 = 000000, x2 = 000001
ii. x1 = 111111, x2 = 100000
iii. x1 = 101010, x2 = 010101
c) O que pode concluir sobre a veracidade da afirmação!
Ex2
Qual é o resultado da primeira iteração do DES quando o texto só contém zeros? E quando só contem
1's? Investigue o que sucede quando, em vez do DES, se usa o AES.
Ex3
Recorde que uma boa cifra por blocos tem a propriedade de difusão. Considere o DES.
a) Qual o significado da afirmação?
b) Suponha que tem o texto a cifrar é composto por 0s excepto na posição 57 em que é 1, e que a chave
também é composta apenas por 0s.
i. Quantas S-boxes recebem inputs diferentes quando comparamos com o texto que só tem 0's?
ii. Qual é o número de bits do texto cifrado que se espera que sejam alterados?
Ex4
Uma chave DES diz-se fraca se o processo de cifra coincide com o processo de decifra qualquer que seja
o texto cifrado.
a) Existem algumas chaves fracas. Quantas e quais são?
b) Deduza a probabilidade de uma chave gerada aleatoriamente ser fraca.
Ex5
Calcule em GF(2^4) a soma e o produto (módulo o polinómio irredutível x^4 + x + 1) dos seguintes pares
de polinómios:
a) A(x)=x^2+1 e B(x)=x^3+x^2+1;
b) A(x)=x^2+1 e B(x)=x+1;
Ex6
Calcule em GF(2^4) os inversos de A(x)=x e de B(x)=x^2+x (módulo x^4 + x + 1).
Ex7
Encontre todos os polinómios de grau 3 irredutíveis mod 2. Sugestão: considere todos os polinómios de
grau inferior e teste se são factores ou não.
Nível 1 – 1,2,5
Nível 2 – 3,6
Nível 3 – 4,7
Download