Photon Beetle
Photon Beetle
Abstract
1 Introduction
Due to the recent rise in communication networks operated on small devices, authenticated
encryption (AE) is expected to play a key role in securing these networks, providing
both confidentiality and authenticity via symmetric-key cryptographic primitives. In
light of CAESAR competition [3] for AE and NIST’s lightweight cryptography project [27],
people recognize the apparent lack of AE standards suitable for the whole spectrum of
lightweight applications. As a result, several lightweight AE proposals have emerged.
These include: ASCON [19], CLOC/SILC [22, 23], Gibbon/Hanuman [6], JAMBU [32] and
Ketje [15]from the CAESAR competition, as well as the recently developed COFB [17,
18].
state is transformed using f , while in the squeezing phase, digests are extracted from the
outer part r bits at a time.
One of the advantages of the sponge-based design is that they can build lightweight
hash functions. Indeed, since the introduction of the design, a number of lightweight hash
algorithms have been proposed, including SPONGENT [16], QUARK [7] and PHOTON [20].
Mainly due to the smaller size of the total state values, the footprint of these algorithms
is generally smaller than classical Merkle-Damgård hash functions, which iterate a com-
pression function (rather than a permutation), and these compression functions essentially
employ the design of block ciphers.
Alongside being used as a “simple" hash function (such as SHA-3 standard Keccak
[29, 12]), the keyed variants of sponge mode have become very popular modes of operation
for a permutation to build a wide spectrum of symmetric-key primitives like message
authentication codes [13], pseudorandom functions, Extendable-Output Functions (“XOFs”)
[29] and authenticated encryption (AE) modes [10, 11]. The keyed Sponge principle also
got adopted in Spritz, a new RC4-like stream cipher [31], and in 10 out of 57
submissions to the currently running CAESAR [3] competition on authenticated
encryption.
Of these AE proposals, unexpectedly, one of the smallest is the COFB, which is
block- cipher-based. This does not seem to be consistent with what we have learned
from the designs of hash functions; we should be able to build more lightweight
schemes with the sponge construction than with block ciphers. Where is this gap
coming from? This work answers this question by demonstrating that actually, also for
AE, one can build smaller schemes with the sponge construction.
In the above mentioned result, for the integrity security the authors have assumed that
the number of forgery blocks is limited. To be more specific, total number of forgery
attempted blocks σv is restricted to satisfy the following:
qp + σe + σv ≤ 2c/σv,
where σe is the total number of encryption query blocks and qp is the number of permutation
queries. The above equation clearly suggest that the number of decryption blocks
should be at most 2c/2.
But, in the real life applications, it is more likely that the adversary would make a
large number of decryption queries to mount the integrity (or forging) attack, and
hence the overall bound should be given in terms decryption queries along with the total
number of encryption and permutation queries. Considering the decryption queries,
their result
achieves min{2c/2, 2k} integrity security.
Avik Chakraborti1, Nilanjan Datta2, Mridul Nandi3 and Kan 3
even if we adopt a larger state permutation, still we have better hardware area with a
high security bound than the existing schemes.
• Data Complexity: the total number of message bytes (among all messages and
associated data) processed through the underlying permutation under a single key
should be at least D = 250 − 1.
2
Now, the best known bound for the original sponge mode SpongeAE is O( D +D.T ), while
2 2 c
Beetle provides a security bound of O( D +DT + r.(D+T ) ). This clearly depicts that if
SpongeAE 2b 2c
mode is instantiated with a 256-bit permutation, then the capacity must be
at least 112 + 48 = 160 bits. However, only 120-bit capacity is sufficient for Beetle. This
essentially ensures lesser number of permutation invocations in case of Beetle, which makes
it more energy efficient. In fact, in case of short messages of length 16 bytes, Beetle
leads to 33.3% savings in the energy consumption, which is quite significant for the
lightweight applications.
2 Preliminaries
In this section we build up all the notations and recall basic security definitions for
authenticated encryption. We also recall some important basic results on the security of
authenticated encryption.
2.1 Notation
Fix three positive integer b, r and c to represent state size, rate and capacity of a sponge
construction. By definition, b = r + c. We denote a block by an element of {0, 1}r (i.e,
∗ ∗
a block is an r-bit string). For any X ∈ {0, 1} , where {0, 1} is the set of all finite bit
strings (including λ, the empty string), we denote the number of bits of X by |X|. Note
that |λ| = 0. For two bit strings X and Y , XǁY denotes the concatenation of X and Y . A
bit string X is called a complete (or incomplete) block if |X| = r (or |X| < r
respectively). We write the set of all complete (or incomplete) blocks as B (or B<
≤ ≤
respectively). Let B = B< ∪ B denote the set of all blocks. For B ∈ B , we define B using
∗ ∗
10 padding with B, to make it complete. Given Z ∈ {0, 1} , we define the parsing of Z
into r-bit blocks as
(Z[1], Z[2], . . . , Z[𝑥]) ← Z, where 𝑥 = [|Z|/r[, |Z[i]| = r for all i < 𝑥 and 1 ≤ |Z[𝑥]| ≤ r
r
to denote the parsing of the bit string Z into r bit strings Z[1], Z[2], . . . , Z[𝑥 − 1] and
1 ≤ |Z[𝑥]| ≤ r. Given any sequence Z = (Z[1], . . . , Z[s]) and 1 ≤a ≤b ≤ s, we represent
the sub sequence (Z[a], . . . , Z[b]) by Z[a..b]. Similarly, for integers ≤a b, we write [a..b]
{ a, a + 1, . . . , b . We use the notation trunc(Z, r) to denote the most significant r
for the set
} binary string Z. Let γ = (γ[1], . . . , γ[s]) be a tuple of equal-length strings. We
bits of the
define mcoll(γ) = m if there exist distinct i1 , . . . , im ∈ [1..s] such that γ[i1 ] = · · · =
γ[im ]
Avik Chakraborti1, Nilanjan Datta2, Mridul Nandi3 and Kan 5
and m is the maximum of such integer. We call{ i1, . . . , im }to be an m-multi-collision set
for γ.
where the probabilities are taken over the random choices of f , $, K, and the random
choices of A, if any. The fact that the adversary has access to both the forward and inverse
permutations in f is denoted by f ±. We assume that adversaryA is nonce-respecting,
which means that it never makes two queries toEKor $ with the same nonce. By
AdvAE (q , q , q , σ , σ ) we denote the maximum advantage taken over all adversaries
SP e p v e v
that makes at most qe encryption queries with a total length of at most σe, at most qp
queries to f ± and at most qv decryption queries with a total length of at most σv.
For an oracle O1 satisfying (1) and (2) above, for any adversary A, we have AdvOprf
1
(A) ≤
ϵbad + ϵratio.
6 Beetle Family of Lightweight and Secure Authenticated Encryption
3 Specification of Beetle
In this section, we provide a formal specification of Beetle family, a variant of
traditional duplex sponge. Similar to the original construction, we use a b-bit
permutation f with rate−r and capacity c = b r. First we specify all the basic building
blocks and parameters used in our construction, and then provide the formal algorithm
along with a pictorial description.
Note that, here we need the following requirements on the function shuffle:
It is easy to see that our choice of shuffle satisfies both the requirements.
• SBox (SBox). This function applies the s-bit Sbox to every cell of the internal state.
For s = 4, Present SBox and s = 8, AES SBox are used.
• ShiftRows (SR): This function simply rotates each cell located at row i by i
positions to the left.
Avik Chakraborti1, Nilanjan Datta2, Mridul Nandi3 and Kan 7
A[1] A[3]
N ⊕ K1
ρ ρ
Y [1]X[1] · · · Y [3]X[3]
K2 f f f
⊕ Z[3]
Z[1]
ConstA
M [1] C[1]
M [4] C[4] T
ρ ρ
X[3]ǁZ[3] Y [4]X[4] ··· Y [7]X[7]
f f f f
⊕ Z[7]
Z[4]
ConstM
• MixColumns (MC): This function updates linearly all columns independently using
a light non MDS matrix M serially (d times) such that M d is an MDS matrix.
This provides maximal diffusion and also makes the circuit efficient for hardware
implementation.
Complete details of PHOTON can be found in [21, 20]. In this work, we use two
versions of PHOTON permutations on 144 bits and 256 bits which are denoted as P144
and P256 respectively. The parameters for these two versions are (s = 4, d = 6) and (s = 4,
d = 8) respectively.
Figure 2: The encryption and decryption algorithms of Beetle. Here ∀i, |X[i]| = |Y [i]| =
|O[i]| = r and |Z[i]| = c.
-
Avik Chakraborti1, Nilanjan Datta2, Mridul Nandi3 and Kan 9
2
2(σe + σv )(σe + qp) qp r qp r rσv qv
AE
(q e, qp , qv , σe , σv , t) ≤
AdvBeetle + r−1 + + + .
2 b 2 2r+c−1 2c 2r
Based on the above theorem, Beetle[Light+] achieves 64-bit AE security and Bee-
tle[Secure+] achieves 121-bit AE security. The proof of the above theorem is detailed in
Sect. 4.
3.5 Features
The sponge based mode described above aims to achieve high security bound. This in
turn makes the mode lightweight by minimizing the state size. We follow the approach
of boosting the security by using a combined feedback technique over the traditional
duplex sponge. The AE security level increases from c/2 − to c log r. This in turns helps us to
construct a scheme with the same security level but with a reduced state size. For example,
Beetle[Secure+] achieves almost 128-bit security (121-bit security) with only a 256-bit state
and c = 128. Beetle is a lightweight design (with small overheads from the tradition duplex
sponge) that boosts the security without any restriction. Here we present a comparative
study on the state size and security trade-off in Table 1.
Beetle also enjoys flexibility. It is easy to fit any permutation into this structure. This
depicts that, when used with lighter permutations, it consumes lower hardware footprints.
We can also play with r and c to make a proper trade off between the data absorption
and the security level.
Table 1: Comparative Study on the State size and Security Trade-off: for all the con-
structions, we have assumed that n/2 bits message is processed per primitive call. Here
SpongeAE refers to the AE mode using traditional duplex sponge mode.
We would like to point out that, we have concentrated only on the round-based
implementation with n-bit data path and that essentially ensures that the state size to
be
n. However, we agree that a real serialized implementation could make it area efficient,
but state size would grow up close to 1.5n (b + r in general). In addition, as far we know,
in principle we need n bits for state and n/2 bits for message buffer. However if we
process message in one clock cycle we don’t need to store the message buffer to an
internal state. Note that this argument holds for duplex sponge, not imposed by the
addition of feedback.
AE
AdvBeetle e p v e v
2(σe + 2σbv)(σe + qp) qp
2r−1 r qp
2b−1 r r(qp2+
c σv ) qrv
(q , q , q , σ , σ , t) ≤ + + + +2 .
OFFLINE CHAIN. We call that there exists a chain of sequence (Li1 , Li2 , . . . , Liµ+1 ), denoted
by Chain(Li1 , Li2 , . . . , Liµ+1 ) if there exists Ri1 , . . . , Riµ+1 such that the following chain
is obtained via offline queries:
We use the notation mChain(Li1 , Li2 , . . . , Liµ+1 ) to denote number of (Ri1 , Ri2 , . . . , Riµ+1 )
for which the event Chain(Li1 , Li2 , . . . , Liµ+1 ) occurs. We use the notation Init(Li1 , Li2 , . . . , Liµ+1
) to denote the set of Ri1 values for which Chain(Li1 , Li2 , . . . , Liµ+1 ) occurs.
Next, in the offline phase (i.e. after A makes all the queries responses), it sets all the
Xi [ai + k], Yi [ai + k] values: Yi [ai + k] := Mi [k] ⊕ Ci [k], Xi [ai + k] := shuffle(Mi [k]
Ci [k]) ⊕ Mi [k], for all k = 1, . . . , mi . Then it samples Xi [k], Yi [k], for all k = 1, . . .
, ai and the internal chaining values i.e. Zi [k], for all k = 1, . . . , ai + mi uniformly at
random { from} ≤ all
0, 1 c . For i k a∗ ,i the values Y ∗ [k], Z ∗ [k] are set to Yj [k],
Zj [k] respectively,
i
if ∃j, Ni ∗ = Nj , Ai∗ [1..k] = Aj [1..k]. Similarly, for all ai ∗ + 1 ≤ k ≤ a∗i + m∗i , the values
Yi∗ [k], Zi∗ [k] are set to Yj [k], Zj [k] respectively, if ∃j, Ni∗ = Nj , A∗ = Aj , C ∗ [1..k] = Cj [1..k].
The value ∗
i Xi [k] is defined as Yi [k]
∗
⊕ A∗ [k], for k ≤ ai∗ . The value Xi∗ [ai∗ + k] is defined
∗ ∗ ∗
as Y i [a + k]⊕M [k], for k ≤ m . All the remaining Y ∗ values are sampled uniformly at
∗
∗
random and corresponding
i
X variables are set accordingly.
If A interacts with real oracle, we always have (i) f (Ni ǁK) = Xi [0]ǁZi [0] and (ii)
f (Xi [j]ǁZi [j − 1]) = Yi [j]ǁZi [j], i = 1..qe , j = 1, .., ai + mi − 1 and f (Xi [ai + mi ]ǁZi [ai +
mi ]) = Yi [ai + mi ]ǁZi [ai + mi ] ⊕ ConstM , where X[i] and Y [i]s are computed via ρ.
Overall, the transcript of the adversary τ := (τe, τp, τv) be the list of queries and responses
of A that constitutes the query response transcript of A, where
Avik Chakraborti1, Nilanjan Datta2, Mridul Nandi3 and Kan 1
• B2: mColl(X) > λ. This event signifies that λ multi-collision occurs in the rate part
of the encryption queries. Formally, ∃w ≥ λ, i1, i2 . . . , iw such that
Xi1 [j1 ] = Xi2 [j2 ] = · · · = Xiw [jw ].
• B3: inpColl. This event denotes a state collision in the input of a permutation. This
can happen when: (i) two input states to the permutation collides during the
online (encryption) queries or (ii) an input state in the online (encryption) query
collides with a direct forward query or the response of a direct backward query.
Technically speaking, this event occurs when either
∃i, j, i' , j ' s (Xi [j]ǁZi [j]) = (Xi' [j ' ]ǁZi' [j ' ]) or ∃i, j, k (Xi [j]ǁZi [j]) ∈ {Qk+ , Lk− ǁRk− }.
• B4: outColl. This event denotes a state collision in the output of a permutation.
This can happen when: (i) two output states to the permutation collides during the
online (encryption) queries or (ii) an output state in the online (encryption) query
collides with a direct backward query i.e. either
∃i, j, i' , j ' s (Yi [j]ǁZi [j + 1]) = (Xi' [j ' ]ǁZi' [j ' + 1]) or
−
∃i, j, k (Yi [j]ǁZi [j + 1]) ∈ {Qk , Lk+ ǁRk+ }.
• B5: mColl(L ) > λ. This event signifies that λ multi-colllision occurs in the rate
+
part of the direct permutation queries. Technically seen, this event can be written
as: ∃w ≥ λ, i1, i2 . . . , iw such that
L+i1 = L+i2= · · · = Li+w .
−
• B6: mColl(L ) > λ. This event signifies that λ multi-colllision occurs in the rate
part of the direct inverse permutation queries. Technically seen, this event can be
written as: ∃w ≥ λ, i1, i2 . . . , iw such that
L−i1 = L−i2 = · · · = L−iw .
− −
• B7: mMitM(L+, R+, L , R ) > λ. This event signifies that λ Meet-in-the-Middle
type collision occurs via the direct permutation and inverse permutation queries.
More formally, the event is expressed as: ∃w > λ, i1, i2 . . . , iw such that
'
i1 j )1 = ρ 1 (L i2, L j2 ) = · · · = ρ1 (L
ρ'1 (L+ , L − ' + −
iλ
+
,L
λ
−
j ),
R+i1= R−j1, R+i2= R− j2, · · · , Ri+λ = Rj−λ .
12 Beetle Family of Lightweight and Secure Authenticated Encryption
• B8: Forge. This event signifies that for some forging query, none of the states are
fresh and the final tag also matches. Technically, ∃ i such that
∗ ∗
– ∀j ≤ (a∗i + m∗i ), Xi [j]ǁZi [j] is not fresh, and
∗ ∗ ∗ ∗ ∗
– f (Xi [a∗i + m∗i ]ǁZi [ai + mi ]) = Ti ǁ * .
The following lemma bounds the probability of bad transcripts in ideal oracle:
Lemma 1. Let ϵbad denotes the probability of the event (B1 ∨ B2 · · · ∨ B8). Then,
(σeqp + σ2 + σeσv + qpσv)
e λqp q2λ λσv
qλ p p
ϵbad ≤ + c + r(λ−1) + r(λ−1)+cλ + c .
2b 2 2 2 2
Proof. Here we provide the upper bounds for the bad events (in ideal oracle) one by one,
as follows:
Bounding Pr[B1]. As the key K1 and K2 is chosen uniformly at random, for any fix i
and j, we have −
Pr[(Ni ⊕ K1 )ǁK2 ∈ {Q+ , L− ǁR− }] = 21 b .
j j j
−r(λ−1)
Pr[Li+1 = L+i2= · · · = Li+λ ] ≤ 2 .
Avik Chakraborti1, Nilanjan Datta2, Mridul Nandi3 and Kan 1
Pr[L−i1 = − − −
−
= · · · = Li ] ≤ 2 r(λ 1) .
L i2
λ
Now, varying over all possible choices of i1, j1, . . . , iλ, jλ,
qp
Pr[B7] ≤ 2λ
.
r(λ−1).2cλ 2
Bounding Pr[B8]. Recall that the event B7 occurs if there exists a forging query
∗ ∗ ∗ ∗ ∗ ∗
(Ni , A∗i , Ci , Ti ) such that ∀j ≤ (a∗i + m + 1), Xi [j]ǁZi [j] is not fresh, and f (Xi [a∗i +
∗ ∗ ∗
m∗i ]ǁZi [a∗i + mi ]) = Ti ǁ*. Now we consider the following cases:
CASE A. ∀j, N ∗ /= Nj . The probability that the initial state (N ⊕ K1 K2 ) matches with
+q
any encryption orǁdirect
i query state, can be bounded by probability2bσe p .
∗
CASE B. Ni = Nj , A∗i /= Aj . Let p be the common prefix block index of A∗i and
∗
Aj i.e. A∗i [1..p] = Aj [1..p], Ai [p + 1] /= Aj [p + 1]. The probability that the state
∗
X ∗ [ai + p + 1]ǁZ ∗ [p + 1] matches with any encryption or direct query state, can be bounded
+q
by probability σe2b p .
∗ ∗
CASE C. (Ni , Ai ) = (Nj , Aj ). Let p be the common prefix of the corresponding
∗ ∗ ∗
ciphertexts i.e Ci [1..p] = Cj [1..p], Ci [p+1] Cj [p+1]. It is easy to see that Xi [a∗i +p+1] =
∗
ρ'1 (Cj [p + 1] ⊕ Mj [p + 1], Ci [p + 1]). Now, for B8 to hold, we need
∗≥ ∈
(i) mChain(Xi∗ [a∗i + p + 1], Ci ∗ [p + 2], . . . , iC ∗ [m ∗ ∗ ∗ ∗
i ], T ) 1 and Zi [a i + p + 1] Init[X [p +
∗ ∗ ∗ ∗
1], Ci [p + 2],i . . . , Ci [m i ], T ], or
∗ ∗ ∗ ∗
(ii) ∃ j, k; Xi [ai + p + 1] = Xj [k] and Zi [ai + p + 1] =
Zj [k] Now we make the following claim:
Claim. mChain(X i∗ [a∗i + p + 1], C ∗i [p + 2], . . . , Ci∗ [mi∗ ], T ∗ ) ≤ (m∗ + 1)λ, given that
B5, B6 and B7 have noti occured. 1
Proof. Suppose the claim is not true. Now by simple application of Pigeon-hole principle,
the above offine chain of length at most m∗i necessarily gives rise to one of three events:
• There exist at least λ many offine chain with f queries only: this essentially forces a
λ-multicollision in L+ values (and the value is T ∗), which is nothing but the event
B5.
∗
1 Note that, in the original sponge construction SpongeAE, the above claim doesn’t hold as (m + 1)λ
i
many collisions in an offine chain doesn’t necessarily converges to λ-multicollisions there.
14 Beetle Family of Lightweight and Secure Authenticated Encryption
−
• There exist at least λ many offine chain with f 1 queries only: this forces a λ-
− ∗ ∗
multicollision in L values (and the value is Xi [a i + p + 1]), which is nothing
but the event B6.
−
• There exists at least λ many offine chain with f and f 1 that meets in the ith state:
th
this forces a λ-multicollision of type MitM at the i state, which is is nothing
but event B7.
∗ ∗ ∗
Given the above claim holds, the probability that 𝗁
Zi [a∗i + p +∈1] Init(Xi [ai + p + 1],
∗ ∗ ∗ ∗ (mi +1)λ
Ci [p + 2],
i
. .
i
. , C [m ], T ) is bounded by . This is due to the uniform random
2c
sampling
of the B2 hasn’t occur, the probability that
∗ ∗ Z values. On the other hand, given λ that
Z [a + p + 1] = Z [k] can be bounded by . Hence,
i i j 2c
qv
Σ σe + qp (m∗i + 2)λ
Pr[B8|B2 ∧ B5 ∧ ∧ B7] ≤
B6 i=1 2b + 2c
(σe + qp).qv
≤ + σvλ.
2b 2c
The lemma follows as we sum all the probabilities.
is due to the fact that usage of the ρ function restricts the adversary to have any
∗ ∗
control over Xi [j ∗ + 1] if the value Yi [j ∗ ] is random. This is in contrast to
the original sponge construction SpongeAE, where the adversary can always control
∗ ∗ ∗
the Xi [j ∗ + 1] using Ci [j ∗ + 1] irrespective of the value of Yi [j ∗ ].
• Extending this argument, we claim that the sequence of states any one of the
∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
following states (Xi [jiǁ] Zi [ji ]), (Xi [ji ǁ + 1] Zi [ji + 1]), . . ǁ. , (Xi [m∗i ]
∗ 𝗁
mi (σe+σp)
Zi [m∗i ]) will be non-fresh with probability
2b at most .
∗ ∗
• It is easy to see that, if (Xi [m∗i ]ǁZi [m∗i ]) is fresh, then
1
Pr[f (X ∗ [m∗ ]ǁZ ∗ [m∗ ]) = T ǁ*] = .
i i i i i
2r
Putting everything together,
1 m∗i (σe +
ϵi ≤ qp )
2r
+ .
Hence, we bound ϵratio as: 2b
qv qv
ϵratio = Σ ϵi ≤ Σ 1 + m i(σ e + qp)
∗
qv σ v .( σ e + q p ) .
b ≤ r +
2r 2 2 2b
i=1 i=1
Table 2: Clock cycles per message byte for Beetle[Light+] with r = 64.
T C
Init 64 64
64
N
144 Tr isFinal, isComplete
⊕ isAD
64 State 144
K1
144
80
K2 144 ρcomp 144 Con⊕ 144
frnd
144
64
D
Release, Round12
Round12
1. State Register. The architecture for Beetle[Light+] contains only one state register
State. This register is used to store intermediate variables after each iteration. We
use an 144-bit state register for the permutation. We don’t need any register for
the key, as it is used only to initialize the state. The hardware circuit in Fig. 3
shows that State is updated after each round of f executed by frnd module.
2. Module frnd. frnd computes one round of f . It takes an 144-bit input from the
state register, computes one round of f and then either updates the state or send
the output to the ρ computation module ρcomp or releases the output as the tag.
The entire operation is serial and we need 12 clock cycles with 12 frnd executions to
execute f .
3. Module ρcomp. ρcomp module computes ρ on a 64-bit data block and a 144-bit
Avik Chakraborti1, Nilanjan Datta2, Mridul Nandi3 and Kan 1
intermediate state (output from the f computation). The output is a 144-bit feedback
value (passed to Con⊕ module to perform a constant addition in the capacity
part).
4. Module Con⊕ . This module executes a constant addition (addition of the constant
1/2/3/4) based on the signals it receives. The signals are described below.
5. Data Signals. The hardware circuit uses several internal data signals controlled by
the finite state machine (FSM). The circuit uses the following signals.
• Start: This signal indicates the start of the computations of the circuit. It
actually resets all the variables and sets the control to the reset state of the
circuit.
• Init: This signal indicates that the initialization is done and the circuit can
now process data blocks.
• isAD: This signal indicates whether the current block is an associated data
block or a message block. It actually controls the feedback computation module
as the associated data processing phase does not release any ciphertext block
and only computes the next feedback, where as the message processing
phase computes the next feedback as well as releases the ciphertext block. This
signal is also used with isFinal signal to decide which constant addition.
• isFinal: This signal indicates whether the current data block is the final block or
not. If it is the final block then the constant addition module becomes active.
It is used to control the Con⊕ module. It uses an internal demultiplexer that
decides whether to pass the data to the state register or add a constant to it.
This decision is taken using the isFinal signal.
• isComplete: This signal together with isAD decide which constant to add as
they differ by the completeness of the last block and type of the data block.
• Round12: This signal indicates whether frnd is executing its last round. If yes
then ρ computation module will start executing, otherwise the control
returns to the frnd module.
• Release: This signal indicates the release of the tag. After the tag release, the
circuit ends its functionalities.
These signals are actually generated and controlled by a controller module, which can
be viewed as a finite state machine (FSM). For the sake of simplicity, we intentionally
omit the description of FSM in Fig. 3. We describe the FSM separately in Fig. 4.
The description of the FSM is given below.
6. FSM. This module controls the whole circuit. It generates and sends signals to
different modules and divides the functionalities of the circuit into several states.
This is depicted in Fig. 4. The individual states are described below. Note that,
the signal isComplete is implicitly taken care by the controller and for the sake of
simplicity, it does not appear in Fig. 4.
• Reset: Starts the functionality of the circuit. It denotes everything is reset and
the circuit will begin to work now.
• Load: Initialize the permutation state where the secret key and the nonce are
loaded into the permutation state. The control next enters into invocation of f .
This is denoted by Init = 1.
• Invokef : Invocation of f . This state is further described by four states .
– Resetf : Resets the permutation state before the execution.
18 Beetle Family of Lightweight and Secure Authenticated Encryption
FSM for
ProcAD isAD=1 isFinal = 0 Resetf
Invokef
Init=1
Release=0
isAD=1 isFinal=1
ProcADFinal Startf
Invokef Round12 = 0
isAD=0 isFinal=0
isAD=0
isFinal=1ReleaseTagRound12 = 1
ProcMFinal Endf
End
Invokef output control
Round12
+1
0 Round
M
StateACSBoxSRMC C
Start
Remark 2. We would like to point out that a possible way of optimization is to have serial
implementation with smaller data paths (e.g. 4 or 24 bits) as used in [4, 5]. It seems
20 Beetle Family of Lightweight and Secure Authenticated Encryption
that such implementation could make the construction even more area efficient, though
the state size would increase by 64 and 128 bits for Beetle[Light+] and Beetle[Secure+]
respectively. This is due to the fact that we need to store the message buffer to an
internal state. This has nothing to do with the introduced feedback, and holds in
general for any duplex sponge mode.
We also report the hardware implementation results for Beetle[Secure+] on the same
platform using the same approach. The detailed results are described in Table 4 below.
ρ computation Others
76.3%
73.02%
P144 Permutation
P144 permutation
and 7. We would like to mention that this is a rough benchmark. Our implementation
ignores the overhead associated with the CAESAR API (an updated version of GMU
hardware API) and also this is an encryption only circuit while most of the others
support both encryption-decryption. We know that the GMU hardware API used in
the SHA-3 competition hardware benchmarking, can cause 25% overhead in terms of
the area compared to other interfaces they have provided [25, 26]. Nevertheless, our
current implementation results for Beetle[Light+] depict that it consumes lower hardware
footprints and provides highly competitive results than other constructions even if we
add the overhead for supporting GMU API and decryption circuit. We have chosen the
candidates for the benchmark by the following criteria
We observe that Beetle[Light+] occupies the lowest hardware area among the listed im-
plementations. it occupies much lower hardware footprint than the closest competitors:
COFB-AES, JAMBU-SIMON96 and Ketje-JR etc. and also achieves a better through-
put/area metric. These two benchmarks depicts that Beetle[Light+] is one of the best
candidates for lightweight applications. The benchmark is detailed in Table 5 and 6. The
hardware implementation results of COFB-AES have been taken from [18, 17] and that
of the other schemes have been taken from the ATHENA database [2, 1].
6 Conclusion
This paper presents Beetle, a sponge mode for AE focusing on the state size as well
as optimizing the security. It is instantiated with two versions, where the first version
Avik Chakraborti1, Nilanjan Datta2, Mridul Nandi3 and Kan 2
References
[1] ATHENa: Automated Tool for Hardware Evaluation. https://cryptography.gmu.
edu/athena/.
[2] Authenticated Encryption FPGA Ranking. https://cryptography.gmu.edu/
athenadb/fpga_auth_cipher/rankings_view.
[3] CAESAR: Competition for Authenticated Encryption: Security, Applicability, and
Robustness. http://competitions.cr.yp.to/caesar.html/.
[4] N. Nalla Anandakumar, Thomas Peyrin, and Axel Poschmann. A very compact
FPGA implementation of LED and PHOTON. IACR Cryptology ePrint Archive,
2014:738, 2014.
[5] N. Nalla Anandakumar, Thomas Peyrin, and Axel Poschmann. A very compact
FPGA implementation of LED and PHOTON. In Willi Meier and Debdeep
Mukhopadhyay, editors, Progress in Cryptology - INDOCRYPT 2014 - 15th
International Conference on Cryptology in India, New Delhi, India, December 14-17,
2014, Proceedings, volume 8885 of Lecture Notes in Computer Science, pages 304–
321. Springer, 2014.
[6] Elena Andreeva, Begül Bilgin, Andrey Bogdanov, Atul Luykx, Florian Mendel, Bart
Mennink, Nicky Mouha, Qingju Wang, and Kan Yasuda. PRIMATEs v1.02. Submis-
sion to CAESAR. 2016. https://competitions.cr.yp.to/round2/primatesv102.
pdf.
[7] Jean-Philippe Aumasson, Luca Henzen, Willi Meier, and María Naya-Plasencia. Quark:
A lightweight hash. In Stefan Mangard and François-Xavier Standaert, editors,
Cryptographic Hardware and Embedded Systems, CHES 2010, 12th International
Workshop, Santa Barbara, CA, USA, August 17-20, 2010. Proceedings, volume 6225
of Lecture Notes in Computer Science, pages 1–15. Springer, 2010.
[8] Jean-Philippe Aumasson, Philipp Jovanovic, and Samuel Neves. NORX v3.0. Submis-
sion to CAESAR. 2016. https://competitions.cr.yp.to/round3/norxv30.pdf.
[9]Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche. On the
indifferentiability of the sponge construction. In Nigel P. Smart, editor, Advances
in Cryptology - EUROCRYPT 2008, 27th Annual International Conference on the
Theory and Applications of Cryptographic Techniques, Istanbul, Turkey, April 13-17,
2008. Proceedings, volume 4965 of Lecture Notes in Computer Science, pages 181–197.
Springer, 2008.
[10] Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche. Duplexing the
sponge: single-pass authenticated encryption and other applications. IACR Cryptology
ePrint Archive, 2011:499, 2011.
24 Beetle Family of Lightweight and Secure Authenticated Encryption
[11] Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche. Duplexing
the sponge: Single-pass authenticated encryption and other applications. In Ali Miri
and Serge Vaudenay, editors, Selected Areas in Cryptography - 18th International
Workshop, SAC 2011, Toronto, ON, Canada, August 11-12, 2011, Revised Selected
Papers, volume 7118 of Lecture Notes in Computer Science, pages 320–337. Springer,
2011.
[12] Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche. Keccak. In
Thomas Johansson and Phong Q. Nguyen, editors, Advances in Cryptology - EURO-
CRYPT 2013, 32nd Annual International Conference on the Theory and Applications
of Cryptographic Techniques, Athens, Greece, May 26-30, 2013. Proceedings, volume
7881 of Lecture Notes in Computer Science, pages 313–314. Springer, 2013.
[13] Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche. On the security
of the keyed sponge construction. In Symmetric Key Encryption Workshop, 2011.
[14] Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche, and Ronny Van
Keer. CAESAR submission: Keyak v2. Submission to CAESAR. 2016. https:
//competitions.cr.yp.to/round3/keyakv22.pdf.
[15] Guido Bertoni, Michaël Peeters Joan Daemen, Gilles Van Assche, and Ronny Van
Keer. Ketje v2. Submission to CAESAR. 2016. https://competitions.cr.yp.to/
round3/ketjev2.pdf.
[16] Andrey Bogdanov, Miroslav Knezevic, Gregor Leander, Deniz Toz, Kerem Varici,
and Ingrid Verbauwhede. spongent: A lightweight hash function. In Bart Preneel
and Tsuyoshi Takagi, editors, Cryptographic Hardware and Embedded Systems -
CHES 2011 - 13th International Workshop, Nara, Japan, September 28 - October 1, 2011.
Proceedings, volume 6917 of LNCS, pages 312–325. Springer, 2011.
[17] Avik Chakraborti, Tetsu Iwata, Kazuhiko Minematsu, and Mridul Nandi. Blockcipher-
based authenticated encryption: How small can we go? IACR Cryptology ePrint
Archive, 2017:649, 2017.
[18] Avik Chakraborti, Tetsu Iwata, Kazuhiko Minematsu, and Mridul Nandi. Blockcipher-
based authenticated encryption: How small can we go? In Wieland Fischer and
Naofumi Homma, editors, Cryptographic Hardware and Embedded Systems - CHES
2017 - 19th International Conference, Taipei, Taiwan, September 25-28, 2017, Pro-
ceedings, volume 10529 of Lecture Notes in Computer Science, pages 277–298.
Springer, 2017.
[19] Christoph Dobraunig, Maria Eichlseder, Florian Mendel, and Martin Schläffer. Ascon
v1.2. Submission to CAESAR. 2016. https://competitions.cr.yp.to/round3/
asconv12.pdf.
[20]Jian Guo, Thomas Peyrin, and Axel Poschmann. The PHOTON family of
lightweight hash functions. In Phillip Rogaway, editor, Advances in Cryptology -
CRYPTO 2011 - 31st Annual Cryptology Conference, Santa Barbara, CA, USA,
August 14-18, 2011. Proceedings, volume 6841 of Lecture Notes in Computer Science,
pages 222–239. Springer, 2011.
[21] Jian Guo, Thomas Peyrin, and Axel Poschmann. The PHOTON family of
lightweight hash functions. IACR Cryptology ePrint Archive, 2011:609, 2011.
[22] Tetsu Iwata, Kazuhiko Minematsu, Jian Guo, Sumio Morioka, and Eita Kobayashi.
CAESAR Candidate CLOC. DIAC 2014.
Avik Chakraborti1, Nilanjan Datta2, Mridul Nandi3 and Kan 2
[23] Tetsu Iwata, Kazuhiko Minematsu, Jian Guo, Sumio Morioka, and Eita Kobayashi.
CAESAR Candidate SILC. DIAC 2014.
[24]Philipp Jovanovic, Atul Luykx, and Bart Mennink. Beyond 2 c/2 security in sponge-
based authenticated encryption modes. In Palash Sarkar and Tetsu Iwata, editors,
Advances in Cryptology - ASIACRYPT 2014 - 20th International Conference on the
Theory and Application of Cryptology and Information Security, Kaoshiung, Taiwan,
R.O.C., December 7-11, 2014. Proceedings, Part I, volume 8873 of Lecture Notes in
Computer Science, pages 85–104. Springer, 2014.
[25] B. Jungk and M. Stttinger. Hobbit: Smaller but faster than a dwarf: Revisiting
lightweight SHA-3 FPGA implementations. pages 1–7.
[26] Sachin Kumar, Jawad Haj-Yihia, Mustafa Khairallah, and Anupam Chattopadhyay.
A comprehensive performance analysis of hardware implementations of CAESAR
candidates. IACR Cryptology ePrint Archive, 2017:1261, 2017.
[27] Kerry A. McKay, Larry Bassham, Meltem Sönmez Turan, and Nicky Mouha. Report on
Lightweight Cryptography. 2017. http://nvlpubs.nist.gov/nistpubs/ir/2017/
NIST.IR.8114.pdf.
[28] PawełMorawiecki, Kris Gaj, Ekawat Homsirikamol, Krystian Matusiewicz, Josef
Pieprzyk, Marcin Rogawski, Marian Srebrny, and Marcin Wójcik. ICEPOLE v2. Sub-
mission to CAESAR. 2016. https://competitions.cr.yp.to/round2/icepolev2.
pdf.
[29] NIST. SHA-3 standard: Permutation-based hash and extendable-output functions.
FIPS PUB 202, 2015.
[30] J. Patarin. Etude des Générateurs de Permutations Basés sur le Schéma du D.E.S.
Phd Thèsis de Doctorat de l’Université de Paris 6, 1991.
[31] Ronald L. Rivest and Jacob C. N. Schuldt. Spritz - a spongy rc4-like stream cipher
and hash function. IACR Cryptology ePrint Archive, 2016:856, 2016.
[32] Hongjun Wu and Tao Huang. The JAMBU Lightweight Authentication Encryption
Mode (v2.1). Submission to CAESAR. 2016. https://competitions.cr.yp.to/
round3/jambuv21.pdf.