**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