miércoles, 17 de octubre de 2012

Block Cipher : Hierocrypt

Week 9



Greats, This week we will be talking about: Block Cipher,  spcifically Hierocrypt.



This Hierocrypt have two many different fomrs with small differences:

1-. Hierocrypt-L1 
2-. Hierocrypt-3

                                  and was created by Toshiba in 2000.



These encryption algorithms were presented to the NESSIE project but were not selected, but  it is still highly recommended by the Japanese government used by CRYPTREC.


The differences between these two algorithms are:

The size of blocks: 64 bits vs 128 bits
The PlainText has to be the same size of the block
The size of keys: 128 bits vs 128, 192, or 256 bits.
 The number of rounds of encryption: 6.5 vs 6.5,7.5 or 8.5

The Hierocrypt-3 is more complex.

This Hierocrypt use a  substitution-permutation network structure.
This algorithm starts by transforming a 64-bit plaintext a function of X (64) then substitution is performed using a key by dividing the 64 bits into 8 blocks, and repeating the process of replacing in each of them.
Here the Diagrama:

This we can check in the following pdf: LINK


As mentioned above this algorithm uses 6 permutations to encrypt the message. And in each of the permutations do exactly the same.

Here the process of each permutation:



1-. The X(64) if is the first permutation is the same of Plain text. After this, Use the substitution method Xor and divide those 64 bits into small blocks of 8 bits.

2-. Each S-box will be used and the 64 bits will be separated in two blocks of 32 bits.

3-. Then a function is perfomed tocause slight diffusion so that is harder to detect patterns of sequence.  

4-. We use two  32-bits keys for the Xor substitution method and also We merge the 64-bit.

5-. With this input. We repeat step 1

6-. After that,  we perform a function that cause strongest diffusion so that is harder to detect patterns in the sequence, and we created a matrix of 2x2. then marge the 64-bit. 

7-. This output X (64) is the new entry in the next permutation.

8-Do this  steps all 6 permutations.

9-. Finally encrypts X (64) with a  64-bits key  to get our ciphertext.

This algorithm is strong and weak compared to others in several ways.

Disadvantages:

1-. The design and structure are much larger than the Feistel structure and takes longer.

2-. The Diffusion´s widht is twice of the Feistel structure.

 Feisel encryption has a symmetrical structure that uses a block cipher, named for the German and cryptographer Horst Feistel

3-. Input size limits.

Advantage
 
1-. Fast execution
2-. Better security against statistical attacks

Special thanks to Esteban Sifuentes for checking my Orthography.


Reference:
http://en.wikipedia.org/wiki/Rijndael_S-box 
http://en.wikipedia.org/wiki/Hierocrypt
http://es.wikipedia.org/wiki/Criptograf%C3%ADa
link de pdf de las imagenes LINK
http://en.wikipedia.org/wiki/Feistel_cipher
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

1 comentario:

  1. La ortografía sigue mala. Faltó el ejemplo de cómo se cifran unos tres bloquecitos. Van 4 de 7.

    ResponderEliminar