Journal Paper 3
Journal Paper 3
1
International Journal of Computer Applications (0975 – 8887)
Volume 23– No.4, June 2011
implementing SEA for constrained systems is a better In this section, we give a complete description of the
option. algorithm, starting with the important parameters, and then
emphasizing its basic operation. Afterwards follows the
This paper is organized as follows. The introduction and round and key round description of SEA is presented [1].
literature survey are provided in section 1. Section 2
describes parameters, definitions and basic operations for 2.2.2 Encrypt/Decrypt and Key round
implementation of SEA. Section 3 Illustrates hardware
implementation of efficient M odular adders. In section 4 The encrypt round FE, decrypt round FD and key round FK
implementation results of different M odular adder are defined as:
architectures are presented and compared. Finally,
conclusions are made in section 5. Encryption Round FE :
2. IMPLEMENTATION OF SEA
M ost present symmetric encryption algorithms result from
a tradeoff between implementation cost and resulting
performances. In addition, they generally aim to be
Decryption Round FD :
implemented efficiently on a large variety of platforms.
SEA takes an opposite approach and considers a context
where we have very limited processing resources and
throughput requirements. It was initially designed as a
low-cost encryption and authentication routine targeted for
processors with a limited instruction set. Additionally and
contrary to most recent block ciphers (e.g. the DES and
AES Rijndael), the algorithm takes the plaintext, key and
the bus sizes as parameters and therefore can be
straightforwardly adapted to various implementation
contexts and/or security requirements. Compared to older
solutions for low cost encryption like TEA (Tiny
Encryption Algorithm) or Yuval‟s proposal, SEA also
benefits from a stronger security analysis, derived from
recent advances in block cipher design/cryptanalysis [2,3].
In practice, SEA was proven to be an efficient solution for
embedded software applications using microcontrollers,
but its hardware performances have not been investigated
meticulously. In this paper therefore proposes to
investigate the interest of this algorithm for area and power
in constrained applications. The investigation starts with
an exploration of the features of a low cost FPGA
encryption/ decryption core for SEA [1] and our progress
were to design efficient modular adders to reduce the
Figure. 2.1. Encrypt/decrypt round and key round,
hardware complexities in terms of area and power.
Key Scheduling Round FK :
2
International Journal of Computer Applications (0975 – 8887)
Volume 23– No.4, June 2011
of rounds to resist linear/differential attacks plus twice the Algorithm 3.1 M odulo m addition.
number of rounds to obtain complete diffusion (to prevent b-1 b
1: Choose b such that 2 < m < 2
both structural attacks and outer rounds improvements of 2: s 0 ← x + y
statistical attacks). The value of nr must be always odd, if b b
3: s 1 ← (s 0 mod 2 ) + 2 − m
not 1 must be added to make it odd.
4: if the carry-out bit of s 0 or s 1 is one then
b
5: (x + y) mod m ← s 1 mod 2
3. HARDWARE IMPLEMENTATION 6: else
b
7: (x + y) mod m ← s 0 mod 2
3.1 Implementation Description 8: end if
The first investigation step to the hardware implementation
of SEA proposes to take a look at a straightforward The architecture of implemented algorithm 3.1 is already
implementation of the algorithm on an FPGA platform, portrayed in[1] and in Figure 3.1 . Our proposed [1]
achieving one round per clock cycle and denoted as the modulo addition algorithm leads to smallest circuits, in
loop implementation. Resource-consuming blocks are the turn reduced overall circuit complexity of SEA.
S-boxes and the mod 2b adder; the Word Rotate and Bit
Rotate blocks are implemented by swapping wires.
According to the specifications, the key schedule contains
two multiplexors allowing switching the right and left part
of the round key at half the execution of the algorithm,
using the appropriate command signal Swap. The
multiplexer controlled by Switch provides the round
function with the right part of the round key for the first
half of the execution and transmits its left part instead after
the switch. The Generic Loop Architecture is simple and
only changes in the location of the R and R -1 Block. The
number of rounds nr is an optional input that can be
automatically derived from n and b. In this paper , we
mainly focused to propose different architectures of light
weight M odular adders in consider of efficient area and
low power optimization at the synthesizable VHDL
design level. We implemented each architecture of Figure 3.1
modular adders individually in VHDL and then combined
with other components to build a whole SEA.
3.2.1 Modulo (2b ± 1) Addition
3.2 Implementation of efficient Modular
adders Some improvements of the adder-based operator previ-
ously described are possible for specific values of m ie., 2b.
For instance, modulo (2b − 1) addition, or one‟s
Our proposed M odular adder designs[5] are constructed complement addition, is defined in [10] by:
using basic components like carry propagate adders, 2x1
multiplexers, OR gate. (x + y) mod (2b − 1)
The modulo m addition[5] of two numbers x and y
belonging to {0, . . .,m − 1} is defined by: = (x + y + 1) mod 2b if x + y + 1 ≥ 2b, (2)
(x + y) mod m = x + y if x +y < m, and (1) x+ y if x + y + 1 < 2b.
= x + y − m if x + y ≥ m,
and can be straightforwardly implemented by an adder, a Figure 3.2 depicts the architecture of the corresponding
comparator, and a subtractor. The comparison is however hardware operator. Due to the condition x + y + 1 ≥ 2 b, we
perform two additions in parallel and select the correct
expensive, both in terms of area and delay. The algorithms
result with a multiplexer. Remember that zero has a double
studied in this section allow to get rid of it and lead to representation in one‟s complement, namely “0 . . . 0” and
more efficient hardware operators. In this paper, b= [log2 “1 . . . 1” (i.e. 0 is congruent to 2b − 1 (modulo 2b − 1)). If
m]+1 denotes the number of bits which are required to the computation path accommodates the second encoding
encode both inputs and output of a modulo m arithmetic of zero, Equation (2) can be rewritten as follows:
operator. There are basically three methodologies to carry
out a modulo m addition [10]: (x + y) mod (2b − 1)
1. Table based operator method
2. Hybrid based operator method = (x + y + 1) mod 2b if x + y ≥ 2b, (3)
3. Adder-Based operator method. x+ y if x + y < 2b.
3
International Journal of Computer Applications (0975 – 8887)
Volume 23– No.4, June 2011
The implementation was done for variants bit data (n) and
a processor word size (b). We achieved reduction in
number of slice in Figure 4.1, area in terms of Gate Count
in Figure 4.2, Dynamic power consumption in Figure 4.3,
Static power consumption in Figure 4.4 and Total power
consumption Figure 4.5. Our implementation of SEA
exhibited a very small area utilization that comes at the
cost of increased throughput and reduced power
consumption. Consequently, it can be considered as the
interesting alternative for constrained devices.
Figure 3.2
Note that the carry -out cout from the sum x + y indicates
whether the incrementation must be performed. It is still
possible to evaluate x + y and x + y + 1 in parallel, and to
choose the correct result according to cout (Figure 3.2). An
alternate architecture, illustrated on Figure 3.3, simply
adds cout to the x + y.
Figure 4.1
Area(Gate Counts)
10000
No: of Gate Counts
8000
6000 Mod_adder
4000 1
2000
0 Mod_adder
Figure 3.3
2
144,4
108,6
144,12
48,4
72,6
40
20 1
The operators depicted by Figure 3.2 do not significantly 0
improve the adder-based operator defined by Algorithm 1. Mod_adder
144,12
48,4
72,6
108,6
144,4
4
International Journal of Computer Applications (0975 – 8887)
Volume 23– No.4, June 2011
6. REFERENCE
Static Power [1] K.J.Jegadish Kumar, S.Salivahanan, K.Chenna
Kesava Reddy, “Implementation of Low power
Consumption Scalable Encryption algorithm”,International Journal
of Computer applications, Volume-11, Dec 2010,
150 pp.14-18.
100 Mod_adder
Static Power in mW
144,12
72,6
48,4
108,6
144,4
2 Vol.16, 2008, pp.212-216.
[3] Francois-Xavier Standaert, Gilles Piret, Neil
Mod_adder Gershenfeld, Jean-Jacques Quisquater “SEA a
DataSize Variants 3 Scalable Encryption Algorithm for Small Embedded
Applications” in Proc.CARDIS, 2006, pp 222-236.
[4] Data Encryption Standard, FIPS PUB 46-3, Oct.
Figure 4.4 1999.
[5] D.J. Wheeler, R. Needham, TEA, a Tiny Encryption
Total Power Algorithm, in the proceedings of FSE 1994, Lecture
Notes in Computer Science, vol 1008, Springer-
Total power consumption in
144,8
2
[7] Advanced Encryption Standard, FIPS PUB 197,
Mod_adder Nov. 2001.
Datasize Variants 3 [8] G. Yuval, “Reinventing the travois:
Encryption/M AC in 30 ROM bytes,” in Proc. Fast
Softw. Encryption (FSE), 1997, pp. 205–209.