+ All Categories
Home > Education > Information security Seminar #3

Information security Seminar #3

Date post: 06-May-2015
Category:
Upload: alexander-kolybelnikov
View: 161 times
Download: 0 times
Share this document with a friend
Description:
Information security seminar for 4th course of MIPT. Symmetric block ciphers. AES.
28
Seminar #3 Block ciphers Kolybelnikov Alexander [email protected]
Transcript
Page 1: Information security Seminar #3

Seminar #3 Block ciphers

Kolybelnikov Alexander

[email protected]

Page 2: Information security Seminar #3

Agenda

• Field of block ciphers application

• Galois fields, operations with polynomials

• Feistel scheme

• GOST 28147-89

• AES

• Encryption algorithms application schemes

Page 3: Information security Seminar #3

Field of block ciphers application

Page 4: Information security Seminar #3

Block ciphers advantages

• Effective realization on modern soft-hardware platforms;

• High speed of encryption/decryption;

• Guaranteed stability.

Page 5: Information security Seminar #3

Galois fields, operations with polynomials

Page 6: Information security Seminar #3

Galois fields

• Finite field (Galois field) is a field that contains finite number of elements

• Finite field is commonly expressed as GF(q), q is a number of the field elements.

• Simple example of finite field is residue ring modulo a prime number p.

Page 7: Information security Seminar #3

Galois fields• Field GF(pn) defining (p is a prime number, n is a natural number) starts with defining

of its prime subfield GF(p) (that is equal to the whole field for n=1).

• Prime field GF(p) is defined as a residue ring modulo p, that doesn't have zero divisors

and is a field (because p is a prime number).

• Elements are numbers. Operate with elements like integer numbers, reducting a result

on p modulo.

• Field GF(pn) for n>1 is defined as a factor ring, f(x) is a prime polynomial of degree n

on the field. So to define a field from pn elements it is enough to find a polynomial of

degree n that is a prime for the field.

• Field elements are polynomials of degree less than n. Arithmetic operations (addition

and multipliciation) are on modulo of polynomial f(x), so the result corresponding to an

operation is a remainder from division by f(x) with reduction of coefficients on modulo

p.

Page 8: Information security Seminar #3

Operations with polynomials

• Polynomial of n variables is a finite formal sum:

I = (i1,i2,...,in) is a set of integer non-negative numbers (multiindex), cI is a number

(polynomial coefficient) that depends only on multiindex I.

Page 9: Information security Seminar #3

Feistel scheme

Page 10: Information security Seminar #3

Feistel scheme

Page 11: Information security Seminar #3

GOST 28147-89

Page 12: Information security Seminar #3

• Key length is 256 bits;

• Crypto unit is 64 bits;

• Number of cycles is 32.

GOST 28147-89

Page 13: Information security Seminar #3

Encryption GOST 28147-89

Page 14: Information security Seminar #3

S-block example

• 4, 13, 0, 14, 8, 7, 10, 2, 5, 1, 9, 6, 11, 15, 12, 3

Page 15: Information security Seminar #3

AES

Page 16: Information security Seminar #3

• Key length is 128-256 bits;

• Crypto unit is 128 bits;

• Number of cycles is 10, 12, 14.

AES

Page 17: Information security Seminar #3

AES cycle

• SubBytes()

• ShiftRows()

• MixColumns()

• AddRoundKey()

Page 18: Information security Seminar #3

SubBytes

SubBytes() procedure processes each status byte, independently making non-linear bytes replacement with the use of substitution table (S-box). This operation provides nonlinearity of encryption algorithm. S-box construction involves two stages. At first, taking of inverse number in GF{28} is executed. Secondly, the operation in the picture above is applied to each byte of S-box.

Page 19: Information security Seminar #3

SubBytes

bi is i bit of b, ci is i bit of c = {63} or {01100011}. This provides attack protection based on simple algebraic properties.

Page 20: Information security Seminar #3

ShiftRows• ShiftRows() procedure processes State rows. This

transformation automatically moves state rows cyclically on r bytes horizontally depending on a row number. For null row r = 0, for the first row r = 1b etc... So each result column (after ShiftRows() procedure applying) consists of bytes of each initial column. For Rijndael algorithm pattern of rows moving is identical for rows consisting of 128 and 192 bits. But for a block of 256 bits pattern differs in the way that 2, 3, and 4 rows are moved on 1, 3 and 4 bytes correspondingly.

Page 21: Information security Seminar #3

MixColumns • In MixColumns() procedure four bytes of each

State column mix using reversible linear transformation. MixColumns() processes states by columns interpreting each column as a polynomial of 4 degree. Multiplying in GF(28) modulo x4 + 1 into fixed polynomial c(x) = 3x3 + x2 + x + 2 is applied to these polynomials. As ShiftRows() procedure, MixColumns() also adds diffusion to a cipher .

Page 22: Information security Seminar #3

AddRoundKey• In AddRoundKey() procedure RoundKey of each

round is united with State. For each round Roundkey is received from CipherKey using KeyExpansion procedure; each RoundKey is of the same size as State. This procedure executes bit-mapped XOR of each State byte with each RoundKey byte.

Page 23: Information security Seminar #3

Ciphers application schemes

Page 24: Information security Seminar #3

Electronic Code Book (ECB)

Page 25: Information security Seminar #3

Cipher block chaining

Page 26: Information security Seminar #3

Cipher Feed back mode

Page 27: Information security Seminar #3

Output feedback mode

Page 28: Information security Seminar #3

XTS mode


Recommended