Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo

1

Sivasankari. S. A et al Int. Journal of Engineering Research and Application
ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495

RESEARCH ARTICLE

www.ijera.com

OPEN ACCESS

The Skien Hash Function
Sivasankari. S. A1, Allan Mary George 2, Pavithra. S 3
1

Assistant Professor, 2Assistant Professor, 3Assistant Professor
Department of ECE, Saveetha School of Engineering, Saveetha University, Saveetha Nagar, Thandalam,
Chennai-602 105, Tamilnadu, India

ABSTRACT
In this paper, we simulate the performance of skein hash function in VHDL FPGA. Skein is a new cryptographic
family. It is designed in such a way that it is simple, easy and flexible. This function which is implemented in
software based. This is a hashing function which provides security.
Keywords: Skein hash function, Threefish block cipher, MIX function, Key schedule, unique block iteration
(UBI).
I. Introduction
The new family of cryptographic hash
function is skein. The advantages of this hash function
are speed, security, simplicity and flexibility due to its
design as well as easy to analyse. Skein hash function
is fast and secure Skein has three different internal
state sizes as 256, 512, 1024 bits and output may be
any size. It is a good replacement of SHA family.
Skein is an efficient tool to be used for large number
of functions due to its optional and extendable
argument system [1]. Skein is efficient for both
hardware and software platforms.The remainder of
this paper is organized as follows:
Section II presents the Basic structure of
skien, Section III discusses about the skein algorithm,
and Section IV draws the conclusion.

II. Basic structure of Skein
2.1. Overview of Skein
Skein is a new family hash function with
three internal state sizes: 1024,512,256 bits.
 Skein- 512 which is used for all present hashing
applications with secures and remains secure for
the future.
 Skien-1024 is ultra conservative variant [1].
Skein-1024 is the twice of skein- 512. Skein 1024
is twice as fast as Skein- 512.
 Skien-256 is low memory variant [1].
The above discussed internal state size which can
support any size of output.
Replacement of one type of hash function with
other type of hash function shown in Table: 1[1]

www.ijera.com

Table: 1: Replacements for MD5, SHA-1 and SHA2
2.2. Basic building blocks
Three new components are needed to build
Skien.They are three fish block cipher, Unique block
iteration (UBI), Optional argument system.
 Three fish Block cipher
It is a tweakable block cipher at the Skein’s Core with
any internal
size as 256, 512, 1024 bits.
 UBI- Unique Block iteration
This is the type of chaining mode which uses three
fish in order to build the compression function which
maps any input size to any or fixed output size.
 Optional argument system
This makes skein which supports any
optional Features.
2.2.1. Threefish Block cipher
Threefish is a large tweakable block cipher
[66].It is also defined for three different block sizes as
256, 512, 1024 bits. The key which should be same
size as the block and the tweak value is only 128 bits
which is applicable for all the three different block
sizes.
The main principle of Threefish is that more
number of simple rounds which are secured than few
numbers of complex rounds. There are three different
mathematical operations used by Threefish block
cipher are Exclusive-OR (XOR), Addition and
constant rotation.
490 | P a g e

2

Sivasankari. S. A et al Int. Journal of Engineering Research and Application
ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495

www.ijera.com

Fig: 1. MIX Function
The function in three fish which is actually a
MIX function. Fig: 1[1]. Each function which consists
of a single addition, a rotation by one constant, an
Exclusive OR function.

Fig: 3.Threefish-256
2.2.2. Unique Block Iteration (UBI)
It is a chaining mode which produces fixed
output by using input chaining value and arbitrary
length input string. The tweak is the heart of UBI
.Every block is processed with unique variant of the
compression function. UBI chaining mode which
ensures the above work. UBI which follows MatyasMeyer-Oseas [2] hash mode. This hash mode which
follows the message input to hash function should
have to be same as the plain text input to the block
cipher.

Fig: 2 .Three fish-512.
Figure.2 which shows the operation of MUX
function to build threefish-512.Each skien-512 has 72
rounds which has four mix functions which gets
followed by a permutation of eight 64 bit words. Each
function made on 64 bit words. At every four rounds
one sub key will be generated. The word permutation
is same for every round. The rotations here are
constant which are chosen in such a way to maximize
diffusion [1].
These rotations are constant for every eight
rounds. The sub keys are generated from the key
schedule. The key schedule generates the sub keys by
use of key and tweak. Each sub key contributes key
words, tweak words and counter value. To create a key
schedule, key and tweak words which are extended
with one parity word extra which is XOR of all the
words .For threefish-256 there are 72 rounds and 2
MIX functions followed by permutation.
For threefish-1024 the rounds are 80 and have 8
MIX functions. The rotation constants and
permutations are different for different internal Block
sizes. But it should maximize the diffusion.

2.2.3. Optional Arguments
To increase the flexibility of Skein, Some
Optional Inputs can be enabled. The key which should
process first to achieve the security. But is optional.
KEY:
CONFIGURATION:
It is required in order to encode the desired
output length.
PERSONALIZATION:
It is used to create different functions for
different users.
PUBLIC KEY:
When hashing a message for signing it is
must to public key.
KEY DERIVATION IDENTIFIER:
It is used for key derivation. To derive a key,
master key should be given as input key and the
requested identifier will get the key.
NONCE:
It is particularly used in Stream cipher mode
and randomized hashing [1].
MESSAGE:
It is the normal message given as the Input to
the hash function.

www.ijera.com

491 | P a g e

3

Sivasankari. S. A et al Int. Journal of Engineering Research and Application
ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495
OUTPUT:
It is the one which is required and retrieved.
But the main advantage of this hashing function is that
whenever in need it is possible to add any function
which is standardized here.

www.ijera.com

hash algorithm’s structured and its different types of
architecture will be discussed here.
3.1. Algorithm

III. Skein Hash architecture
It has different types of architecture. It will
face either in Hardware or software mode. The skein

Fig: 4.Stick diagram

Fig: 5.Basic Block Algorithm
3.2. Architecture
This is the architecture which is meant and
3.2.2. Loop unrolling architecture
defined for rounding. There are three different types as
The main different of this architecture when
Iterative round, Loop unrolling and Pipeline
compared with iterative is here the exact number of
architecture.
rounds have to place before registering the output. The
area requirement is more due to more number of
rounds placed one after another. The throughput is
3.2.1. Iterative Round architecture
One round of skein algorithm is implemented
also
low
and
hence
lowers
efficiency.
in the round circuit.Skien-512 requires the 72 number
of rounds. Hence 72 times of iteration is needed to
complete one hardware round for skein. The round
operation not only carried by input. But also based on
key, Tweak and round Number to produce a round
key. The result is stored in register. If it is final output
it gets XORed with input which forwards to UBI. If it
is not final result then it will pass to loop till 72
rounds. Each rotation will carry over by one clock
cycle exactly. If there are n number of rounds then n
clock cycles are require.

Fig:7. Loop unrolling architecture

Fig.6.Iterative round architecture
www.ijera.com

3.2.3. Pipeline architecture
The main advantage of pipeline architecture
is increasing throughput.The advantageous feature of

492 | P a g e

4

Sivasankari. S. A et al Int. Journal of Engineering Research and Application
ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495

www.ijera.com

pipeline architecture is that each and every
consecutive rounds have one register.
Skien is the type of hashing algorithm which
enforces data serialization.Hashing block of n meaasge
which cannot continue if n-1 value is not there.The
drawback of this is that it is ideal for some rounds and
hence inefficient utilization of hardware resources

Fig:8. Pipeline architecture

IV. Experimental results

www.ijera.com

493 | P a g e

5

Sivasankari. S. A et al Int. Journal of Engineering Research and Application
ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495

www.ijera.com

MIX FUNCTION

Key schedule

V. Conclusion
Thus in this paper which I discussed the basic
building blocks of skein hash algorithm and its
architecture with detail manner. Skein has three
different internal state sizes as 256, 512, 1024 bits and
output may be any size. It is a good replacement of
SHA family. Skein is an efficient tool to be used for
large number of functions due to its optional and
extendable argument system [1]. Skein is efficient for
both hardware and software platforms.
www.ijera.com

VI. ACKNOWLEDGEMENTS
Jesse Walker provided explanations of Skein
hash as well as suggestions for optimizing the
hardware implementation. I thank Doug Whiting and
Niels Ferguson for their Presentations on the Threefish
round implementations. I thanked Dr.Nedunchelian
Head of the department of computer science
engineering who reviewed my paper and
494 | P a g e

6

Sivasankari. S. A et al Int. Journal of Engineering Research and Application
ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495

www.ijera.com

Dr.P.C.Kishoreraja Head of the department of
electronics and communication engineering who
encouraged me to do this work.

References
[1]

[2]

”The skein hash function family”, version
1.3, 0ct 2010, Niels Ferguson, Stefan Lucks,
Bruce
Schneier,Doug
Whiting,Mihir
Bellare,Tadayoshi Kohno,Jon Callas, Jesse
Walke
“Implementing Skein Hash Function on
Xilinx Virtex-5 FPGA Platform “Men Long,
Intel Corporation, 02-Feb-09,Version 0.7
men.long@intel.com

Authors

I am S.A.Sivasankari working as assistant
professor ECE Department in Saveetha School of
engineering. I completed my UG from Maharaja
Engineering College Bharatiyar University and PG
from SRM university in VLSI. Currently I am doing
my research work in Transmission line effects in
interconnects in Deep submicron VLSI circuits.

I am Allan Mary George; I finished my
bachelor degree in Biomedical Engineering and
masters in Applied Electronics .currently working as
Assistant Professor in Saveetha School Of
Engineering.

Myself S.Pavithra working as assistant
professor ECE Department in Saveetha School of
engineering and received my UG in ECE from KCG
Engineering College and PG from Muthukumaran
institute of engineering and technology in Applied
electronics.

www.ijera.com

495 | P a g e

More Related Content

Cf36490495

  • 1. Sivasankari. S. A et al Int. Journal of Engineering Research and Application ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495 RESEARCH ARTICLE www.ijera.com OPEN ACCESS The Skien Hash Function Sivasankari. S. A1, Allan Mary George 2, Pavithra. S 3 1 Assistant Professor, 2Assistant Professor, 3Assistant Professor Department of ECE, Saveetha School of Engineering, Saveetha University, Saveetha Nagar, Thandalam, Chennai-602 105, Tamilnadu, India ABSTRACT In this paper, we simulate the performance of skein hash function in VHDL FPGA. Skein is a new cryptographic family. It is designed in such a way that it is simple, easy and flexible. This function which is implemented in software based. This is a hashing function which provides security. Keywords: Skein hash function, Threefish block cipher, MIX function, Key schedule, unique block iteration (UBI). I. Introduction The new family of cryptographic hash function is skein. The advantages of this hash function are speed, security, simplicity and flexibility due to its design as well as easy to analyse. Skein hash function is fast and secure Skein has three different internal state sizes as 256, 512, 1024 bits and output may be any size. It is a good replacement of SHA family. Skein is an efficient tool to be used for large number of functions due to its optional and extendable argument system [1]. Skein is efficient for both hardware and software platforms.The remainder of this paper is organized as follows: Section II presents the Basic structure of skien, Section III discusses about the skein algorithm, and Section IV draws the conclusion. II. Basic structure of Skein 2.1. Overview of Skein Skein is a new family hash function with three internal state sizes: 1024,512,256 bits.  Skein- 512 which is used for all present hashing applications with secures and remains secure for the future.  Skien-1024 is ultra conservative variant [1]. Skein-1024 is the twice of skein- 512. Skein 1024 is twice as fast as Skein- 512.  Skien-256 is low memory variant [1]. The above discussed internal state size which can support any size of output. Replacement of one type of hash function with other type of hash function shown in Table: 1[1] www.ijera.com Table: 1: Replacements for MD5, SHA-1 and SHA2 2.2. Basic building blocks Three new components are needed to build Skien.They are three fish block cipher, Unique block iteration (UBI), Optional argument system.  Three fish Block cipher It is a tweakable block cipher at the Skein’s Core with any internal size as 256, 512, 1024 bits.  UBI- Unique Block iteration This is the type of chaining mode which uses three fish in order to build the compression function which maps any input size to any or fixed output size.  Optional argument system This makes skein which supports any optional Features. 2.2.1. Threefish Block cipher Threefish is a large tweakable block cipher [66].It is also defined for three different block sizes as 256, 512, 1024 bits. The key which should be same size as the block and the tweak value is only 128 bits which is applicable for all the three different block sizes. The main principle of Threefish is that more number of simple rounds which are secured than few numbers of complex rounds. There are three different mathematical operations used by Threefish block cipher are Exclusive-OR (XOR), Addition and constant rotation. 490 | P a g e
  • 2. Sivasankari. S. A et al Int. Journal of Engineering Research and Application ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495 www.ijera.com Fig: 1. MIX Function The function in three fish which is actually a MIX function. Fig: 1[1]. Each function which consists of a single addition, a rotation by one constant, an Exclusive OR function. Fig: 3.Threefish-256 2.2.2. Unique Block Iteration (UBI) It is a chaining mode which produces fixed output by using input chaining value and arbitrary length input string. The tweak is the heart of UBI .Every block is processed with unique variant of the compression function. UBI chaining mode which ensures the above work. UBI which follows MatyasMeyer-Oseas [2] hash mode. This hash mode which follows the message input to hash function should have to be same as the plain text input to the block cipher. Fig: 2 .Three fish-512. Figure.2 which shows the operation of MUX function to build threefish-512.Each skien-512 has 72 rounds which has four mix functions which gets followed by a permutation of eight 64 bit words. Each function made on 64 bit words. At every four rounds one sub key will be generated. The word permutation is same for every round. The rotations here are constant which are chosen in such a way to maximize diffusion [1]. These rotations are constant for every eight rounds. The sub keys are generated from the key schedule. The key schedule generates the sub keys by use of key and tweak. Each sub key contributes key words, tweak words and counter value. To create a key schedule, key and tweak words which are extended with one parity word extra which is XOR of all the words .For threefish-256 there are 72 rounds and 2 MIX functions followed by permutation. For threefish-1024 the rounds are 80 and have 8 MIX functions. The rotation constants and permutations are different for different internal Block sizes. But it should maximize the diffusion. 2.2.3. Optional Arguments To increase the flexibility of Skein, Some Optional Inputs can be enabled. The key which should process first to achieve the security. But is optional. KEY: CONFIGURATION: It is required in order to encode the desired output length. PERSONALIZATION: It is used to create different functions for different users. PUBLIC KEY: When hashing a message for signing it is must to public key. KEY DERIVATION IDENTIFIER: It is used for key derivation. To derive a key, master key should be given as input key and the requested identifier will get the key. NONCE: It is particularly used in Stream cipher mode and randomized hashing [1]. MESSAGE: It is the normal message given as the Input to the hash function. www.ijera.com 491 | P a g e
  • 3. Sivasankari. S. A et al Int. Journal of Engineering Research and Application ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495 OUTPUT: It is the one which is required and retrieved. But the main advantage of this hashing function is that whenever in need it is possible to add any function which is standardized here. www.ijera.com hash algorithm’s structured and its different types of architecture will be discussed here. 3.1. Algorithm III. Skein Hash architecture It has different types of architecture. It will face either in Hardware or software mode. The skein Fig: 4.Stick diagram Fig: 5.Basic Block Algorithm 3.2. Architecture This is the architecture which is meant and 3.2.2. Loop unrolling architecture defined for rounding. There are three different types as The main different of this architecture when Iterative round, Loop unrolling and Pipeline compared with iterative is here the exact number of architecture. rounds have to place before registering the output. The area requirement is more due to more number of rounds placed one after another. The throughput is 3.2.1. Iterative Round architecture One round of skein algorithm is implemented also low and hence lowers efficiency. in the round circuit.Skien-512 requires the 72 number of rounds. Hence 72 times of iteration is needed to complete one hardware round for skein. The round operation not only carried by input. But also based on key, Tweak and round Number to produce a round key. The result is stored in register. If it is final output it gets XORed with input which forwards to UBI. If it is not final result then it will pass to loop till 72 rounds. Each rotation will carry over by one clock cycle exactly. If there are n number of rounds then n clock cycles are require. Fig:7. Loop unrolling architecture Fig.6.Iterative round architecture www.ijera.com 3.2.3. Pipeline architecture The main advantage of pipeline architecture is increasing throughput.The advantageous feature of 492 | P a g e
  • 4. Sivasankari. S. A et al Int. Journal of Engineering Research and Application ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495 www.ijera.com pipeline architecture is that each and every consecutive rounds have one register. Skien is the type of hashing algorithm which enforces data serialization.Hashing block of n meaasge which cannot continue if n-1 value is not there.The drawback of this is that it is ideal for some rounds and hence inefficient utilization of hardware resources Fig:8. Pipeline architecture IV. Experimental results www.ijera.com 493 | P a g e
  • 5. Sivasankari. S. A et al Int. Journal of Engineering Research and Application ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495 www.ijera.com MIX FUNCTION Key schedule V. Conclusion Thus in this paper which I discussed the basic building blocks of skein hash algorithm and its architecture with detail manner. Skein has three different internal state sizes as 256, 512, 1024 bits and output may be any size. It is a good replacement of SHA family. Skein is an efficient tool to be used for large number of functions due to its optional and extendable argument system [1]. Skein is efficient for both hardware and software platforms. www.ijera.com VI. ACKNOWLEDGEMENTS Jesse Walker provided explanations of Skein hash as well as suggestions for optimizing the hardware implementation. I thank Doug Whiting and Niels Ferguson for their Presentations on the Threefish round implementations. I thanked Dr.Nedunchelian Head of the department of computer science engineering who reviewed my paper and 494 | P a g e
  • 6. Sivasankari. S. A et al Int. Journal of Engineering Research and Application ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.490-495 www.ijera.com Dr.P.C.Kishoreraja Head of the department of electronics and communication engineering who encouraged me to do this work. References [1] [2] ”The skein hash function family”, version 1.3, 0ct 2010, Niels Ferguson, Stefan Lucks, Bruce Schneier,Doug Whiting,Mihir Bellare,Tadayoshi Kohno,Jon Callas, Jesse Walke “Implementing Skein Hash Function on Xilinx Virtex-5 FPGA Platform “Men Long, Intel Corporation, 02-Feb-09,Version 0.7 men.long@intel.com Authors I am S.A.Sivasankari working as assistant professor ECE Department in Saveetha School of engineering. I completed my UG from Maharaja Engineering College Bharatiyar University and PG from SRM university in VLSI. Currently I am doing my research work in Transmission line effects in interconnects in Deep submicron VLSI circuits. I am Allan Mary George; I finished my bachelor degree in Biomedical Engineering and masters in Applied Electronics .currently working as Assistant Professor in Saveetha School Of Engineering. Myself S.Pavithra working as assistant professor ECE Department in Saveetha School of engineering and received my UG in ECE from KCG Engineering College and PG from Muthukumaran institute of engineering and technology in Applied electronics. www.ijera.com 495 | P a g e