ibook.pub-joint-source-cryptographic-channel-coding-based-on-linear-block-codes
ibook.pub-joint-source-cryptographic-channel-coding-based-on-linear-block-codes
Editorial Board
David Hutchison
Lancaster University, UK
Takeo Kanade
Carnegie Mellon University, Pittsburgh, PA, USA
Josef Kittler
University of Surrey, Guildford, UK
Jon M. Kleinberg
Cornell University, Ithaca, NY, USA
Friedemann Mattern
ETH Zurich, Switzerland
John C. Mitchell
Stanford University, CA, USA
Moni Naor
Weizmann Institute of Science, Rehovot, Israel
Oscar Nierstrasz
University of Bern, Switzerland
C. Pandu Rangan
Indian Institute of Technology, Madras, India
Bernhard Steffen
University of Dortmund, Germany
Madhu Sudan
Massachusetts Institute of Technology, MA, USA
Demetri Terzopoulos
University of California, Los Angeles, CA, USA
Doug Tygar
University of California, Berkeley, CA, USA
Moshe Y. Vardi
Rice University, Houston, TX, USA
Gerhard Weikum
Max-Planck Institute of Computer Science, Saarbruecken, Germany
Serdar Boztaş Hsiao-Feng (Francis) Lu (Eds.)
Applied Algebra,
Algebraic Algorithms and
Error-Correcting Codes
13
Volume Editors
Serdar Boztaş
RMIT University, School of Mathematical and Geospatial Sciences
GPO Box 2476V, Melbourne 3001, Australia
E-mail: [email protected]
Hsiao-Feng (Francis) Lu
National Chung-Cheng University, Department of Communications Engineering
168 University Rd., Min-Hsiung, Chia-Yi, Taiwan
E-mail: [email protected]
ISSN 0302-9743
ISBN-10 3-540-77223-5 Springer Berlin Heidelberg New York
ISBN-13 978-3-540-77223-1 Springer Berlin Heidelberg New York
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is
concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting,
reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication
or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965,
in its current version, and permission for use must always be obtained from Springer. Violations are liable
to prosecution under the German Copyright Law.
Springer is a part of Springer Science+Business Media
springer.com
© Springer-Verlag Berlin Heidelberg 2007
Printed in Germany
Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India
Printed on acid-free paper SPIN: 12202058 06/3180 543210
Preface
The AAECC Symposia Series was started in 1983 by Alain Poli (Toulouse), who,
together with R. Desq, D. Lazard and P. Camion, organized the first conference.
Originally the acronym AAECC meant “Applied Algebra and Error-Correcting
Codes.” Over the years its meaning has shifted to “Applied Algebra, Algebraic
Algorithms and Error-Correcting Codes,” reflecting the growing importance of
complexity, particularly for decoding algorithms. During the AAECC-12 sym-
posium the conference committee decided to enforce the theory and practice of
the coding side as well as the cryptographic aspects. Algebra was conserved, as
in the past, but slightly more oriented to algebraic geometry codes, finite fields,
complexity, polynomials, and graphs.
For AAECC-17 the main subjects covered were:
This was made possible thanks to the many referees involved. Each submitted
paper was evaluated by at least two international researchers.
AAECC-17 received and refereed 61 submissions. Of these, 1 was withdrawn
and 33 were selected for publication in these proceedings.
The symposium was organized by P. Vijay Kumar, Tom Høholdt, Heeralal
Janwa, Serdar Boztaş and Hsiao-feng (Francis) Lu, with the help of Govindar
Rangarajan, C.E. Veni Madhavan and Priti Shankar, under the Indian Institute
of Science Mathematics Initiative (IMI). It was sponsored by the Department of
Science and Technology, India; the Defence Research and Development Organi-
zation, India; and Microsoft Research India.
We express our thanks to the Springer staff, especially Alfred Hofmann, for
their help in the preparation of these proceedings.
Steering Commitee
Conference Co-chairs P. Vijay Kumar (Univ. of Southern California,
USA)
Tom Høholdt (Technical Univ. of Denmark,
Denmark)
Heeralal Janwa (Univ. of Puerto Rico, Puerto Rico)
Program Co-chairs Serdar Boztaş (RMIT Univ., Australia)
Hsiao-feng (Francis) Lu (National Chung Cheng
University, Taiwan)
Conference Committee
J. Calmet K. Horadam O. Moreno
G. Cohen H. Imai H. Niederreiter
G.L. Feng H. Janwa A. Poli
M. Giusti R. Kohno T.R.N. Rao
J. Heintz H.W. Lenstra, Jr. S. Sakata
T. Høholdt S. Lin P. Solé
Program Committee
I.F. Blake J. Heintz F. Özbudak
J. Calmet K. Horadam A. Poli
C. Carlet H. Imai S.S. Pradhan
G. Cohen N. Kashyap A. Rao
C. Ding S. Lin S. Sakata
G-L. Feng O. Moreno H-Y. Song
M. Giusti W.H. Mow P. Udaya
G. Gong H. Niederreiter C. Xing
Sponsoring Institutions
Department of Science and Technology, India
Defence Research and Development Organization, India
Microsoft Research India
Table of Contents
Invited Contributions
List Decoding and Pseudorandom Constructions . . . . . . . . . . . . . . . . . . . . . 1
Venkatesan Guruswami
Regular Contributions
Generalized Sudan’s List Decoding for Order Domain Codes . . . . . . . . . . . 50
Olav Geil and Ryutaroh Matsumoto
Bent Functions and Codes with Low Peak-to-Average Power Ratio for
Multi-Code CDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Jianqin Zhou, Wai Ho Mow, and Xiaoping Dai
Correctable Errors of Weight Half the Minimum Distance Plus One for
the First-Order Reed-Muller Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Kenji Yasunaga and Toru Fujiwara
Dense MIMO Matrix Lattices—A Meeting Point for Class Field Theory
and Invariant Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Jyrki Lahtonen and Roope Vehkalahti
Venkatesan Guruswami
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 1–6, 2007.
c Springer-Verlag Berlin Heidelberg 2007
2 V. Guruswami
def
LIST(T ) = {x ∈ [N ] | #{i | Γ (x, i) ∈ T } t} . (1)
(In words, LIST(T ) is the set of vertices on the left at least t of whose neighbors
belong to T .)
Turning to expander graphs, we say that a bipartite graph G = (VL , VR , E)
is a (K, A)-expander if for all S ⊆ VL with |S| K, the neighborhood of S,
N (S) = {Γ (s, i) | s ∈ S, i ∈ [D]}, satisfies |N (S)| A|S|. Here A is the
expansion factor, which is clearly at most D. Expanders where A = D(1 − ε)
(here ε > 0 is a parameter that can be picked to be an arbitrarily small constant)
are called lossless expanders. The equivalent “list decoding” based definition of
(K, A)-expanders is the following: The graph defined by Γ is a (K, A)-expander
iff for all K K and T ⊆ [D] × Σ with |T | < AK , we have |LIST(T )| < K
where
def
LIST(T ) = {x ∈ [N ] | ∀i ∈ [D], Γ (x, i) ∈ T } . (2)
(In words, LIST(T ) is the set of vertices on the left all of whose neighbors belong
to T .)
The map Γ is a (k, ε)-extractor if for all T ⊆ [D] × Σ, we have |LIST(T )| < 2k
where
def |T |
LIST(T ) = {x ∈ [N ] | Pri∈[D] [Γ (x, i) ∈ T ] + ε} . (3)
D|Σ|
(In words, LIST(T ) is the set of vertices on the left which have ε fraction more
neighbors in T than the density of T .)
Note that unlike the case of codes and expanders, for extractors we require a
small LIST(T ) for all subsets T on the right. In turn this means that for sets S of
size at least 2k on the left (k is called the min-entropy of the source distribution
on the left), the distribution on the right induced by taking a random neighbor
of a random element of S is within distance ε from the uniform distribution.
If we are able to guarantee a small LIST(T ) (as defined in (3)) only for sets
of bounded size, then we get a weaker object called a randomness condenser.
A condenser’s output need not be close to uniform, but must be close to a
distribution with good min-entropy. (For this to be non-trivial the right hand
side must be much smaller than the left, and the name condenser refers to the
fact that the min-entropy of the distribution on the left is condensed, perhaps
with some small loss, into a distribution over the smaller universe on the right.)
For a formal description of this connection, see [3], but roughly, the condition
“If the input has min-entropy log(L/ε), then the output is ε-close to having
min-entropy log(Q/ε),” is implied by the following list decoding condition: For
List Decoding and Pseudorandom Constructions 3
codes [8]. Ta-Shma and Zuckerman [6] gave a construction of codes with very
good list-recoverability properties, albeit over very large alphabets, using the
above view of the Trevisan extractors, along with an “algorithmic” version of
the analysis used to bound |LIST(T )|. In [1], a similar framework was applied
to an extractor construction due to Ta-Shma, Zuckerman, and Safra [7] along
with other ideas to give a list-decodable code better than RS codes for low rates.
Shaltiel and Umans [5] used list-decodability of Reed-Muller codes to construct
extractors, as well as their computational counterpart, pseudorandom genera-
tors. In fact the similarity of their extractor to the folded Reed-Solomon codes
from [2] (which achieved the optimal trade-off between rate and list-decoding ra-
dius) was the inspiration for our research leading to a new algebraic construction
of unbalanced expanders [3], which we discuss in the next section.
There are several more fruitful connections between list decoding and other
pseudorandom objects. As the next section shows, sometimes the argument un-
derlying the construction of a particular object (a list-decodable code in our
case) can be ported to give non-trivial constructions of one of the related ob-
jects (lossless bipartite expanders in our case).
We begin with a description of the Parvaresh-Vardy codes [4]. There are several
parameters in this construction: integers n, m, h, a finite field Fq , and an irre-
ducible polynomial E(X) of degree n over Fq . The messages of the code belong
to Fnq which is identified in the obvious way with polynomials of degree at most
(n − 1) over Fq . The codewords have q symbols, one corresponding to each ele-
ment of Fq . Each codeword symbol is an m-tuple of symbols over Fq . The map
Γ : Fnq × Fq → Fq × Fm q is given by:
right hand side of our construction implies that the entropy rate of the output
distribution on the right is 1/(1 + δ) and thus very close to 1. Since all the
min-entropy of the distribution on the left is preserved, the above expander
reduces the task of constructing an extractor for arbitrary min-entropy to the
much easier task of construction an extractor for entropy rate 99%. Together
with a back-end extractor that works for such high entropy rates, we get an
extractor that achieves the best known parameters. We refer the reader to [3]
for the detailed statements about the final extractor construction.
We conclude the paper with a brief discussion of the proof of Theorem 1. Let
K = hm and A = q − nmh. With the list decoding view, we need to prove that
for any T ⊆ Fm+1q with |T | AK − 1, the set LIST(T ) defined in (2) satisfies
|LIST(T )| K − 1. (We actually need to prove this for any K K, but the
proof for this case uses similar ideas.) The proof consists of three steps.
The univariate polynomial Q(X, f (X), f1(X), . . . , fm−1 (X)) thus has at
least q roots, but on the other hand its degree is at most A − 1 + (n −
1)m(h − 1) < A + nmh = q. It must thus be the zero polynomial.
3. This is the most important step where the specifics of the construction (the
choice of the correlated polynomials fi (X)) plays a critical role. Recalling the
i
definition of fi (X) = f (X)h mod E(X), and viewing the polynomials f (X)
and fi (X) as elements of the extension field Λ = Fq [X]/(E(X)), we observe
that each f (X) ∈ LIST(T ) must be a root of the univariate polynomial
Q∗ ∈ Λ[Y ] defined as
Q∗ (Y ) = Q(X, Y, Y h , Y h , . . . , Y h
def 2 m−1
) mod E(X) .
References
1. Guruswami, V.: Better Extractors for Better Codes? In: 36th Annual ACM Sym-
posium on Theory of Computing, pp. 436–444 (2004)
2. Guruswami, V., Rudra, A.: Explicit Capacity-Achieving List-Decodable Codes. In:
38th Annual ACM Symposium on Theory of Computing, pp. 1–10 (2006)
3. Guruswami, V., Umans, C., Vadhan, S.: Unbalanced Expanders and Randomness
Extractors from Parvaresh-Vardy Codes. In: 22nd IEEE Conference on Computa-
tional Complexity, pp. 96–108 (2007)
4. Parvaresh, F., Vardy, A.: Correcting Errors Beyond the Guruswami-Sudan Radius in
Polynomial Time. In: 46th Annual IEEE Symposium on Foundations of Computer
Science, pp. 285–294 (2005)
5. Shaltiel, R., Umans, C.: Simple Extractors for All Min-Entropies and a New Pseu-
dorandom Generator. J. ACM 52(2), 172–216 (2005)
6. Ta-Shma, A., Zuckerman, D.: Extractor Codes. IEEE Trans. Inform. Theory 50(12),
3015–3025 (2004)
7. Ta-Shma, A., Zuckerman, D., Safra, S.: Extractors from Reed-Muller codes. In: 42nd
Annual Symposium on Foundations of Computer Science, pp. 638–647 (2001)
8. Trevisan, L.: Extractors and Pseudorandom Generators. J. ACM 48(4), 860–879
(2001)
A Survey of Recent Attacks on the Filter
Generator
1 Introduction
The binary filter generator is an important building block in many stream ciphers.
The generator consists of a linear feedback shift register of length n that generates
a maximal linear sequence {st } (an m-sequence) of period 2n − 1 and a Boolean
function of degree d that combines bits from the shift register and produces an output
bit zt at any time t. An illustration of the filter generator is shown in Figure 1.
The sequence {st } obeys the recursion
n
cj st+j = 0, cj ∈ {0, 1}
j=0
n j
where c0 = cn = 1. The characteristic polynomial g(x) = j=0 cj x , of the
linear recursion, is a primitive polynomial of degree n and period 2 − 1. The
n
i
zeros of g(x) are α2 for i = 0, 1, . . . , n − 1, where α is a primitive element in
GF (2 ), the finite field with 2n elements. The m-sequence can be written as
n
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 7–17, 2007.
c Springer-Verlag Berlin Heidelberg 2007
8 S. Rønjom, G. Gong, and T. Helleseth
s t+n
LFSR
zt
F
The sequence {st } is determined by the initial state (s0 , s1 , . . . , sn−1 ) and
the characteristic polynomial g(x). The 2n sequences generated by g(x), corre-
sponding to the different initial states, form a vector space over GF (2) denoted
by Ω(g(x)). For further information on linear shift registers the reader is referred
to the recent book by Golomb and Gong [2]. By repeated use of the recursion
we can write st as a linear combination of the n bits in the initial state. Thus,
we have
n−1
st = si lit (2)
i=0
As described in Courtois and Meier [1], the keystream generator may be vul-
nerable to algebraic attacks even if the degree of the algebraic function is high.
Let St = (st , st+1 , . . . , st+n−1 ) be the n-bit state of the linear shift register at
time t and let AN (f ) denote the annihilator ideal of the Boolean function f in
n variables, i.e.,
where the summation is taken over all subsets I of In . The binary sequence {KI,t }
of coefficients of sI is called the coefficient sequence. The main observation is that
these sequences obey nice recursions so that when we add together equations ac-
cording to these recursions we may remove the contribution of monomials of higher
degree and arrive at a simple nonsingular system of n equations in n variables.
For simplicity, consider the contribution to the keystream from a the function
consisting of a single monomial of degree r, say f ∗ = xa0 xa1 . . . xar−1 leading
10 S. Rønjom, G. Gong, and T. Helleseth
to zt = st+a0 st+a1 . . . st+ar−1 , where 0 ≤ a0 < a1 < · · · < ar−1 < n. Let
A = {a0 , a1 , . . . , ar−1 }, then using (2) we obtain
zt = st+a0 st+a1 · · · st+ar−1 = sI KI,A,t
I
where
KI,A,t = li0 ,t+a0 li1 ,t+a1 · · · lir−1 ,t+ar−1 . (4)
(i0 ,i1 ,...,ir−1 ),I={i0 ,i1 ,...,ir−1 }
The summation runs over all combinations of i0 , i1 , . . . , ir−1 where the ij ’s are
in In and such that I = {i0 , i1 , . . . , ir−1 }.
The polynomial
function f can in general be written as a sum of monomial
terms as f = A cA xA . Note in particular that each subset A of In such that
|A| ≥ |I| contributes to the coefficient sequence {KI,t }. We therefore obtain
zt = f (st , st+1 , . . . , st+n−1 ) = sI KI,t
I
where
KI,t = cA KI,A,t . (5)
A,|A|≥|I|
Let |I| = k and let {KI,t } be the coefficient sequence corresponding to sI for a
Boolean function f of degree d. Then,
Proof (Sketch). The idea behind the proof is that from (4) it follows that KA,I,t
is a linear combination of products of r(≤ d) shifted versions of the same m-
sequence. Thus using (1) we get
KA,I,t = bJ αJt .
wt(J)≤d
Let S0 = (s0 , s1 , ..., sn−1 ) denote the initial state of the LFSR. Any state St
at time t is found by taking appropriate powers of T1 starting from the initial
state
St = (st , st+1 , . . . , st+n−1 ) = (s0 , . . . , sn−1 )T1t ,
and the consecutive states of the LFSR are
S0 , S0 T1 , S0 T12 , . . . , S0 T1t , . . .
Ŝ0 = (s0 , s1 , s2 , s0 s1 , s0 s2 , s1 s2 , s0 s1 s2 ).
s3 = s1 + s0
s1 s3 = s1 + s0 s1
s2 s3 = s0 s2 + s1 s2
s1 s2 s3 = s0 s1 s2 + s1 s2 .
Therefore the linear transformation that transforms Ŝ0 to Ŝ1 (or equivalently
Ŝt+1 = Ŝt T for any integer t) can be described by the 7 × 7 matrix T given by
⎛ ⎞
s0 0010000
s1 ⎜ ⎜1 0 1 0 1 0 0⎟
⎟
s2 ⎜ 0 1 0 0 0 0 0 ⎟
⎜
⎟
T = s0 s1 ⎜ ⎟
⎜0 0 0 0 1 0 0⎟.
s0 s2 ⎜ 0 0 0 0 0 1 0 ⎟
⎜
⎟
s1 s2 ⎝ 0 0 0 1 0 1 1 ⎠
s0 s1 s2 0 0 0 0 0 0 1
The columns are indexed as the rows but all indices are increased by one. For
example the fifth column represents s1 s3 = s1 + s0 s1 .
For any subset J = {j0 , j1 , . . . , jr−1 } ⊂ In , we define st+J to be st+J =
st+j0 st+j1 · · · st+jr−1 . The rows and columns are indexed by the subsets of In
A Survey of Recent Attacks on the Filter Generator 13
and the value of T in position (I, J) is given by KI,J,1 , since this is the coefficient
of sI in s1+J , i.e.,
s1+J = sI KI,J,1 . (6)
I
This matrix T also occurred in the paper by Hawkes and Rose [4] in their
study of algebraic attacks. The (2n − 1) × (2n − 1) transformation matrix T
given by Ŝt+1 = Ŝt T has more consequences for attacking the filter generator
than anticipated in [4]. The interesting observation to be showed later is that the
elements in the powers T t of the matrix T are equal to the coefficient sequences
KI,J,t defined by Rønjom and Helleseth in [8] as the coefficient of sI in st+J =
st+j0 st+j1 · · · st+jr−1 where J = {j0 , j1 , . . . , jr−1 }, or in other words
st+J = sI KI,J,t . (7)
I
Proof. The proof follows directly from (7) and Ŝt = Ŝ0 T t .
Let vf denote the binary vector of length 2n − 1 (we may assume without loss of
generality there is no constant termin f ) with component vf,I in position I being
the coefficient of sI in f , i.e., f = I vf,I sI . Then since, popular speacking, the
effect of T is to increase the indices by one, this implies that the binary vector
representation of f1 (s0 , s1 , . . . , sn−1 ) = f0 (s1 , s2 , . . . , sn )(= f (s1 , s2 , . . . , sn )) is
related by
vf1 = T vf0 .
Therefore, in general each output bit zt from the filter generator leads to the
equation
zt = Ŝ0 T t vf0 (= Ŝ0 vft ). (8)
Let Tr be the
submatrices along the diagonal of T , i.e., Tr equals T restricted
to the nr × nr submatrix corresponding to the positions (I, J) where |I| =
|J| = r. An interestinf property of Tr , proved in [10], is the following.
Theorem 2. The minimal polynomial mTr (x) and characteristic polynomial
cTr (x) of the square nr × nr matrix Tr are equal. Moreover, we have that
cTr (x) = mTr (x) = gr (x) = (x + αe ). (9)
e,wt(e)=r
Let vf denote the length D support vector for a function f (s0 , . . . , sn−1 ) of
degree d where the coefficients are ordered in the same order as the columns of
T , and therefore in the same order as the expanded LFSR state St satisfying
At = ⎝ T t vf T t+1 vf . . . T t+D−1 vf ⎠
and thus Ŝ0 At = Ŝt A0 = Ŝ0 T t A0 = [zt , zt+1 , . . . , zt+D−1 ]. The columns of the
matrix At are the coefficient vectors of the functions studied in algebraic attacks.
Let as before p(x) = g2 (x)g3 (x) · · · gd (x) = D−n j
j=0 pj x . The algebraic attack
in the previous section can now be described by computing ft∗ = D−n j=0 pj ft+j
and
D−n
D−n
zt∗ = pj ft+j = pj zt+j = Ŝ0 T t p2 (T )vf = Ŝ0 vft∗ ,
j=0 j=0
where vft∗ = T t p(T )vf . Let p(T ) = T , then
Ŝ0 p(T )At = Ŝ0 [vft∗ , T vft∗ , . . . , T D−1 vft∗ ] = [zt∗ , zt+1
∗ ∗
, . . . , zt+D−1 ],
is a system of D linear equations. Note that p(T ) is only nonzero in the first
n rows since KI,J,t is generated by p(x) for any I when |I| ≥ 2, due to the
proofs of Lemma 1 and Theorem 1. Clearly, it therefore suffices to compute
v = p(T )vf restricted to a length-n vector and then compute the columns of
an n × n matrix given by v , T1 v , . . . , T1n−1 v . Thus we have an system of n
equations in the n unknown bits in the initial state (s0 , s1 , . . . , sn−1 ) which can
therefore be determined.
The main idea is to determine β directly from zt . The attack in Rønjom and
Helleseth [8] applied the shift operator to the key stream zt using the polynomial
p(x) = g2 (x)g3 (x) · · · gd (x) with all zeros αJ of weight 2 ≤ wt(J) ≤ d, leading to
D−n
p(E)zt = pj zt+j = T r1mk (Ak β k p(αk )αtk ) = T r1n (A1 βp(α)αt ).
j=0 k
The left hand side is linear in the bits in the initial state and thus leads to a linear
equation system which is considered in Rønjom and Helleseth [8]. Furthermore,
A1 was explicitly given in [8].
In the case when A1 = 0 we select another k such that Ak = 0 and gcd(k, 2n −
1) = 1 and let instead p(x) be defined to have all possible zeros αJ where
1 ≤ wt(J) ≤ d, except for αk . Then using the shift operator for this p(x), we get
β k = rA−1 k −1
k [pk (α )]
where αi is a product of ≤ d(= deg(f )) zeros from the LFSR. Thus the zeros
are of the form αJ where the Hamming weight of the binary representation of
J is at most d. The reason is that zt is a sum of products of ≤ d products of
shifted version of the same m-sequence.
In the linear combiner case the key stream can be represented similarly but
now each αi is a product of zeros from the characteristic polynomials of the differ-
ent shift registers. For example if we have three LFSRs generating m-sequences,
{at }, {bt } and {ct } and f = x1 x2 x3 + x1 , and we select x1 = at , x2 = bt and
x3 = ct , then the keystream can written
zt = βi αti ,
i
where each αi is either a product of three elements being one zero from each
of the characteristic polynomials or a zero from the characteristic polynomials
generating the {at } sequence.
In this case (when one variable enters linearly) we can define p(x) to contain
all these zeros except the zeros from the characteristic polynomial of {at }. Then
we have
p(E)zt = βi p(αi )αti = T r1na (β1 p(α1 )αt1 )
i
f (at , bt ) = ft (a0 , a1 , a2 , a3 , b0 , b1 , b2 , b3 , b4 ) = zt .
(a0 , a1 , a2 , a3 , b0 , b1 , b2 , b3 , b4 ) = (x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 ).
Let f (x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 ) = x0 + x5 + x0 x5 + x1 x3 + x5 x6 .
Then
zt = f (x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 )
= f (at , at+1 , at+2 , at+3 , bt , bt+1 , bt+2 , bt+3 , bt+4 )
= at + bt + at bt + at+1 at+2 + bt bt+1 .
A Survey of Recent Attacks on the Filter Generator 17
In this case we can study the coordinate sequences for the polynomials ft as a
function of the coordinate sequences for aI and bJ . The methods in the previous
sections apply with minor adjustments.
Acknowledgements
References
1. Courtois, N., Meier, W.: Algebraic Attacks on Stream Ciphers with Linear Feed-
back. In: Biham, E. (ed.) EUROCRPYT 2003. LNCS, vol. 2656, pp. 345–359.
Springer, Heidelberg (2003)
2. Golomb, S.W., Gong, G.: Signal Design for Good Correlation: For Wireless Com-
munication, Cryptography and Radar. Cambridge University Press, Cambridge
(2005)
3. Gong, G.: Analysis and Synthesis of Phases and Linear Complexity of Non-Linear
Feedforward Sequences. Ph.D. thesis, University of Elec. Sci. and Tech. of China
(1990)
4. Hawkes, P., Rose, G.: Rewriting Variables: The Complexity of Fast Algebraic At-
tacks on Stream Ciphers. In: Franklin, M. (ed.) CRYPTO 2004. LNCS, vol. 3152,
pp. 390–406. Springer, Heidelberg (2004)
5. Herlestam, T.: On Functions of Linear Shift Register Sequences. In: Pichler, F. (ed.)
EUROCRYPT 1985. LNCS, vol. 219, pp. 119–129. Springer, Heidelberg (1986)
6. Paterson, K.G.: Root Counting, the DFT and the Linear Complexity of Nonlinear
Filtering. Codes and Cryptography 14, 247–259 (1998)
7. Rønjom, S., Gong, G., Helleseth, T.: On Attacks on Filtering Generators Using
Linear Subspace Structures. In: SSC 2007, pp. 141–153 (2007)
8. Rønjom, S., Helleseth, T.: A New Attack on the Filter Generator. IEEE Trans.
Inform. Theory 53(5), 1752–1758 (2007)
9. Rønjom, S., Helleseth, T.: Attacking the Filter Generator over GF (2m ). In: WAIFI
2007. LNCS, vol. 4547, Springer, Heidelberg (2007)
10. Rønjom, S., Helleseth, T.: The Linear Vector Space Spanned by the Nonlinear
Filter Generator. In: SSC 2007, pp. 141–153 (2007)
11. Rueppel, R.A.: Analysis and Design of Stream Ciphers. Springer, Heidelberg (1986)
Iterative List Decoding of LDPC Codes
1 Extended Abstract
In the last decade two old methods for decoding linear block codes have gained
considerable interest, iterative decoding as first described by Gallager in [1] and
list decoding as introduced by Elias [2]. In particular iterative decoding of low-
density parity-check (LDPC) codes, has been an important subject of research,
see e.g. [3] and the references therein. “Good” LDPC codes are often randomly
generated by computer, but recently codes with an algebraic or geometric struc-
ture have also been considered e.g [3] and [4]. The performance of the iterative
decoder is typically studied by simulations and a theoretical analysis is more
difficult.
In this paper we combine the two decoding methods and present an iterative
list decoding algorithm. In particular we apply this decoder to a class of LDPC
codes from finite geometries and show that the (73, 45, 10) projective geometry
code can be maximum likelihood decoded with low complexity. Moreover the list
decoding approach enables us to give a complete analysis of the performance in
this case. We also discuss the performance of the list bit-flipping algorithm for
longer LDPC codes.
We consider hard-decision iterative decoding of a binary (n, k, d) code. For a
received vector, y, we calculate an extended syndrome s = Hy , where H is a
parity check matrix, but usually has more than n − k rows. Let r denote the
length of the syndrome. The idea of using extended syndromes was also used in
[5]. Our approach is based on one of the common versions of bit flipping (BF)
[3], where the schedule is such that the syndrome is updated after each flip. In
each step we flip a symbol chosen among those positions that reduce the weight
of the extended syndrome, which we refer to briefly as the syndrome weight, u.
A decoded word is reached when u = 0. In this paper we consider a variation of
the common algorithm in the form of a tree-structured search. Whenever there is
a choice between several bits, all possibilities are tried in succession. The result
of the decoding algorithm is, in general, a list of codewords, obtained as leaves
of the search tree. This form of the bit flipping algorithm leads naturally to a
solution in the form of a list of codewords at the same smallest distance from
y [6]. This list decoding concept is somewhat different from list decoding in the
usual sense of all codewords within a certain distance from y. The paper is a
continuation of [7] including results on long codes from [8].
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 18–19, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Iterative List Decoding of LDPC Codes 19
References
1. Gallager, R.G.: Low-Density Parity-Check Codes. M.I.T. Press, Cambridge, MA
(1963)
2. Elias, P.: List Decoding for Noisy Channel. Res. Lab. Electron., MIT, Cambridge,
MA, Techn. Rep. 335 (1957)
3. Kou, Y., Lin, S., Fossorier, M.: Low-Density Parity-Check Codes Based on Finite
Geometries: A Rediscovery and New Results. IEEE Trans. Inform. Theory 47, 2711–
2736 (2001)
4. Liu, Z., Pados, D.A.: LDPC Codes from Generalized Polygons. IEEE Trans. Inform.
Theory 51, 3890–3898 (2005)
5. Bossert, M., Hergert, F.: Hard-and Soft-Decision Decoding Beyond the Half Mini-
mum Distance - An Algorithm for Linear Codes. IEEE Trans. Inform. Theory 32,
709–714 (1986)
6. Hjaltason, J.: List Decoding of LDPC Codes. M. Eng. Thesis, Department of Math-
ematics, Technical University of Denmark (2005)
7. Justesen, J., Høholdt, T., Hjaltason, J.: Iterative List Decoding of Some LDPC
Codes. IEEE Trans. Inform. Theory. (to appear, 2007)
8. Kristensen, J.T.: List Decoding of LDPC Codes. M. Eng. Thesis, COM, Technical
University of Denmark (2007)
Inverted Edwards Coordinates
Abstract. Edwards curves have attracted great interest for several rea-
sons. When curve parameters are chosen properly, the addition formulas
use only 10M + 1S. The formulas are strongly unified, i.e., work without
change for doublings; even better, they are complete, i.e., work without
change for all inputs. Dedicated doubling formulas use only 3M + 4S,
and dedicated tripling formulas use only 9M + 4S.
This paper introduces inverted Edwards coordinates. Inverted Edwards
coordinates (X1 : Y1 : Z1 ) represent the affine point (Z1 /X1 , Z1 /Y1 ) on
an Edwards curve; for comparison, standard Edwards coordinates (X1 :
Y1 : Z1 ) represent the affine point (X1 /Z1 , Y1 /Z1 ).
This paper presents addition formulas for inverted Edwards coor-
dinates using only 9M + 1S. The formulas are not complete but still
are strongly unified. Dedicated doubling formulas use only 3M + 4S,
and dedicated tripling formulas use only 9M + 4S. Inverted Edwards
coordinates thus save 1M for each addition, without slowing down
doubling or tripling.
1 Introduction
In [8] Edwards proposed a new normal form for elliptic curves and gave an
addition law that is remarkably symmetric in the x and y coordinates. In [4],
using coordinates (X : Y : Z) to represent the point (X/Z, Y /Z) on an Edwards
curve, we showed that curve addition could be performed using only 10M + 1S
(i.e., 11 field multiplications, of which 1 is a squaring) and that curve doubling
could be performed using only 3M + 4S. We presented a comprehensive survey
Permanent ID of this document: 0ef034ea1cdbb58a5182aaaefbea6754. Date of this
document: 2007.10.03. This work has been supported in part by the European Com-
mission through the IST Programme under Contract IST–2002–507932 ECRYPT.
This work was carried out while the first author was visiting Technische Universiteit
Eindhoven.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 20–27, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Inverted Edwards Coordinates 21
New Contributions. This paper presents an even faster coordinate system for
elliptic curves: namely, inverted Edwards coordinates, using coordinates (X : Y :
Z) to represent the point (Z/X, Z/Y ) on an Edwards curve. In Section 4 we
present formulas for curve addition in inverted Edwards coordinates using only
9M + 1S, saving 1M compared to standard Edwards coordinates.
Inverted Edwards coordinates, unlike standard Edwards coordinates, do not
have complete addition formulas: some points, such as the neutral element, must
be handled separately. But our addition formulas still have the advantage of
strong unification: they can be used without change to double a point.
In Sections 5 and 6 we present formulas for doubling and tripling in inverted
Edwards coordinates using only 3M + 4S and 9M + 4S, matching the speeds of
standard Edwards coordinates.
All of the operation counts stated above assume small curve parameters and
disregard the cost of multiplying by a curve parameter. Arbitrary curve pa-
rameters cost 1M extra for each addition, each doubling, and each tripling. The
penalty for standard Edwards coordinates is smaller: arbitrary curve parameters
cost 1M extra for addition but nothing for doubling or tripling.
In Section 7 we revisit the comparison from [4], analyzing the impact of in-
verted Edwards coordinates and other recent speedups.
x2 + y 2 = 1 + dx2 y 2 ,
22 D.J. Bernstein and T. Lange
and X1 Y1 Z1 = 0, to represent the point (Z1 /X1 , Z1 /Y1 ) on the Edwards curve.
We refer to these coordinates as inverted Edwards coordinates. As before, (X1 :
Y1 : Z1 ) = (λX1 : λY1 : λZ1 ) for any λ = 0.
It is easy to convert from standard Edwards coordinates (X1 : Y1 : Z1 ) to
inverted Edwards coordinates: simply compute (Y1 Z1 : X1 Z1 : X1 Y1 ) with three
multiplications. The same computation also performs the opposite conversion
from inverted Edwards coordinates to standard Edwards coordinates.
For computations we use the vector (X1 , Y1 , Z1 ) to represent the point (X1 :
Y1 : Z1 ) in inverted Edwards coordinates.
Geometry.
√ Recall that the desingularization of an Edwards curve has, over
k( d), four points that map to the two singularities at infinity on the curve. It
also has four points that map without ramification to (0, 1), (0, −1), (1, 0), and
(−1, 0).
Mapping the same desingularization to the projective curve (X 2 √ + Y 2 )Z 2 =
X√ Y + dZ takes the first four points without ramification to (0 : ± d : 1) and
2 2 4
(± d : 0 : 1), and takes the second four points to two singularities at infinity.
When d is not a square, the first map has no ramification points over k and
allows a complete addition law on the Edwards curve. The second map always
has ramification points, and in particular is ramified at the neutral element.
For mathematicians it is perhaps more satisfying to start from the projective
curve (X 2 + Y 2 )Z 2 = X 2 Y 2 + dZ 4 and define an addition law on it, including
24 D.J. Bernstein and T. Lange
√ √
the points (0 : ± d : 1) and (± d : 0 : 1), without mapping to an Edwards
curve. We restricted to points (X1 : Y1 : Z1 ) with X1 Y1 Z1 = 0 to maintain the
link with Edwards curves and the Edwards addition law.
4 Addition
Obtaining more efficient addition formulas was our main goal in investigating
inverted Edwards coordinates. Inspecting the addition formulas in [4, Section
4] one notices that the computations of the resulting X3 and Y3 each involve a
multiplication by Z1 Z2 .
Inserting Zi /Xi for xi and Zi /Yi for yi in the Edwards addition law (assuming
Xi Yi Zi = 0) we obtain
Z Z1 Z2 Z2 (X2 Y1 + X1 Y2 )Z1 Z2 (X1 X2 − Y1 Y2 )Z1 Z2 Z3 Z3
1
, + , = , = ,
X1 Y1 X2 Y2 X1 X2 Y1 Y2 + dZ12 Z22 X1 X2 Y1 Y2 − dZ12 Z22 X3 Y3
where
This shows the idea behind inverted Edwards coordinates, namely that in this
representation only Z3 needs to be multiplied with Z1 Z2 , which saves 1M in
total. Compared to the addition in Edwards coordinates the degree of these
formulas is only 6 as opposed to 8 in that representation.
A = Z1 · Z2 ; B = dA2 ; C = X1 · X2 ; D = Y1 · Y2 ; E = C · D;
H = C − D; I = (X1 + Y1 ) · (X2 + Y2 ) − C − D;
X3 = (E + B) · H; Y3 = (E − B) · I; Z3 = A · H · I.
can be cached from the previous addition. We have not found a way to save M
or S in this case.
Special points. The above description of addition ignored the possibility of
the special points (0, 1), (0, −1), (1, 0), (−1, 0) appearing as summands or as the
sum. We now deal with that possibility. We represent these points as the vectors
(1, 0, 0), (−1, 0, 0), (0, −1, 0), (0, 1, 0) respectively, as discussed in Section 3. We
assume that d is not a square.
Special points as summands are easy to handle. If Z1 = 0 or Z2 = 0 then the
sum of (X1 , Y1 , Z1 ) and (X2 , Y2 , Z2 ) is (X1 X2 − Y1 Y2 , X2 Y1 + X1 Y2 , Z1 + Z2 ).
Even if neither summand is a special point, the sum could be a special point.
If I = 0 and Y2 Z1 = Y1 Z2 then the sum is (1, 0, 0). If I = 0 and Y2 Z1 = −Y1 Z2
then the sum is (−1, 0, 0). If H = 0 and Y2 Z1 = −X1 Z2 then the sum is (0, 1, 0).
If H = 0 and Y2 Z1 = X1 Z2 then the sum is (0, −1, 0).
To derive these output rules, observe that two points (x1 , y1 ) and (x2 , y2 ) on
the Edwards curve have sum (0, 1) if and only if (x2 , y2 ) = (−x1 , y1 ). In this case
(Z2 /X2 , Z2 /Y2 ) = (−Z1 /X1 , Z1 /Y1 ) so, in the notation of our explicit formulas,
I = X1 Y2 + Y1 X2 = X1 Y1 Z2 /Z1 − Y1 X1 Z2 /Z1 = 0 and Y2 Z1 = Y1 Z2 . Similarly,
two points (x1 , y1 ) and (x2 , y2 ) having sum (0, −1) end up with I = 0 but with
Y2 Z1 = −Y1 Z2 ; two points (x1 , y1 ) and (x2 , y2 ) having sum (1, 0) end up with
H = 0 and Y2 Z1 = X1 Z2 ; two points (x1 , y1 ) and (x2 , y2 ) having sum (−1, 0)
end up with H = 0 but with Y2 Z1 = −X1 Z2 .
To see that the output rules are exclusive, suppose that H = 0 and I = 0. Then
X1 X2 = Y1 Y2 and X1 Y2 + X2 Y1 = 0, so X12 X2 = X1 Y1 Y2 and X1 Y1 Y2 + X2 Y12 =
0, so (X12 + Y12 )X2 = 0; all variables are nonzero, so X12 + Y12 = 0. The curve
equation (X12 + Y12 )Z12 = X12 Y12 + dZ14 now implies 0 = X12 (−X12 ) + dZ14 ; i.e.,
d = (X1 /Z1 )4 , contradicting the assumption that d is not a square.
5 Doubling
Doubling refers to the case that the inputs (X1 : Y1 : Z1 ) and (X2 : Y2 : Z2 ) are
known to be equal. If X1 Y1 Z1 = 0 the special formulas from Section 4 apply.
Otherwise inserting Z1 /X1 for x1 and x2 and Z1 /Y1 for y1 and y2 in the Edwards
addition law we obtain
2X1 Y1 Z12 (X12 − Y12 )Z12 2X1 Y1 X12 − Y12
2(x1 , y1 ) = , = , .
X12 Y12 + dZ14 X12 Y12 − dZ14 X12 + Y12 X12 + Y12 − 2dZ12
In the second equality we have used the curve equation to replace X12 Y12 by
(X12 + Y12 )Z12 − dZ14 , and then cancelled Z12 , reducing the overall degree of the
formulas to 4. The resulting coordinates are
6 Tripling
In Edwards coordinates tripling (9M + 4S + 8a, or alternatively 7M + 7S + 16a)
is faster than the sequential computation of a doubling (3M + 4S + 6a) followed
by an addition (10M + 1S + 1D + 7a). The main speedup comes from using the
curve equation to reduce the degree of the tripling formulas. See Section 1 for
credits and references.
For inverted Edwards coordinates with X1 Y1 Z1 = 0 we now provide two
sets of tripling formulas. Both sets have been added to the EFD [3] for formal
verification. The first set needs 9M + 4S + 1D + 10a:
Special points. Tripling special points is very easy: 3(X1 , Y1 , 0) = (X1 , −Y1 , 0).
7 Comparison
The EFD [3] is meant to provide an up-to-date database with all curve forms and
coordinate systems ever proposed. A comparison in a paper can only give a snap-
shot of what is known today. Most of the conclusions in [4] remain unchanged,
but science has developed even in the short time since then!
Duquesne in [7] proposed what we call “extended Jacobi-quartic coordi-
nates,” now described in detail in the EFD. Duquesne’s addition formulas use
Inverted Edwards Coordinates 27
References
1. Barua, R., Lange, T. (eds.): INDOCRYPT 2006. LNCS, vol. 4329. Springer, Hei-
delberg (2006)
2. Bernstein, D.J., Birkner, P., Lange, T., Peters, C.: Optimizing Double-Base
Elliptic-Curve Single-Scalar Multiplication. In: Srinathan, K., Pandu Rangan, C.,
Yung, M. (eds.) INDOCRYPT 2007. LNCS, vol. 4859, pp. 167–182. Springer, Hei-
delberg (2007)
3. Bernstein, D.J., Lange, T.: Explicit-Formulas Database,
http://www.hyperelliptic.org/EFD
4. Bernstein, D.J., Lange, T.: Faster Addition and Doubling on Elliptic Curves. In:
Kurosawa, K. (ed.) ASIACRYPT 2007. LNCS, vol. 4833, pp. 29–50. Springer,
Heidelberg (2007), http://cr.yp.to/newelliptic/
5. Bosma, W., Lenstra Jr., H.W.: Complete Systems of Two Addition Laws for Elliptic
Curves. J. Number Theory 53, 229–240 (1995)
6. Doche, C., Imbert, L.: Extended Double-Base Number System with Applications to
Elliptic Curve Cryptography. In: Barua, R., Lange, T. (eds.) INDOCRYPT 2006.
LNCS, vol. 4329, pp. 335–348. Springer, Heidelberg (2006)
7. Duquesne, S.: Improving the Arithmetic of Elliptic Curves in the Jacobi Model.
Information Processing Letters 104, 101–105 (2007)
8. Edwards, H.M.: A Normal Form for Elliptic Curves. Bulletin of the American Math-
ematical Society 44, 393–422 (2007), http://www.ams.org/bull/2007-44-03/
S0273-0979-07-01153-6/home.html
9. Hisil, H., Carter, G., Dawson, E.: New Formulae for Efficient Elliptic Curve Arith-
metic. In: Srinathan, K., Pandu Rangan, C., Yung, M. (eds.) INDOCRYPT 2007.
LNCS, vol. 4859, Springer, Heidelberg (2007)
10. Kurosawa, K. (ed.): ASIACRYPT 2007. LNCS, vol. 4833. Springer, Heidelberg
(2007)
Spectra of Boolean Functions, Subspaces of
Matrices, and Going Up Versus Going Down
Gary McGuire
Abstract. We will discuss two different but related topics. We first give
a connection between the Fourier spectrum of Boolean functions and
subspaces of skew-symmetric subspaces where each nonzero element has
a lower bound on its rank. Secondly, we discuss some connections between
bent and near-bent functions.
1 Introduction
Let Vn denote any n-dimensional vector space over F2 . The Fourier transform
of a function f : Vn −→ Vm is defined by
f(a, b) := (−1)b,f (x)+a,x
x∈Vn
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 28–37, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Spectra of Boolean Functions, Subspaces of Matrices 29
In this context, f is almost bent if and only if each of the Boolean functions
tr(bf (x)) is near-bent, for all b ∈ L, b = 0. If f is a monomial permutation, say
f (x) = xd where (d, 2n − 1) = 1, then f is almost bent if and only if tr(f (x)) is
near-bent. This is because we may write any b ∈ L as cd , and then replacing x
by x/c in (1) gives
f(a, b) = (−1)tr(x +ac x) = f(ac−1 , 1).
d d d −1
(−1)tr(c x +ax) =
x∈L x∈L
It follows that the Fourier spectrum of f (x) = xd will be the same as the Fourier
spectrum of the Boolean function tr(xd ), when (d, 2n − 1) = 1. The most famous
k
examples of this are the almost bent Gold functions f (x) = x2 +1 where k is
relatively prime to n and n is odd. Bent and near-bent functions are discussed
in section 4.
Let us next introduce the topic of subspaces of matrices where all nonzero
matrices have a certain rank. In differential topology, one important problem is
the construction of immersions from real projective space Pn (R) into Euclidean
space Rn+k . There are open problems dating from the early 1960s concerning
the minimal possible k for which such an immersion exists. Let Mn,n (F ) denote
the vector space of all n × n matrices over a field F . It can be shown that the
highest possible dimension of a subspace of Mn,n (R) not containing any elements
of rank 1 is directly related to the question of which k are possible. It has also
been shown that subspaces consisting of all symmetric matrices, or all skew-
symmetric matrices, are of similar importance to the problem of constructing
embeddings into Euclidean space. Also, connections have been found between
the embedding problem and the immersion problem, so the symmetric case has
implications for the immersion problem. More details can be found in [9].
Connections between subspaces of matrices with good rank properties and
spacetime codes are studied in Calderbank et al [2] and Lu-Kumar [7].
Let L(n, k, F ) denote the maximal dimension of a subspace of Mn,n (F ) all
of whose nonzero elements have rank at least k. Let LS (n, k, F ) denote the
maximal dimension of a subspace of Mn,n (F ) all of whose nonzero elements are
skew-symmetric and have rank at least k. In section 2 we will discuss the case of
F = F2 and k large. In particular, we discuss LS (n, n−1, F2 ) and LS (n, n−3, F2 )
when n is odd and its relationship to the Fourier spectrum of functions. These
methods carry over easily to finite fields of odd characteristic, and are well known.
We will discuss carrying over the methods to infinite fields.
goes through bilinear forms. This work is all implicit in Delsarte and Goethals
[4]. They translate the results on bilinear forms into results in coding theory.
It is known that such results in coding theory can be translated into results on
the Fourier spectra of Boolean functions. We will directly translate results from
Boolean functions to results on subspaces of matrices. Therefore, we are not
going to present any new results in section 2.1, but we feel that it is useful to
directly explain the connection without going through coding theory. In section
2.2 we will present a direction for future research, and a new result.
We recall some definitions for bilinear forms. Let L = F2n as before. A bilinear
form B : L × L −→ F2 is said to be symplectic if B(x, x) = 0 for all x. By
definition the radical of B is
2.1 Background
Nothing in this section is new. We will use some motivating examples, which
illustrate all the important ideas. In this section n is odd. For a ∈ L the function
Ba (x, y) = tr(a(x2 y + xy 2 ))
rad(Ba ) = {x ∈ L : tr(a(x2 y + xy 2 )) = 0 ∀y ∈ L}
n−1 n−1
= {x ∈ L : tr((ax2 + a2 x2 )y) = 0 ∀y ∈ L}.
Since the trace form is nondegenerate, x is in rad(Ba ) if and only if ax2 +
n−1 n−1
a2 x2 = 0. Squaring this gives
a2 x4 + ax = 0. (2)
Initially it appears possible that this equation could have 4 solutions in L. How-
ever this would imply that Ba has odd rank, since n is odd. Thus, the equation
has two solutions in L. (Alternatively one can solve: if ax = 0 this implies
ax3 = 1, which has a unique solution for x.) Thus wa = 1 for all a = 0. This
also shows Ba is the zero form if and only if a = 0. Therefore, Ba has rank n − 1
for all a = 0.
We note that the same argument works for any tr(a(xσ y − xy σ )) where σ is
a generating automorphism.
Spectra of Boolean Functions, Subspaces of Matrices 31
Now we see the connection to finding the radical of Ba . We computed the radical
above and we saw that it has dimension 1. It is then clear that f(a, b)2 is 2n ±2n ,
and so is either 0 or 2n+1 .
In summary, the point we wish to make is that x3 being an almost bent
function is closely related to all nonzero elements in the vector space of skew-
symmetric matrices Ba having rank n − 1. In general the two facts are not
equivalent, however. The ranks of the bilinear forms are the real connection, and
although in this example this allowed us to determine the true values in the
spectrum, in general more work has to be done in order to determine the precise
spectrum.
Next, one could ask for subspaces where all ranks are n − 1 or n − 3. By
[4], the maximum dimension for such a subspace is 2n. A function with spec-
trum {0, ±2(n+1)/2, ±2(n+3)/2 } should correspond to such a subspace, under the
connection we have illustrated. Here is an example (from [4]).
Consider the set of bilinear forms
Bc,d (x, y) = tr(c(x2 y + xy 2 ) + d(x4 y + xy 4 ))
over all c, d ∈ L. This set of bilinear forms is an F2 -vector space of dimension
2n. We claim that each nonzero form has rank n − 1 or n − 3. This is the same
as saying that the radicals have dimension 1 or 3. To show this, write
Bc,d (x, y) = tr(y 4 (c4 x8 + c2 x2 + d4 x16 + dx))
and then x ∈ rad(Bc,d ) if and only if
c4 x8 + c2 x2 + d4 x16 + dx = 0.
Initially it appears possible that this equation could have 16 solutions in L.
However, because the dimension of the solution space is odd (because the rank
of Bc,d is even), the dimension must be 1 or 3. We are done.
k i i
The same argument repeated for the forms tr( i=1 ci (x2 y + xy 2 )) will give
kn-dimensional subspaces of matrices of ranks n − 1, n − 3, ... n − 2k + 1. This
recovers a result of Delsarte and Goethals [4], which also appears in [6]. For
example, in the 3n-dimensional space of forms
tr(c(x2 y + xy 2 ) + d(x4 y + xy 4 ) + e(x8 y + xy 8 ))
32 G. McGuire
Since the rank of the form is even, it follows that this equation has 2j solutions
in L, where j ∈ {1, 3, 5}. It is true, but not obvious, that this equation cannot
have 32 solutions in L. (This is proved as part of the calculation of the Fourier
spectrum of Kasami-Welch functions – we give a more general proof in the next
section.) This implies that the forms Bc,e have rank n−1 or n−3. It is somewhat
surprising that rank n − 5 does not appear, and that the same result holds for
the subspace of forms tr(c(x2 y + xy 2 ) + e(x8 y + xy 8 )) as holds for the subspace
of forms tr(c(x2 y + xy 2 ) + d(x4 y + xy 4 )).
Firstly, the known bounds on LS (n, k, F2 ) when n is odd due to Delsarte and
Goethals have not been generalised to infinite fields. For example, the value of
LS (n, n − 1, F ) is not known if F is an infinite field. The conjectured value is n,
as in the finite field case. This is one area for future work.
Secondly, one can try to generalize the connections outlined in section 2.1.
Gow and Quinlan [5] have generalised some results on bilinear forms over finite
fields to arbitrary field extensions with a cyclic Galois group. In particular we
quote the following theorem, which we will use.
Theorem 1. Let L/K be a cyclic extension of degree n, with Galois group gen-
erated by σ. Let k be an integer with 1 ≤ k ≤ n, and let w be a polynomial of
degree k in L[t]. Let
R = {x ∈ L : w(σ)x = 0}.
Then we have dimK (R) ≤ k.
Theorem 2. Let L/K be a cyclic extension of degree n, n odd, with Galois group
3
generated by σ. Consider the set of bilinear forms tr(c(xσ y + xy σ ) + e(xσ y +
3
xy σ )) where c, e ∈ L. Then the ranks of these forms are n − 1 or n − 3.
3 3
Proof: Let Bc,e = tr(c(xσ y + xy σ ) + e(xσ y + xy σ )). By definition,
3 3
rad(Bc,e ) = {x ∈ L : tr(c(xσ y + xy σ ) + e(xσ y + xy σ )) = 0 ∀y ∈ L}
−1 −1 3 3 −3 −3
= {x ∈ L : tr((cxσ + cσ xσ + eσ xσ + eσ xσ )y) = 0 ∀y ∈ L}.
Spectra of Boolean Functions, Subspaces of Matrices 33
rad(Bc,e ) = {x ∈ L : w (τ )x = 0}.
3 Even n
This section concerns a different topic. Because bent functions exist in even
dimensions, and near-bent functions exist in odd dimensions, the possibility
exists of moving up and down between bent and near-bent functions. In this
section we will discuss each of the four possibilities.
34 G. McGuire
= (−1)f (x,y)+λ(x,y)
(x,y)∈H
=1+ (−1)f (x,y)+λ(x,y)
(x,y)=(0,0)∈H
=1+ (−1)λ(x,y) + (−1)g(x/y)+λ(x,y)
\{0,0}
(x,y)∈H∞ a=∞ (x,y)∈Ha \{0,0}
= (−1)λ(x,y) + (−1)g(Ha ) (−1)λ(x,y)
(x,y)∈H∞ a=∞ (x,y)∈Ha \{0,0}
= (−1)λ(x,y) + (−1)g(Ha ) (−1)λ(x,y) − 1
(x,y)∈H∞ a=∞ (x,y)∈Ha
= (−1)λ(x,y) − (−1)g(Ha ) + (−1)g(Ha ) (−1)λ(x,y)
(x,y)∈H∞ a=∞ a=∞ (x,y)∈Ha
= (−1)λ(x,y) + (−1)g(Ha ) (−1)λ(x,y)
(x,y)∈H∞ a=∞ (x,y)∈Ha
= (−1)g(Ha ) (−1)λ(x,y)
a∈P1 (K) (x,y)∈Ha
where we used the fact that g is balanced, so a=∞ (−1)g(Ha ) = 0. We write
g(Ha ) to denote the value of g at any element of Ha .
We must now distinguish some cases in order to finish the proof. If λ = 0 then
it is easy to check that f |H (λ) = 2t . For the remainder, assume λ = 0. First
we assume that H does not contain any Ha . Then each Ha is a hyperplane in
Ha . The inner summation is 0 unless λ vanishes on Ha , and there are precisely
two such a for any λ, as λ = 0. So f |H (λ) = ±2t−1 ± 2t−1 which is 0 or ±2t .
Secondly, assume that H does contain one of the Ha , say H . (H cannot contain
two Ha since two Ha ’s generate the whole space K × K.) Then the inner sum
will be 0 unless λ is the unique linear functional whose kernel is H . Thus the
value of f |H (λ) in this case is (−1)g(H ) 2t .
We thank John Dillon for discussions about these functions.
section 4.1 does not work, because adding one variable results in a function of
n+1 variables with Fourier spectrum {0, ±2(n+3)/2}, which is therefore not bent.
However, it is sometimes possible to go up by other methods. Suppose there
exists another near-bent function h(x) on Vn , such that the support of h does
not intersect the support of f. (The supports both have cardinality 2n−1 and so
they partition Vn .) In this case, let y be another Boolean variable, and define
g(x, y) = yf (x) + (y + 1)h(x) on the n + 1 dimensional vector space Vn ⊕ V1 .
Then
g(λ) = (−1)g(x,y)+λ(x,y)
(x,y)∈Vn ⊕V1
= (−1)h(x)+λ(x,0) + (−1)f (x)+λ(x,1)
(x,0)∈Vn ⊕V1 (x,1)∈Vn ⊕V1
=
h(λ) + f(λ).
Since h and f have disjoint support, and both have Fourier spectrum
{0, ±2(n+1)/2}, the values of g(λ) are ±2(n+1)/2 , so g is bent.
An example of this is f (x) = x3 and h(x) = x5 + x, where Vn = L. The
support of a Gold function such as x3 (or x5 ) is known to be the complement of
the hyperplane H of trace 0 elements. It is easy to show that the support of h is
H. Therefore, by the argument above, yf (x)+ (y + 1)h(x) = yx3 + (y + 1)(x5 + x)
is a bent function (of algebraic degree 3). We do not know if this is a new bent
function. Perhaps new bent functions can be constructed in this way.
argument works to show that k(x) is bent when restricted to the hyperplane 1⊥
(i.e., the trace 0 elements).
In [3] the Kasami-Welch functions x4 −2 +1 are considered in greater detail.
k k
References
1. Canteaut, A., Carlet, C., Charpin, P., Fontaine, C.: On Cryptographic Properties
of the Cosets of R(1, m). IEEE Trans. Inform. Theory 47(4), 1494–1513 (2001)
2. Calderbank, A.R., Diggavi, S.N., Al-Dhahir, N.: Space-Time Signaling Based on
Kerdock and Delsarte-Goethals Codes. In: IEEE ICC 2004, vol. 1, pp. 483–487
(2004)
3. Dillon, J.F., McGuire, G.: Kasami-Welch Functions on a Hyperplane (submitted)
4. Delsarte, P., Goethals, J.M.: Alternating Bilinear Forms over GF(q). J. Comb. Th.
Ser. A 19, 26–50 (1975)
5. Gow, R., Quinlan, R.: On the Vanishing of Subspaces of Alternating Bilinear Forms.
Linear and Multilinear Algebra 54, 415–428 (2006)
6. Gow, R., Quinlan, R.: Galois Extensions and Subspaces of Alternating Bilinear
Forms with Special Rank Properties (submitted)
7. Lu, H.F.F., Kumar, P.V.: Rate-Diversity Tradeoff of Space-Time Codes with Fixed
Alphabet and Optimal Constructions for PSK Modulation. IEEE Trans. Inform.
Theory 49(10), 2747–2751 (2003)
8. Lahtonen, J., McGuire, G., Ward, H.N.: Gold and Kasami-Welch Functions,
Quadratic Forms, and Bent Functions. In: Advances in Mathematics of Commu-
nications (2007)
9. Petrovic, Z.: Nonsingular Bilinear Maps, Spaces of Matrices, Immersions and
Embeddings. In: Contemporary Geometry and Related Topics, Belgrade (2006),
http://www.emis.de/proceedings/CGRT2005/
Efficient List Decoding of Explicit Codes with
Optimal Redundancy
Atri Rudra
1 Introduction
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 38–46, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Efficient List Decoding of Explicit Codes with Optimal Redundancy 39
corrected (via list decoding) using a rate R code (or the list decoding capacity),
is given by the trade-off Hq−1 (1 − R). For q = 2Ω(1/ε) , Hq−1 (1 − R) 1 − R − ε
(cf. [13]). In other words, for large enough alphabets, the list decoding capacity
is ρcap (R) = 1 − R.
Now is a good time to compare the list decoding capacity with what can be
achieved with “usual” notion of decoding for the worst-case noise model (called
unique decoding), where the decoder has to always output the transmitted word.
Note that list decoding is a relaxation where the decoder is allowed to output
a list of codewords (with the guarantee that the transmitted codeword is in
the list). It is well known that unique decoding can only correct up to half the
minimum distance of the code, which along with the Singleton bound implies the
following limit on the fraction of errors that can be corrected: ρU (R) = (1−R)/2.
In other words, list decoding has the potential to correct twice as many errors
than unique decoding.
However, in order to harness the real potential of list decoding, we need ex-
plicit codes along with efficient list decoding algorithms that can achieve the list
decoding capacity. For this survey, a list decoding algorithm with a polynomial
running time is considered to be efficient. (Note that this puts an a priori re-
quirement that the worst case list size needs to be bounded by a polynomial
in the block length of the code.) Even though the notion of list decoding was
defined in the late 1950’s, there was essentially no algorithmic progress in list
decoding till the breakthrough works of Sudan [14] and Guruswami-Sudan√[11]
which can list decode Reed-Solomon codes up to the trade-off ρGS (R) = 1 − R.
One can check that ρGS (R) > ρU (R) for every rate R (with the gains being more
pronounced for smaller rates). This fact lead to a spurt of research activity in list
decoding including some surprising applications outside the traditional coding
domain: see for example [15], [4, Chap. 12]. However, this result failed to achieve
the list decoding capacity for any rate (with the gap being especially pronounced
for larger rates).
The bound of ρGS resisted improvements for about seven years till in a recent
breakthrough paper [12], Parvaresh
√ and Vardy presented codes that are list-
decodable beyond the 1 − R radius for low rates √ R. For any m 1, they
(m)
achieve the list-decoding radius ρPV (R) = 1 − m+1
mm Rm . For rates R → 0,
choosing m large enough, they can list decode up to radius 1 − O(R log(1/R)),
which approaches the capacity 1 − R. However, for R 1/16, the best choice
of m is in √ fact m = 1, which reverts back to RS codes and the list-decoding
radius 1 − R. Building on works of Parvaresh and Vardy [12], Guruswami and
Rudra [8] present codes that get arbitrarily close to the list decoding capacity
ρcap (R) for every rate. In particular, for every 1 > R > 0 and every ε > 0,
they give explicit codes of rate R together with polynomial time list decoding
algorithm that can correct up to a fraction 1 − R − ε of errors. These are the
first explicit codes (with efficient list decoding algorithms) that get arbitrarily
close to the list decoding capacity for any rate. This article surveys the results
of [12,8] and some of their implications for list decoding of explicit codes over
small alphabets.
40 A. Rudra
Theorem 2 ([8]). For every integer l 1, for all R, 0 < R < 1 and ε > 0, and
for every prime p, there is an explicit family of folded Reed-Solomon codes over
fields of characteristic p that have rate at least R and which can be (R + ε, l)-list
recovered in polynomial time. The alphabet size of a code of block length N in
−2
the family is (N/ε2 )O(ε log l/(1−R)) .
Theorem 2 will be put to good use in Section 4.
However, the above is not true for every bivariate polynomial Q(X, Y ) that
satisfies Q(γ i , yi ) = 0 for all positions i. The main ideas in [14,11] were to intro-
duce more constraints on Q(X, Y ). In particular, the work of Sudan [14] added
the constraint that a certain weighted degree of Q(X, Y ) is below a fixed up-
per bound. Specifically, Q(X, Y ) was restricted to have a non-trivially bounded
(1, k)-weighted degree. The (1, k)-weighted degree of a monomial X i Y j is i + jk
and the (1, k)-weighted degree of a bivariate polynomial Q(X, Y ) is the maxi-
mum (1, k)-weighted degree among its monomials. The intuition behind defining
such a weighted degree is that given Q(X, Y ) with weighted (1, k) degree of D,
the univariate polynomial Q(X, f (X)), where f (X) is some degree k polyno-
mial, has total degree at most D. The upper bound D is chosen carefully such
that if f (X) is a codeword that needs to be output, then Q(X, f (X)) has more
than D zeroes and thus Q(X, f (X)) ≡ 0, which in √ turn implies that Y − f (X)
divides Q(X, Y ). To get to the bound of 1 − (1 + δ) R, Guruswami and Sudan
in [11], added a further constraint on Q(X, Y ) that requires it to have r roots at
(γ i , yi ), where r is some parameter (in [14] r = 1 while in [11], r is roughly 1/δ).
We now consider the next non-trivial case of m = s = 2 (the ideas for this
case can be easily generalized for the general m = s case). Note that now given
the received word (y0 , y1 ), (y2 , y3 ), . . . , (yn−2 , yn−1 )√we want to find all degree
3
k polynomials f (X) such that for at least (1 + δ) 2R2 fraction of positions
0 i n/2 − 1, f (γ 2i ) = y2i and f (γ 2i+1 ) = y2i+1 . As in the previous case,
we will have an interpolation and a root finding step. The interpolation step is
a straightforward generalization of m = 1 case: we find a trivariate polynomial
Q(X, Y, Z) that fits the received word, that is, for every 0 i n/2 − 1,
Q(γ 2i , y2i , y2i+1 ) = 0. Further, Q(X, Y, Z) has an upper bound on its (1, k, k)-
weighted degree (which is a straightforward generalization of the (1, k)-weighted
degree for the bivariate case) and has a multiplicity of r at every point. For
the root finding step, it suffices to show that for every degree k polynomial
f (X) that needs to be output Q(X, f (X), f (γX)) ≡ 0. This, however does not
follow from weighted degree and multiple root properties of Q(X, Y, Z). Here we
will need two new ideas, the first of which is to show that for some irreducible
polynomial E(X) of degree q − 1, f (X)q ≡ f (γX) mod (E(X)) [8]. The second
idea, due to Parvaresh and Vardy [12], is the following. We first obtain the
bivariate polynomial (over an appropriate extension field) T (Y, Z) ≡ Q(X, Y, Z)
mod (E(X)). Note that by the first idea, we are looking for solutions on the
curve Z = Y q (Y corresponds to f (X) and Z corresponds to f (γX) in the
extension field). The crux of the argument is to show that all the polynomials
f (X) that need to be output correspond to (in the extension field) some root of
the equation T (Y, Y q ) = 0.
As was mentioned earlier, the extension of the m = s = 2 case to the general
m = s > 2 case is fairly straightforward. To go from s = m to any s m requires
another simple idea from [8]: We will reduce the problem of list decoding folded
Reed-Solomon code with folding parameter m to the problem of list decoding
folded Reed-Solomon code with folding parameter s. We then use the algorithm
outlined in the previous paragraph for the folded Reed-Solomon code with folding
Efficient List Decoding of Explicit Codes with Optimal Redundancy 43
where N is the block length. This leads to the following natural questions:
1. Can we achieve the list decoding capacity for smaller alphabets, say for
2Ω(1/ε) (for which the list decoding capacity as we saw in the introduction
is 1 − R)?
2. Can we achieve list decoding capacity for codes over fixed alphabet sizes, for
example, binary codes?
The best known answers to both of the questions above use the notion of
code concatenation and Theorem 2. We now digress for a bit to talk about con-
catenated codes (and along the way motivate why list recovery is an important
algorithmic task).
Concatenated codes were defined in the seminal thesis of Forney [3]. Concate-
nated codes are constructed from two different codes that are defined over alpha-
def
bets of different sizes. Say we are interested in a code over [q] = {0, 1, . . . , q − 1}
(in this section, we will think of q 2 as being a fixed constant). Then the
outer code Cout is defined over [Q], where Q = q k for some positive integer
k. The second code, called the inner code is defined over [q] and is of dimen-
sion k (Note that the message space of Cin and the alphabet of Cout have the
same size). The concatenated code, denoted by C = Cout ◦ Cin , is defined as
follows. Let the rate of Cout be R and let the block lengths of Cout and Cin be
N and n respectively. Define K = RN and r = k/n. The input to C is a vector
m = m1 , . . . , mK ∈ ([q]k )K . Let Cout (m) = x1 , . . . , xN . The codeword in C
corresponding to m is defined as follows
It is easy to check that C has rate rR, dimension kK and block length nN .
Notice that to construct a q-ary code C we use another q-ary code Cin . How-
ever, the nice thing about Cin is that it has small block length. In particular,
since R and r are constants (and typically Q and N are polynomially related),
n = O(log N ). This implies that we can use up exponential time (in n) to search
for a “good” inner code. Further, one can use the brute force algorithm to (list)
decode Cin .
44 A. Rudra
1
List decoding capacity
Zyablov bound
Blokh Zyablov bound
0.8
0.6
R (RATE) --->
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5
ρ (ERROR-CORRECTION RADIUS) --->
Fig. 1. Rate R of binary codes from [8,9] plotted against the list-decoding radius ρ
of their respective algorithms. The best possible trade-off, i.e., list-decoding capacity,
ρ = H2−1 (1 − R) is also plotted.
Finally, we motivate why we are interested in list recovery. Consider the fol-
lowing natural decoding algorithm for the concatenated code Cout ◦ Cin . Given
a received word in ([q]n )N , we divide it into N blocks from [q]n . Then we use a
decoding algorithm for Cin to get an intermediate received word to feed into a
decoding algorithm for Cout . Now one can use unique decoding for Cin and list
decoding for Cout . However, this loses information in the first step. Instead, one
can use the brute force list-decoding algorithm for Cin to get a sequence of lists
(each of which is a subset of [Q]). Now we use a list-recovery algorithm for Cout
to get the final list of codewords.
By concatenating folded RS codes of rate close to 1 (that are list recoverable by
Theorem 2) with suitable inner codes followed by redistribution of symbols using
an expander graph (similar to a construction for linear-time unique decodable
codes in [6]), one can get within ε of capacity with codes over an alphabet of
−4
size 2O(ε log(1/ε)) [8].
For binary codes, recall that the list decoding capacity is known to be
ρbin (R) = H2−1 (1 − R). No explicit constructions of binary codes that approach
this capacity are known. However, concatenating the Folded RS codes with suit-
ably chosen inner codes, one can obtain polynomial time constructable binary
codes that can be list decoded up to the so called “Zyablov bound” [8]. Us-
ing a generalization of code concatenation to multilevel code concatenation, one
can achieve codes that can be list decoded up to the so called “Blokh-Zyablov”
bound [9]. See Figure 1 for a pictorial comparison of the different bounds.
Efficient List Decoding of Explicit Codes with Optimal Redundancy 45
5 Concluding Remarks
The results in [8] could be improved with respect to some parameters. The
size of the list needed to perform list decoding to a radius that is within ε of
−1
capacity grows as N O(ε log(1/R)) where N and R are the block length and
the rate of the code respectively. It remains an open question to bring this list
size down to a constant independent of N (recall that the existential random
coding arguments work with a list size of O(1/ε)). The alphabet size needed to
approach capacity was shown to be a constant independent of N . However, this
involved a brute-force search for a rather large (inner) code, which translates to a
−2
construction time of about N O(ε log(1/ε)) (instead of the ideal construction time
where the exponent of N does not depend on ε). Obtaining a “direct” algebraic
construction over a constant-sized alphabet, such as the generalization of the
Parvaresh-Vardy framework to algebraic-geometric codes in [7], might help in
addressing these two issues.
Finally, constructing binary codes (or q-ary codes for some fixed, small value
of q) that approach the respective list decoding capacity remains a challenging
open problem. In recent work [10], it has been shown that there exist q-ary linear
concatenated codes that achieve list decoding capacity (in the sense that every
Hamming ball of radius Hq−1 (1−R−ε) has polynomially many codewords, where
R is the rate). In particular, this results holds when the outer code is a folded
RS code. This is somewhat encouraging news since concatenation has been the
preeminent method to construct good list-decodable codes over small alphabets.
But realizing the full potential of concatenated codes and achieving capacity
(or even substantially improving upon the Blokh-Zyablov bound) with explicit
codes and polynomial time decoding remains a huge challenge.
References
1. Elias, P.: List Decoding for Noisy Channels. Technical Report 335, Research Lab-
oratory of Electronics, MIT (1957)
2. Elias, P.: Error-Correcting Codes for List Decoding. IEEE Trans. Inform. The-
ory 37(5), 5–12 (1991)
3. Forney, G.D.: Concatenated Codes. MIT Press, Cambridge, MA (1966)
4. Guruswami, V.: List Decoding of Error-Correcting Codes. LNCS, vol. 3282.
Springer, Heidelberg (2004)
5. Guruswami, V.: List Decoding and Pseudorandom Constructions. In: Boztaş, S.,
Lu, H.F. (eds.) AAECC 2007. LNCS, vol. 4851, Springer, Heidelberg (2007)
6. Guruswami, V., Indyk, P.: Linear-Time Encodable/Decodable Codes with Near-
Optimal Rate. IEEE Trans. Inform. Theory 51(10), 3393–3400 (2005)
7. Guruswami, V., Patthak, A.: Correlated Algebraic-Geometric Codes: Improved
List Decoding over Bounded Alphabets. In: FOCS 2006, pp. 227–236 (2006)
8. Guruswami, V., Rudra, A.: Explicit Capacity-Achieving List-Decodable Codes. In:
38th Annual ACM Symposium on Theory of Computing, pp. 1–10 (2006)
9. Guruswami, V., Rudra, A.: Better Binary List-Decodable Codes Via Multilevel
Concatenation. In: 11th International Workshop on Randomization and Compu-
tation. pp. 554–568 (2007)
46 A. Rudra
10. Guruswami, V., Rudra, A.: Concatenated Codes Can Achieve List Decoding Ca-
pacity. In: 19th Annual ACM-SIAM Symposium on Discrete Algorithms (to appear,
2008)
11. Guruswami, V., Sudan, M.: Improved Decoding of Reed-Solomon and Algebraic-
Geometric Codes. IEEE Trans. Inform. Theory 45, 1757–1767 (1999)
12. Parvaresh, F., Vardy, A.: Correcting Errors Beyond the Guruswami-Sudan Ra-
dius in Polynomial Time. In: 46th Annual IEEE Symposium on Foundations of
Computer Science. pp. 285–294 (2005)
13. Rudra, A.: List Decoding and Property Testing of Error Correcting Codes. PhD
thesis, University of Washington (2007)
14. Sudan, M.: Decoding of Reed-Solomon Codes Beyond the Error-Correction Bound.
J. Complexity 13(1), 180–193 (1997)
15. Sudan, M.: List Decoding: Algorithms and Applications. SIGACT News 31, 16–27
(2000)
16. Wozencraft, J.M.: List Decoding. Quarterly Progress Report, Research Laboratory
of Electronics. MIT 48, 90–95 (1958)
17. Zyablov, V.V., Pinsker, M.S.: List Cascade Decoding. Problems of Information
Transmission 17(4), 29–34 (1981)
Algebraic Structure Theory of Tail-Biting
Trellises
Priti Shankar
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, p. 47, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Nice Codes from Nice Curves
Henning Stichtenoth
The well-known Tsfasman-Vladut-Zink (TVZ) theorem states that for all prime
powers q = 2 ≥ 49 there exist sequences of linear codes over Fq with increasing
length whose limit parameters R and δ (rate and relative minimum distance) are
better than the Gilbert-Varshamov bound. The basic ingredients in the proof
of the TVZ theorem are sequences of modular curves (or their corresponding
function fields) having many rational points in comparison to their genus (more
precisely, these curves attain the so-called Drinfeld-Vladut bound). Starting with
such a sequence of curves and using Goppa’s construction of algebraic geometry
(AG) codes, one easily obtains sequences of linear codes whose limit parameters
beat the Gilbert-Varshamov bound.
However, this construction yields just linear codes, and the question arises if
one can refine the construction to obtain good long codes with additional nice
properties (e.g., codes with many automorphisms, self-orthogonal codes or self-
dual codes). This can be done. We give a brief outline of some results in this
direction.
Our starting point is the sequence of function fields (Fi )i≥0 over Fq which are
defined as
xi
Fi = Fq (x0 , x1 , ..., xn ) with the relation xi+1 − xi+1 =
1 − x−1
i
for all i ≥ 0. It is known that the curves corresponding to these function fields
have many rational points; in fact they attain the Drinfeld-Vladut bound. The
idea is now to replace the fields Fi by their Galois closure over some basis field
(it is well-known in algebra that Galois extensions of fields have often much nicer
properties than ”ordinary” extensions).
We proceed as follows: we fix the element u := (x0 − x0 )−1 ∈ F0 = Fq (x0 )
and consider the fields
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 48–49, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Nice Codes from Nice Curves 49
Using these (and some other) properties of the function fields Ei , one can
then construct AG codes in the usual manner and obtains:
Theorem 1. The following classes of linear codes over Fq are better than the
Gilbert-Varshamov bound for all q = 2 with ≥ 7:
1. self-orthogonal codes,
2. self-dual codes,
3. transitive codes.
Here a transitive code means one, whose automorphism group acts transitively
on the coordinates. Note however that we cannot construct asymptotically good
cyclic codes in this way (cyclic codes are a subclass of transitive codes).
The above theorem works over quadratic fields Fq (i.e., q = 2 ). If one starts
with a similar sequence of function fields over a cubic field Fq (i.e., q = 3 ) one
can prove an analogous result.
References
1. Stichtenoth, H.: Transitive and Self-Dual Codes Attaining the Tsfasman-Vladut-
Zink Bound. IEEE Trans. Inform. Theory 52, 2218–2224 (2006)
2. Bassa, A., Garcia, A., Stichtenoth, H.: A New Tower over Cubic Finite Fields
(preprint, 2007)
3. Bassa, A., Stichtenoth, H.: Asymptotic Bounds for Transitive and Self-Dual Codes
over Cubic Finite Fields (in preparation, 2007)
Generalized Sudan’s List Decoding for Order
Domain Codes
1 Introduction
Høholdt et al. [6] proposed the new framework for algebraic code construction,
which they called evaluation codes. Evaluation codes are defined by either gen-
erator matrices or parity check matrices. Evaluation codes defined by parity
check matrices include many classes of algebraic codes, including generalized
Reed-Muller, Reed-Solomon, and one-point geometric Goppa codes CΩ (D, G),
and they provided lower bounds on the minimum Hamming distance and de-
coding algorithms in a unified manner, while relatively little work was done for
evaluation codes defined by generator matrices in [6]. The framework of evalua-
tion codes and order domains was later generalized by O’Sullivan [7], Geil and
Pellikaan [3].
Andersen and Geil [1] studied the evaluation codes defined by generator ma-
trices, which also include generalized Reed-Muller, Reed-Solomon, and one-point
geometric Goppa codes CL (D, G), and they also provided lower bounds on the
minimum Hamming distance in a unified manner. Their work [1] can be regarded
as a generator matrix counterpart of [6]. In this paper we study evaluation codes
defined by generator matrices.
On the other hand, Sudan [10] and Guruswami-Sudan [5] proposed the list
decoding algorithms for Reed-Solomon and one-point geometric Goppa codes,
and the latter method dramatically increased the number of correctable errors of
the conventional bounded distance decoding algorithm, such as the Berlekamp-
Massey algorithm. Following those work, Shokrollahi and Wasserman [9] gener-
alized the Sudan method [10] to one-point geometric Goppa codes, and Pellikaan
This research is in part supported by the Danish National Science Research Coun-
cil Grant FNV-21040368 and the MEXT 21st Century COE Program: Photonics
Nanodevice Integration Engineering.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 50–59, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Generalized Sudan’s List Decoding for Order Domain Codes 51
Note, that there is no requirement that i1 , . . . , is are pairwise different. Note also
that the set L(E, s) relies on the actual choice of well-behaving basis {fλ }λ∈Γ .
Further we observe that for large values of s we have L(E, s) = ∅. What we
will need for the modified version of Sudan type decoding without multiplicity
∞
to work is a number E such that s=0 #L(E, s) > n. As indicated above the
value E will be the number of errors we can correct and therefore we would of
course like to find a large value of E such that the above condition is met. On
the other hand the smallest value t such that
t
#L(E, s) > n (4)
s=0
holds will to some extent reflect the complexity of the decoding algorithm. So
in some situations it might be desirable to choose a smaller value of E than
the largest possible one to decrease the complexity of the algorithm. Choosing
parameters E and t and calculating the corresponding sets L(E, 0), . . . , L(E, t)
is something that is done when setting up the decoding system. Hence, the
complexity of doing this is not of very high importance. However, as we will
demonstrate in the case of generalized Reed-Muller codes, there are often tricks
to ease the above procedure. We are now able to describe the modified Sudan
decoding algorithm without multiplicity.
Algorithm 1
Input: A code C as in (1), parameters E, t such that (4) is met and corresponding
sets L(E, 0), . . . , L(E, t). A received word r
Output: A list of at most t codewords that contains all codewords within distance
at most E from r
Step 1. Find Q0 , . . . , Qt ∈ R not all zero such that Qs ∈ SpanFq {fλ | λ ∈ L(E, s)}
for s = 0, . . . , t and such that ts=0 (ϕ(Qs )) ∗ rs = 0 holds. (Here rs means the
component wise product t of r with itself s times and r 0 = 1.)
Step 2. Factorize s=0 Qs Z s ∈ R[Z] and detect all possible f ∈ R such that
Z − f appears as a factor, which can be done by the method of Wu [11].
Step 3. Return {ϕ(f ) | f is a solution from step 2}.
Generalized Sudan’s List Decoding for Order Domain Codes 55
Combining (5), (6) and (7) with the first part of Theorem 2
lead to the conclusion
that ϕ( ts=0 Qs f s ) = 0 must hold, and Eq. (2) implies ts=0 Qs f s = 0. That
is, f is a zero of Q(Z). But order domains are integral domains and therefore
Quot(R) is a field. It follows that Z − f divides Q(Z) ∈ Quot(R)[Z]. As the
leading coefficient of Z − f is 1 we conclude that Q(Z) = (Z − f )K(Z) for some
K(Z) with coefficients in R. Hence, indeed Z − f appears in the factorization in
step 2 of the algorithm. Finally, as Q(Z) has degree at most t the list in step 3
is of length at most t.
Remark 1. We have used the Hamming weight to ensure Q(Z) = 0 in the above
argument. The conventional method [10,9] used the degree of a polynomial and
the pole order of an algebraic function to ensure Q(Z) = 0. The use of Hamming
weight allows us to list-decode codes from any order domains.
The following example illustrates the nature of our modification.
Example 6. Consider a one-point geometric Goppa code E(η) where η < n. Let,
g be the genus of the function field or equivalently let g = #N0 \Γ . The set
L (E, s) = {λ ∈ Γ | λ + sη < n − E}
is easily calculated and we have L (E, s) ⊆ L(E, s). Replacing L(E, s) with
L (E, s) in Algorithm 1 gives the traditional algorithm [9] without multiplicity
for the one-point geometric Goppa code E(η). Hence, for one-point geometric
Goppa codes the modified algorithm can correct at least as many errors as the
original one and in cases where the sets L(E, s) are larger than the sets L (E, s)
we will be able to correct more errors by the modified algorithm.
56 O. Geil and R. Matsumoto
We get the following Lemma that significantly eases the job with finding L(E, s).
Lemma 1. Let u < q and consider the generalized Reed-Muller code RMq (u, m).
The description of L(E, s) simplifies to
L(E, s) = {(l1 , . . . , lm ) ∈ Nm
0 |
l1 + su, . . . , lm + su < q, (8)
(q − l1 − su)(q − l2 ) · · · (q − lm ) > E,
.. (9)
.
(q − l1 ) · · · (q − lm−1 )(q − lm − su) > E}
Proof: To see that (9) corresponds to (3) we observe that the σ function from
this section is concave. The fact that (8) corresponds to (2) follows from similar
arguments.
To decide how many errors our algorithm can correct we should according to (4)
look for the largest possible E such that a t exists with ts=0 #L(E, s) > n = q m .
Of course such an E can always be found by an extensive trial and error. For the
case of m = 2 that is, codes of the form RMq (u, 2) we now give an approximative
trial and error method that requires only few calculations. It turns out that this
approximative method is actually rather precise.
For a fixed s the conditions to be satisfied are
0 ≤ l1 , l2 < q. (12)
Equations (11) and (12) imply (10) which we therefore can forget about. When
E < q, it is easy to lower-bound the number of solutions to (11) and (12). Under
the assumption E ≥ q we now want to count the number of possible solutions
Generalized Sudan’s List Decoding for Order Domain Codes 57
to (11) and (12). The number of such solutions is bounded below by the area in
the first quadrant of the points that are under both the curve
E
l2 = q − (13)
q − l1 − su
as well as are under the curve
E
l2 = q − su − (14)
q − l1
By symmetry these two curves intersect in two points of the form (γ, γ). We
have to use the point closer to the origin, which we calculate to be
√
2q − su − s2 u2 + 4E
γ= .
2
Therefore (again by symmetry) the area is
γ
E 1
2 (q − su − )dl1 − γ 2
0 q − l1 2
1
= 2(γ(q − su) − E(ln(q) − ln(q − γ)) − γ 2 )
2
A rougher but simpler estimate is found by approximating the above area with
the area of the polygon with corners (0, 0), (0, q − Eq − su), (γ, γ), (q − Eq − su, 0).
Here the second point is found by substituting l1 = 0 in (14) and the fourth
point is found by substituting l2 = 0 in (13). The estimate can serve as a lower
bound due to the fact that both functions in (13) and (14) are concave. The
area of the polygon is found to be γ(q − (E/q) − su). Whether we use the first
estimate or the second estimate we would next like to know the largest value of
t such that L(E, t) = ∅. But this is easily calculated from the requirement γ ≥ 0
implying t = (q − (E/q))/u. Combining the above results with Theorem 4 we
get.
Proposition 1. Consider the code RMq (u, 2) with u < q. For E ≥ q Algo-
rithm 1 can correct at least E errors if the following holds
(q−E/q)/u
1
(2(γ(q − su) − E(ln(q) − ln(q − γ)) − γ 2 )) > q 2 .
s=0
2
Corollary 1. Consider the code RMq (u, 2) with u < q. For E ≥ q Algorithm 1
can correct at least E errors if the following holds
(q−E/q)/u
E
(γ(q − − su)) > q 2 .
s=0
q
Augot and Stepanov in [2] gave an improved estimate of the sum of multiplicities
in terms of the total degree of a multivariate polynomial as follows
58 O. Geil and R. Matsumoto
The above bound is better than the combination of Lemmas 2.4 and 2.5 in [8].
As noted by Augot and Stepanov Theorem 5 allows us to use more monomials
in the first list decoding algorithm in [8], and the resulting decoding algorithm
has the larger error-correcting capability.
The error correcting capability of the modified list decoding algorithm with
Theorem 5 is compared with ours and the original Pellikaan-Wu. The multiplic-
ity used in Augot and Stepanov’s estimate is 10. EP W , EP W A , Eours are the
error correcting capability of the original Pellikaan-Wu, Augot-Stepanov, and
our method, respectively. Finally, EP W A1 respectively EP W A2 are the error cor-
recting capability of the Augot-Stepanov modified the Pellikaan-Wu algorithm
when multiplicity is 1 respectively 2. q = 16, m = 2, n = 256.
u 2 3 4 5 6 7 8 9 10 11 12
EP W 63 46 34 26 19 14 10 7 5 3 2
Eours 76 55 44 34 27 21 15 13 11 9 6
EP W A 118 99 83 70 59 49 41 33 25 19 11
EP W A1 47 31 15 -1 -17 -33 -33 -49 -49 -65 -65
EP W A2 87 63 47 31 23 7 -1 -9 -17 -25 -25
Remark 2. The authors of the present paper have done a lot of computer experi-
ments regarding the error correcting capability of the proposed decoding method
for generalized Reed-Muller codes. In all of these experiments we were able to
correct as many errors as Remark 2.1 in [8] guarantees Pellikaan-Wu algorithm
(with multiplicity) to be able to.
codes
CL (P1 + · · · + Pq2r−1 , sP∞ ) (15)
where P1 , . . . , Pq2r−1 , P∞ are the rational places of the corresponding function
field and P∞ is the unique place among these with νP∞ (x) < 0. We do not go
into detail with how to implement the proposed algorithm but present only some
examples.
Example 7. In this example we consider the norm-trace curve corresponding to
q = 2 and r = 6. These are of length n = 211 . In the table below s is the value
used in (15) whereas Eour is the error correcting capability of the proposed
Generalized Sudan’s List Decoding for Order Domain Codes 59
method and EGS1 is the error correcting capability of Sudan’s algorithm [10]
without multiplicity. By 900-929 we indicate that maximal performance is a
number between 900 and 929. With multiplicity, Guruswami-Sudan’s algorithm
[5] outperform the proposed method.
s 64 96 192 288 480
Eour 1008 900-929 660-669 527 346
EGS1 962 804 479 237 14
References
1. Andersen, H.E., Geil, O.: Evaluation Codes From Order Domain Theory. Finite
Fields and Their Appl. (2007) doi:10.1016/j.ffa.2006.12.004
2. Augot, D., Stepanov, M.: Decoding Reed-Muller Codes with the Guruswami-
Sudan’s Algorithm. In: Slides of Talk Given by D. Augot at Workshop D1 Spe-
cial Semester on Gröbner Bases and Related Methods, RICAM, Linz (2006),
http://www.ricam.oeaw.ac.at/specsem/srs/groeb/download/Augot.pdf
3. Geil, O., Pellikaan, R.: On the Structure of Order Domains. Finite Fields and Their
Appl. 8, 369–396 (2002)
4. Geil, O.: On Codes From Norm-Trace Curves. Finite Fields and Their Appl. 9,
351–371 (2003)
5. Guruswami, V., Sudan, M.: Improved Decoding of Reed-Solomon and Algebraic-
Geometry Codes. IEEE Trans. Inform. Theory 45(4), 1757–1767 (1999)
6. Høholdt, T., van Lint, J., Pellikaan, R.: Algebraic Geometry Codes. In: Pless,
V.S., Huffman, W.C. (eds.) Handbook of Coding Theory, pp. 871–961. Elsevier,
Amsterdam (1998)
7. O’Sullivan, M.E.: New Codes for the Berlekamp-Massey-Sakata Algorithm. Finite
Fields and Their Appl. 7, 293–317 (2001)
8. Pellikaan, R., Wu, X.-W.: List Decoding of q-ary Reed-Muller Codes. IEEE Trans.
Inform. Theory 50, 679–682 (2004)
9. Shokrollahi, M.A., Wasserman, H.: List Decoding of Algebraic-Geometric Codes.
IEEE Trans. Inform. Theory 45(2), 432–437 (1999)
10. Sudan, M.: Decoding of Reed Solomon Codes Beyond the Error Correction Bound.
J. Complexity 13, 180–193 (1997)
11. Wu, X.-W.: An Algorithm for Finding the Roots of the Polynomials Over Order
Domains. In: 2002 IEEE International Symposium on Information Theory, p. 202.
IEEE Press, New York (2002)
Bent Functions and Codes with Low
Peak-to-Average Power Ratio for Multi-Code
CDMA
1 Introduction
Code-Division Multiple-Access (CDMA) in one form or another is likely to be
at the heart of future cellular wireless communications systems, third genera-
tion and beyond, and the orthogonal multi-code system has been drawing much
attention in the last two decades.
The orthogonal multi-code system can achieve the code division multiplexing
by assigning each orthogonal code to each user, and one user can utilize plural
orthogonal code sequences. This means that the peak signal power in an MC-
CDMA system can be as large as n times the average signal power. Typically
n = 2m where m lies between 2 and 6 [1]. Thus, an MC-CDMA signal can have a
significantly higher peak-to-average power ratio (PAPR) than a basic rate signal.
Corresponding author. The research was supported by the Chinese Natural Sci-
ence Foundation (No. 60473142) and the Hong Kong Research Grants Council (No.
617706).
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 60–71, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Bent Functions and Codes with Low Peak-to-Average Power Ratio 61
2 Preliminaries
In this section we first review the communication model of the reverse link of an
MC-CDMA system. Throughout Section 2 and Section 5 n will be a power of 2.
We write n = 2m .
The Walsh-Hadamard matrix W Hn can be defined recursively by W H1 = (1)
and
W H2j−1 W H2j−1
W H2j =
W H2j−1 −W H2j−1
m−1
m−1
where j = jk 2k and t = tk 2k are radix-2 decompositions of j and t,
k=0 k=0
respectively.
Let j = (j0 , j1 , . . . , jm−1 ) and t = (t0 , t1 , . . . , tm−1 ). Then,
T
W H2m = ((−1)j·t )jt
n−1
n−1
T
S(c)t = (−1)cj (W Hn )jt = (−1)cj (−1)j·t (1)
j=0 j=0
n−1
P (c)t = S(c)(S(c))T = (−1)c · W Hn W Hn · ((−1)c )T
t=0
= n(−1)c · ((−1)c )T = n · n = n2
It follows that the average value of P (c)t over 0 ≤ t < n is equal to n. Therefore
we define the peak-to-average power ratio of the vector of data bits c (and the
corresponding signal S(c)) to be
1
P AP R(c) = max P (c)t
n 0≤t<n
m−1
S(c)t = ĉ(t0 , t1 , . . . , tm−1 ), t = tk 2 k
k=0
Obviously, the support set of spectrum for a bent function f (x) in n variables
is Vn . 2
From Parseval identity, S(f ) (w) = 1, we know that the support set of
spectrum for a semi bent function f (x) has 2n−1 elements, namely | suppS(f ) | =
2n−1 .
64 J. Zhou, W.H. Mow, and X. Dai
It is easy to show that (|S(g1 ) (W1 )|, |S(g2 ) (W1 )|) = (2− 2 , 0) or (|S(g1 ) (W1 )|,
n−2
|S(g2 ) (W1 )|) = (0, 2− 2 ). Therefore, both g1 and g2 are semi bent functions in
n−2
|S(g2 ) (W1 )|) = (0, 2− 2 ) , then it is easy to show that f (X) is a bent function.
n−2
Definition 2. The function f (x) is quarter bent if the Walsh-Hadamard trans-
form |S(f ) (w)| = 0 or 2− 2 or 2− 2 for all w ∈ Vn .
n n−2
In a similar way to the above discussion, it is easy to prove the following lemmas.
Lemma 3. Let X1 = (x1 , x2 , · · · , xn−1 ), X = (X1 , xn ), g1 (X1 ) = f (X1 , 0),
g2 (X1 ) = f (X1 , 1), and f (X) be a semi bent function, then both g1 and g2
are quarter bent functions in n − 1 variables.
Lemma 4. Let X1 = (x1 , x2 , · · · , xn−1 ), X = (X1 , xn ), g1 (X1 ) = f (X1 , 0),
g2 (X1 ) = f (X1 , 1), and both g1 and g2 be bent functions. Then f (X) is a semi
bent function.
We now discuss the homogeneous bent functions of degree k(k > 1) over Vn .
Let f (X) be a bent function over Vn . It is known that the degree of f (X) is
not greater than n/2 . If only we ensure that f (X) does not contain the terms
with a degree less than n/2, then f (X) must be a homogeneous bent function.
Bent Functions and Codes with Low Peak-to-Average Power Ratio 65
Suppose that f (X) has the following unique algebraic normal form:
f (x1 , x2 , · · · , xn ) = a0 + a1 x1 + a2 x2 + · · · + an xn
+a1,2 x1 x2 + · · · + an−1,n xn−1 xn + · · · + a1,2,··· ,n x1 x2 · · · xn
Therefore,
the2(m−1)
biggest
number
2(m−1)of the terms with
2(m−1) a degree less than m is,
c0 = 2(m−1) 0 + 1 + 2 + · · · + m−1
Bent Functions and Codes with Low Peak-to-Average Power Ratio 67
2(m−1) 2(m−1) 2(m−1)
Since 22(m−1) = (1+1)2(m−1) = c0 + m +· · ·+ 2(m−1)
= 2c0 − m−1
Thus
2(m−1) 2(m − 1)
2c0 = 2 + (3)
m−1
Moreover, the fact that h1 (X2 ) does not contain a term with a degree less
than m, is equivalent to that there exists a α ∈ V2(m−1) that h1 (α)=0, thus the
number of points α ∈ V2(m−1) that h1 (α)=0 is not less than c0 .
On the other hand, as h1 (X2 ) is a quarter bent function over V2(m−1) , hence
22(m−1) S(h1 ) (0) = (−1)h1 (X2 ) ≤ 22(m−1) 2−m+2 = 2m .
X2 ∈V2(m−1)
Suppose the number of points α ∈ V2(m−1) that h1 (α)=0 is y, then y −
(22(m−1) − y) ≤ 2m , namely y ≤ (22(m−1) + 2m )/2. Hence, the number of points
α ∈ V2(m−1) that h1 (α)=0 is not more than (22(m−1) + 2m )/2.
m−1 /2 ≤ (2
From equality (3), (22(m−1) + 2(m−1) 2(m−1)
+ 2m )/2, namely,
2(m − 1)
≤ 2m (4)
m−1
For m = 3, 2(m−1) = 42 = 6 < 23 = 8, inequality (4) holds. For m = 4,
2(m−1) 6 m−1
Theorem 2. If the order of every term in a Boolean function f (x) over V2m is
more than m − k, and |S(f ) (w)| ≤ 2−m+t , then 2(m−k)
m−k ≤ 2m+t .
|S(g) (w1 , · · · , w2(m−k) )| ≤ 2−m+t+2k , and the order of every term in g(x1 ,· · · ,
x2(m−k) ) is more than m − k.
Very similar to the discussion of Theorem 1, we know that the biggest number
of the terms in g(x1 , · · · , x2(m−k) ) with a degree less than m − k + 1 is c0 =
2(m−k) 2(m−k) 2(m−k)
0 + 1 + 2 + · · · + 2(m−k)
m−k . Thus
2(m−k) 2(m − k)
2c0 = 2 + (5)
m−k
Furthermore, the number of points α ∈ V2(m−k) that g(α)=0 is not more than
(22(m−k) + 2m+t )/2. From equality (5), we have 2(m−k)
m−k ≤ 2m+t .
Let t = 0 (here |S(f ) (w)| = 2−m ), and k = 1. Then 2(m−1)
m−1 ≤ 2m implies that
m <= 3. Therefore, Theorem 1 is a corollary of Theorem 2. Let t = 0 (here
|S(f ) (w)| = 2−m ), and k = 2. Then 2(m−2)
m−2 ≤ 2m implies that m <= 5.
We now present a new coding approach to achieve the constant amplitude trans-
mission of codeword length 2m for both odd and even m.
Let us define the new code as a function g : Vm → {−1, 0, 1}, which takes
m boolean variables and assigns a value from {−1, 0, 1}. The ternary Walsh
spectrum is defined as follows:
Sg (u) = g(x)(−1)x·u , u ∈ Vm
x∈Vm
PAPR(g)
⎛
= max ⎝ g(x, x2m+1 , . . . , xk )
(u,u2m+1 ,...,uk )∈Vk
(x,x2m+1 ,...,xk )∈Vk
T 2
(−1)(x,x2m+1 ,...,xk )(u,u2m+1 ,...,uk ) /weight(g)
T
= max ( (−1)f (x) (−1)xu )2 /22m
(u,u2m+1 ,...,uk )∈Vk
(x,0,...,0)∈Vk
Thus,
Sg (w0 , w1 , w2 , w3 , w4 )
T
= (−1)f (v0 ,v1 )+w0 (1+v0 +v1 )+w2 (1+v1 ) (−1)(v0 ,v1 )(w1 ,w4 )
(v0 ,v1 )∈V2
Hence PAPR(g) = 1.
Suppose that f (v0 , v1 ) is a bent function over V2 . Then we know that f (v0 , v1 )
+ w0 (c0 v0 + c1 v1 + c2 ), c0 , c1 , c2 ∈ GF (2), is still a bent function over V2 . Thus,
3
it is easy to show that there are totally 22 × 23 codewords in this case.
Case C. Among {0, 1, 2, . . . , 25 −1}, select any two integers divisible by 8, namely,
2
8i < 8j, then let 8i ≤ u0 < u1 < 8j ≤ u2 < u3 . There are totally 22 × (23 )2
such codewords.
Case D. Among {0, 1, 2, . . . , 25 − 1}, select any two integers divisible by 16,
namely,
16i < 16j, then let 16i ≤ u0 < u1 < 16j ≤ u2 < u3 . There are totally
2 × (2 ) such codewords.
2 3 3
Considering both Case A and Case B, it is easy to show Case C and Case D.
By using bent functions x1 x2 and x1 x2 + 1, it is easy to verify by computer
4 3 2
that the size of C is 2 × [ 22 + 22 × 8 + 22 × ×(8)2 + 22 × (8)3 ] = 2480. The
minimum distance of C is 4 and PAPR(C)=1.
In a similar way, for general n we can have the following theorem.
Theorem 3. The following constant amplitude code can be constructed.
Case 1. If only using x1 x2 + c1 x1 + c2 x2 + c0 and x1 x2 + c1 x1 + c2 x2 + c0 + 1,
n−1 n−2
where c0 , c1 , c2 are in GF (2), then the size of C is 2 × [ 2 2 + 2 2 × 8 +
2
· · · + 2 × 8n−2 ]. The minimum distance of C is 4 and PAPR(C)=1.
Bent Functions and Codes with Low Peak-to-Average Power Ratio 71
Note that 210 < 1120 < 211 , thus 10 information bits can be transmitted with
constant amplitude codewords of length 24 .
Similarly, we know that the number of constant amplitude codewords of length
2
23 is 8 × [ 22 + 22 × 8] = 112.
Thus, 6 bits can be transmitted with constant amplitude.
References
1. Paterson, K.G.: On Codes with Low Peak-To-Average Power Ratio for Multi-Code
CDMA. IEEE Trans. Inform. Theory 50(3), 550-559 (2004)
2. Paterson, K.G.: generalised Reed-Muller Codes and Power Control in OFDM Mod-
ulation. IEEE Trans. Inform. Theory 46, 104-120 (2000)
3. Paterson, K.G., Jones, A.E.: Effcient Decoding Algorithms for Generalised Reed-
Muller Codes. IEEE Trans. Commun. 48(8), 1272-1285 (2000)
4. Paterson, K.G., Tarokh, V.: on the Existence and Construction of Good Codes with
Low Peak-To-Average Power Ratios. IEEE Trans. Inform. Theory 46(6), 1974-1987
(2000)
5. Qu, C., Seberry, J., Pieprzyk, J.: Homogeneous Bent Functions. Discrete Applied
Mathematics 102, 133-139 (2000)
6. Rothaus, O.S.: On ”Bent” Functions. J. Combin. Theory Ser.A 20, 300-305 (1976)
7. Xia, T., Seberry, J., Pieprzyk, J., Charnes, C.: Homogeneous Bent Functions pf
Degree n in 2n Variables Do Not Exist for n > 3. Discrete Applied Mathematics
142, 127-132 (2004)
8. Wada, T: Characteristic of Bit Sequences Applicable to Constant Amplitude Or-
thogonal Multicode Systems. IEICE Trans. Fundamentals E83-A(11), 2160-2164
(2000)
9. Wada, T., Yamazato, M., Ogawa, A.: A Constant Amplitude Coding for Orthog-
onal Multi-Code CDMA Systems. IEICE Trans. Fundamentals E80-A(12), 2477-
2484 (1997)
10. Wada, T., Yamazato, T., Katayama, M., Ogawa, A.: Error Correcting Capability
of Constant Amplitude Coding for Orthogonal Multi-Code CDMA Systems. IEICE
Trans. Fundamentals E81-A(10), 2166-2169 (1998)
Determining the Nonlinearity of a New Family
of APN Functions
Key words: Almost perfect nonlinear, APN, almost bent, AB, nonlin-
earity, Walsh transform, Walsh spectrum, discrete binary Fourier trans-
form.
1 Introduction
Let L = GF (2n ) for some positive integer n and let Tr(x) denote the absolute
trace map on L. Let f : L −→ L be a function. The map f is said to be almost
perfect nonlinear (APN) on L if the number of solutions in L of the equation
f (x + q) − f (x) = p (1)
is at most 2, for all p, q ∈ L, q = 0. If Equation (1) has at most r solutions,
then the function is called differentially r-uniform. Therefore APN functions are
also called differentially 2-uniform. It is clear that Equation (1) cannot have just
one solution in even characteristic: for any solution x0 , there is a corresponding
solution x0 + q. In odd characteristics, however, it is possible to have functions
permitting just one solution in the equation for all p, q ∈ L, q = 0. Such functions
are called perfect nonlinear.
Definition 1. The Walsh transform of f at (a, b) is defined by
f W (a, b) := (−1)Tr(ax+bf (x)) ,
x∈L
for each a, b ∈ L.
Research supported by Irish Research Council for Science, Engineering and Tech-
nology Postdoctoral Fellowship.
Research supported by the Claude Shannon Institute, Science Foundation Ireland
Grant 06/MI/006.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 72–79, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Determining the Nonlinearity of a New Family of APN Functions 73
The Walsh transform of f (x) at (a, b) is the discrete binary Fourier transform
of g(x) = (−1)Tr(bf (x)) at a.
The Walsh spectrum of f is the set
Λf := {f W (a, b) : a, b ∈ L, b = 0}.
A quantity related to the Walsh spectrum is the the nonlinearity of f , defined
as
1
N L(f ) := 2n−1 − max{|f W (a, b)| : a, b ∈ L, b = 0}.
2
n+1
If n odd and Λf = {0, ±2 2 }, then the function has largest possible nonlinearity
n−1
2n−1 − 2 2 , and we say that f is almost bent (AB) or maximally nonlinear.
When n is odd, every AB function on L is also APN [7]. If f is quadratic (so
that each of its exponents is of the form 2i +2j for some integers i, j) and f is also
APN, then f is necessarily an AB function [6]. However, for a quadratic APN
function defined on a field of even degree, the APN property does not determine
its nonlinearity.
Vectorial Boolean functions used as S-boxes in block ciphers must have high
nonlinearity and low differential uniformity in order to be resistant to linear [7]
and differential [11] cryptanalysis. The AES (advanced encryption standard) uses
a differentially 4-uniform function on eight variables called the inverse function.
Defined on a field of odd degree this function is APN, however, for implemen-
tation reasons S-boxes use functions defined on an even number of variables. In
AES, the inverse function was chosen above the possible APN functions as it
is a permutation and at present there are no known APN permutations defined
on fields of even degree. This function also has the best known nonlinearity for
n
vectors of even length, that is 2n−1 − 2 2 .
Carlet-Charpin-Zinoviev (CCZ) equivalence, introduced in [6], is a standard
measure to determine whether or not two APN functions are essentially the
same. This relation generalizes extended affine (EA) equivalence. A pair of CCZ
equivalent functions have the same resistance to linear and differential crypt-
analysis. A family of APN functions is determined to be new if its members are
CCZ inequivalent to functions of any previously known family.
Until recently, all known APN functions had been found to be EA equivalent
to one of a short list of monomial functions, namely the Gold, Kasami-Welch,
inverse, Welch, Niho and Dobbertin functions. For some time it was conjectured
that this list was the complete list of APN functions up to EA equivalence. The
Gold and Kasami-Welch functions are APN on fields of even and odd degree.
When the field has even degree both these functions have the same nonlinearity
as the inverse function.
In 2006, new examples of APN functions began to appear in the literature.
In [10] the function x3 + θx36 , with θ having order 3, was shown to be APN
on GF (210 ) and CCZ inequivalent to any power mapping. This function has
not been generalised to an infinite family. An infinite family of APN binomials
on fields GF (2n ), where n is divisible by 3 but not 9, was presented in [2] and
shown to be EA inequivalent to any power mapping, and CCZ inequivalent to
the Gold, Kasami-Welch, inverse and Dobbertin functions in [3].
74 C. Bracken et al.
s k k+s
k−1
+2k k k+i
+2i
F (x) := αx2 +1
+ α2 x2 + βx2 +1
+ γi x2 , (2)
i=1
where α and β are primitive elements of GF (22k ) and γi ∈ GF (2k ) for each i.
Observe that since GF (22k ) has even degree, the Walsh spectrum of F is not
determined even though it is APN. Our main result is that F has the same
Walsh spectrum as a Gold function. Before we compute the Walsh spectrum of
this family of functions we need the following lemma and its corollary. While
both of these results are well-known, we include proofs here for the convenience
of the reader.
Let K be a field and let H1 , H2 be extensions of K that are both subfields of a
field extension M of K. We say that H1 is linearly disjoint from H2 over K if any
set of K-linearly independent elements of H1 forms a H2 -linearly independent
set in M .
Lemma 1. Let n, s be positive integers satisfying (n, s) = 1. Let K be a field
and let H1 , H2 be finite extensions of K of degrees n and s respectively. Let M
be the compositum of H1 and H2 . Then H1 and H2 are linearly disjoint over K.
d
si
g(x) = ri x2 ∈ L[x].
i=0
Proof. Let V denote the set of zeroes of g(x) in L. We may assume that V = {0}.
Since g(x) is a linearized polynomial, V is a vector space over GF (2) of finite
dimension v for some positive integer v. Let V ⊂ GF (2sn ) denote the vector
space generated by the elements of V over the field GF (2s ). Since (n, s) = 1, by
Lemma 1, V is a v-dimensional vector space over GF (2s ). Furthermore, for all
c ∈ GF (2s ) and w ∈ GF (2sn ) we have g(cw) = cg(w). Therefore all the elements
of V are also solutions of g(x) = 0. Since the dimension of V over GF (2) is v,
the size of V is 2sv and it follows that there are at least 2sv zeroes of g(x) in
GF (2sn ). On the other hand, a polynomial of degree 2ds can have at most 2ds
zeroes. We conclude that v ≤ d.
Using the fact that Tr(θ) = Tr(θ2 ) for any θ ∈ L, this can be written as
2k
)αx2
s +1 b 2−i
γi 2
−i
)x2
k +1
F W (a, b) = (−1)Tr(ax+(b+b +(bβ+ )
.
x∈L
76 C. Bracken et al.
where s −s −s k
Lb (u) = cu2 + c2 u2 + eu2
k k k −i −i k−i k−i
for c = (b + b2 )α and e = bβ + b2 β 2 + (b2 γi 2 + b2 γi 2 ). First we
k
make some observations about the coefficients of this equation. As e = e2 , we
can say that e ∈ GF (2k ). Note also that as k is odd, all elements of GF (2k )
k
are cubes in L. It is clear that b + b2 ∈ GF (2k ) and is therefore a cube. If
k
b∈/ GF (2k ) then c = (b + b2 )α and hence c is not a cube since α is primitive.
On the other hand, if b ∈ GF (2k ) then c = 0.
Recall that for any character χ of a group G, we have
|G| if χ is trivial
χ(g) = (3)
0 otherwise.
g∈G
We apply this simple principle twice here. First note that for any R ∈ L, x →
(−1)Tr(Rx) is a character of L, which gives
n
2 if R = 0
(−1)Tr(Rx) =
0 otherwise.
x∈L
and hence
|F W (a, b)|2 = 2n (−1)Tr(au+bF (u)) ,
u∈Kb
Furthermore, as n is even and |F W (a, b)| is an integer, we know that |Kb | must
be an even power of 2. Therefore, in order to demonstrate that F (x) has a five
valued spectrum, we need only to show that |Kb | < 16.
s −s −s k
First we demonstrate that Lb (u) = cu2 + c2 u2 + eu2 has no more than
k
4 zeroes when either c or e is zero. If c = (b + b2 )α = 0 then b ∈ GF (2k ) and
hence
k k
k−1
−i −i k−i k−i
e = bβ + b2 β 2 + (b2 γi 2 + b2 γi 2 )
i=0
k
k−1
−i −i k−i k
= b(β + β 2 ) + b2 (γi 2 + γi 2 ) = b(β + β 2 ),
i=0
Determining the Nonlinearity of a New Family of APN Functions 77
power and will therefore cancel in the computations. Now choose some fixed
nonzero v ∈ Kb that is different from u and consider the expression
which is equal to
k k+s k+s k k
c2 (u2 v + v2 u)(u2 v + v 2 u) + u2 + v 2 + uv = 0. (5)
k
If w0 ∈ GF (2k ) is a solution to (6) then substituting w0 2 = w0 in (6) gives
w0 2 + w0 + 1 = 0, in which case w0 ∈ GF (4)\GF (2). Since k is odd, this
means w0 ∈ / GF (2k ), giving a contradiction. It follows that any solution w to
k
(6) satisfies w + w2 = 0.
Raising (6) to the 2k -th power and adding it to (6) we get
k s k s k k+s
+2k k+s k k
(w+w2 )(cv 2 +1
(w2 +w2 )+c2 v 2 (w+w2 ))+(w+w2 )2 +(w+w2 ) = 0.
(7)
k k
The assumption w + w2 = 0 means we can divide (7) by w + w2 to get
s k s k k+s
+2k k+s k
cv 2 +1
(w2 + w2 ) + c2 v 2 (w + w2 ) + (w + w2 ) + 1 = 0. (8)
s k k+s
+2k
As v ∈ Kb , it obeys the expression G(v) = cv 2 +1
+ c2 v 2 + 1 = 0, and so
(8) becomes
s s k k+s
+2k k k+s
cv 2 +1
(w + w2 ) + c2 v 2 (w2 + w2 ) + 1 = 0. (9)
From this we derive two equations. First, a simple rearrangement of (10) gives
−s −s −s
w2 = e−1 (cv 2 −2k −2k
k s s
w 2 + c2 v 2 w2 ). (11)
which has the same number of solutions as there are zeroes of the linearized
polynomial
s 2s 3s
r0 w + r1 w2 + r2 w2 + r3 w2 . (13)
Determining the Nonlinearity of a New Family of APN Functions 79
for nonzero c, e and v, the polynomial in (13) is not identically zero. Then by
Corollary 1, (13) can have no more than eight zeroes in w. Furthermore, as |Kb |
must be an even power of 2, it follows that |Kb | ≤ 4 and we conclude from (4)
n n+2
that F W (a, b) ∈ {0, ±2 2 , ±2 2 }.
Recall that if the Walsh spectrum of a quadratic APN function is limited to the
n n+2
five values {0, ±2 2 , ±2 2 }, then the distribution of these values is the same as
the Gold function. We therefore have the following immediate corollary to our
theorem.
Corollary 2. Let F (x) be defined as in (2). Then the Walsh spectrum of F (x)
has the same distribution as the Gold function.
This is equivalent to saying that exactly 23 (2n − 1) of the Boolean functions
Tr(bF (x)) are bent, the fewest number possible.
References
1. Bracken, C., Byrne, E., Markin, N., McGuire, G.: New Families of Quadratic Al-
most Perfect Nonlinear Trinomials and Multinomials (preprint, 2007)
2. Budaghyan, L., Carlet, C., Felke, P., Leander, G.: An Infinite Class of Quadratic
APN Functions Which Are Not Equivalent to Power Mappings. In: 2006 IEEE
Internation Symposium on Information Theory, IEEE Press, New York (2006)
3. Budaghyan, L., Carlet, C., Leander, G.: A Class of Quadratic APN Binomials
Inequivalent to Power Functions (preprint, 2007)
4. Carlet, C.: Vectorial Boolean Functions for Cryptography. In: Hammer, P., Crama,
Y. (eds.) Boolean methods and models, Cambridge University Press, Cambridge
5. Canteaut, A., Charpin, P., Dobbertin, H.: Weight Divisibility of Cyclic Codes,
Highly Nonlinear Functions on GF (2m ) and Crosscorrelation of Maximum-Length
Sequences. SIAM J. Discrete Mathematics 13(1), 105–138 (2000)
6. Carlet, C., Charpin, P., Zinoviev, V.: Codes, Bent Functions and Permutations
Suitable for Des-Like Cryptosystems. Designs, Codes and Cryptography 15(2),
125–156 (1998)
7. Chabaud, F., Vaudenay, S.: Links Between Differential and Linear Cryptanalysis.
In: De Santis, A. (ed.) EUROCRYPT 1994. LNCS, vol. 950, pp. 356–365. Springer,
Heidelberg (1995)
8. Dobbertin, H.: Another Proof of Kasami’s Theorem. Designs, Codes and Cryptog-
raphy 17, 177–180 (1999)
9. Dillon, J.: Polynomials over Finite Fields and Applications. Slides from talk given
at Banff International Research Station (2006)
10. Edel, Y., Kyureghyan, G., Pott, A.: A New APN Function Which is not Equivalent
to a Power Mapping. IEEE Trans. Inform. Theory 52(2), 744–747 (2006)
11. Nyberg, K.: Differentially Uniform Mappings for Cryptography. In: Helleseth, T.
(ed.) EUROCRYPT 1993. LNCS, vol. 765, pp. 55–64. Springer, Heidelberg (1994)
An Improvement of Tardos’s Collusion-Secure
Fingerprinting Codes with Very Short Lengths
1 Introduction
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 80–89, 2007.
c Springer-Verlag Berlin Heidelberg 2007
An Improvement of Tardos’s Collusion-Secure Fingerprinting Codes 81
by two or more pirates [1]; they can recognize parts of the embedded codewords
from differences of their contents and then modify or erase these parts. Thus any
practical fingerprinting code should be prudently designed and be equipped with
a tracing algorithm, which can detect at least one pirate even from the modified
codeword (called a pirated codeword). A fingerprinting code is called c-secure
with ε-error if the tracing algorithm fails (i.e. detects either no pirate or some
innocent user) with probability at most ε when there are up to c pirates.
Tardos [9] recently gave a uniform construction of c-secure codes (Tardos
codes) for all c, whose code length is of theoretically minimal order with respect
to c. There have been several variants and improvements of Tardos codes; e.g.
[2,3,5,6,7,8]. Their common idea in the tracing algorithm is to first assign a
“score” to each user, which measures how his codeword is similar to the pirated
codeword, and then output all users as pirates whose score exceeds a suitably
determined threshold. However, such a scheme seems not to be optimal, since if
the score of a pirate is much higher than the threshold and that of an innocent
user is only slightly higher than the threshold, then the latter user is also accused
though most suspect user is obviously the former.
In this paper, we modify such a tracing algorithm as outputting just one user
with highest score instead. Then we investigate sufficient code lengths to make
our code c-secure with ε-error; e.g. in some practical setting, it is about 3.01%
of length of Tardos code for c = 2 and 4.33% of Tardos code for c = 4 (Table 4).
Our numerical examples show that our code lengths are significantly shorter
than the preceding improvements of Tardos code.
This paper is organized as follows. Section 2 summarizes our model for fin-
gerprinting codes, with a slightly weaker version of the widely adopted Marking
Assumption (cf. [1]), and construction of Tardos codes. Section 3 gives our code
construction, which is a mixture of [7] and [8], and aforementioned tracing algo-
rithm. Section 3 also gives a bound of tracing error probability and a formula of
code lengths. Section 4 shows some numerical examples and comparison of code
lengths with Tardos code and preceding improvements. Finally, an appendix is
given in the last of this paper and devoted to the proof of our main results.
2 Preliminary
2.1 Our Model for Fingerprinting Codes
In our model, a contents server embeds a binary codeword wi = (wi,1 , . . . , wi,m )
of length m into the content distributed to i-th user ui . When a pirated content
involving pirated codeword y = (y1 , . . . , ym ) is found, the contents server perform
some tracing algorithm with y and all the codewords wi as input for detecting
the pirates. It should be designed for decreasing as much as possible the tracing
error probability, i.e. the probability that either no pirate or some innocent user
is detected. Note that it is possible for some bits in y to be undecodable; such
bits are denoted by ‘?’.
If there are two or more pirates, they can recognize some parts of the embed-
ded codewords by finding differences of their contents, and then modify or erase
82 K. Nuida et al.
codewords in these positions by certain strategy. Here we put the following two
assumptions for the pirates’ strategy:
3 Our Contribution
3.1 Code Construction and Tracing Algorithm
Our c-secure fingerprinting code is constructed by slightly modifying the frame-
work given in Sect. 2.2. First, we define the bias distribution P = Pc as follows:
An Improvement of Tardos’s Collusion-Secure Fingerprinting Codes 83
mial, and L k (t) = Lk (2t−1). Then define P2k−1 = P2k to be the finite probability
distribution whose values are the k zeroes of Lk (t), with each value p taken with
−3/2
probability C · p(1 − p) (p)−2 , where C is the normalized constant.
L k
The above bias distribution was introduced in [6,7] for optimizing the memory
amount required to record the sequence P . Note that we would have to use some
approximation instead of the original Pc in practical implementation, since the
values of Pc and corresponding probabilities are irrational numbers in general.
Secondly, the scoring rule in the tracing algorithm is modified as follows: the
(j)
bitwise score Si is left unchanged if yj = 1, but it is changed in the case
(j)
yj ∈ {0, ?} so that Si = σ(1 − p(j) ) if wi,j = 0 and −σ(p(j) ) if wi,j = 1. (Such a
“symmetric” scoring rule was introduced in [5,8] to reduce the lengths of Tardos
codes). Again, we would have to use approximated values of these bitwise scores
in practical implementation.
Moreover, in contrast with the original tracing algorithm that outputs all users
with S ≥ Z, our tracing algorithm does not use the threshold Z and outputs
just one user whose score is the highest. (The way of choosing one user in the
case that two or more users have the same highest score may be arbitrary, since
it is not relevant to our security proof below.) Then a simple and easy argument
can prove the following fact, which assures the merit of our modification.
Proposition 1. The tracing error probability of our code with the modified trac-
ing algorithm (i.e. without threshold) does not exceed that with the original trac-
ing algorithm (i.e. using threshold).
Let δ denote the approximation error of the bitwise scores, and put Δ = δ +2ηδ,
which is referred to as the error tolerance rate of our code (where δ is the same as
that in δ-Marking Assumption). Then take a value R such that 2cΔ ≤ R ≤ R
for all 1 ≤ ≤ c. Moreover, define the following functions
etη + η 2 e−t/η etη − 1 − tη
B1 (t) = , B2, (t) = 1 + − 2tR , Φ(t) = t(1 − log t) ,
η2 + 1 η 2
84 K. Nuida et al.
Tc = B1 (βc)B2,c (β)e2βcΔ .
Now we state the following result, which will be proved in the appendix. Some
numerical examples concerning this result will be provided below.
It can be shown that this formula becomes optimal in the limit case c → ∞ (the
proof is omitted here due to limited pages, and will appear in the full version
of this paper). Moreover, the following numerical example suggests that this
formula approximates the optimal β well, at least in the case c ∈ {2, 4, 6, 8}.
4 Numerical Example
4.1 Our Approximation of Bias Distribution
In this section, we consider the cases c ∈ {2, 3, 4, 6, 8}. We use the approximation
P = Pc of the bias distributions defined in Definition 1 in the former part of
Table 1. Here columns p and q denote the values of Pc and the corresponding
probabilities, respectively. On the other hand, the latter part of Table 1 gives
An Improvement of Tardos’s Collusion-Secure Fingerprinting Codes 85
approximation of bitwise scores, where p0 < p1 < · · · are possible values of P and
Uj denotes the approximated value of σ(pj ). (Note that Uc/2−1−j , where x
denotes the smallest integer n with n ≥ x, is an approximation of σ(1−pj ).) The
approximation error is δ = 0 if c = 1, 2 and δ = 10−5 if 3 ≤ c ≤ 8. Moreover,
the values R and approximation of η for these cases are given in Table 2.
c p q c p q
1, 2 0.50000 1.00000 7, 8 0.06943 0.24833 c U0 U1 U2 U3
3, 4 0.21132 0.50000 0.33001 0.25167 2 1
0.78868 0.50000 0.66999 0.25167 4 1.93187 0.51763
5, 6 0.11270 0.33201 0.93057 0.24833 6 2.80590 1 0.35639
0.50000 0.33598 8 3.66101 1.42485 0.70182 0.27314
0.88730 0.33201
c 2 3 4 6 8
R 0.50000 0.40823 0.40823 0.37796 0.36291
η 1.00000 1.93188 1.93188 2.80591 3.66102
Table 3 shows code lengths of our code under δ-Marking Assumption. Here the
error tolerance late Δ = δ + 2ηδ is set to 0.01; so slightly fewer than m/(200η)
undetectable bits are allowed to be flipped or erased. We consider the following
three cases: (1) N = 100c and ε = 10−11 ; (2) N = 109 and ε = 10−6 ; (3) N = 106
and ε = 10−3 . Our code lengths are calculated from Theorem 1(1) (instead of
slightly looser formula (1) in Theorem 1(2)) by using βformula and the numerically
searched optimal parameter βoptimal . The table also gives the percentages of our
code lengths relative to lengths 100c2 log(N/ε) of Tardos codes [9]. Moreover,
Case 4 in this table gives the percentages in the limit case N/ε → ∞ (i.e. N → ∞
or ε → 0); by Theorem 1(2), the percentage m/ c2 log(N/ε) converges to
−1
− c2 log Tc when N/ε → ∞. Table 4 is a similar table under the Marking
Assumption; where Δ is equal to the approximation error δ of bitwise scores.
These two tables show that our c-secure codes have lengths significantly
shorter than Tardos codes and its preceding improvements [2,3,5,6,7,8], at least
for the case of smaller c. For example, under the classical Marking Assumption,
the code lengths in [7] for Case 1 are 6278, 19750, 41594 and 71552, respec-
tively, when c = 2, 4, 6 and 8. On the other hand, in [8], S̆korić et al. proved
that the code lengths of Tardos codes under the Marking Assumption, with the
symmetric scoring rule same as our code, can be reduced to π 2 ≈ 9.87% of the
5 Conclusion
In this paper, we give a c-secure fingerprinting code with very short code length.
This is done by mixing two preceding improvements [7,8] of Tardos code, and by
modifying its tracing algorithm so that it simply outputs one user with highest
score and thus does not use a threshold any more. In case of smaller c, our code
has indeed shorter length than Tardos code and its preceding improvements.
References
1. Boneh, D., Shaw, J.: Collusion-secure Fingerprinting for Digital Data. IEEE Trans.
Inform. Theory 44, 1897–1905 (1998)
2. Hagiwara, M., Hanaoka, G., Imai, H.: A Short Random Fingerprinting Code Against
a Small Number of Pirates. In: Fossorier, M.P.C., Imai, H., Lin, S., Poli, A. (eds.)
AAECC 2006. LNCS, vol. 3857, pp. 193–202. Springer, Heidelberg (2006)
3. Isogai, T., Muratani, H.: Reevaluation of Tardos’s Code. In: IEICE Technical Re-
port, ISEC2006-96, pp. 7–12 (2006)
4. Carter, M., van Brunt, B.: The Lebesgue-Stieltjes Integral: A Practical Introduction.
Springer, Heidelberg (2000)
5. Katzenbeisser, S., S̆korić, B., Celik, M.U., Sadeghi, A.-R.: Combining Tardos Fin-
gerprinting Codes and Fingercasting. In: IH 2007. LNCS, vol. 4567, Springer, Hei-
delberg (2007)
6. Nuida, K., Hagiwara, M., Watanabe, H., Imai, H.: Optimal Probabilistic Finger-
printing Codes Using Optimal Finite Random Variables Related to Numerical
Quadrature, http://www.arxiv.org/abs/cs/0610036
7. Nuida, K., Hagiwara, M., Watanabe, H., Imai, H.: Optimization of Tardos’s Finger-
printing Codes in a Viewpoint of Memory Amount. In: IH 2007. LNCS, vol. 4567,
Springer, Heidelberg (2007)
8. S̆korić, B., Katzenbeisser, S., Celik, M.U.: Symmetric Tardos Fingerprinting Codes
for Arbitrary Alphabet Sizes, http://eprint.iacr.org/2007/041
9. Tardos, G.: Optimal Probabilistic Fingerprint Codes. J. ACM. In: 2003 ACM Sym-
posium on Theory of Computing, pp. 116–125 (to appear)
Lemma 2 (cf. [2], Lemma 2). If z ∈ R, β > 0 and there are pirates, then
for any fixed pirates’ strategy satisfying Marking Assumption, the probability that
no pirate’s score exceeds z is less than or equal to F (z) = min{B2, (β)m eβz , 1}.
Proof (Sketch). This probability does not exceed the probability that the sum
Spsum of pirates’ scores is less than or equal to z. By the Markov’s inequality,
the latter probability is less than or equal to Ex e−βSpsum eβz . Now by a similar
m
argument to [2,9], we have Ex e−βSpsum ≤ x=0 x Mx , where M0 = N0,0 ,
M = N1, , Mx = max{N0,x , N1,x } for 1 ≤ x ≤ − 1, with
N0,x = Ex eβLx,p px (1 − p)−x , N1,x = Ex e−βLx,p px (1 − p)−x
(the last two expectation values are taken over the values p of P) and Lx,p =
xσ(p) − ( − x)σ(1 − p). Since |Lx,p | ≤ η, an elementary analysis shows that
e±βLx,p ≤ 1 ± βLx,p + r(βη)β 2 Lx,p 2 , respectively, where r(t) = (et − 1 − t)/t2 .
Thus we have
Mx ≤ Ex px (1 − p)−x − βEx px (1 − p)−x Lx,p
+ r(βη)β 2 Ex px (1 − p)−x Lx,p 2 + 2βR,x
for 1 ≤ x ≤ − 1; so by the fact that x=0 x px (1 − p)−x Lx,p k = 1, 0, for
k = 0, 1, 2, respectively (cf. [2], Lemma 3), we have
−1
0
Mx ≤ 1 + 2βEx p (1 − p) L0,p + r(βη)β + 2β
−0 2
R,x
x=0
x x=1
x
= 1 + r(βη)β 2 − 2βR ≤ B2, (β) .
Hence we have Ex e−βSpsum ≤ B2, (β)m , so the claim follows.
pirates by Spmax and Spmax . Then we have |Simax − Simax | ≤ mδ ·2η + mδ = mΔ
and |Spmax − Spmax | ≤ mΔ by definition of Δ; so the tracing error probability
does not exceed Pr(Simax ≥ Spmax ) ≤ Pr(Simax + 2mΔ ≥ Spmax ).
The following result is the key ingredient of our proof.
Lemma 3. Put G(z) = Pr(Spmax ≤ z) and ϕ(z)
= ϕ(z − 2mΔ). Then we have
Pr(Simax + 2mΔ ≥ Spmax ) ≤ R ϕ dG, where the last integral is the Lebesgue-
Stieltjes integral with respect to the function G (cf. [4]).
Proof (Sketch). Now we only give an intuitive argument, since the formal proof
is too long to be included here (see the forthcoming full version of this paper for
details). We evaluate the probability that Simax + 2mΔ < Spmax ; the probability
that this event occurs and Spmax lies in a sufficiently minute interval (z, z + dz]
is ≥ 1 − ϕ(z)
G(z + dz) − G(z) by Lemma 1. By taking the sum over these
disjoint intervals covering the whole of R, we have
Pr(Simax + 2mΔ < Spmax )≥ 1 − ϕ(z)
G(z + dz) − G(z)
G(z + dz) − G(z)
= G(z + dz) − G(z) −
ϕ(z) dz
∞ dz
dz→0
→ 1−
ϕ(z)G (z) dz = 1 − ϕdG
−∞ R
(Note that limz→∞ G(z) = 1, limz→−∞ G(z) = 0; while the function G(z) is
piecewise-linear, since now the number of the user’s possible scores is finite).
This infers the claim.
Moreover, since ϕ ≥ 0 is weakly decreasing and G(z) ≤ F (z), we can derive the
following fact from general properties of Lebesgue-Stieltjes integral.
Lemma 4. We have R ϕ dG ≤ R ϕ dF (see Lemma 2 for definition of F ).
Hence the tracing error probability is bounded by R ϕ dF . Moreover, by putting
α = β, a direct computation shows that R ϕ dF = Φ(N T m ), where T =
B1 (β)B2, (β)e2βΔ . Now Theorem 1(1) follows from the fact that T ≤ Tc for
any 1 ≤ ≤ c and Φ(t) is increasing for 0 < t < 1.
To prove Theorem 1(2), we consider the function Φε (t) = Φ(t) − ε, which is
increasing and concave up for 0 < t < 1. Since limt→+0 Φε (t) = − < 0 and
limt→1−0 Φε (t) = 1 − ε > 0, we have Φε (t0 ) = 0 for a unique 0 < t0 < 1. Now if
a > 1 and ε ≤ ae1−a , then we have Φε (ε/a) = (ε/a) (1 − log(ε/a)) − ε ≥ 0 (note
that log(ε/a) ≤ 1 − a), so t0 ≤ ε/a < 1. Then put
ε Φε (ε/a) a−1 ε
t1 = − = ,
a Φε (ε/a) a log(a/ε)
which is the x-intercept of the tangent line of the curve y = Φε (x) at x = ε/a.
Since Φε (t) is increasing and concave up, we have t1 ≤ t0 and so Φε (t1 ) ≤ 0
(note that t1 > 0). Thus we have Φ(N Tc m ) ≤ Φ(t1 ) ≤ ε whenever N Tc m ≤ t1 ,
i.e. m ≥ − log(N/t1 )/ log Tc . Hence Theorem 1(2) is proved.
Space-Time Codes from Crossed Product
Algebras of Degree 4
1 Introduction
Wireless systems are nowadays part of every day life. However, to answer the
need of higher and higher data rate, researchers have started to investigate wire-
less systems where both the transmitter and receiver end are equipped with
multiple antennas. This new kind of channel required new coding techniques,
namely space-time coding [10]. Unlike classical coding, space-time coding in-
volves the design of families of matrices, with the property, called full diversity,
that the difference of any two distinct matrices is full rank.
Following the seminal work of Sethuraman et al. [7,8], codes based on division
algebras have been investigated. This algebraic approach has generated a lot of
interest, since division algebras naturally provide linear codes with full diver-
sity. Quaternion algebras [1] and their maximal orders [3], cyclic algebras [8,4],
Clifford algebras [9] and crossed product algebras [6] have been studied.
In this paper, we study crossed product algebras of degree 4, and, unlike in
[6], we focus on the case where the Galois group is not cyclic. For this scenario,
we derive conditions for crossed product algebras to be division algebras, which
yields the full diversity property, and optimize the code design.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 90–99, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Space-Time Codes from Crossed Product Algebras of Degree 4 91
√ √
L = K( d, d )
HH
2 2
H
√ √
K( d) K( d )
HH
τ H
H
σ
K
relations, and when L/K has cyclic Galois group, we recover the concept of
cyclic algebra. Since in degree 2 and 3 Galois extensions have necessarily cyclic
groups, the first interesting example of crossed product algebra arises in degree
4. This is the case we focus on in this work. For definitions and basic facts on
crossed product algebras, the reader may refer to [2].
A = L ⊕ eL ⊕ f L ⊕ ef L
We need to verify that the conditions (1) are satisfied. Recall that here
√ √ √ √
σ( 5) = − 5, τ ( 3) = − 3.
We have also
af = x1 f + exσ f + f xτ f + ef xστ f = f τ (x1 ) + ef τ (xσ ) + bτ (xτ ) + ebτ (xστ ).
Hence,
af = bτ (xτ ) + ebτ (xστ ) + f τ (x1 ) + ef τ (xσ ).
Finally,
aef = x1 ef + exσ ef + f xτ ef + ef xστ ef
= ef στ (x1 ) + af στ (xσ ) + f ef στ (xτ ) + ef ef στ (xστ ).
We have
f ef = ef uf = ebτ (u),
and ef ef = e(ebτ (u)) = abτ (u). Thus,
aef = ef στ (x1 ) + f τ (a)στ (xσ ) + ebτ (u)στ (xτ ) + abτ (u)στ (xστ ).
Therefore,
aef = abτ (u)στ (xστ ) + ebτ (u)στ (xτ ) + f τ (a)στ (xσ ) + ef στ (x1 ).
For a matrix X of the form (2) to be a codeword, it further requires an
encoding, that is a way to map the information symbols to be transmitted into
the matrix X. This can be easily done as follows. Let {ω1 , ω2 , ω3 , ω4 } be a Q(i)-
basis of L. Let G be the matrix of the embeddings of the basis:
⎛ ⎞
ω1 ω2 ω3 ω4
⎜ σ(ω1 ) σ(ω2 ) σ(ω3 ) σ(ω4 ) ⎟
G=⎜ ⎝ τ (ω1 ) τ (ω2 ) τ (ω3 ) τ (ω4 ) ⎠ .
⎟ (3)
στ (ω1 ) στ (ω2 ) στ (ω3 ) στ (ω4 )
Let x = (x1 , x2 , x3 , x4 ) be a vector containing 4 information symbols to be
transmitted. Let x = x1 ω1 + x2 ω2 + x3 ω3 + x4 ω4 be an element of L, which can
be seen as a linear combination of the 4 information symbols. We have
Gx = (x, σ(x), τ (x), στ (x))T .
We can thus encode 16 information symbols into X as follows. Let
Gx1 = (x1 , σ(x1 ), τ (x1 ), στ (x1 ))T .
Gxσ = (xσ , σ(xσ ), τ (xσ ), στ (xσ ))T .
Gxτ = (xτ , σ(xτ ), τ (xτ ), στ (xτ ))T .
Gxστ = (xστ , σ(xστ ), τ (xστ ), στ (xστ ))T .
Let Γi , i = 1, 2, 3, 4, be given by Γ1 = I4 , the identity matrix, and
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
0a0 0 0 0 b 0 0 0 0 abσ(u)
⎜1 0 0 0 ⎟ ⎜ 0 0 0 bσ(u) ⎟ ⎜0 0 b 0 ⎟
Γ2 = ⎜ ⎟ ⎜ ⎟ ⎜
⎝ 0 0 0 τ (a) ⎠ , Γ3 = ⎝ 1 0 0 0 ⎠ , Γ4 = ⎝ 0 τ (a)τ (u) 0 0 ⎠ .
⎟
001 0 0 στ (u) 0 0 1 0 0 0
94 G. Berhuy and F. Oggier
In other words,
2
λ
NK(√d)/K (a ) = NK(√d)/K (a)
NK(√d)/K (a)
and (d , NK(√d)/K (a)) is split if and only if (d , NK(√d)/K (a )) is, which
concludes the proof.
Lemma 2. Let u ∈ L such that NL/K (u) = 1. If uσ(u) = −1, then we have
a √
uσ(u) = , where a = d, and (d , NK(√d)/K (a)) = (−d, d ). (4)
τ (a)
a
If uσ(u) = −1, then we have uσ(u) = , where
τ (a)
Proof. (4) is obvious. Now, assume that uσ(u) = −1 and set a = 1 + uσ(u). We
have that uσ(u) + NL/K (u) = uσ(u)τ (1 + uσ(u)), so that
Since uσ(u) = −1, by Lemma 2, we have to check whether √ (−3, 5) is split. This
is equivalent to check whether −3 is a norm in Q(i)( 5)/Q(i), namely whether
a2 − 5b2 = −3 has a solution for a, b ∈ Q(i). If such a solution exists, then
it is easy to see that the denominators of a and b are not divisible by (2 + i).
Therefore, reducing modulo (2+i), we get that −3 is a square in Z[i]/(2+i). Since
5Z[i] = (2+i)(2−i), the inertial degree [5, p.84] of 2+i is 1, and Z[i]/(2+i) ∼ = F5 .
Since −3 is not a square modulo 5, we conclude that (−3, 5) is not split.
√
Example 4. We now continue Example 2, where K = Q(i) and L = Q(i)(ζ8 , 5),
with ζ8 a primitive 8th root of unity. Furthermore, we have
√
a = ζ8 , b = 5, u = i.
Again uσ(u) = −1, and we have to check, by Lemma 2, whether (−2, 5) is split.
Since −2 is not a square modulo 5, we show as above that (−2, 5) is not split.
0 στ (u) 0 0
Since such a normalization is not possible for 3, we focus on the other algebra.
√ √
4.2 The Algebra on Q(i)( 2, 5)/Q(i)
and G1 , G2 satisfy
G1 G∗1 = 5I2 , G2 G∗2 = 2I2 .
Remark 3. Note that the crossed product algebra described in this subsection is
isomorphic to the cyclic algebra (i, Q(i)(51/4 )/Q(i), σ), where σ(51/4 ) = i51/4 .
However, the code construction is not available on the cyclic representation,
since the orthonormal lattice does not exist.
98 G. Berhuy and F. Oggier
Fig. 2. New code from crossed product algebra, compared with the known code from
cyclic algebra, using 4-QAM and 16-QAM
Space-Time Codes from Crossed Product Algebras of Degree 4 99
5 Conclusion
References
1. Belfiore, J.-C., Rekaya, G.: Quaternionic lattices for space-time coding. In: 2003
Information Theory Workshop, Paris (2003)
2. Draxl, P.K.: Skew fields. L.M.S.Lect. Note Serie, vol. 81. Cambridge Univ. Press,
Cambridge (1982)
3. Hollanti, C., Lahtonen, J., Ranto, K., Vehkalahti, R.: Optimal Matrix Lattices for
MIMO Codes from Division Algebras. In: 2006 IEEE Int. Symp. on Inform. Theory,
Seattle (2006)
4. Oggier, F.E., Rekaya, G., Belfiore, J.-C., Viterbo, E.: Perfect Space-Time Block
Codes. IEEE Trans. Inform. Theory 52(9), 3885–3902 (2006)
5. Samuel, P.: Théorie algébrique des nombres. Available in English. Hermann collec-
tion Méthodes, Paris (1967)
6. Vummintala, S., Sundar Rajan, B., Sethuraman, B.A.: Information-Lossless Space-
Time Block Codes from Crossed-Product Algebras. IEEE Trans. Inform. The-
ory 52(9), 3913–3935 (2006)
7. Sethuraman, B.A., Sundar Rajan, B.: Full-Rank, Full-Rate STBCs from Division
Algebras. In: 2002 Information Theory Workshop, Bangalore (2002)
8. Sethuraman, B.A., Sundar Rajan, B., Shashidhar, V.: Full-Diversity, High-Rate
Space-Time Block Codes from Division Algebras. IEEE Trans. Inform. The-
ory 49(10), 2596–2616 (2003)
9. Susinder Rajan, G., Sundar Rajan, B.: STBCs from Representation of Extended
Clifford Algebras. In: 2007 IEEE Int. Symp. on Inform. Theory, Nice (2007)
10. Tarokh, V., Seshadri, N., Calderbank, R.: Space-Time Codes for High Data Rate
Wireless Communication: Performance Criterion and Code Construction. IEEE
Trans. Inform. Theory 44, 744–765 (1998)
On Non-randomness of the Permutation After
RC4 Key Scheduling
1 Introduction
RC4, one of the most popular stream ciphers till date, was proposed by Rivest in
1987. The cipher gained its popularity from its extremely simple structure and
substantially good strength in security, as even after lots of explored weaknesses
in the literature (see [1,2,3,4,5,6,7,9,10,11,12,13,14] and the references in these
papers), it could not be thoroughly cracked. Studying weaknesses of RC4 received
serious attention in the literature and these studies are believed to be quite useful
in further development of stream ciphers that exploit shuffle-exchange paradigm.
Before getting into our contribution, let us briefly present the Key Scheduling
Algorithm (KSA) and the Pseudo Random Generation Algorithm (PRGA) of
RC4. The data structure consists of (1) an array of size N (in practice 256
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 100–109, 2007.
c Springer-Verlag Berlin Heidelberg 2007
On Non-randomness of the Permutation After RC4 Key Scheduling 101
RC4 KSA has been analysed deeply in [13,14,2,11]. All these works discuss the
relationship of the permutation bytes after the KSA with the secret key. For a
proper design, the permutation S after the KSA should not have any correlation
with the secret keys. However, weaknesses of RC4 in this aspect have already
been reported [13,14,2,11]. These weaknesses, in turn, leak information about
RC4 secret key in the initial keystream output bytes [10].
Another approach of study is to look at the permutation after the KSA in
a (secret) key independent manner and try to distinguish it from random per-
mutations. In [9], the sign of the permutation after the KSA has been studied
(see [9] for the definition of the sign of a permutation). There it has been shown
that, after the KSA, the sign of the permutation can be guessed with probability
56%.
In [8, Chapter 6 and Appendix C] and later in [9], the problem of estimating
P (SN [u] = v) has been discussed. A complete proof for these results has been
presented in [8, Chapter 6 and Appendix C]. We present an independent proof
technique in this paper which looks simpler. We argue in more detail in Section 2
how our technique is different from that in [8]. Due to the small keys (say 5 to 32
bytes) generally used in RC4, some of the assumptions differ from practice and
hence the theoretical formulae do not match with the experimental results. We
also detail this over the already identified anomalies in [8]. Further, we discuss
applications to show how these results can be used to present new distinguishers
for RC4. The distinguishers discussed in this paper are different from the earlier
ones [1,3,5,7,12].
2. Take K[0] = 1. Then after the first swap, S1 [1] remains 1. Now, j2 = K[0] +
1 + K[1] = K[0] + K[1] + 1. Thus, after the second swap, S2 [0] will get the
value 1, if K[0] + K[1] + 1 = 0. Hence the contribution of this case to the
event (S2 [0] = 1) is P (K[0] = 1) · P (K[0] + K[1] + 1 = 0) = NN−1 · N1 = NN−1
2 .
2(N −1)
Adding the two contributions, we get the total probability as N2 .
We here calculate P (Sv+1 [u] = v) for the special case u = 0, v = 1. Note that
the form of P (Sv+1 [u] = v) for v ≥ u + 1 in general (see Lemma 2 later) does
not work for the case u = 0, v = 1 only. This will be made clear in Remark 1
after the proof of Lemma 2.
Proof. In the rounds 1 through v, the deterministic index i touches the permu-
tation indices 0, 1, . . . , v − 1. Thus, after round v, Sv [v] will remain the same as
S0 [v] = v, if v has not been equal to any of the v many pseudo-random indices
j1 , j2 , . . . , jv . The probability of this event is ( NN−1 )v . So the result holds for
v ≥ 1. Furthermore, P (S0 [0] = 0) = 1 = ( NN−1 )0 . Hence, for any v ≥ 0, we have
P (Sv [v] = v) = ( NN−1 )v .
Lemma 2. For v ≥ u + 1 (except for the case “u = 0 and v = 1”), P (Sv+1 [u] =
v) = N1 · ( NN−1 )v−u + N1 · ( NN−1 )v − N12 · ( NN−1 )2v−u−1 .
On Non-randomness of the Permutation After RC4 Key Scheduling 103
Proof. In round v+1, i = v and jv+1 = jv +Sv [v]+K[v]. The event (Sv+1 [u] = v)
can occur in two ways.
1. Sv [u] already had the value v and the index u is not involved in the swap in
round v + 1.
2. Sv [u] = v and the value v comes into the index u from the index v (i.e.,
Sv [v] = v) by the swap in round v + 1.
From Proposition 1, we have P (Sv [v] = v) = ( NN−1 )v and from Proposition 2,
we have P (Sv [u] = v) = N1 · ( NN−1 )v−u−1 . Hence, P (Sv+1 [u] = v)
= P (Sv [u] = v) · P (jv + Sv [v] + K[v] = u)
+ P (Sv [u] = v) · P (Sv [v] = v) · P (jv + Sv [v] + K[v] = u)
(except for the case
“u = 0 and v = 1”, see Remark 1)
N −1 v−u−1
= N ·( N )
1
· ( N ) + 1 − N1 · ( NN−1 )v−u−1 · ( NN−1 )v · N1
N −1
= 1
N · ( NN−1 )v−u + 1
N · ( NN−1 )v − 1
N2 · ( NN−1 )2v−u−1 .
Remark 1. Case 1 in the proof of Lemma 2 applies to Lemma 1 also. In case 2,
i.e., when Sv [u] = v, in general we may or may not have Sv [v] = v. However,
for u = 0 and v = 1, (S1 [0] = 1) ⇐⇒ (S1 [1] = 1), the probability of each of
which is NN−1 (note that there has been only one swap involving the indices 0
and K[0] in round 1). Hence the contribution of case 2 except for “u = 0 and
v = 1” would be P (Sv [u] = v) · P (Sv [v] = v) · P (jv + Sv [v] + K[v] = u), and
for “u = 0 and v = 1” it would be P (S1 [0] = 1) · P (j1 + S1 [1] + K[1] = 0) or,
equivalently, P (S1 [1] = 1) · P (j1 + S1 [1] + K[1] = 0).
Lemma 3. Let pu,v r = P (Sr [u] = v), for 1 ≤ r ≤ N . Given pu,v
t , i.e., P (St [u] =
v) for any intermediate round t, max{u, v} < t ≤ N , P (Sr [u] = v) after the
r-th round of the KSA is given by
pu,v
t · ( NN−1 )r−t + (1 − pu,v 1 N −1 v
t )· N( N ) · 1−( N )
N −1 r−t
, t ≤ r ≤ N.
Proof. After round t (> max{u, v}), there may be two different cases: St [u] = v
and St [u] = v. Both of these can contribute to the event (Sr [u] = v) in the
following ways.
1. St [u] = v and the index u is not touched by any of the subsequent r − t
many j values. The contribution of this part is P (St [u] = v) · ( NN−1 )r−t
= pu,v
t · ( NN−1 )r−t .
2. St [u] = v and for some x in the interval [t, r − 1], Sx [x] = v which comes into
the index u from the index x by the swap in round x + 1, and after that the
index u is not touched by any of the subsequent r − 1 − x many j values. So
the contribution of the second part is given by
r−1
P (St [u] = v) · P (Sx [x] = v) · P (jx+1 = u)·( NN−1 )r−1−x .
x=t
Corollary 1. Given pu,vt , i.e., P (St [u] = v) for any intermediate round t,
max{u, v} < t ≤ N , P (SN [u] = v) after the
complete KSA
is given by
pu,v
t · ( NN−1 )N −t + (1 − pu,v
t )·
1 N −1 v
N( N ) · 1 − ( NN−1 )N −t .
Theorem 1.
(1) For 0 ≤ u ≤ N − 2, u + 1 ≤ v ≤ N − 1,
N −1 N −1−v N −1 v N −1 N −1
P (SN [u] = v) = pu,vv+1 ·( N ) +(1−p u,v
v+1 N)· 1
· ( N ) −( N ) , where
2(N −1)
if u = 0 and v = 1;
pu,v = N2
N −1 v−u N −1 v N −1 2v−u−1
v+1 1
N · ( N ) + 1
N · ( N ) − N
1
2 · ( N ) otherwise.
(2) For 0 ≤ v ≤ N − 1, v ≤ u ≤ N − 1,
P (SN [u] = v) = N1 · ( NN−1 )N −1−u + N1 · ( NN−1 )v+1 − 1
N · ( NN−1 )N +v−u .
Proof. First we prove item (1). Since v > u, so for any t > v, we will have
t > max{u, v}. Substituting t = v + 1 in Corollary 1, we have
N −1 N −1−v 1 N −1 v N −1 N −1−v
P (SN [u] = v) = pu,v
v+1 · ( N ) + (1 − pu,v
v+1 ) · N ( N ) · 1 − ( N )
N −1 N −1−v N −1 v N −1 N −1
= pu,v
v+1 ·( N ) +(1−p u,v
)·
v+1 N
1
· ( N ) −( N ) . Now, from Lemma 2,
N −1 v−u
we get pu,v
v+1 = N · ( N )
1
+ N1 · ( NN−1 )v − N12 · ( NN−1 )2v−u−1 , except for “u = 0
−1)
and v = 1”. Also, Lemma 1 gives p0,1 2 = 2(N N 2 . Substituting these values of
u,v
pv+1 , we get the result.
Now we prove item (2). Here we have u ≥ v. So for any t > u, we will have
t > max{u, v}. Substituting t = u + 1 in Corollary 1, we have
N −1 N −1−u 1 N −1 v N −1 N −1−u
P (SN [u] = v) = pu,v
u+1 · ( N ) + (1 − pu,v
u+1 ) · N ( N ) · 1 − ( N ) .
On Non-randomness of the Permutation After RC4 Key Scheduling 105
As pu,v 1
u+1 = P (Su+1 [u] = v) = N (see proof of Proposition 2), substituting this
in the above expression, we get
P (SN [u] = v) = N1 · ( NN−1 )N −1−u + (1 − N1 ) · N1 ( NN−1 )v · 1 − ( NN−1 )N −1−u
= 1
N · ( NN−1 )N −1−u + 1
N · ( NN−1 )v+1 − 1
N · ( NN−1 )N +v−u .
We like to mention that our final formulae in Theorem 1 are very close to the
results presented in [8] apart from some minor differences as terms with N 2 in
the denominator or a difference in 1 in the power. These differences are negligible
and we have also checked by calculating the numerical values of the theoretical
results that for N = 256, the maximum absolute difference between our results
and the results of [8] is 0.000025 as well as the average of absolute differences is
0.000005.
However, our approach is different from that of [8]. In [8], the idea of rel-
ative positions is introduced. If the current deterministic index is i, then rel-
ative position a means the position (i + 1 + a) mod N . The transfer function
T (a, b, r), which represents the probability that value in relative position a in
S will reach relative position b in the permutation generated from S by ex-
ecuting r RC4 rounds, has the following explicit form by [8, Claim C.3.3]:
T (a, b, r) = p(q a +q r−(b+1) −q a+r−(b+1) ) if a ≤ b and T (a, b, r) = p(q a +q r−(b+1) )
if a > b, where p = N1 and q = ( NN−1 ). This solution is obtained by solv-
ing a recurrence [8, Equation C.3.1] which expresses T (a, b, r) in terms of
T (a − 1, b − 1, r − 1). Instead, we use the probabilities P (St [u] = v) in order to
calculate the probabilities P (Sr [u] = v) which immediately gives P (SN [u] = v)
with r = N . When v > u, we take t = v + 1 and when v ≤ u, we take t = u + 1
(see Theorem 1). However, the values u+1 and v+1 are not special. If we happen
to know the probabilities P (St [u] = v) at any round t between max{u, v} + 1
and N , then we can arrive at the probabilities P (Sr [u] = v) using Lemma 3.
The recurrence relation in [8] is over three variables a, b and r, and at each step
each of these three variables is reduced by one. On the other hand, our model
has the following features.
To evaluate how closely our theoretical formulae tally with the experimental
results, we use average percentage absolute error ¯. Let pu,v u,v
N and qN respectively
denote the theoretical and the experimental value of the probability P (SN [u] =
pu,v −qu,v
| N N |
v), 0 ≤ u ≤ N − 1, 0 ≤ v ≤ N − 1. We define u,v = qu,v
· 100%
N
106 G. Paul, S. Maitra, and R. Srivastava
N −1 N
−1
1
and ¯ = N2 u,v . We ran experiments for 100 million randomly chosen
u=0 v=0
secret keys of 32 bytes and found that ¯ = 0.22%. The maximum of the u,v ’s was
35.37% and it occured for u = 128 and v = 127. Though the maximum error is
quite high, we find that out of N 2 = 65536 (with N = 256) many u,v ’s, only 11
( < 0.02% of 65536) exceeded the 5% error margin. These cases are summarized
Table 1 below. We call the pairs (u, v) for which u,v > 5% as anomaly pairs.
The experimental values of P (SN [u] = v) match with the theoretical values
38,v
given by our formula except at these few anomaly pairs. For example, qN
follows the pattern predicted by p38,v
N for all v’s, 0 ≤ v ≤ 255 except at v = 6
and v = 31 as pointed out in Table 1.
We experimented with different key lengths (100 million random keys for
each key length) and found that the location of the anomaly pairs and the total
number of anomaly pairs vary with the key lengths in certain cases. Table 2
shows the number n5 of anomaly pairs (when u,v > 5%) for different key lengths
l (in bytes) along with the average ¯ and the maximum max of the u,v ’s. umax
and vmax are the (u, v) values which correspond to max . Though for some key
lengths there are more than a hundred anomaly pairs, most of them have u,v ≤
10%. To illustrate this, we add the column n10 which shows how many of the
anomaly pairs exceed the 10% error margin. The two rightmost columns show
Table 2. The number and percentage of anomaly pairs along with the average and
maximum error for different key lengths
l
¯ (in %) max (in %) umax vmax n5 n10 n5 (in %) n10 (in %)
5 0.75 73.67 9 254 1160 763 1.770 1.164
8 0.48 42.48 15 255 548 388 0.836 0.592
12 0.30 21.09 23 183 293 198 0.447 0.302
15 0.25 11.34 44 237 241 2 0.368 0.003
16 0.24 35.15 128 127 161 7 0.246 0.011
20 0.20 5.99 30 249 3 0 0.005 0.000
24 0.19 4.91 32 247 0 0 0.000 0.000
30 0.19 6.54 45 29 1 0 0.002 0.000
32 0.22 35.37 128 127 11 6 0.017 0.009
48 0.18 4.24 194 191 0 0 0.000 0.000
64 0.26 35.26 128 127 6 4 0.009 0.006
96 0.21 4.52 194 191 0 0 0.000 0.000
128 0.34 37.00 128 127 3 2 0.005 0.003
256 0.46 2.58 15 104 0 0 0.000 0.000
On Non-randomness of the Permutation After RC4 Key Scheduling 107
what percentage of 2562 = 65536 (total number of (u, v) pairs) are the numbers
n5 and n10 .
These results indicate that as the key length increases, the proportion of
anomaly pairs tends to decrease. With 256 bytes key, we have no anomaly pair
with u,v > 5%, i.e., n5 = 0. It has also been pointed out in [8] that as the
key length increases, the actual random behaviour of the key is demonstrated
and that is why the number of anomaly pairs decrease and experimental results
match the theoretical formulae. In [8, Section 6.3.2] the anomalies are discussed
for rows and columns 9, 19 and also for the diagonal given short keys as 5 bytes.
We now discuss these results with more details and how they can be applied to
distinguish the RC4 keystream from random streams.
We denote the permutation after r-th round of PRGA by SrG for r ≥ 1.
Lemma 4. Consider B ⊂ [0, . . . , N −1] with |B| = b. Let P (SN [r] ∈ B) = Nb +,
where can be positive or negative. Then P (Sr−1 G
[r] ∈ B) = Nb + δ, where
δ = ( Nb + ) · ( NN−1 )r−1 + 1 − ( NN−1 )r−1 · ( Nb−1 b b N −1 r−1
−1 − N ) − N · ( N ) , r ≥ 1.
G
Proof. The event (Sr−1 [r] ∈ B) can occur in three ways.
1. SN [r] ∈ B and the index r is not touched by any of the r − 1 many j values
during the first r − 1 rounds of the PRGA. The contribution of this part is
( Nb + ) · ( NN−1 )r−1 .
2. SN [r] ∈ B and index r is touched by at least one of the r − 1 many j
values during the first r − 1 rounds of the PRGA. Further, after the swap(s),
the value SN [r] remains in the set B. This will happen with probability
( Nb + ) · 1 − ( NN−1 )r−1 · Nb−1
−1 .
3. SN [r] ∈/ B and index r is touched by at least one of the r − 1 many j values
during the first r − 1 rounds of the PRGA. Due to the swap(s), the value
SN [r] comes to the set B. This will happen with probability (1 − Nb − ) ·
1 − ( NN−1 )r−1 · Nb .
Adding these contributions, we get the total probability as ( Nb + )· ( NN−1 )r−1 +
1 − ( NN−1 )r−1 · ( Nb−1 b b b N −1 r−1
−1 − N ) + N − N · ( N ) .
Lemma 5. If P (Sr−1G
[r] ∈ B) = Nb + δ, then P (zr ∈ C) = b
N + 2δ
N, where
C = {c |c = r − b where b ∈ B}, r ≥ 1.
From the above results, it follows that for a single value v, if P (SN [r] = v) =
N + , then P (zr = r − v) = N + N , where the value of δ can be calculated by
1 1 2δ
the values of δ approximately −0.1 in the above two examples, one can get new
linear distinguishers for RC4 with 5 byte and 8 byte keys.
It is interesting to note that since the anomaly pairs are different for different
key lengths, by suitably selecting the anomaly pairs in the set B, one can also
distinguish among RC4 of different key lengths.
References
1. Fluhrer, S.R., McGrew, D.A.: Statistical Analysis of the Alleged RC4 Keystream
Generator. In: Schneier, B. (ed.) FSE 2000. LNCS, vol. 1978, pp. 19–30. Springer,
Heidelberg (2001)
2. Fluhrer, S.R., Mantin, I., Shamir, A.: Weaknesses in the Key Scheduling Algorithm
of RC4. In: Vaudenay, S., Youssef, A.M. (eds.) SAC 2001. LNCS, vol. 2259, pp.
1–24. Springer, Heidelberg (2001)
3. Golic, J.: Linear statistical weakness of alleged RC4 keystream generator. In: Fumy,
W. (ed.) EUROCRYPT 1997. LNCS, vol. 1233, pp. 226–238. Springer, Heidelberg
(1997)
4. Jenkins, R.J.: ISAAC and RC4 (1996),
http://burtleburtle.net/bob/rand/isaac.html
5. Mantin, I., Shamir, A.: A Practical Attack on Broadcast RC4. In: Matsui, M. (ed.)
FSE 2001. LNCS, vol. 2355, pp. 152–164. Springer, Heidelberg (2002)
6. Mantin, I.: A Practical Attack on the Fixed RC4 in the WEP Mode. In: Roy,
B. (ed.) ASIACRYPT 2005. LNCS, vol. 3788, pp. 395–411. Springer, Heidelberg
(2005)
7. Mantin, I.: Predicting and Distinguishing Attacks on RC4 Keystream Genera-
tor. In: Cramer, R.J.F. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 491–506.
Springer, Heidelberg (2005)
8. Mantin, I.: Analysis of the Stream Cipher RC4. Master’s Thesis. The Weizmann
Institute of Science, Israel (2001)
9. Mironov, I.: Random Shuffles of RC4. In: Yung, M. (ed.) CRYPTO 2002. LNCS,
vol. 2442, pp. 304–319. Springer, Heidelberg (2002)
10. Paul, G., Rathi, S., Maitra, S.: On Non-negligible Bias of the First Output Byte
of RC4 towards the First Three Bytes of the Secret Key. In: 2007 International
Workshop on Coding and Cryptography, pp. 285–294 (2007)
11. Paul, G., Maitra, S.: Permutation after RC4 Key Scheduling Reveals the Secret
Key. In: SAC 2007. 14th Annual Workshop on Selected Areas in Cryptography,
Ottawa, Canada (2007)
12. Paul, S., Preneel, B.: A New Weakness in the RC4 Keystream Generator and an
Approach to Improve the Security of the Cipher. In: Roy, B., Meier, W. (eds.) FSE
2004. LNCS, vol. 3017, pp. 245–259. Springer, Heidelberg (2004)
13. Roos, A.: A class of weak keys in the RC4 stream cipher (1995), Available at
http://marcel.wanda.ch/Archive/WeakKeys
14. Wagner, D.: My RC4 weak keys (1995),
http://www.cs.berkeley.edu/∼ daw/my-posts/my-rc4-weak-keys
Correctable Errors of Weight Half the Minimum
Distance Plus One for the First-Order
Reed-Muller Codes
1 Introduction
In syndrome decoding, the correctable errors are coset leaders of a code. The
syndrome decoding performs maximum likelihood decoding if a minimum weight
vector in each coset is taken as the coset leader. When there are two or more
minimum weight vectors in a coset, we have choices of the coset leader. If the
lexicographically smallest minimum weight vector is taken as the coset leader,
then both the correctable errors and the uncorrectable errors have a monotone
structure. That is, when y covers x (the support of y contains that of x), if
y is correctable, then x is also correctable, and if x is uncorrectable, then y
is also uncorrectable [1]. Using this monotone structure, Helleseth, Kløve, and
Levenshtein introduced larger halves of codewords and trial sets for codes to
describe the monotone structure of errors and gave an improved upper bound
on the number of uncorrectable errors using these notions [3].
The binary r-th order Reed-Muller code of length 2m corresponds to the
Boolean functions of m variables with degree at most r. The first-order Reed-
Muller code of length 2m , denoted by RMm , corresponds to the set of affine
functions of m variables. The nonlinearity of a Boolean function f of m vari-
ables is defined as the minimum distance between f and affine functions, and is
equal to the weight of the coset leader in the coset f belongs to. Hence the weight
distribution of coset leaders of RMm represents the distribution of nonlinearity
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 110–119, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Correctable Errors of Weight Half the Minimum Distance Plus One 111
of Boolean functions. When the number of coset leaders of weight i is p, the num-
ber of Boolean functions with the nonlinearity i is given by p|RMm | = p2m+1 .
Nonlinearity is an important criterion for cryptographic system, in particular,
block ciphers and stream ciphers. There has been much study of nonlinearity of
Boolean functions in cryptography, see [4,5] and references therein. The weight
distributions of the cosets of RM5 are completely determined in [6]. In general,
however, it is infeasible to obtain the weight distributions of the cosets (even
only the coset leaders) of RMm . Since the minimum distance of RMm is 2m−1 ,
the problem is to know the number of the coset leaders of weight ≥ 2m−2 . The
explicit expression of the number of coset leaders of weight w, which is equal to
the number of correctable errors of weight w, is given only for w = 2m−2 [7].
In this paper, we determine the number of correctable/uncorrectable errors
of weight 2m−2 + 1 for RMm , from which the number of Boolean functions with
nonlinearity 2m−2 + 1 is immediately obtained. To derive this result, we mainly
use the properties of larger halves and trial sets.
We write x ≺ y if x y and x = y.
112 K. Yasunaga and T. Fujiwara
Let E 0 (C) be the set of all coset leaders of C. In the syndrome decoding,
E (C) is the set of correctable errors and E 1 (C) = Fn \ E 0 (C) is the set of
0
where
S(v) = {i : vi = 0}
is the support of v = (v1 , v2 , . . . , vn ). Consider x and y with x ⊆ y. If y
is a correctable error, then x is also correctable. If x is uncorrectable, then
y is also uncorrectable. For example, let C = {000, 001} be a code. Then
E 0 (C) = {110, 100, 010} and E 1 (C) = {001, 101, 111}. In this case, even if
we only know the fact that the vector 110 is correctable, we can deduce the
vectors 100 and 010 are correctable, since they are covered by 110. A similar
thing happens when we know 001 is uncorrectable. Using this structure, Zémor
showed that the residual error probability after maximum likelihood decoding
displays a threshold behavior [2]. Helleseth, Kløve, and Levenshtein [3] studied
this structure and introduced larger halves and trial sets.
Since the set of uncorrectable errors E 1 (C) has a monotone structure, E 1 (C)
can be characterized by minimal uncorrectable errors in E 1 (C). An uncorrectable
error y ∈ E 1 (C) is minimal if there exists no x such that x ⊂ y in E 1 (C). If we
know all minimal uncorrectable errors, all uncorrectable errors can be determined
from them. We denote by M 1 (C) the set of all minimal uncorrectable errors in
C. Larger halves of a codeword c ∈ C \ {0} are introduced to characterize
the minimal uncorrectable errors, and are defined as minimal vectors v with
respect to covering such that v + c ≺ v. Any larger half v of a codeword c is
an uncorrectable error, since v + c ≺ v and they are in the same coset. The
following condition is a necessary and sufficient condition that v ∈ Fn is a larger
half of c ∈ C \ {0}:
v ⊆ c, (1)
w(c) ≤ 2w(v) ≤ w(c) + 2, (2)
= l(c), if 2w(v) = w(c),
l(v) (3)
> l(c), if 2w(v) = w(c) + 2,
where l(x) is the smallest element in S(x), that is, l(x) is the leftmost non-zero
coordinate in the vector x. The proof of equivalence between the definition and
the above condition is found in the proof of Theorem 1 of [3]. Let LH(c) be the
set of all larger halves of c ∈ C \ {0}. For a subset U of C \ {0}, let
LH(U ) = LH(c).
c∈U
Correctable Errors of Weight Half the Minimum Distance Plus One 113
Proof. The statement follows from the fact that w(c1 + c2 ) = w(c1 ) + w(c2 ) −
2w(c1 ∩ c2 ). That is,
w(c1 ) + w(c2 ) − w(c1 + c2 )
w(c1 ∩ c2 ) =
2
2m−1 + 2m−1 − w(c1 + c2 )
=
2
2m − w(c1 + c2 )
= .
2
Next, we evaluate the number of vectors in the second subset. The vectors in
the subset are non-minimal uncorrectable errors that are not covered by any
codeword in RM∗m . Such a error covers a minimal uncorrectable error of weight
2m−2 in LH − (RM∗m ), since 2m−2 is the smallest weight in uncorrectable errors.
Therefore, we consider the set of vectors obtained by adding a weight-one vector
to a larger half in LH − (RM∗m ) that are not covered by any codeword in RM∗m .
Let
En = {e ∈ Fn : w(e) = 1},
En (c) = {e ∈ En : e ∩ c = 0}, for c ∈ RM∗m .
For Xm and Ym , we define the corresponding multisets X̃m and Ỹm . That is, X̃m
is a multiset of vectors obtained by adding a weight-one vector e to larger halves
v ∈ LH − (c) satisfying c ∩ e = 0 for each c ∈ RM∗m . The set Ỹm is a multiset of
vectors in X̃m that are covered by some codeword in RM∗m . Then we have
2m−1 − 1
|X̃m | = |RM∗m | · · 2m−1
2m−2 − 1
(6)
2m−1
=2 (2 − 1) m−2 ,
m−1 m
2
m−1
since the number of larger halves of each codeword is 22m−2 −1
−1 from (1)–(3).
Correctable Errors of Weight Half the Minimum Distance Plus One 115
We will evaluate |Xm \ Ym | by using X̃m and Ỹm . First, we will show that the
multiplicity of vectors in X̃m \ Ỹm is not greater than 2 by using the following
lemma.
Lemma 2. Let c1 , c2 , c3 be distinct codewords in RM∗m . Then it holds that
⎧ m−2
⎨2 , if c1 + c2 + c3 = 1,
w(c1 ∩ c2 ∩ c3 ) = 0, if ci + cj = 1 for some i, j with 1 ≤ i = j ≤ 3,
⎩ m−3
2 , otherwise.
Proof. The statement follows from the fact that w(c1 + c2 + c3 ) = w(c1 ) +
w(c2 ) + w(c3 ) − 2(w(c1 ∩ c2 ) + w(c2 ∩ c3 ) + w(c1 ∩ c3 )) + 4w(c1 ∩ c2 ∩ c3 ) and
Lemma 1.
Lemma 3. The multiplicity of any vector in X̃m \ Ỹm is less than or equal to 2
for m ≥ 5.
|Z̃m |
|Xm \ Ym | = |X̃m | − |Ỹm | − , (7)
2
We will determine |Ỹm | and |Z̃m |. The next lemma is useful to evaluate |Ỹm |.
2. if (8) holds,
Proof. (First part) The only if part is obvious. We prove the if part. Let v =
c1 ∩ c2 . Since c1 = c2 and c1 + c2 = 1 from (8), we have w(v) = 2m−2 from
Lemma 1. We have l(v) = l(c1 ) from l(c1 ) ∈ S(c2 ). Thus v ∈ LH − (c1 ). Clearly,
we can take e ∈ En (c1 ) such that v + e ⊆ c2 .
(Second part) The ⊇ part is obvious, so we show the ⊆ part. Since v ⊆ c1
and v ⊆ c2 , it holds w(c1 ∩ c2 ) ≥ w(v) = 2m−2 . On the other hand, w(c1 ∩
c2 ) = 2m−2 . Therefore we have v = c1 ∩ c2 . It immediately follows that S(e) ⊆
S(c2 ) \ S(c1 ) from c1 ∩ e = 0 and v + e ⊆ c2 .
1. for m ≥ 3, c1 + c2 = 1,
2. for m ≥ 5, there exists c3 ∈ RM∗m such that u ⊆ c3 if and only if e1 = e2 .
From Lemma 5, for each c1 ∈ RM∗m , |Z̃m | is obtained by counting all patterns
in {v1 + e1 : v1 ∈ LH − (c1 ), e1 ∈ En (c1 )} such that v1 + e1 = v2 + e2 for some
Correctable Errors of Weight Half the Minimum Distance Plus One 117
Also define
Cm (si ) = {c ∈ RM∗m : l(c) = si }.
Then, we have
2m − 1, for i = 1,
|Cm (si )| = (11)
2m+1−i , for 2 ≤ i ≤ m + 1.
Now we are ready to evaluate |Z̃m |. There are three cases to be considered.
m+1
|Z̃m | = |Cm (si )|(|Cm (si )| − 1) · (2m−2 − 1)(2m−2 )2
i=1
⎛⎛ ⎞ ⎞
m+1 i−1
1
+2 |Cm (si )| ⎝⎝ |Cm (sj )| + 1⎠ · − 1⎠ · (2m−2 − 1)2m−2
i=2 j=1
2
⎛⎛ ⎞ ⎞
m+1 i−1
1
+2 |Cm (si )| ⎝⎝ |Cm (sj )| + 1⎠ · − 1⎠ · 2m−2
i=2 j=1
2
2m
= 22m−3 . (12)
3
From (5), (6), (7), (10), and (12), we can determine the number of uncor-
rectable errors of weight 2m−2 + 1 for RMm .
Theorem 1. For m ≥ 5,
2m−1 2m
|E21m−2 +1 (RMm )| = 4(2m − 1)(2m−3 + 1) − (4 m−2
+ 3) .
2m−2 + 1 3
The number of correctable errors of weight 2m−2 + 1, |E20m−2 +1 (RMm )|, is ob-
tained from the equation,
2m
|E20m−2 +1 (RMm )| + |E21m−2 +1 (RMm )| = .
2m−2 +1
2m 2m−1 2m
2m+1 − 4(2 m
− 1)(2 m−3
+ 1) + (4 m−2
+ 3) .
2m−2 + 1 2m−2 + 1 3
The results of the calculation of |E20m−2 +1 (RMm )| and |E21m−2 +1 (RMm )| for 5 ≤
m ≤ 9 are listed in Table
√ 1. These expressions can be approximated by Stirling’s
approximation, n! ≈ 2πn(n/e)n . Thereby,
2m−1
3 16
|E2m−2 +1 (RMm )| ≈
0
√ ,
2m−3 π 3 3
2m m m−1
|E2m−2 +1 (RMm )| ≈
1
(2 + 8)22 .
π
The ratio, |E21m−2 +1 (RMm )|/|E20m−2 +1 (RMm )|, approaches zero as m increases.
Correctable Errors of Weight Half the Minimum Distance Plus One 119
correctable uncorrectable
m n k |E20m−2 +1 (RMm )| |E21m−2 +1 (RMm )|
5 32 6 21,288,320 6,760,480
6 64 7 1.378 × 1015 1.283 × 1012
7 128 8 4.299 × 1030 1.535 × 1022
8 256 9 5.625 × 1061 7.938 × 1041
9 512 10 1.329 × 10124 7.605 × 1080
4 Conclusion
In this paper, we have determined the number of correctable/uncorrectable errors
of weight half the minimum distance plus one for the first-order Reed-Muller
codes. We mainly use the notion of larger halves to derive this result.
Future work includes deriving the number of correctable errors of weight ≥
2m−2 + 2 for RMm using the larger half technique and applying the technique to
other codes, for example, the second-order Reed-Muller codes and BCH codes.
References
1. Peterson, W.W., Weldon Jr., E.J.: Error-Correcting Codes, 2nd edn. MIT Press,
Cambridge (1972)
2. Zémor, G.: Threshold Effects in Codes. In: Cohen, G., Lobstein, A., Zémor, G., Lit-
syn, S.N. (eds.) Algebraic Coding. LNCS, vol. 781, pp. 278–286. Springer, Heidelberg
(1994)
3. Helleseth, T., Kløve, T., Levenshtein, V.: Error-Correction Capability of Binary
Linear Codes. IEEE Trans. Infom. Theory 51(4), 1408–1423 (2005)
4. Canteaut, A., Carlet, C., Charpin, P., Fontaine, C.: On Cryptographic Properties
of the Cosets of R(1, m). IEEE Trans. Inform. Theory 47(4), 1513–1949 (2001)
5. Carlet, C.: Boolean Functions for Cryptography and Error Correcting Codes. In:
Crama, Y., Hammer, P. (eds.) Boolean Methods and Models, Cambridge University
Press, Cambridge (press)
6. Berlekamp, E.R., Welch, L.R.: Weight Distributions of the Cosets of the (32,6)
Reed-Muller Code. IEEE Trans. Inform. Theory 18(1), 203–207 (1972)
7. Wu, C.K.: On Distribution of Boolean Functions with Nonlinearity ≤ 2n−2 : Aus-
tralasian. Journal of Combinatorics 17, 51–59 (1998)
Fault-Tolerant Finite Field Computation in the
Public Key Cryptosystems
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 120–129, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Fault-Tolerant Finite Field Computation in the Public Key Cryptosystems 121
Since smartcards are in exposed conditions and receive their power and clock
signals from the smartcard reader, they can be subjected to physical attacks by
using X-rays, heat/infrared radiation, power spikes, optical energy, etc. We refer
the reader to the CHES proceedings (in the Springer LNCS series) for many
papers illustrating such attacks. Our discussion of the fault models is broadly
based on [9]. The crucial point is how to model the faults which result from such
physical attacks. As a list of possibilities include:
– The attacker’s control of the location of the fault (hardware memory cell, or
software instruction) can be strong, weak, or nonexistent.
– The attacker’s control of the timing of the fault can be precise, within an
interval, or nonexistent.
– The type of fault can be, e.g., random, bit-flip, or stuck-at.
– The fault duration may be permanent or transient.
We now discuss some of these in more detail. Note that any fault induced
in a variable x can be described by means of an additive error term x → x =
x + e(x) but the error term e(x) can itself take on quite different characteristics,
depending on the type of the fault:
To generate a public/private key pair in this scheme, one first chooses a prime
p and two integers g, x such that both are in Zp , and g is a generator of Z∗p .
The private key is x while the public key is (y, g, p) where y = g x (mod p). The
following attack is from [1].
To generate a signature on a message m the signer picks a random k with
gcd(k, p − 1) = 1, and computes
The signature is the pair (w, s) and to verify the signature, the verifier confirms
that
y w ws = g m (mod p).
If a fault leads to a change in bit xi of x by a bit-flip during the process of
signing a message, a corrupted version x of x will result and we will have the
outputs.
Using w, s , m and the signer’s public key (y, p, g) the attacker can now compute
T = y w ws (mod p) = g m g w(x−x ) (mod p).
i
Let Ri = g w2 (mod p) for i = 0, 1, . . . , t − 1 where t is the bitlength of x. Then
T Ri = g m (mod p), if xi = 0,
We want to protect computation over the field GF (2k ), which can be represented
as the set of polynomials modulo a primitive polynomial f (x), deg(f (x)) = k,
i.e., GF (2)[x]/ < f (x) >= {a0 + . . . + ak−1 xk−1 |ai ∈ GF (2)}, and where f (α) =
0, so that GF (2k ) = {0, 1, α, α2 , . . . , α2 −2 }. The inputs to the computation
k
k
are elements from the field GF (2 ) represented as a polynomials. The input
polynomials gi from GF (2)[x]/ < f (x) > are evaluated at the minimum required
number of distinct elements from the set T = {αj |αj ∈ GF (2k )} such that there
are enough values to represent the polynomial resulting from the computation.
Evaluating input polynomials gi ∈ GF (2)[x]/ < f (x) > at distinct elements
αj ∈ T is same as taking remainder modulo x − αj . Let n be the expected
degree of the output, which is not reduced modulo f (x). Then, there exists a
mapping φ
φ : GF (2)[x]/ < f (x) >→ GF (2k )[x]/ < x−α0 > × . . .×GF (2k )[x]/ < x−αn >,
such that each input polynomial gi (x) ∈ GF (2)[x]/ < f (x) > is evaluated at
n + 1 distinct elements from the set T = {αj |αj ∈ GF (2k )}, i.e.,
where, gi (αj ) ∈ GF (2k ) (or equivalently gi (αj ) ∈ GF (2)k ) are evaluations of the
input polynomials gi ∈ GF (2)[x]/ < f (x) > at distinct elements from the set
T . Equivalently, gi (αj ) is remainder of gi (x) on division by linear polynomial
(x − αj ), i.e., gi (x) ≡ gi (αj ) mod (x − αj ).
124 S. Medoš and Serdar Boztaş
The computation of the finite field GF (2k ) will be performed with encoded
operands (as in (1)) in the direct product ring:
while preserving ∼ k
narithmetic structure. Note that R = GF (2 )[x]/ < m(x) >,
where m(x) = i=0 (x−αi ), such that deg (m (x)) = 1+max {deg (g(x) ∗ h(x))},
where g(x), h(x) ∈ GF (2)[x]/ < f (x) > are input polynomials, and ∗ is an oper-
ation (addition or multiplication) in the GF (2k ) without modulo f (x) reduction.
By the well-known Lagrange Interpolation Theorem (LIT), interpolating n + 1
output components r(αj ) ∈ GF (2k ) at distinct elements αj ∈ GF (2k ) will de-
termine a unique polynomial r(x) ∈ GF (2k )[x]/ < m(x) > of degree n.
4 Fault-Tolerant Computation
g(x) h(x)
PROCESSOR n
Lagrange interpolation
r′(x)
Error detection and correction
r(x)
Fig. 1. Fault tolerant computation of the finite field GF (2k ) in the ring R
Fault-Tolerant Finite Field Computation in the Public Key Cryptosystems 125
There is one processor per independent channel, i.e., see Figure 1. Let us assume
that we have c processors, where processor i computes i-th polynomial evaluation
and all processors perform operations over the finite field GF (2k ).
We define a fault attack as any method and/or algorithm which when applied
to the attacked processor return desired effects. We assume that a fault attack
induces faults into processors by some physical set up, exposing the processor
to a physical stress (x-rays, heat/infrared radiation, power spikes, clock glitches,
etc.) An adversary can run the attack several times while inducing faults into
structural elements of an attacked processor, till the desired effect occur. As a
reaction, the attacked processor malfunctions, i.e., memory cells change their
voltage, bus lines transmit different signals, or structural elements are damaged.
The processor is now faulty, i.e., it does not compute the correct output given
its input. We identify memory cells with their values, and we say that faults are
induced into variables, or bits.
We are concerned with the effect of a fault as it manifests itself in a modified
data, or a modified program execution. Therefore, we consider the following
fault models (inspired by [9], see also Section 2 for more general background on
modeling):
Random Fault Model (RFM) 2. Assume that an adversary does not know
much about his induced faults to know its effect, but he knows the affected poly-
nomial evaluation. Therefore, we assume that affected polynomial evaluation
f (αi ) ∈ GF (2k ) is changed to some random value from the finite field GF (2k ),
assumed to be uniformly distributed in that field.
Arbitrary Fault Model (AFM) 3. Assume that an adversary can target spe-
cific line of code, targeting specific channel, but without knowing the effects of
the fault. This is modelled as the addition of an arbitrary and unknown element
ei to ri .
rj = r(αj ) + ej , (4)
Here, we have assumed that the set of error positions are {j1 , . . . , jt }, i.e., ej is
the effect of the fault in the channel ji . By LIT, the computed vector r ∈ R
Fault-Tolerant Finite Field Computation in the Public Key Cryptosystems 127
ej1
= (x − αi ) + ...
(x − αj1 ) 0≤i≤c−1,j1 =i (αj1 − αi )
0≤i≤c−1
ejt
... +
(x − αj1 ) 0≤i≤c−1, j1 =i (αjt − αc−1 )
0≤i≤c−1 (x−αi ) 0≤i≤c−1 (x−αi )
Since, deg = c−1, . . . , deg = c−1, c > n+1
(x−αj1 ) (x−αjt )
ejk
then deg (e(x)) = c − 1 > n with coefficients in
(x−αj1 ) 0≤i≤c−1 j1 =i (αjk −αi )
GF (2k ).
Therefore, faulty processors affect the result in an additive manner. From here
on it is straightforward to appeal to standard coding theory results to show that:
While it is true that arbitrarily powerful adversaries can simply create faults in
enough channels and overwhelm the system proposed here, it is part of the design
process to decide on how much security is enough, since all security (i.e. extra
channels) has a cost. We also remark that the Welch-Berlekamp algorithm is
suitable for correcting the faults induced by the attacks described in this paper.
Note that to specify the algorithm we choose a set of n + 1 indices
K = {0, 1, . . . , n}, and K = {0, . . . , c − 1} \ K.
128 S. Medoš and Serdar Boztaş
Acknowledgment
The authors would like to thank the Australian Research Council for its support
through the ARC Linkage grant, LP0455324. The authors would also like to
thank the anonymous referees whose comments vastly improved the presentation
and content of the paper.
Fault-Tolerant Finite Field Computation in the Public Key Cryptosystems 129
References
1. Bao, F., Deng, R.H., Han, Y., Jeng, A.B., Narasimhalu, A.D., Ngair, T-H.: Break-
ing Public Key Cryptosystems on Tamper Resistant Devices in the Presence of
Transient Faults. In: Christianson, B., Lomas, M. (eds.) Security Protocols. LNCS,
vol. 1361, pp. 115–124. Springer, Heidelberg (1998)
2. Beckmann, P.E., Musicus, B.R.: Fast Fault-Tolerant Digital Convolution Using a
Polynomial Residue Number System. IEEE Trans. Signal Processing 41(7), 2300–
2313 (1993)
3. Boneh, D., DeMilo, R.A., Lipton, R.J.: On the Importance of Eliminating Errors
in Cryotographic Computations. J. Cryptology 14, 101–119 (2001)
4. Gathen, J., Gerhard, J.: Modern Computer Algebra. Cambridge University Press,
UK (1999)
5. Gaubatz, G., Sunar, B.: Robust Finite Field Arithmetic for Fault-Tolerant Public-
Key Cryptography. In: 2005 Workshop on Fault Diagnosis and Tolerance in Cryp-
tography, Edinburgh, Scotland (2005)
6. Imbert, L., Dimitrov, L.S., Jullien, G.A.: Fault-Tolerant Computation Over Repli-
cated Finite Rings. IEEE Trans. Circuits Systems-I: Fundamental Theory and
Applications 50(7), 858–864 (2003)
7. Kocher, P.C., Jaffe, J., Jun, B.: Differential Power Analysis. In: Wiener, M.J. (ed.)
CRYPTO 1999. LNCS, vol. 1666, pp. 388–397. Springer, Heidelberg (1999)
8. Lidl, R., Niederreiter, H.: Introduction to Finite Fields and Their Applications.
Cambridge University Press, London (1986)
9. Otto, M.: Fault Attacks and Countermeasures. PhD Thesis (2004)
10. Reed, I.S., Solomon, G.: Polynomial Codes over Certain Finite Fields. J. Society
for Industrial and Applied Mathematics 8(2), 300–304 (1960)
11. Reyhani-Masoleh, A., Hasan, M.A.: Towards Fault-Tolerant Cryptographic Com-
putations over Finite Fields. ACM Trans. Embedded Computing Systems 3(3),
593–613 (2004)
12. Welch, L., Berlekamp, E.R.: Error Corrections for Algebraic Block Codes. U.S.
Patent 4 633 470 (1983)
13. Wicker, S.B., Bhargava, V.K.: Reed-Solomon Codes and Their Applications. IEEE
Press, New York (1994)
A Note on a Class of Quadratic Permutations
over F2n
Yann Laigle-Chapuy
1 Introduction
Let F2n be the field of order 2n and F2n [X] denote the ring of polynomials in
the indeterminate X with coefficients in F2n . A polynomial P ∈ F2n [X] which
permutes F2n under evaluation is called a permutation polynomial over F2n . For
a general introduction to permutation polynomials, we refer to [1,2]. Discovering
new classes of permutation polynomials is an old problem with applications in
cryptography, coding theory and in combinatorial designs. For instance, Patarin
introduced the HFE cryptosystem [3] based on quadratic polynomials, which are
polynomials of the form
i j
ai,j X 2 +2 , ai,j ∈ F2n .
0≤i,j≤n−1
Also families of binomials have been found recently by Budaghyan et al. [5].
Quadratic polynomials restricted to j equal to 0,
i
ai X 2 +1 , ai ∈ F2n ,
0≤i≤n−1
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 130–137, 2007.
c Springer-Verlag Berlin Heidelberg 2007
A Note on a Class of Quadratic Permutations over F2n 131
The purpose of this paper is to extend their results. In Section 2 we state the
definitions and notations. We will then define in Section 3 a new class of bilinear
permutation polynomials which will lead us to a new conjecture. Finally, in
Section 4, we discuss some related problems and give arguments supporting our
conjecture.
2 Preliminaries
For most cryptographic purposes, compositions with a linear application will not
change the properties of the function. We will therefore define linear equivalence.
First, let us recall the shape of polynomials corresponding to linear applications,
that is linearized polynomials.
n−1
i
P (X) = ai X 2 with ai ∈ F2n .
i=0
We will consider equivalence classes under the action of bijective linearized poly-
nomials.
L1 ◦ P ◦ L2 = Q.
We will now present the class of polynomials which we will study. According to
the work of Blockhuis et al., we will focus on a subclass of quadratic polynomials.
Proof. The case (iv) is deduced from (v), with L(X) = X, by applying the
following transformation:
a a
X Trk (X) + aX = (a + 1)X Trk (X) + Trk (X) + X .
a+1 a+1
Moreover, as k is odd, L(Trk (x)) which lies in F2 is equal to its trace. We thus
obtain
Trk (P (x)) = Q(Trk (x)).
Let x and y be such that P (x) = P (y). We have in particular
P6 (X) = X 17 + X 5 + aX 2
134 Y. Laigle-Chapuy
4 Discussions
4.1 On Linearized Permutation
We would like to emphasize the role of linear permutations. They appear twice
in our context. First, we use them to define linear equivalences, as cryptographic
properties are mainly invariant under their action. Secondly, as stated in Propo-
sition 1, every bilinear permutation comes from a linearized permutation polyno-
mial. We can therefore deduce from Theorem 3 a class of linearized permutation.
Corollary 1 (new linearized permutations). Let k be odd and be any
positive integer. Set n = k, a ∈ F2 a non zero element of the subfield and
L ∈ L() a linearized polynomial over F2 such that XL(X) ∈ B() is a bilinear
A Note on a Class of Quadratic Permutations over F2n 135
L(X)
n
ai X 2 −1 ,
i
P (X) = = ai ∈ F2n
X i=0
Theorem 5. Let n0 be an integer such that the only unitary bilinear permuta-
tion over F22n0 is X 2 .
Then for all n ≥ n0 , the only unitary bilinear permutation over F22n with
coefficients in F22n0 is X 2 .
136 Y. Laigle-Chapuy
2t−1
i
P (X) = λi X 2 +1
∈ B(22t )
i=0
t−1
i
P (X) = XH(X) with H(X) = X + Tr2t λi X 2 .
i=1
5 Conclusion
We described a new recursive family of quadratic permutation polynomials over
F2n . It enables us to construct easily many quadratic bilinear permutation polyno-
mials over binary fields. Due to the recursive structure, the more odd factors n have,
the more distincts permutation polynomials over F2n we will be able to construct.
On the other hand, if the degree of extension n is prime or if n = 2e , we only
obtain monomials. We thus conjecture that there exists no others. Moreover, for
the case n = 2e , we gave an argument supporting this conjecture.
beginthebibliography1
References
1. Lidl, R., Mullen, G.: When does a Polynomial over a Finite Field Permute the
Elements of the Field? Amer. Math. Monthly 100, 71–74 (1993)
2. Lidl, R., Niederreiter, H.: Finite Fields, 2nd edn. Cambridge University Press, Cam-
bridge (1997)
A Note on a Class of Quadratic Permutations over F2n 137
3. Patarin, J.: Hidden Fields Equations (HFE) and Isomorphisms of Polynomials (IP):
Two New Families of Asymmetric Algorithms. In: Maurer, U.M. (ed.) EURO-
CRYPT 1996. LNCS, vol. 1070, pp. 33–48. Springer, Heidelberg (1996)
4. Dobbertin, H.: Almost Perfect Nonlinear Power Functions on GF(2N): The Niho
Case. Inf. Comput. 151(1-2), 57–72 (1999)
5. Budaghyan, L., Carlet, C., Leander, G.: A Class of Quadratic APN Binomials In-
equivalent to Power Functions. Cryptology ePrint Archive, Report 2006/445 (2006),
http://eprint.iacr.org/
6. Blokhuis, A., Coulter, R.S., Henderson, M., O’Keefe, C.M.: Permutations Amongst
the Dembowski-Ostrom Polynomials. In: 1999 Finite Fields and Applications, pp.
37–42. Springer, Berlin (2001)
7. Payne, S.: A Complete Determination of Translation Ovoids in Finite Desarguian
Planes. Lincei - Rend. Sc. fis. mat. e nat. (1971)
8. Berger, T., Canteaut, A., Charpin, P., Laigle-Chapuy, Y.: Almost Perfect Nonlinear
Functions. Technical Report RR-5774, INRIA Rocquencourt (2005),
http://www.inria.fr/rrrt/rr-5774.html
Constructions of Orthonormal Lattices and
Quaternion Division Algebras for Totally Real
Number Fields
1 Introduction
1.1 Algebraic Coding for Wireless Networks
We consider the problem of designing codes for a wireless relay network with
k + 2 nodes, each of them equipped with one antenna. Communication between
the source node and the sink node is done with the help of k relay nodes. Several
communication protocols have been proposed in the literature, and the one we
will consider [1] belongs to the family of amplify-and-forward protocols, where
each relay node just amplifies the signal it receives from the transmitter, before
forwarding it to the receiver.
This protocol [1] is composed of k phases. During phase j, the source transmits
in two steps. It sends a first signal to the jth relay and the destination. While the
relay forwards the signal to the destination, the source further sends a second
signal to the destination. This is repeated for each j, j = 1, . . . , k.
For this protocol, the code design [16,2] consists of constructing invertible
2k × 2k codewords, defined by
C = diag(C1 , . . . , Ck ),
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 138–147, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Constructions of Orthonormal Lattices and Quaternion Division Algebras 139
Codewords are usually (in narrow band systems) built over the complex field,
but for ultra wideband communication, one needs to design them over the real
field. Complex code constructions based on cyclic division algebras are proposed
in [16]. In [2], examples of real codes are described for the case where the number
of relays is at most 5. In this paper, we provide systematic code constructions
for arbitrary number of relays, generalizing the approach in [2].
The general code design [2] consists of the following steps:
1. Choose a totally real number field F of degree k over Q, which is√cyclic,
with Galois group generated by σ, √ is such that F and Q( 5) are
√ and which
√ over Q. Let√τ : 5 → − 5 be the generator of the Galois
linearly disjoint
group of Q( 5)/Q. Then √F ( 5) is Galois over Q with Galois group σ×τ .
The Galois group of F ( 5)/F is hence generated by τ .
2. Furthermore, choose F such that one can find a trace lattice (M, bα ) (see
Subsection 1.2) inside the ring of integers of F that is isometric to the stan-
dard lattice Zk ⊆ Rk . The orthonormal structure of M allows an efficient
encoding [2] of information symbols, as detailed
√ in Steps 4 and 5 below.
3. Now consider the cyclic algebra: A = (F ( 5)/F, τ, γ), where γ is in F ∗ ,
and choose γ such that A is a division algebra. This will give us invertible
codewords in Steps 4 and 5 below. Note that since A is a cyclic algebra of
degree 2, it is also the quaternion algebra
where vec(C)
˜ denotes the matrix C vectorized where the zero entries are
removed, P is a permutation matrix, G is the generator matrix of M . Effi-
cient encoding (or “shaping” [2,16]) requires the matrix that multiplies the
140 B.A. Sethuraman and F. Oggier
One easily verifies that GGT = {TrF (α ωi ωj )}ki,j=1 , reflecting the fact that
bα (ωi , ωj ) = f (ωi ), f (ωj ). The basis {ω1 , . . . , ωk } is an orthonormal basis if
and only if GGT is the identity matrix.
1
γ should also be such that |γ|2 = 1, which here prevents A to be a division algebra.
This can be overcome, we refer the reader to [2, III.A.] for this discussion.
Constructions of Orthonormal Lattices and Quaternion Division Algebras 141
It is easy to see that the relations (4) can inductively be inverted to write θs
as a Z-linear combination of θs . It follows that 1, θ1 = θ, θ2 ,. . . , θk−1 is also a
Z-basis for OK .
We start by proving a property of the trace of the elements of the form θj .
Lemma 1. For 1 ≤ j < 2k,
and for 1 ≤ i, j ≤ k − 1
0 if i = j
TrK/Q (θi θj ) = (6)
2k if i = j
Proof. First consider the case where j is odd. Since ω raised to any odd power is
also a primitive 2n -th root of unity, ω j has minimal polynomial xk ± ı over Q(ı),
and consequently, ω j has trace zero from L to Q(ı). The same reasoning holds
for ω −j = (ω −1 )j since ω −1 is also a primitive 2n -th root of unity. It follows that
TrL/Q(ı) (θj ) = 0. Since TrK/Q (θj ) = TrL/Q(ı) (θj ), our result is proved when j is
odd. (Notice that these arguments for odd j hold even if j > 2k.)
When j is even, we first assume that j < k. (This case is vacuous if n = 3.)
If j = 2m, we write 2m as 2e a for some e ≥ 1 and odd integer a. Then ω j is a
142 B.A. Sethuraman and F. Oggier
Corollary 1. For all x in OK = Z[θ], the expression TrK/Q (1/k − θ/2k)x takes
values in Z.
Proof. Since trace is Z-bilinear, this assertion can be checked for x coming from
the basis 1, θ1 = θ, θ2 , . . . , θk−1 . For such x the assertion is immediate from
Lemma 1 above.
Write α for 1/k − θ/2k. Any element σ ∈ Gal(K/Q) sends θ to θr for some
odd r, so σ(θ)/2 is a real number strictly between 1 and −1. Hence, α is totally
positive, so as in Definition 1, we have the trace form bα : Z[θ] × Z[θ] → Z given
by bα (x, y) = TrK/Q (1/k − θ/2k)xy.
We first calculate the value of this bilinear form on the basis elements 1,
θ1 = θ, θ2 , . . . , θk−1 . (Note that this is really [5, Prop. 4.3], except that the
authors in [5] work with the element 1/k + θ/2k.)
bα (1, 1) =1 (7)
−1 if i=1
bα (1, θi ) = (8)
0 if i>1
⎧
⎪
⎨2 if j =i
bα (θi , θj ) = −1 if j =i+1 (9)
⎪
⎩
0 if j >i+1
Proof. The first two formulas arise from a direct application of the formulas in
Lemma 1. For the third, we compute: bα (θi , θj ) = TrK/Q (1/k − θ/2k)θi θj =
(1/k)TrK/Q (θi θj ) − (1/2k)TrK/Q (θθi θj ). Now the formulas in Lemma 1 show
that (1/k)TrK/Q (θi θj ) is zero except when i = j, in which case it is 2. As for the
term (θθi θj ), note that like in the proof of Lemma 1, θθi θj = θ1 (θi+j + θj−i ) =
θi+j+1 + θi+j−1 + θj−i+1 + θj−i−1 . When i = j and when j > i + 1, Lemma
1 shows that (1/2k)TrK/Q (θθi θj ) is zero. When i = j + 1 the term θj−i−1 = 2
contributes −(1/2k)2k to the trace. This establishes the formula.
Constructions of Orthonormal Lattices and Quaternion Division Algebras 143
The lemma above immediately leads to the following (see the remark in [5] at
the end of the proof of their Prop. 4.3):
Proof. We prove this inductively. The assertion that bα (w0 , w0 ) = 1 is just the
first formula in Lemma 2 above. Now assume that we have proved that the
vectors w0 , . . . , wi are orthonormal. First, for a given j < k and l < k, we
expand wj as 1 + θ1 + · · · + θj and using the bilinearity of bα , we see that
bα (wj , θl ) = 0 whenever l > j + 1, and bα (wj , θl ) = −1 if l = j + 1. From
this and the induction assumption, it follows that for j ≤ i, bα (wj , wi+1 ) =
bα (wj , wj ) + bα (wj , θj+1 ) + · · · + bα (wj , θi+1 ) = 1 − 1 = 0. Also, bα (wi+1 , wi+1 ) =
bα (wi , wi ) + 2bα (wi , θi+1 ) + bα (θi+1 , θi+1 ) = 1 − 2 + 2 = 1. This proves the
theorem.
To compute the generator matrix for this lattice, note that the Galois group
Gal(K/Q) is generated by the action on K of σ : ω → ω r , where r is some
generator of the multiplicative group (Z/2n−1 Z)∗ . Thus, σ(θ1 ) = θr , σ(θ2 ) = θ2r ,
σ(1/k − θ1 /2k) = 1/k − θr /2k etc.
Some combinatorial remarks: There is a nice interplay between the two Z-bases
1, θ, θ2 , . . . , θk−1 (consisting of powers of θ), and the basis 1, θ1 = θ, θ2 , . . . ,
θk−1 , which leads to some interesting combinatorial considerations. For instance,
we can compute the codifferent of OK in terms of the two bases, and doing so,
we are led to the Hankel transform of the binomial sequence 2n n : these have
been studied by various authors ([12], [8],[15], for example) and is defined as the
sequence hn , n = 1, 2, · · · , where hn is the determinant of the n × n matrix
⎛ ⎞
1 ···
0 2 2(n−1)
0 n−1
⎜ ⎟
2 ···
2 4 2n
⎜ ⎟
⎜ 1
.. .. ..
n
.. ⎟. (10)
⎜ ⎟
⎝ . . . . ⎠
n · · · 2(n−1)
2(n−1) 2n 4(n−1)
n−1
(Indeed, this is the form in which we originally discovered our lattice. The
(l)
various expressions on the right side of the definition of the as above are all the
l
binomial coefficients of the form j , starting from the middle and and working
144 B.A. Sethuraman and F. Oggier
towards both ends, taking one alternately on each side.) Proving the orthonor-
mality of the wi directly in this form without invoking Theorem 1 above leads
to the following interesting combinatorial identities:
l 2 2l + 2
1+ a(l+1)
s = ,
s=0
l+1
Now we consider how P extends √ to K( 5). To do this, note that the prime
2 of Z stays prime in the field Q( 5) (see [9, Chap. 3, Theo. 25] for instance.)
Call this prime of OQ(√5) P , so e(P |2Z) = 1 and f (P |2Z) = 2. Now if Q is any
prime of OK(√5) lying over P , then e(Q|2Z) = e(Q|P )e(P |2Z) ≥ e(P |2Z) = k,
and√f (Q|2Z) = f (Q|P )f (P |2Z) ≥ f (P |2Z) = 2. Since
√ k · 2 already equals
[K( 5) : Q], we find that Q is the unique prime in K( 5) lying over 2 and that
e(Q|2Z) = k and f (Q|2Z) = 2. In particular, this means that Q is the unique
prime of OK lying over P , and that e(Q|P ) = 1 and√f (Q|P ) = 2.
Now assume that 2 − θ √ = N (x), for some x ∈ K( 5), where we have written
N for the norm from K( 5) to K. Further writing x = y/z for y and z in
OK(√5) , we find N (z)(2 − θ) = N (y). Assume that the ideal yOK(√5) has the
factorization Ql · Ql11 · · · Qlrr where the Qi are primes other than Q and l and the
li are nonnegative integers. Assume similarly that zOK(√5) has the factorization
Ql · (Q1 )l1 · · · (Qr )lr . Then the ideal N (y)OK in OK has the factorization
P 2l · P1f1 l1 · · · Prfr lr , where the fi are the inertial degrees of the primes Qi , and
Pi = Qi ∩ OK . (This follows, for instance from [9, Chap 3, Exer. 14]; note that
we have used the fact that f (Q|P ) = 2.) Similarly, N (z)OK in OK has the
factorization P 2l · (P1 )f1 l1 · · · (Pr )fr lr . But then, since the ideal (2 − θ)OK is
Constructions of Orthonormal Lattices and Quaternion Division Algebras 145
Q(ω + ω −1 ). K is hence totally real. Also, note that since z is integral over Q,
the element x is in Ok . The fact that this matrix above is unitary says that the
elements x, σ(x), . . . , σ k−1 (x) form an orthonormal basis for M with respect to
the trace form bγ : M × M → Z given by bγ (s, t) = TrK/Q (γst), where γ = 1/p2
(see the matrix G in the remark following Definition 1).
Remark: For the field K = Q(ω + ω −1 ), where ω is a primitive pn -th root of
unity, and p is an odd prime, it would be interesting to see if, just as for p = 2
in Subsection 2.1, there exists a suitable trace form for which OK turns out
to be an orthonormal lattice. Such a trace form is known to exist if n = 1
[4], but this construction does not hold for n ≥ 2. The existence of such trace
forms for general p and n is open as far as we know. For the special case of
K = Q(ω9 + ω9−1 ), where we have written ω9 for e2πı/9 , one can check that the
vectors −(1 − θ)θ, −θ, −1 + θ (where θ = ω9 + ω9−1 ) form an orthonormal basis
146 B.A. Sethuraman and F. Oggier
for OK with respect to the trace form bα (x, y) = T rK (αxy), where α is the
(totally positive) element (16 − θ − 5θ2 )/9.
Finally, to construct lattices and quaternion division algebras over totally real
number fields of arbitrary degree, we just have to combine the constructions
in the previous two sections. Given an arbitrary positive integer k ≥ 2, write
k = 2m k , where k is odd. We may assume that m ≥ 1 and k ≥ 3, else we are in
the situation of the previous sections. Write Ke for the field obtained in Section
2 of degree 2m over Q. Write Me for the lattice obtained in that same section, bαe
for its bilinear form, and Ge for the generator matrix that defines its isometric
m
embedding in R2 . Similarly, write Ko for the field obtained in Section 3 of degree
k , Mo for the lattice obtained in that section, bαo for its bilinear form, and Go
for the generator matrix that defines its isometric embedding in Rk . Then, since
the degrees of Ke and Ko are relatively prime, the compositum K = Ke Ko has
degree k = 2m k over Q. It is totally real since both Ke and Ko are totally real.
(In fact, K is Galois over Q with Galois group Gal(Ke /Q) × Gal(Ko /Q).)
If {ci } (ci ∈ Ke ) is an orthonormal basis for Me , and if {dj } (dj ∈ Ko ) is
an orthonormal basis for Mo , it is easy to see that the set {ci dj } is Z-linearly
independent, and hence generates a free submodule N of OK . We have the
bilinear form bαe αo , defined on the basis by
σ(αe )τ (αo ), φ(ci dj ) = σ(ci )τ (dj ), etc. Using this, it is easy to see that the
orthonormal trace lattice (N, bαe αo ) embeds isometrically into Rk via the Kro-
necker product of the matrices Ge and Go .
To obtain a quaternion division algebra over K, we simply consider the quater-
nion division algebra A obtained over Ke in Section 2 as an algebra over K. Since
K is of odd degree over Ke , A ⊗Ke K remains a division algebra by ([11, Chap.
13, §4, Prop.]).
References
1. Azarian, K., El Gamal, H., Schniter, P.: On the Achievable Diversity-Multiplexing
Tradeoff in Half-Duplex Cooperative Channels. IEEE Trans. Inform. The-
ory 51(12), 4152–4172 (2005)
2. Abou-Rjeily, C., Daniele, N., Belfiore, J.-C.: Distributed Algebraic Space Time
Codes for Ultra Wideband Communications. Kluwer Journal, Special Issue on Co-
operative Diversity (2006)
3. Bayer-Fluckiger, E.: Lattices and Number Fields. Contemporary Mathematics 241,
69–84 (1999)
4. Bayer, E., Oggier, F., Viterbo, E.: New Algebraic Constructions of Rotated Zn
Lattice Constellations for the Rayleigh Fading Channel. IEEE Trans. Inform. The-
ory 50(4), 702–714 (2004)
5. Bayer-Fluckiger, E., Nebe, G.: On the Euclidean Minimum of Some Real Number
Fields. J. Théo. Nombres Bordeaux 17, 437–454 (2005)
6. Elia, P., Sethuraman, B.A., Kumar, P.V.: Perfect Space-Time Codes with Mini-
mum and Non-Minimum Delay for Any Number of Antennas. IEEE Trans. Inform.
Theory (to appear)
7. Erez, B.: The Galois structure of the Trace Form in Extensions of Odd Prime
Degree. J. of Algebra 118, 438–446 (1988)
8. Layman, J.W.: Then Hankel Transform and Some of Its Properties. J. Integer
Sequences 4, Article 01.1.5 (2001)
9. Marcus, D.A.: Number Fields. Universitext. Springer, NY (1977)
10. Oggier, F.E., Rekaya, G., Belfiore, J.-C., Viterbo, E.: Perfect Space-Time Block
Codes. IEEE Trans. Inform. Theory 52(9), 3885–3902 (2006)
11. Pierce, R.S: Associative Algebras. GTM88. Springer, NY (1982)
12. Radoux, C.: Calcul effectif de certains determinants de Hankel. Bull. Soc. Math.
Belg. 31(1), 49–55 (1979)
13. Sethuraman, B.A., Rajan, B.S., Shashidhar, V.: Full-diversity, High-Rate Space-
Time Block Codes from Division Algebras. IEEE Trans. Inform. Theory 49, 2596–
2616 (2003)
14. Sethuraman, B.A., Oggier, F.E.: The Hankel Transform of the Central Binomial
Coefficients and Orthonormal Lattices in Cyclotomic Fields (in preparation)
15. Spivey, M.Z., Steil, L.L.: The k-Binomial Transform and the Hankel Transform. J.
Integer Sequences 9, Article 06.1.1 (2006)
16. Yang, S., Belfiore, J.-C.: Optimal Space-Time Codes For The Mimo Amplify-And-
Forward Cooperative Channel. IEEE Trans. Inform. Theory 53(2), 647–663 (2007)
Quaternary Plotkin Constructions and
Quaternary Reed-Muller Codes
Abstract. New quaternary Plotkin constructions are given and are used
to obtain new families of quaternary codes. The parameters of the ob-
tained codes, such as the length, the dimension and the minimum dis-
tance are studied. Using these constructions new families of quaternary
Reed-Muller codes are built with the peculiarity that after using the
Gray map the obtained Z4 -linear codes have the same parameters as the
codes in the classical binary linear Reed-Muller family.
1 Introduction
In [13] Nechaev introduced the concept of Z4 -linearity of binary codes and later
Hammons, Kumar, Calderbank, Sloane and Solé, see [7], showed that several
families of binary codes are Z4 -linear. In [7] it is proved that the binary linear
Reed-Muller code RM (r, m) is Z4 -linear for r = 0, 1, 2, m − 1, m and is not
Z4 -linear for r = m − 2 (m ≥ 5). In a subsequent work, Hou, Lahtonen and
Koponen, [8] proved that RM (r, m) is not Z4 -linear for 3 ≤ r ≤ m − 2.
In [7] the construction of Reed Muller codes, QRM(r, m), based on Z4 linear
codes is introduced such that after doing modulo two we obtain the usual binary
linear Reed-Muller (RM ) codes. In [2,3] such family of codes is studied and their
parameters are computed as well as the dimension of the kernel and rank. In [15]
some kind of Plotkin construction was used to build a family of additive Reed-
Muller codes and also in [17] the Plotkin construction was utilized to obtain
a sequence of quaternary linear Reed-Muller like codes. In both last quoted
constructions, images of the obtained codes under the Gray map are binary
codes with the same parameters as the classical binary linear RM codes.
Moreover, on the other hand, in [9,10] all the non-equivalent Z4 -linear ex-
tended 1-perfect codes and their duals, the Z4 -linear Hadamard codes, are clas-
sified. It is a natural question to ask if there exist families of quaternary linear
This work has been partially supported by the Spanish MEC and the European
FEDER Grant MTM2006-03250 and also by the UAB grant PNL2006-13.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 148–157, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Quaternary Plotkin Constructions and Quaternary Reed-Muller Codes 149
codes such that, after the Gray map, the corresponding Z4 -linear codes have
the same parameters as the well known family of binary linear RM codes. In
this new families, like in the usual RM (r, m) family, the code with parame-
ters (r, m) = (1, m) should be a Hadamard code and the code with parameters
(r, m) = (m − 2, m) should be an extended 1-perfect code.
It is well known that an easy way to built the RM family of codes is by using
the Plotkin construction (see [12]). So, it seems a good matter of study to try
to generalize the Plotkin construction to the quaternary codes and try to obtain
new families of codes which contain the above mentioned Z4 -linear Hadamard
codes and Z4 -linear extended 1-perfect codes and fulfil the same properties (from
a parameters point of view) than the binary RM family.
The present paper is organized as follows. In Section 2 we introduce the con-
cept of quaternary code and give some constructions that could be seen as quater-
nary generalizations of the well known binary Plotkin construction. In Section 3,
we construct several families of Z4 -linear RM codes and prove that they have
similar parameters as the classical RM codes but they are not linear. Finally, in
Section 4 we give some conclusions and further research in the same topic. The
family of codes presented in the paper contains codes from [17].
The Hamming weight w(v) of a vector v in Zn2 is the number of its nonzero
coordinates. The Hamming distance d(u, v) between two vectors u, v ∈ Zn2 is
d(u, v) = w(u − v). For quaternary codes it is more interesting to use the Lee
metric (see [11]). In Z2 the Lee weight coincides with the Hamming weight, but
in Z4 the Lee weight of their elements is wL (0) = 0, wL (1) = wL (3) = 1, and
wL (2) = 2. The Lee weight wL (v) of a vector v in ZN 4 is the addition of the
Lee weight of all the coordinates. The Lee distance dL (u, v) between two vectors
u, v ∈ ZN 4 is dL (u, v) = wL (u − v).
β
Let C be an additive code, so a subgroup of Zα 2 × Z4 and let C = Φ(C), where
β
Φ : Z2 × Z4 −→ Z2 , n = α + 2β, is given by Φ(x, y) = (x, φ(y)) for any x
α n
β β 2β
from Zα 2 and any y from Z4 , where φ : Z4 −→ Z2 is the usual Gray map,
so φ(y1 , . . . , yβ ) = (ϕ(y1 ), . . . , ϕ(yβ )), and ϕ(0) = (0, 0), ϕ(1) = (0, 1), ϕ(2) =
(1, 1), ϕ(3) = (1, 0). Hamming and Lee weights, as well as Hamming and Lee
β
distances, can be generalized, in a natural way, to vectors in Zα 2 × Z4 by adding
β
the corresponding weights (or distances) of the Zα 2 part and the Z4 part.
150 J. Pujol, J. Rifà, and F.I. Solov’eva
β
Since C is a subgroup of Zα 2 × Z4 , it is also isomorphic to an abelian structure
γ
like Z2 × Z4 . Therefore, we have that |C| = 2γ 4δ and the number of order two
δ
β
where u, v ∈ Zα2 × Z4 . Note that when α = 0 the inner product is the usual one
for vectors over Z4 and when β = 0 it is twice the usual one for binary vectors.
The additive dual code of C, denoted by C ⊥ , is defined in the standard way
C ⊥ = {u ∈ Zα β
2 × Z4 | u, v = 0 for all v ∈ C}.
C 2N = {(u|u + v) : u ∈ A, v ∈ B}.
It is easy to see that if GA and GB are the generator matrices of A and B then
the matrix
GA GA
GP =
0 GB
is the generator matrix of the code C 2N .
0 0 0 GC
where GB is the matrix obtained from GB after switching twos by ones in their
γB rows of order two and GˆB is the matrix obtained from GB after removing their
γB rows of order two.
152 J. Pujol, J. Rifà, and F.I. Solov’eva
The usual linear binary RM family of codes is one of the oldest and interesting
family of codes. The codes in this family are easy to decode and their combinatorial
properties are of great interest to produce new optimal codes from that.
For any integer m ≥ 1 the family of binary linear RM codes is given by the
sequence RM (r, m), where 0 ≤ r ≤ m; RM (r, m) is called the rth order binary
Reed-Muller code of length n = 2m and
Let 0 < r < m, m ≥ 1 and use the symbols 0, 1 for the all zeroes and the all
ones vectors, respectively. According [12] the RM (r, m) code of order r can be
constructed by using the Plotkin construction in the following way:
m
1. RM (0, m) = {0, 1}, RM (m, m) = F2 ,
(2)
2. RM (r, m) = {(u|u + v) : u ∈ RM (r, m − 1), v ∈ RM (r − 1, m − 1)}.
Theorem 1. The binary linear Reed-Muller family of codes RM (r, m) has the
following properties:
1. length n = 2m ;
2. minimum distance d = 2m−r , 0 ≤ r ≤ m;
r
m
3. dimension k = ;
i=0
i
4. each code RM (r − 1, m) is a subcode of RM (r, m), r > 0. RM (0, m) =
m
{0, 1}; RM (m, m) = F2 and RM (r − 1, m) is the even code (so the code
m
with all the vectors of even weight from F2 );
5. RM (1, m) is the binary linear Hadamard code and RM (r − 2, m) is the
extended 1-perfect Hamming code of parameters (2m , 2m − m − 1, 4);
6. the code RM (r, m) is the dual code of RM (m − 1 − r, m) for r < m.
In the recent literature several families of quaternary linear codes has been
proposed and studied [7,18,2,3] trying to generalize the RM codes, but when take
the corresponding Z4 -linear codes they do not satisfy all the above properties.
Quaternary Plotkin Constructions and Quaternary Reed-Muller Codes 153
This is the main goal of the present work, to construct new families of quaternary
linear codes such that, after the Gray map, we obtain Z4 -linear codes with the
parameters and properties quoted in Theorem 1 except for the duality.
We will refer to the quaternary linear Reed-Muller codes as RM to distinguish
them from the binary linear Reed-Muller codes RM . Contrary to the linear
binary case, where there is only one RM family, in the quaternary case we have
m+1
2 families for each value of m. We will distinguish the families we are talking
about by using subindexes s (s ∈ {0, . . . , m−1
2 }).
For r = 0, RMs (0, m) is the repetition code with only one nonzero codeword
(2m−1 )
(the all twos vector). For r = m, the code RMs (m, m) is the whole space Z4 .
Applying Theorem 2 and the above mentioned codes RM0 (r, m) with m = 1
we obtain the codes in Table 1a. The generator matrices for these codes are:
02 01
RM0 (0, 2) : 2 2 ; RM0 (1, 2) : ; RM0 (2, 2) : .
11 11
(r, m)
(r, m)
(0, 3) (1, 3) (2, 3) (3, 3)
(0, 2) (1, 2) (2, 2)
N (γ, δ)
N (γ, δ)
4 (1, 0) (2, 1) (1, 3) (0, 4) RM0 (r, 3)
2 (1, 0) (1, 1) (0, 2) RM0 (r, 2)
4 (1, 0) (0, 2) (1, 3) (0, 4) RM1 (r, 3)
For m = 3 there exist two quaternary linear Hadamard codes. So, our goal is
to find two families of quaternary Reed-Muller codes as it is shown in Table 1b.
Codes in the first row in Table 1b can be obtained using Plotkin construction
from the codes in the first row of Table 1a. But, codes in the second row can not
be obtained using only Plotkin constructions. It is in this point that we need to
use the new BQ-Plotkin construction.
The constructions of additive codes whose images are binary codes with pa-
rameters of RM codes using the Plotkin construction were initiated in [15,17].
Let RMs−1 (r, m−2), RMs−1 (r−1, m−2) and RMs−1 (r−2, m−2), 0 < s ≤
m−1
2 , m ≥ 3, be any three RM codes with parameters (N ; γ , δ ), (N ; γ , δ )
and (N ; γ , δ ); binary length n = 2m−2 ; number of codewords 2k , 2k and
2k ; minimum distances 2m−r−2 , 2m−r−1 and 2m−r respectively, where
r r−1
r−2
m−2 m−2 m−2
k = , k = , k = .
i=0
i i=0
i i=0
i
Theorem 3. For any r and m ≥ 3, 0 < r < m − 1, the code RMs (r, m),
s > 0, obtained by using the BQ-Plotkin construction and with generator matrix
Gs (r, m):
⎛ ⎞
Gs−1 (r, m − 2) Gs−1 (r, m − 2) Gs−1 (r, m − 2) Gs−1 (r, m − 2)
⎜ 0
Gs−1
(r − 1, m − 2) 2Gs−1
(r − 1, m − 2) 3Gs−1 (r − 1, m − 2) ⎟
⎜ ⎟
⎝ 0 0 Ĝs−1 (r − 1, m − 2) Ĝs−1 (r − 1, m − 2) ⎠
0 0 0 Gs−1 (r − 2, m − 2)
Quaternary Plotkin Constructions and Quaternary Reed-Muller Codes 155
To be coherent with all the notations, for r = −1, the code RMs (−1, m) is
defined as the all zero codeword code. For r = 0, the code RMs (0, m) is defined
as the repetition code with only one non zero codeword (the all twos quaternary
vector). For r = m−1 and r = m, the codes RMs (m−1, m) and RMs (m, m) are
(2m−1 )
defined as the even Lee weight code and the whole space Z4 , respectively.
Using both Theorems 2 and 3 we can construct the RM codes in two rows of
Table 1b. We do not write the generator matrices for codes RM0 (r, 3) because
they can be directly obtained from the respective codes for m = 2 by using
the Plotkin construction. For the codes in the family RM3 (r, 3) we present the
generator matrices as a direct application of Theorem 3:
⎛ ⎞
2000
1111 ⎜1 1 1 1⎟
RM3 (0, 3) : 2 2 2 2 ; RM3 (1, 3) : ; RM3 (2, 3) : ⎜
⎝0 1 2 3⎠
⎟
0123
0011
(22 )
the remaining code RM3 (3, 3) in the family is the whole space Z4 .
All these codes, after the Gray map, give binary codes with the same parame-
ters as the RM (r, 3) codes and with the same properties described in Theorem 1.
In this case under consideration, when m = 3, like in the case m = 2 not only
these codes have the same parameters, but they have the same codewords. This
is not in this way for all the other values of m > 3.
Now, from Table 1b and by using the Plotkin construction we can construct
the two families of RMs (r, 4) codes for s = 0, 1, as it shown in Table 2.
(r, m)
(0, 4) (1, 4) (2, 4) (3, 4) (4, 4)
N (γ, δ)
8 (1, 0) (3, 1) (3, 4) (1, 7) (0, 8) RM0 (r, 4)
8 (1, 0) (1, 2) (1, 5) (1, 7) (0, 8) RM1 (r, 4)
From codes in Table 1b and Table 2 applying the BQ-Plotkin and the Plotkin
constructions, respectively, we can construct the three families of RMs (r, 5) for
s = 0, 1, 2, as it is shown in Table 3.
As it is proved in Theorems 2 and 3 the constructed families of RM codes
satisfy the same properties we stated for linear binary Reed-Muller codes in
Theorem 1 except for the duality.
156 J. Pujol, J. Rifà, and F.I. Solov’eva
(r, m)
(0, 5) (1, 5) (2, 5) (3, 5) (4, 5) (5, 5)
N (γ, δ)
16 (1, 0) (4, 1) (6, 5) (4, 11) (1, 15) (0, 16) RM0 (r, 5)
16 (1, 0) (2, 2) (2, 7) (2, 12) (1, 15) (0, 16) RM1 (r, 5)
16 (1, 0) (0, 3) (2, 7) (0, 13) (1, 15) (0, 16) RM2 (r, 5)
4 Conclusion
New constructions based on quaternary linear codes has been proposed such that,
after the Gray map, the obtained Z4 -linear codes fulfil the same properties and
characteristics as the usual binary linear RM codes. Apart from the parameters
characterizing each code an important property which remains in these new
presented families is that the first order RM code is a Hadamard quaternary
code and the (m − 2)-th order RM code is a quaternary code which give rise to
an extended 1-perfect code, like in the usual binary case. So the families of codes
obtained in the paper contain the families of quaternary perfect and Hadamard
codes from [9,10].
There are several questions and subjects related to this work where would be of
great interest to go deeply. The first one is the generalization of the constructions
of RM codes to the case of general additive codes, so the case of additive
codes with α = 0. It is known that there exist additive non Z4 -linear 1-perfect
codes [5] and the corresponding Hadamard additive dual codes. This observation
could be taken as the starting point to produce the new families of Reed-Muller
codes. Another important question is duality. It is well known that binary codes
RM (r, m) and RM (m − r − 1, m) are dual each other. The constructed RM
families have a similar, but not exactly the same, property. Code RM(m − r −
1, m) is equivalent, but not equal, to the additive dual of the code RM(r, m).
Given any RM family would be interesting to find the dual family, in the sense
that all the codes in the first family have the additive dual in the second family.
Other open questions are related to uniqueness (up to equivalence) of obtained
codes, their weight distribution, etc.
Quaternary Plotkin Constructions and Quaternary Reed-Muller Codes 157
References
1. Bonnecaze, A., Solé, P., Calderbank, A.R.: Quaternary Quadratic Residue Codes
and Unimodular Lattices. IEEE Trans. Inform. Theory 41, 366–377 (1995)
2. Borges, J., Fernandes, C., Phelps, K.T.: Quaternary Reed-Muller Codes. IEEE
Trans. Inform. Theory 51(7), 2686–2691 (2005)
3. Borges, J., Fernandes, C., Phelps, K.T.: ZRM Codes. IEEE Trans. Inform. Theory
(to appear)
4. Borges, J., Fernández, C., Pujol, J., Rifà, J., Villanueva, M.: On Z2 Z4 -Linear Codes
and Duality. In: V Jornades de Matemàtica Discreta i Algorı́smica, Soria, Spain,
pp. 171–177 (2006)
5. Borges, J., Rifà, J.: A Characterization of 1-Perfect Additive Codes. IEEE Trans.
Inform. Theory 45(5), 1688–1697 (1999)
6. Delsarte, P.: An Algebraic Approach to the Association Schemes of Coding Theory.
Philips Research Rep. Suppl. 10 (1973)
7. Hammons, A.R., Kumar, P.V., Calderbank, A.R., Sloane, N.J.A., Solé, P.: The
Z4 -Linearity of Kerdock, Preparata, Goethals and Related Codes. IEEE Trans.
Inform. Theory 40, 301–319 (1994)
8. Hou, X-D., Lahtonen, J.T., Koponen, S.: The Reed-Muller Code R(r, m) Is Not
Z4 -Linear for 3 ≤ r ≤ m − 2. IEEE Trans. Inform. Theory 44, 798–799 (1998)
9. Krotov, D.S.: Z4 -Linear Perfect Codes. Discrete Analysis and Operation Research,
Novosibirsk, Institute of Math. SB RAS 7(4), 78–90 (2000)
10. Krotov, D.S.: Z4 -Linear Hadamard and Extended Perfect Codes. In: 2001 Int.
Workshop on Coding and Cryptography, Paris, France, pp. 329–334 (2001)
11. Lee, C.Y.: Some Properties of Nonbinary Error-Correcting Codes. IRE Trans. In-
form. Theory 4(4), 77–82 (1958)
12. MacWilliams, F.J., Sloane, N.J.A.: The Theory of Error-Correcting Codes. North-
Holland Publishing Company, Amsterdam (1977)
13. Nechaev, A.A.: Kerdock Codes in a Cyclic Form. Disc. Math. 1(4), 123–139 (1989)
14. Plotkin, M.: Binary Codes with Specified Minimum Distances. IEEE Trans. Inform.
Theory 6, 445–450 (1960)
15. Pujol, J., Rifà, J.: Additive Reed-Muller pCodes. In: 1997 Int. Symp. on Inform.
Theory, Ulm, Germany, p. 508. IEEE Press, NewYork (1997)
16. Rifà, J., Pujol, J.: Translation Invariant Propelinear Codes. IEEE Trans. Inform.
Theory 43, 590–598 (1997)
17. Solov’eva, F.I.: On Z4-Linear Codes with Parameters of Reed-Muller Codes. Prob-
lems of Inform. Trans. 43, 32–38 (2007)
18. Wan, Z.X.: Quaternary codes. World Scientific Publishing Co., Singapore (1997)
Joint Source-Cryptographic-Channel Coding
Based on Linear Block Codes
1 Introduction
Compact communication devices will play an important role in future network
systems such as sensor networks and ubiquitous computing networks. For an
efficient and reliable data transmission, these devices should have source and
channel coding capabilities. In addition, data should be encrypted when such de-
vices are used in an insecure environment. Many data compression techniques are
available for efficient source coding [1][2][3][4], and also strong error control codes
have been developed for channel coding [5][6][7]. In addition, some encryption al-
gorithms have been standardized for secure data transmission. Recent source and
channel codings and encryption algorithms require considerable computational
power for encoding and decoding. Compact communication devices, however,
usually have limited computational resources. Therefore, low-complexity joint
source-cryptographic-channel coding is preferable for such resource constrained
devices.
Techniques for joint source-channel coding have been proposed aimed at de-
coding noisy compressed data as reliably as possible. Unequal error protection
(UEP) coding can be used to protect important parts of compressed data, such as
header information, from errors. UEP coding techniques have been proposed for
several types of compressed data, such as compressed text [8] and video data [9].
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 158–167, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Joint Source-Cryptographic-Channel Coding Based on Linear Block Codes 159
2 Related Work
2.1 MN Code for Joint Source-Channel Coding
MN code [6] has been proposed for joint source-channel coding. Let m = (m0 ,
m1 , . . . , mK−1 )T be an information word of length K bits, where mi , i ∈ {0,
1, . . . , K − 1}, is the i-th information bit. In general, the conventional error
control codes encode any input word m with arbitrary Hamming weight. On the
other hand, MN code encodes sparse information word m, i.e., the word with
low Hamming weight. Let H = [Cs |Cn ] be an M × N LDPC matrix, where Cs is
an M × (N − M ) matrix, and Cn is an M × M nonsingular matrix. Information
word m with length K = N − M bits is encoded as c = C−1 n Cs m = Am,
where C−1 n C s = A, the probability of information bit m i being 1 is q1 < 1/2,
the matrix [Cs |Cn ] is an LDPC matrix over binary symmetric channel (BSC)
with crossover probability = q1 , and c = (c0 , c1 , . . . , cM−1 )T is a codeword
of length M bits. Let c = c + n be a received word, where vector addition is
performed over GF(2) and n is a noise vector of length M . The received word
c is decoded based on the following relation:
m
Cn c = Cn c + Cn n = Cs m + Cn n = [Cs |Cn ] .
n
From this, the information word m can be generated from Cn c by the sum-
product algorithm [6] because m and n are sparse vectors and H = [Cs |Cn ] is
an LDPC matrix.
160 H. Kaneko and E. Fujiwara
McEliece has proposed a PKC based on Goppa code [11]. This McEliece’s PKC
based on LDPC code has been proposed in [12]. Let G be a K × N generator
matrix of (N, K, 2t+1) linear code C, where C is a random t-bit error correcting
code. Let Q be an N × N random permutation matrix, and let D be a K × K
random nonsingular matrix. Using the matrices G, Q, and D as a set of private-
keys, the public-key A is generated as A = QGT D, where A is an N ×K matrix.
Binary plaintext m = (m0 , m1 , . . . , mK−1 )T is encrypted using the public-key
as c = Am + n, where c is a ciphertext expressed by a binary column vector of
length N , and n is a random error vector with length N and Hamming weight
t. The ciphertext c is decrypted by using the private-keys as follows:
1. Calculate c = Q−1 c = GT Dm + Q−1 n.
2. Decode c using the linear code C to correct errors Q−1 n, and generate the
decoded word u = Dm.
3. Reconstruct the plaintext as m = D−1 u.
Although McEliece’s PKC is vulnerable to some practical attacks, modified ver-
sions of this PKC have proven to be semantically secure [13].
Niederreiter’s PKC [14] is also based on linear block error control codes. Un-
like McEliece’s PKC, which can encrypt a plaintext m with arbitrary Hamming
weight, Niederreiter’s PKC can only encrypt m with Hamming weight less than
or equal to t. Let H be an M × N parity-check matrix of t-symbol error cor-
recting code C over GF(q), such as Reed-Solomon code. Let T be an N × N
random permutation matrix, and let D be an M × M random nonsingular ma-
trix. Using the matrices H, T, and D as a set of private-keys, the public-key A
is generated as A = DHT, where A is an M × N matrix. Information word
m = (m0 , m1 , . . . , mN −1 )T is encrypted by using the public-key as c = Am,
where the Hamming weight of m is less than or equal to t, and c is the cipher-
text expressed by a column vector of length M . Note that deriving m directly
from A and c is difficult because rank(A) < N and A has no visible algebraic
structure. The ciphertext c is decrypted using the private-keys as follows:
1. Calculate c = D−1 c = HTm.
2. Find a column vector u that satisfies c = Hu and w(u) ≤ t using a decoding
algorithm for C, where w(u) is the Hamming weight of u.
3. Reconstruct the plaintext as m = T−1 u.
A security analysis has shown that McEliece’s and Niederreiter’s PKCs have
equivalent security [15].
Table 1 summarizes the functions of the above coding techniques. Here, MN
code and Niederreiter’s PKC have a source coding function because sparser in-
formation word m gives shorter codeword c.
Joint Source-Cryptographic-Channel Coding Based on Linear Block Codes 161
3 System Model
Recent communication and storage systems sometimes require three functions:
source coding for data compression, cryptographic coding for data encryption,
and channel coding for error correction/detection. Figure 1 (a) shows the con-
ventional sequential encoding process for source, cryptographic, and channel
codings, each performed independently, where the source coding contains pre-
processing and entropy coding steps. The preprocessing is dependent on the
type of input data. For example, still images are preprocessed by discrete cosine
transform, quantization, zigzag scan, and run length coding [3]. Video data are
first applied motion estimation/compensation, and then estimation errors are
encoded in a similar way to still image coding [4]. Text data are usually pre-
processed by dictionary coding [2] or block sorting. The preprocessing is usually
followed by an entropy coding step, such as Huffman coding [1] and arithmetic
coding. The compressed data is encrypted and then encoded by a channel code.
This paper proposes a new joint coding shown in Fig. 1 (b), where the con-
ventional entropy, cryptographic, and channel codings are replaced by an entropy
conversion and a joint coding based on an encoding matrix A. Unlike conventional
PKC based on integer factoring problem or discrete logarithm problem which re-
quire many arithmetic operations, the proposed coding provides a PKC with sim-
ple EX-OR operations. In addition, this paper demonstrates in Section 7 that, for
some cases, the joint coding provides superior data compression ratio and higher
error correction capability than the conventional sequential coding.
This paper mainly focuses on the joint coding. The entropy conversion is
briefly described in Section 6.
(a) Video Still image Text (b) Video Still image Text
Motion estimation/ Dictionary coding, Motion estimation/ Dictionary coding,
compensation Block sorting compensation Block sorting
DCT / DWT / Predictive coding DCT / DWT / Predictive coding
Preprocessing
MV
MV
Quantization Quantization
Zigzag scan,RLC Bit-plane scan Zigzag scan,RLC Bit-plane scan
NC NC MS NS NS
Parity-check M
Parity-check D S
Permutation MC matrix H S Permutation
NC matrix H C NS
matrix Q matrix T
KC = Generator Nonsingular
MS matrix G C matrix
NS Inverse Transpose Inverse Inverse
Encoding D -1 HS
T
NC matrix A = Q -1 GC T -1
(Public-key)
Decoding
Received
Decoding (GCT ) u u D ud v Decoded
Q c’ channel d for H S Tw
word c’ c" code C C u w word m
(a) (b) v
:c-nodes
HC Initialized using
c" = Qc’ :v-nodes
c
ud
D v HS HC
c K C = MS nodes v
v D
Initialized to
HS log( q0 / q1)
c"
Decoded word
w =T -1 m ud
Fig. 4. (a) Three-layer Tanner graph for joint decoding. (b) Equivalent one-layer
Tanner graph.
It is proved that the Niederreiter’s and the McEliece’s PKCs have equivalent
security [15], and hence the security of the proposed joint coding is equivalent to
that of the McEliece’s PKC. The security of the McEliece’s PKC using Goppa
code has been analyzed by Kobara and Imai [13], and they have shown that,
without partial knowledge on the target plaintext or a decryption oracle, there
exists no polynomial-time attack against ciphertext. Note that higher level of
security, that is, indistinguishability against adaptive chosen-ciphertext attacks
(IND-CCA2), can be achieved by appropriate preprocessings based on hash func-
tions and random number generators [13].
6 Entropy Conversion
This section proposes an entropy conversion based on Huffman tree [1]. The
following modified Huffman tree has a possibility to make an efficient entropy
conversion. That is, compared to the conventional Huffman tree having only one
edge type, this modified one has two edge types each determined according to
the source symbol distribution. Figure 5(a) shows an example of the modified
Huffman tree for 9-ary source symbols whose probability distribution is given by
Fig. 5(b). The modified Huffman tree generates two binary output words: mL
of length NSL and mH of length NSH , where mL is a sparse word with q0 > q1 ,
and mH is a dense word (compared to mL ) with q0 q1 . Here, q0 and q1
Joint Source-Cryptographic-Channel Coding Based on Linear Block Codes 165
(a) a3 (b)
0
Pr( a 0 ) = 0.39894 Pr( a 5 ) = 0.00443
0 a0 0 a1 0 a2 0 a4 0 a5
1 Pr( a 1 ) = 0.24197 Pr( a 6 ) = 0.00443
0
a 6 Pr( a 2 ) = 0.24197 Pr( a 7 ) = 0.00014
1 1 1 1 1
root 0 Pr( a 3 ) = 0.05399 Pr( a 8 ) = 0.00014
1 a7
: Edge generating sparse word mL Pr( a 4 ) = 0.05399
: Edge generating dense word mH 1 a8
Fig. 5. (a) Modified Huffman tree. (b) Probability distribution of 9-ary source symbols.
are the probabilities of each bit having values 0 and 1, respectively. In Fig. 5,
edges indicated by dotted lines generate mL , and those indicated by solid lines
generate mH . Systematic construction of the tree is left to the future work.
In order to encode m = (mL , mH )T by the encoding matrix A, the matrices
HS and T in Section 4 are modified as follows:
HS O TL O
HS = , T = ,
R D O TH
7 Evaluation
This section evaluates the source and the channel coding capabilities of the pro-
posed joint coding. Figure 6(a) shows a simulation flow for the evaluation, where
nonbinary source sequences are transmitted over BSC. Note that the simula-
tion is performed for the proposed joint coding adopting the entropy conversion
described in the previous section. For comparison, the conventional sequential
coding using Huffman code [1] for source coding and LDPC code for channel
coding is also simulated according to Fig. 6(b).
Table 2 shows the compressed data size for 9-ary and 13-ary sources with
length 100,000 symbols, where source symbols are generated according to the
Gaussian and the Laplace distributions, and HS used for the compression is a
rate-1/2 irregular MS ×NS LDPC matrix having degree distribution 0.275698x+
0.25537x2 + 0.0765975x3 + 0.392335x8 [17]. Note that the compressed data size
of the joint coding is given by MS . In both source sequences, the compressed
data size of the joint coding is smaller than that of the Huffman coding in the
sequential coding.
Figure 7 shows the relation between the crossover probability of BSC and the
bit error rate (BER) of the decoded word, where rate-1/2 irregular LDPC codes
having the same degree distribution as HS are applied to the channel coding.
Here, the channel code lengths for the Gaussian and Laplace distribution sources
are 12,626 bits and 27,282 bits, respectively. This figure says that the joint coding
166 H. Kaneko and E. Fujiwara
BSC
BSC
Joint encoder Joint decoder LDPC encoder LDPC decoder
gives lower BERs than the conventional sequential coding. This is because the
joint coding can utilize source redundancies in mL for channel error correction,
as indicated in Fig. 4(b).
1.0x10-1
Source: Gaussian distribution Source: Laplace distribution
NS =12626 bits NS =27282 bits
MS = 6313 bits MS =13641 bits
BER of decoded word
1.0x10-2
Sequential coding Sequential coding
(N=12626) (N=27282)
1.0x10-3
Joint coding Joint coding
1.0x10-4
1.0x10-5
0.086 0.090 0.094 0.098 0.102 0.086 0.090 0.094 0.098 0.102
Crossover probability of BSC Crossover probability of BSC
8 Conclusion
In future, we will improve the security level of the proposed joint coding. An
efficient algorithm converting redundant input data, such as image data, into
sparse information word is also left for future study.
References
1. Huffman, D.A.: A Method for the Construction of Minimum Redundancy Codes.
Proc. of the IRE 40(9), 1098–1101 (1952)
2. Ziv, J., Lempel, A.: A Universal Algorithm for Sequential Data Compression. IEEE
Trans. Inform. Theory 23(3), 337–343 (1977)
3. Wallace, G.K.: The JPEG Still Picture Compression Standard. Communications
of the ACM 34(4), 30–44 (1991)
4. Wieqand, T., Sullivan, G.J., Bjntegaard, G., Luthra, A.: Overview of the
H.264/AVC Video Coding Standard. IEEE Trans. Circuits and Systems for Video
Technology 13(7), 560–576 (2003)
5. Fujiwara, E.: Code Design for Dependable Systems: Theory and Practical Appli-
cations. Wiley, Chichester (2006)
6. MacKay, D.J.C.: Good Error-Correcting Codes Based on Very Sparse Matrices.
IEEE Trans. Inform. Theory 45(2), 399–431 (1999)
7. Richardson, T.J., Shokrollahi, M.A., Urbanke, R.L.: Design of Capacity-
Approaching Irregular Low-Density Parity-Check Codes. IEEE Trans. Inform. The-
ory 47(2), 619–637 (2001)
8. Fujiwara, E., Kitakami, M.: Unequal Error Protection in Ziv-Lempel Coding. IE-
ICE Trans. Inform. and Systems E86-D E86-D(12), 2595–2600 (2003)
9. Horn, U., Stuhlmüller, K., Ling, M., Girod, B.: Robust Internet Video Transmission
Based on Scalable Coding and Unequal Error Protection. Signal Processing: Image
Communication 15(1-2), 77–94 (1999)
10. Zhong, W., Garcia-Frias, J.: LDGM Codes dor Channel Coding and Joint Source-
Channel Coding of Correlated Sources. EURASIP J. Applied Signal Process-
ing 2005(6), 942–953 (2005)
11. McEliece, R.J.: A Public-Key Cryptosystem Based on Algebraic Coding Theory.
The Deep Space Network Progress Report, DSN PR, 42–44, 114–116 (1978)
12. Kabashima, Y., Murayama, T., Saad, D.: Cryptographical Properties of Ising Spin
Systems. Physical Review Letters 84(9), 2030–2033 (2000)
13. Kobara, K., Imai, H.: Semantically Secure McEliece Public-Key Cryptosystem.
IEICE Trans. Fundamentals 85(1), 74–83 (2002)
14. Niederreiter, H.: Knapsack-Type Cryptosystems and Algebraic Coding Theory.
Problems of Control and Information Theory 15(2), 157–166 (1986)
15. Li, Y.X., Deng, R.H., Wang, X.M.: On the Equivalence of McEliece’s and Nieder-
reiter’s Public-Key Cryptosystems. IEEE Trans. Inform, Theory 40(1), 271–273
(1994)
16. Fujiwara, E., Namba, K., Kitakami, M.: Parallel Decoding for Burst Error Control
Codes. Electronics and Communications in Japan, Part. III 87(1), 38–48 (2004)
17. http://lthcwww.epfl.ch/research/ldpcopt/
On the Key-Privacy Issue of McEliece
Public-Key Encryption
[email protected]
2
Research Center for Information Security (RCIS),
National Institute of Advanced Industrial Science & Technology (AIST), Japan
{y-cui, k-kobara, hagiwara.hagiwara, h-imai}@aist.go.jp
1 Introduction
As we all know, the McEliece cryptosystem [7] is based on coding theory and en-
joys the merit of fast encryption and decryption. Besides that, McEliece public-
key encryption (PKE) is believed to be secure against the adversary with a
quantum computer (if it exists). Unlike popular RSA and El Gamal PKEs, the
security of McEliece PKE is based on hardness of decoding problem, which is
not known to be solvable by quantum computer in polynomial time. Therefore,
it appears that McEliece PKE is a promising candidate for the post-quantum
cryptography (i.e. If quantum computer is available, most of current PKEs col-
lapse. For such a long-term security consideration of quantum algorithms, we
call that post-quantum cryptography).
On the other hand, key-privacy as well as confidentiality (data-privacy) starts
to get notice, because of the significance of anonymity in numerous applica-
tions. This issue seems necessary in such as, some authenticated key exchange,
anonymous credential system, and electronic auction protocols [1]. Even a simi-
lar consideration exists in the block-cipher-based encryption scenario. Hence, it
is worth looking over carefully the privacy of key as well as data.
Although data-privacy of McEliece PKE has been considered for nearly thirty
years, to our best knowledge, its key-privacy issue has never been examined.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 168–177, 2007.
c Springer-Verlag Berlin Heidelberg 2007
On the Key-Privacy Issue of McEliece Public-Key Encryption 169
2 Preliminaries
In the following, we first provide the security notion of key-privacy of public-
key encryption according to [1]. After giving explanation of McEliece PKE, we
show that the plain McEliece PKE actually has no key-privacy protection, in a
rigorous way. For the simplicity, we only describe the “indistinguishability of keys
under chosen plaintext attack” (IK-CPA). A stronger security notion defined in
chosen ciphertext attack (IK-CCA) setting, can be defined in a similar way.
2.1 Key-Privacy
Definition 1 (IK-CPA). ([1]) Consider a PKE scheme which consists of a
tuple of polynomial-time algorithms P KE = (Gen, Enc, Dec). The security of
key-privacy is defined as follows.
1. On input of security parameter κ, key generation algorithm Gen(1κ ) outputs
two independent sets of key pairs, (pk0 , sk0 ), (pk1 , sk1 ), at random.
2. Given (pk0 ), (pk1 ), a polynomial-time adversary A chooses a plaintext m,
and sends it to the encryption oracle (algorithm).
3. Encryption oracle randomly flips coin b ∈ {0, 1}, to output Encpkb (m) = c.
4. Given target ciphertext c, adversary A outputs b , where the advantage of
success probability over random guess is defined as follows 1 ,
1
Advik−cpa
A (κ) = |P r[b = b ] − |
2
1
The definition of advantage we defined is as twice as the one in [1], where they
actually tackle with the same essential issue.
170 S. Yamakawa et al.
If Advik−cpa
A (κ) is negligible in κ, then, we say the underlying PKE is IK-
CPA secure. Note that “negligible” means that for any constant cons, there
exists k0 ∈ N, s.t. for any κ > k0 , Adv is less than (1/κ)cons .
Remark. Note that in the above game, the adversary can choose whatever she
likes to challenge the encryption oracle, even after observing the two given public
keys. It immediately concludes that a deterministic (public-key) encryption can
never obtain the key-privacy.
c = mG ⊕ e
cP −1 = (mS)G ⊕ eP −1
m = (mS)S −1
On the Key-Privacy Issue of McEliece Public-Key Encryption 171
We can prove that key-privacy doesn’t hold in the plain McEliece PKE, even
though the McEliece PKE is secure. Note that anyone who can invert McEliece
PKE can easily break its key-privacy. Thus, given two public keys and corre-
sponding encryption pair (plaintext and ciphertext), to distinguish which key is
used is an easier work than inverting McEliece PKE.
Since the different public parameters only lead to a trivial success of adversary,
we only consider the case where public parameters (n, k, t) are the same, in the
whole paper.
Proof. Assume two public keys are generated independently and randomly. It is
well known that the Hamming weight t (the number of 1) of error vector e for
encryption is small compared with n for typical setting of McEliece PKE. Thus,
the random error e inverts the exact t-bit of mG, which makes mG and c only
a little different.
On the other hand, as far as key-privacy is effected, ciphertext c must not leak
any information about public-key. But, in this case, the ciphertext leaks some
information about public-key utilized as a result. Because adversary can choose
plaintext m and knows corresponding ciphertext c, it is possible to distinguish
corresponding public-key G from mG.(i.e. c leaks mG.)
Let wt(x) denote the Hamming weight of x. Given G0 and G1 , the adversary
chooses m s.t.
wt(mG0 ⊕ mG1 ) ≥ 2t + 1
Note that such m can be found easily. Now for given c, the following is true,
– if b = b ,
If Advind−cpa
A (κ) is negligible, then, we say underlying PKE is IND-CPA
secure.
3. Dec : On input c, Dec works as the same as Dec, except that it outputs
k2 -bit m only.
is negligible.
Advind−cpa prc
A,Mc (κ) ≤ AdvA,G (κ) + AdvA,Mc (κ)
ow
where, Advind−cpa
A,Mc (κ) is the advantage of polynomial-time adversary A to dis-
tinguish input messages, and Advow
A,Mc (κ) is the success probability of inverting
McEliece PKE.
174 S. Yamakawa et al.
x1 = G(r) ⊕ m, x2 = r ⊕ H(x1 )
e = Conv(HE (r))
c = x4 Encpk (x3 , e)
This scheme is IND-CCA secure. Note that it is a stronger security notion and
implies IND-CPA security immediately.
4 Security Proof
4.1 IND-CPA McEliece PKE in Section 3.2 is IK-CPA
We confirm the presence of key-privacy based on the IND-CPA McEliece PKE
in the standard model.
On the Key-Privacy Issue of McEliece Public-Key Encryption 175
Proof. We define a sequence of games to link the IK-CPA security with IND-
CPA security. Define Pr[Ei ] the probability of event Ei that b = b in each
ind−cpa
corresponding game. For simplicity, let be AdvA (κ).
G1. On input of security parameter κ, key generation algorithm generates ran-
domly two pairs of keys (pk0 , sk0 ), (pk1 , sk1 ) (simply write as pk0 , pk1 ),
and gives public keys to a polynomial-time adversary A. A chooses m∗ as
she wants, to challenge the encryption oracle, and receive the corresponding
R
ciphertext c, as follows. ← means generate randomly and uniformly.
R
pk0 , pk1 ← Gen (1κ ).
m∗ ← A(pk0 , pk1 , 1κ ).
c ← Enc pkb (m∗ ).
b ← A(pk0 , pk1 , c, m∗ ).
It is easy to see that the above is the same as the Def. 1. Thus, Pr[E1 ]
should be the success probability of breaking IK-CPA game.
G2. G2 is the same as the G1, except that a random plaintext mR generated
from message domain M is provided.
R
pk0 , pk1 ← Gen (1κ ).
m∗ ← A(pk0 , pk1 , 1κ ).
R
mR ← M.
c ← Enc pkb (m∗ ).
b ← A(pk0 , pk1 , c, m∗ , mR ).
Note that the success probability of adversary A does not change, because
A can simply make use of m∗ . Thus,
Pr[E2 ] = Pr[E1 ] (1)
G3. G3 is obtained from G2 by modifying the encryption oracle query.
R
pk0 , pk1 ← Gen (1κ ).
m∗ ← A(pk0 , pk1 , 1κ ).
R
mR ← M.
c ← Enc pkb (mR ).
b ← A(pk0 , pk1 , c, m∗ , mR ).
It is easy to see that if a random mR and a carefully-chosen m∗ cannot be
distinguished, then success probability of A will not change. Let F be the
event that A correctly determines which plaintext is input to encryption
oracle. The following holds,
Pr[E2 ] = Pr[E3 |F̄ ]
176 S. Yamakawa et al.
D0 = { pk0 , pk1 , Enc pk0 (mR ) |(pk0 , sk0 ), (pk1 , sk1 ) ← Gen (1κ )}
R
D1 = { pk0 , pk1 , Enc pk1 (mR ) |(pk0 , sk0 ), (pk1 , sk1 ) ← Gen (1κ )}
R
≤ 2 = 2Advind−cpa
A,Mc (κ) (5)
Combined with Lemma 1, it is easy to prove the theorem, hence finishes the
proof.
5 Conclusion
In this paper, we have examined key-privacy issue against the chosen plain-
text attack (CPA) for the plain McEliece PKE and its significant variants. We
first show that plain McEliece public-key cryptosystem doesn’t have key-privacy.
Then we provide solutions based on IND-CPA McEliece PKE, and rigorously
prove that these variants suffice IK-CPA. We believe that in more scenarios,
anonymity is as crucial as confidentiality. Hence, the key-privacy issue of public-
key encryption will play more important roles and attract more attentions.
Acknowledgement
We would like to thank anonymous reviewers for their helpful comments. Yang
Cui would like to thank for the support of JSPS postdoctoral fellowship.
References
1. Bellare, M., Boldyreva, A., Desai, A., Pointcheval, D.: Key-Privacy in Public-Key
Encryption. In: Boyd, C. (ed.) ASIACRYPT 2001. LNCS, vol. 2248, pp. 566–582.
Springer, Heidelberg (2001)
2. Bellare, M., Desai, A., Pointcheval, D., Rogaway, P.: Relations Among Notions
of Security for Public-Key Encryption Schemes. In: Krawczyk, H. (ed.) CRYPTO
1998. LNCS, vol. 1462, pp. 26–45. Springer, Heidelberg (1998)
3. Bellare, M., Rogaway, P.: Random Oracles are Practical: A Paradigm for Designing
Efficient Protocols. In: 1993 ACM Conf. Computer and Communications Security,
pp. 62–73 (1993)
4. Courtois, N., Finiasz, M., Sendrier, N.: How to Achieve a McEliece-Based Digital
Signature Scheme. In: Boyd, C. (ed.) ASIACRYPT 2001. LNCS, vol. 2248, pp.
157–174. Springer, Heidelberg (2001)
5. Halevi, S.: A Sufficient Condition for Key-Privacy. Cryptology ePrint Archive:
Report 2005/005 (2005)
6. Kobara, K., Imai, H.: Semantically Secure McEliece Public-Key Cryptosystems-
Conversions for McEliece PKC. Public Key Cryptography, pp. 19–35 (2001)
7. McEliece, R.J.: A Public-Key Cryptosystem Based on Algebraic Coding Theory.
Deep Space Network Progress Rep. (1978)
8. Niederreiter, H.: Knapsack-type Cryptosystems and Algebraic Coding Theory.
Prob. of Control and Inf. Theory 15(2), 159–166 (1986)
9. Nojima, R., Imai, H., Kobara, K., Morozov, K.: Semantic Security for the McEliece
Cryptosystem without Random Oracles. In: WCC 2007, pp. 257–268 (2007)
10. Shoup, V.: Sequences of Games: a Tool for Taming Complexity in Security Proofs.
Cryptology ePrint Archive: Report 2004/332 (2004)
Lattices for Distributed Source Coding: Jointly
Gaussian Sources and Reconstruction of a Linear
Function
1 Introduction
In this work, we present a coding scheme for distributed coding of a pair of
jointly Gaussian sources. The encoders each observe a different component of the
source and communicate compressed versions of their observations to a common
decoder through rate-constrained noiseless channels. The decoder is interested
in reconstructing a linear function of the sources to within a mean squared error
distortion of D.
The problem of distributed source coding to reconstruct a function of the
sources losslessly was considered in [1]. An inner bound was obtained for the
performance limit which was shown to be optimal if the sources are condition-
ally independent given the function. In [2], the performance limit is given for
the case of lossless reconstruction of the modulo-2 sum of two correlated binary
sources and was shown to be tight for the symmetric case. This has been ex-
tended to several cases in [3] (see Problem 23 on page 400) and [4]. An improved
This work was supported by NSF grant (CAREER) CCF-0448115.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 178–187, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Lattices for Distributed Source Coding 179
inner bound was provided for this case in [5]. The key point to note is that the
performance limits given in [2,4,5] are outside the inner bound provided in [1].
While [1] employs random vector quantization followed by independent random
binning , the coding schemes of [2,4,5] instead use structured random binning
based on linear codes on finite fields. Further, the binning operation of the quan-
tizers of the sources are “correlated”. This incorporation of structure in binning
appears to give improvements in rates especially for those cases that involve
reconstruction of a function of the sources.
With this as motivation, in this paper we consider a lossy distributed coding
problem with K jointly Gaussian sources with one reconstruction. The decoder
wishes to reconstruct a linear function of the sources with squared error as fidelity
criterion. We consider a coding scheme with the following structure: sources are
quantized using structured vector quantizers followed by “correlated” structured
binning. The structure used in this process is given by lattice codes. We provide
an inner bound to the optimal rate-distortion region. We show that the proposed
inner bound is better for certain parameter values than an inner bound that
can be obtained by using a coding scheme that uses random vector quantizers
following by independent random binning. For this purpose we use the machinery
developed by [9,10,11,12] for the Wyner-Ziv problem in the quadratic Gaussian
case.
The paper is organized as follows. In Section 2, we give a concise overview
of the asymptotic properties of high-dimensional lattices that are known in the
literature and we use these properties in the rest of the paper. In Section 3, we
define the problem formally for the case of two sources and present an inner
bound to the optimal rate-distortion region given by a coding structure involv-
ing structured quantizers followed by “correlated” structured binning. Further,
we also present another inner bound achieved by a scheme that is based on the
Berger-Tung inner bound. Then we present our lattice based coding scheme and
prove achievability of the inner bound. In Section 4, we consider a generalization
of the problem that involves reconstruction of a linear function of an arbitrary fi-
nite number of sources. In Section 5, we provide a set of numerical results for the
two-source case that demonstrate the conditions under which the lattice based
scheme performs better than the Berger-Tung based scheme. We conclude with
some comments in Section 6. We use the following notation throughout this
paper. Variables with superscript n denote an n-length random vector whose
components are mutually independent. However, random vectors whose compo-
nents are not independent are denoted without the use of the superscript. The
dimension of such random vectors will be clear from the context.
review some properties of lattice codes that are relevant to our coding scheme.
We use the same notation as in [10] for these quantities.
An n-dimensional lattice Λ is composed of all integer combinations of the
columns of an n × n matrix G called the generator matrix of the lattice. Associ-
ated with every lattice Λ is a natural quantizer namely one that associates with
every point in Rn its nearest lattice point. This quantizer can be described by the
function QΛ (x). The quantization error associated with the quantizer QΛ (·) is
defined by x mod Λ = x − QΛ (x). This operation satisfies the useful distribution
property
The basic Voronoi region V0 (Λ) of the lattice Λ is the set of all points closer to
the origin than to any other lattice point. Let V (Λ) denote the volume of the
Voronoi region of Λ. The second moment of a lattice Λ is the expected value per
dimension of the norm of a random vector uniformly distributed over V0 (Λ) and
is given by
1 V0 (Λ) x dx
2
2
σ (Λ) = (2)
n V0 (Λ) dx
) < 2−nE() .
1 2
V (Λ(n) ) < 2n( 2 log(2πeσZ )+) and Pe (Λ(n) , σZ
2
(3)
Here Pe is the probability of decoding error when the lattice points of Λ(n)
are used as codewords in the problem of coding for the unconstrained AWGN
2
channel with noise variance σZ as considered by Poltyrev [13].
– A sequence of lattices Λ(n) (indexed by the dimension n) is said to be a
good source D-code sequence if ∀ > 0, ∃N () such that for all n > N () the
following conditions are satisfied:
1 (1 + q1 )(1 + q2 ) − ρ2 1 (1 + q1 )(1 + q2 ) − ρ2
R2 ≥ log , R1 + R2 ≥ log
2 q2 (1 + q1 ) 2 q1 q2
q1 α + q2 c2 α + q1 q2 σZ
2
D≥ . (6)
(1 + q1 )(1 + q2 ) − ρ2
where α 1 − ρ2 and R+ is the set of positive reals. Then the rate distortion
tuples (R1 , R2 , D) which belong to RD ∗in are achievable where ∗ denotes convex
closure.
Proof. Follows directly from the application of Berger-Tung inner bound with
the auxiliary random variables involved being Gaussian.
For certain values of ρ, c and D, the sum-rate given by Theorem 1 is better than
that given in Theorem 2. This implies that each rate region contains rate points
which are not contained in the other. Thus, an overall achievable rate region for
the coding problem can be obtained as the convex closure of the union of all rate
distortion tuples (R1 , R2 , D) given in Theorems 1 and 2. A further comparison
of the two schemes is presented in Section 5. Note that for c < 0, it has been
shown in [8] that the rate region given in Theorem 2 is tight.
In this section, we present a lattice based coding scheme for the problem of
reconstructing the above linear function of two jointly Gaussian sources whose
performance approaches the inner bound given in Theorem 1. In what follows, a
nested lattice code is taken to mean a sequence of nested lattice codes indexed
by the lattice dimension n.
We will require nested lattice codes (Λ11 , Λ12 , Λ2 ) where Λ2 ⊂ Λ11 and Λ2 ⊂
Λ12 . We need the fine lattices Λ11 and Λ12 to be good source codes (of appropriate
second moment) and the coarse lattice Λ2 to be a good channel code. The proof
of the existence of such nested lattices was shown in [14]. The parameters of the
nested lattice are chosen to be
2 4
DσZ σZ
σ 2 (Λ11 ) = q1 , σ 2 (Λ12 ) = 2 −D − q1 , and σ 2
(Λ 2 ) = 2 −D (7)
σZ σZ
Note that the second encoder scales the source X2 before encoding it. The de-
coder receives the indices S1 and S2 and reconstructs
2
σZ − D
Ẑ = 2 ([(S1 − U1 ) − (S2 − U2 )] mod Λ2 ) . (9)
σZ
4 4
1 σZ 1 σZ
R1 = log 2 − D) and R2 = log 2 − q (σ 2 − D) (10)
2 q1 (σZ 2 DσZ 1 Z
Clearly, for a fixed choice of q1 all rates greater than those given in equation (10)
are achievable. The union of all achievable rate-distortion tuples (R1 , R2 , D) over
all choices of q1 gives us an achievable region. Eliminating q1 between the two
rate equations gives the rate region claimed in Theorem 1. It remains to show
that this scheme indeed reconstructs the function Z to within a distortion D.
We show this in the following.
Using the distributive property of lattices described in equation (1), we can
reduce the coding scheme to a simpler equivalent scheme by eliminating the first
mod-Λ2 operation in both the signal paths. The decoder can now be described
by the equation
2
σZ − D
Ẑ = 2 ([(X1n + eq1 ) − (cX2n + eq2 )] mod Λ2 ) (11)
σZ
2
σZ − D
= 2 ([Z n + eq1 − eq2 ] mod Λ2 ) (12)
σZ
where eq1 and eq2 are dithered lattice quantization noises given by
c.d
The = in equation (14) stands for equality under the assumption of correct
decoding. Decoding error occurs if equation (14) doesn’t hold. Let Pe be the
184 D. Krithivasan and S.S. Pradhan
where we have used the independence of eq1 and eq2 to each other and to the
sources X1 and X2 (and therefore to Z = X1 − cX2 ). Since eqi has the same dis-
tribution as −Ui , their expected norm per dimension is just the second moment
of the corresponding lattice σ 2 (Λ1i ). Hence the effective distortion achieved by
the scheme is
2
1 2
σZ −D DσZ2
D2 σZ
2
EZ n − Ẑ2 = + = D. (17)
n 2
σZ σZ − D
2 4
σZ
Hence, the proposed scheme achieves the desired distortion provided correct
decoding occurs at equation (14). Let us now prove that equation (14) in-
deed holds with high probability for an optimal choice of the nested lattice,
i.e., there exists a nested lattice code for which Pe → 0 as n → ∞ where,
Pe = P r ((Z n + eq ) mod Λ2 = (Z n + eq )) .
To this end, let us first compute the normalized second moment of (Z n + eq ).
1 σ2 D
E Z n + eq 2 = σZ
2
+ q1 + 2 Z − q1 = σ 2 (Λ2 ). (18)
n σZ − D
2
D ≥ E [(Z − f ({ZA + QA : A ∈ Θ})) ] (19)
Proof. This inner bound to the optimal rate region can be proved by demon-
strating a coding scheme that achieves the rates given. As in Section 3.2, we use
“correlated” binning based on lattice codes. The basic idea of the proof is to
use high dimensional lattices to mimic the Gaussian test channels used in the
description of Theorem 3. The details are omitted. We remark that the general
K-user rate region described above can be used to re-derive Theorems 1 and 2
by appropriate choices of the partition Θ.
186 D. Krithivasan and S.S. Pradhan
Comparison between Berger−Tung and Lattice based Coding Schemes Region where lattice scheme outperforms Berger−Tung scheme
7 1.8
Berger−Tung Sum rate
Lattice Sum rate 1.6
6
1.4
5 rho = 0.8
c = 0.8 1.2
0.3
0
4 1.5
Sum Rate
1
0.1 0.8
c
0.8
3
0.6
2
0.4
1
0.2
0 0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Distortion D rho
Fig. 1. Comparison of the sum-rates Fig. 2. (ρ, c) region for lower sum rate
6 Conclusion
We have thus demonstrated a lattice based coding scheme that directly encodes
the linear function that the decoder is interested in instead of encoding the
sources separately and estimating the function at the decoder. For the case of two
users, it is seen that the lattice based coding scheme gives a lower sum-rate for
certain values of ρ, c, D. Hence, using a combination of the lattice based and the
Berger-Tung based coding schemes results in a better rate-region than using any
one scheme alone. For the case of reconstructing a linear function of K sources,
we have extended this concept to provide an inner bound to the optimal rate-
distortion function. Some parts of the inner bound are achieved using a coding
scheme that has the following structure: lattice vector quantization followed by
“correlated” lattice-structured binning.
Lattices for Distributed Source Coding 187
Acknowledgements
The authors would like to thank Dr. Ram Zamir and Dr. Uri Erez of Tel Aviv
University for helpful discussions.
References
1. Gelfand, S., Pinsker, M.: Coding of Sources on the Basis of Observations with
Incomplete Information. Problemy Peredachi Informatsii 15, 45–57 (1979)
2. Korner, J., Marton, K.: How to Encode the Modulo-Two Sum of Binary Sources.
IEEE Trans. Inform. Theory 25, 219–221 (1979)
3. Csiszár, I., Korner, J.: Information Theory: Coding Theorems for Discrete Memo-
ryless Systems. Academic Press, London (1981)
4. Han, T.S., Kobayashi, K.: A Dichotomy of Functions F(X,Y) of Correlated Sources
(X,Y). IEEE Trans. on Inform. Theory 33, 69–76 (1987)
5. Ahlswede, R., Han, T.S: On Source Coding with Side Information via a Multiple-
Access Channel and Related Problems in Multi-User Information Theory. IEEE
Trans. on Inform. Theory 29, 396–412 (1983)
6. Berger, T.: Multiterminal Source Coding. Lectures presented at CISM summer
school on the Inform. Theory approach to communications (1977)
7. Tung, S.-Y.: Multiterminal Source Coding. PhD thesis. Cornell University, Ithaca,
NY (1978)
8. Wagner, A.B., Tavildar, S., Viswanath, P.: The Rate-Region of the Quadratic Gus-
sian Two-Terminal Source-Coding Problem. arXiv:cs.IT/0510095
9. Zamir, R., Feder, M.: On Lattice Quantization Noise. IEEE Trans. Inform. The-
ory 42, 1152–1159 (1996)
10. Zamir, R., Shamai, S., Erez, U.: Nested Linear/Lattice Codes for Structured Mul-
titerminal Binning. IEEE Trans. Inform. Theory 48, 1250–1276 (2002)
11. Erez, U., Zamir, R.: Achieving 1/2 log(1+SNR) on the AWGN Channel with Lat-
tice Encoding and Decoding. IEEE Trans. Inform. Theory 50, 2293–2314 (2004)
12. Erez, U., Litsyn, S., Zamir, R.: Lattices Which Are Good for (Almost) Everything.
IEEE Trans. Inform. Theory 51(10), 3401–3416 (2005)
13. Poltyrev, G.: On Coding Without Restrictions for the AWGN Channel. IEEE
Trans. Inform. Theory 40, 409–417 (1994)
14. Krithivasan, D., Pradhan, S.S.: A Proof of the Existence of Good Nested Lattices,
http://www.eecs.umich.edu/techreports/systems/cspl/cspl-384.pdf
15. Loeliger, H.A.: Averaging Bounds for Lattices and Linear Codes. IEEE Trans.
Inform. Theory 43, 1767–1773 (1997)
Linear Complexity and Autocorrelation of Prime
Cube Sequences
1 Introduction
Let n ≥ 2 be a positive integer and Zn∗ be the multiplicative group of the integer
ring Zn . For a partition {Di |i = 0, 1, · · · , d − 1} of Zn∗ , if there exist elements
g1 , · · · , gd of Zn∗ satisfying Di = gi D0 for all i where D0 is a multiplicative
subgroup of Zn∗ , the Di are called generalized cyclotomic classes of order d. In
1998, Ding and Helleseth [1] introduced the new generalized cyclotomy with
respect to pe11 · · · pet t and defined a balanced binary sequence based on their own
generalized cyclotomy, where p1 , · · · , pt are distinct odd primes and e1 , · · · , et are
positive integers. Before them, there have been lots of studies about cyclotomy,
but they are only about ones with respect to p or p2 or pq where p and q are
distinct odd primes [1,4,7,8]. In [1] they also introduced how to construct a
balanced binary sequence based on their generalized cyclotomy. Let it call the
generalized cyclotomic sequences. Those sequences includes the binary quadratic
residue sequences also known as Legendre Sequences because these sequences can
be understood as the generalized cyclotomic sequences with respect to p.
In 1998, C. Ding [4] presented some cyclotomy sequences with period p2 which
are not balanced. They are defined in a slightly different way from the generalized
cyclotomic sequences with respect to p2 . In that paper, he calculated the linear
complexities with minor errors. Y.-H. Park and others [5] corrected the errors.
The linear complexity of the sequence is not so good. In general, the linear
complexity of a sequence is considered as good when it is not less than half
of the period of the sequence. Recently, in [7], Yan et al. calculated the linear
complexity and autocorrelation of generalized cyclotomic sequences of order 2
with respect to p2 .
In this paper, we compute the linear complexity and autocorrelation of the
generalized cyclotomic sequences with respect to p3 . Hereafter we will call these
sequences as prime cube sequences.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 188–197, 2007.
c Springer-Verlag Berlin Heidelberg 2007
Linear Complexity and Autocorrelation of Prime Cube Sequences 189
Let p be an odd prime. Let g be a primitive root of p2 . Then it’s well known that
g is also a primitive root of pk for k ≥ 1[2]. The order of g modulo p is p − 1,
the order of g modulo p2 is p(p − 1) and the order of g modulo p3 is p2 (p − 1).
Define
(p) (p) (p)
D0 = (g 2 ) (mod p) D1 = gD0 (mod p)
(p2 ) (p2 ) (p2 )
D0 = (g 2 ) (mod p2 ) D1 = gD0 (mod p2 )
3 3
(p ) (p ) (p3 )
D0 = (g 2 ) (mod p3 ) D1 = gD0 (mod p3 )
(p2 ) (p2 ) (p3 ) (p3 )
Then Zp∗ = D0 ∪ D1 ,Zp∗2 = D0 and Zp∗3 = D0
(p) (p)
∪ D1 ∪ D1 . For
(pi )
i = 0, 1, 2, the Dj are called generalized cyclotomic classes of order 2 with
j
respect to p . Note that
(p3 ) (p3 ) (p2 ) (p2 ) (p) (p)
Zp3 = D0 ∪ D1 ∪ pD0 ∪ pD1 ∪ p2 D0 ∪ p2 D1 ∪ {0}.
i
p3 (p ) p3
Here and hereafter, pi Dj are sets of elements obtained by multiplying pi to
(pi )
the elements of Dj over Zp3 for i = 0, 1, 2 and j = 0, 1.
In [1], the authors define the binary prime cube sequence {s(n)} as follows[1]:
0, if (i mod p3 ) ∈ C0
s(i) = (1)
1, if (i mod p3 ) ∈ C1 .
p3 (d) p3 (d)
where C0 = d|p3 ,d>1 d D0 and C1 = {0} ∪ d|p3 ,d>1 d D1 .
CL = L − deg(gcd(xL − 1, S(x)))
190 Y.-J. Kim, S.-Y. Jin, and H.-Y. Song
(p3 ) (p2 )
Lemma 3. −1 (mod p3 ) ∈ D0 if and only if −1 (mod p2 ) ∈ D0 if and
(p)
only if −1 (mod p) ∈ D0 if and only if p ≡ 1 (mod 4).
(p)
Proof. It is well known that −1 (mod p) ∈ D0 if and only if p ≡ 1 (mod 4)[2].
(p) (p2 )
Using Lemma 2, we can show −1 (mod p) ∈ D0 implies −1 (mod p2 ) ∈ D0
3
(p )
and −1 (mod p3 ) ∈ D0 . The converse is obvious.
Then S(x) is generating function of the prime cube sequence {s(n)} defined
before. To compute S(θ), we use the generalized cyclotomic numbers of order 2
with respect to pi for i ≥ 1 defined by
(pk ) (pk )
(i, j)pk = |(Di + 1) ∩ Dj | i, j = 0, 1, and k = 0, 1, 2. (2)
pk−1(p−3) pk−1(p+1)
(1,0)pk = (0,0)pk = (1,1)pk = , and (0,1)pk = .
4 4
If p ≡ 1 (mod 4), then
pk−1(p−1) pk−1(p−5)
(0,1)pk = (1,0)pk = (1,1)pk = , and (0,0)pk = .
4 4
Linear Complexity and Autocorrelation of Prime Cube Sequences 191
Note that
3 2 2 2 2 2
0 = θp − 1 = (θp )p − 1 = (θp − 1)(1+θp +θ2p + · · · +θ(p−1)p ). (3)
It follows that
2 2 2
1 + θp + θ2p + · · · + θ(p−1)p = 1 + θi + θi = 0. (4)
(p) (p)
i∈p2 D0 i∈p2 D1
p3 +1
Proof. For the case a = 0, we have S(θa ) = S(1) = 2 ≡ p+1
2 (mod 2). If
3
(p )
a∈ D0 , by definition there is an integer s such that a = g . It follows that 2s
(p3 ) (p3 )
aD1 = {g 2s+2t+1 |t = 0, 1, · · · , p2 (p − 1) − 1} = D1
(p2 ) (p2 )
apD1 = p{g 2s+2t+1 |t = 0, 1, · · · , p(p − 1) − 1} = pD1
(p) (p2 )
ap2 D1 = p2 {g 2s+2t+1 |t = 0, 1, · · · , (p − 1) − 1} = p2 D1 .
Hence
S(θa ) = 1 + ( + + )θai = 1 +( + + )θi = S(θ).
(p3 ) (p2 ) (p) (p3 ) (p2 ) (p)
i∈D1 i∈pD1 i∈p2 D1 i∈D1 i∈pD1 i∈p2 D1
p+1 p+1
= + t1 (θ1 ) + t2 (θ2 ) = + t2 (θ2 ).
2 2
(p2 ) (p3 ) (p3 ) (p2 ) (p2 )
If a1 ∈ D1 , a1 D 1 = D0 and a1 D1 = D0 . we have
p+1
S(θa ) = + θ1i + θ2i
2 3 2 (p ) (p )
i∈D0 i∈D0
p+1 p−1
= + t1 (θ1 ) + 1 + t2 (θ2 ) = + t2 (θ2 ).
2 2
Linear Complexity and Autocorrelation of Prime Cube Sequences 193
S(θa ) = 1 + ( + + )θai
(p3 ) (p2 ) (p)
i∈D1 i∈pD1 i∈p2 D1
2 2 2
=1+ θp i + θ1a2 p i + θ2a2 p i
p2 + 1 p2 + 1
S(θa ) = + θ2i = + p2 θ2i = 1 + t2 (θ2 ).
2 3
2 (p)
(p )
i∈D1 i∈D1
p2 + 1 p2 + 1
S(θa ) = + θ2i = + p2 θ2i = t2 (θ2 ).
2 3
2 (p)
(p )
i∈D0 i∈D0
Proof. Almost the same proof in [4] can be applied . If p ≡ ±1 mod 8, from
(p) (p2 ) (p3 )
Lemma 4 and 8, 2 ∈ D0 ∩ D0 ∩ D0 . Then for i = 0, 1, 2, we have
(pi ) i i i (pi )
(di (x))2 = x2 − θ2p a ) = (x2 − θp a ) = (x2 − θp a ) = di (x2 ).
(pi ) (pi ) (pi )
a∈Di a∈2Di a∈Di
(pi )
Thus di (x) ∈ GF (2)[x], i = 0, 1, 2. If p ≡ ±3 mod 8, from Lemma 4 and 8,
(p) (p2 ) (p3 )
2∈ D1 ∩ D1 ∩ D1 . Then for i = 0, 1, 2, we have
(pi )
Hence di (x) ∈ GF (2)[x], i = 0, 1, 2.
194 Y.-J. Kim, S.-Y. Jin, and H.-Y. Song
4 Autocorrelation
The periodic autocorrelation of a binary sequence {s(n)} of period N is defined
L
by Cs (τ ) = n=0 (−1)s(n+τ )−s(n) where 0 ≤ τ < L. Define ds (i, j; τ ) = |Ci ∩
(Cj + τ )|, 0 ≤ τ < L, i, j = 0, 1
Theorem 2. Let p be an odd prime. Then the autocorrelation profile of the
binary prime cube sequence of period p3 which is defined at (1) is as follows:
1. p ≡ 1 (mod 4)
⎧ 3
⎪ p , τ = 0 (mod p3 )
⎪
⎪
⎪
⎪ p − p − 3,
3
τ
(p)
∈ p2 D0
⎪
⎪
⎪
⎪ 3
−
(p)
∈ p2 D1
⎪
⎨ p p + 1, τ
(p2 )
Cs (τ ) = p − p − p − 2, τ
3 2
∈ pD0
⎪
⎪ (p2 )
⎪
⎪ p3 − p2 − p + 2, τ ∈ pD1
⎪
⎪
⎪
⎪ −p2 − 2, ∈ D0
(p3 )
⎪
⎪ τ
⎩ 2 (p3 )
−p + 2, τ ∈ D1
2. p ≡ 3 (mod 4)
⎧ 3
⎪
⎪ p , τ = 0 (mod p3 )
⎪
⎨ p3 − p − 1, τ (p) (p)
∈ p2 D0 ∪ p2 D1
Cs (τ ) = (p2 ) (p2 )
⎪
⎪ p3 − p2 − p, τ ∈ pD0 ∪ pD1
⎪
⎩ 2 (p3 ) (p3 )
−p , τ ∈ D0 ∪ D1 .
Linear Complexity and Autocorrelation of Prime Cube Sequences 195
(p2 ) (p2 )
Next let us consider A2 (τ ). Similarly A2 (τ ) = 0 if τ ∈ {0} ∪ pD0 ∪ pD1 ∪
(p3 ) (p3 ) (p) (p) (p) (p)
D0 ∪ D1 . When τ ∈ p2 D0 ∪ p2 D1 , A2 (τ ) = |p2 D1 ∩ (p2 D0 + τ )| =
(p) (p) (p) (p) (p)
|p2 D1 ∩ (p2 D0 + p2 a)| for some a ∈ D0 ∪ D1 . Therefore A2 (τ ) = |D1 ∩
(D0 + a)| = |a−1 D1 ∩ (a−1 D0 + 1)| and by Lemma 1 and the definition of
(p) (p) (p)
(p)
of p2 Di + τ is a multiple of p2 mod p3 so that it can not be an element of
(p2 ) (p2 )
pD1 . Thus, in these cases, A3 (τ ) = 0. In the case of τ ∈ pDi for i = 0, 1,
2
(p) (p ) (p2 )
we have p2 D0 + τ ⊂ pDi . Therefore, A3 (τ ) = |∅| = 0 if τ ∈ pD0 and
(p) (p2 )
A3 (τ ) = |p 2
+ τ| =
D0 if τ ∈ p−1
2 pD1 . Similarly, we can compute A4 (τ ).
Summarizing these calculation, we have
(p2 ) (p3 )
0, τ ∈ Zp3 \ pD1 0, τ ∈ Zp3 \ D1
A3 (τ ) = (p2 )
, A4 (τ ) = (p3 )
.
p−1
2 , τ ∈ pD1 p−1
2 , τ ∈ D1
Denote the first, the second, the third and the fourth term in (12) as B1 (τ ),
B2 (τ ), B3 (τ ) and B4 (τ ), respectively. Likewise denote the first, the second, the
third and the fourth term in (13) as C1 (τ ), C2 (τ ), C3 (τ ) and C4 (τ ), respectively.
With almost the same way, we can reach the following:
p ≡ 1 mod 4 B1 (τ ) B2 (τ ) B3 (τ ) B4 (τ ) B(τ )
(p2 ) p2 +p+2
τ ∈ pD0 1 p−1
2
(0, 1)p2 0 4
2
(p )
τ ∈ pD1 0 0 (1, 0)p2 0 p(p−1)
4
(14)
(p3 ) p2 −p p2 −p
τ ∈ D1 0 0 0 2 2
otherwise 0 0 0 0 0
Linear Complexity and Autocorrelation of Prime Cube Sequences 197
p ≡ 3 mod 4 B1 (τ ) B2 (τ ) B3 (τ ) B4 (τ ) B(τ )
(p2 ) p(p+1)
pD0 0 0 (0, 1)p2 0 4
2
(p ) p2 −p+2
τ ∈ pD1 1 p−1
2 (1, 0)p2 0 4
(15)
3
(p ) p2 −p p2 −p
τ∈ D1 0 0 0 2 2
otherwise 0 0 0 0 0
p ≡ 1 mod 4 C1 (τ ) C2 (τ ) C3 (τ ) C4 (τ ) C(τ )
(p3 ) p2 −p p3 +p2 +2
τ ∈ D0 1 p−1
2 2
(0, 1)p3 4
(p3 ) 3 2
τ ∈ D1 0 0 0 (1, 0)p3 p −p 4
otherwise 0 0 0 0 0
(16)
p ≡ 3 mod 4 C1 (τ ) C2 (τ ) C3 (τ ) C4 (τ ) C(τ )
(p3 ) p3 +p2
τ ∈ D0 0 0 0 (0, 1)p3 4
3
(p ) p2 −p p3 −p2 +2
τ ∈ D1 1 p−1
2 2
(1, 0) p 3
4
otherwise 0 0 0 0 0
References
1. Ding, C., Helleseth, T.: New Generalized Cyclotomy and Its Application. Finite
Fields and Their Applications 4, 140–166 (1998)
2. Burton, D.M.: Elementary Number Theory, 4th edn. McGraw-Hill, New York (1998)
3. Golomb, S.W.: Shift Register Sequences, Revised edn. Aegean Park Press, Laguna
Hills (1982)
4. Ding, C.: Linear Complexity of Some Generalized Cyclotomic Sequences. Int. J.
Algebra and Computation 8, 431–442 (1998)
5. Park, Y.H., Hong, D., Chun, E.: On the Linear Complexity of Some Generalized
Cyclotomic Sequences. Int. J. Algebra and Computation 14, 431–439 (2004)
6. Cusick, T., Ding, C., Renvall, A.: Stream Ciphers and Number Theory. Elservier
Science, Amsterdam (1998)
7. Yan, T., Sun, R., Xiao, G.: Autocorrelation and Linear Complexity of the New
Generalized Cyclotomic Sequences. IEICE Trans. Fundamentals E90-A, 857–864
(2007)
8. Bai, E., Liu, X., Xiao, G.: Linear Complexity of New Generalized Cyclotomic Se-
quences of Order Two of Length pq. IEEE Trans. Inform. Theory 51, 1849–1853
(2005)
The “Art of Trellis Decoding” Is NP-Hard
Navin Kashyap
1 Introduction
S. Boztacs and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 198–207, 2007.
c Springer-Verlag Berlin Heidelberg 2007
The “Art of Trellis Decoding” Is NP-Hard 199
2 Preliminaries
A trellis T for a length-n linear code C over a finite field Fq is an edge-labelled
directed acyclic graph with certain properties. The vertex set, V , of T can be
partitioned into n + 1 disjoint subsets V0 , V1 , . . . , Vn , such that each (directed)
edge of T starts at Vi and ends at Vi+1 for some i ∈ {0, 1, . . . , n − 1}. The set Vi
is called the set of states at time index i. The set V0 consists of a unique initial
state v0 , and the set Vn consists of a unique terminal state vn . It is further
required that each state v ∈ V lie on some (directed) path from v0 to vn . Note
that each path from v0 to vn is of length exactly n. The edges of T are given
labels from Fq in such a way that the set of all label sequences associated with
paths from v0 to vn is precisely the code C.
200 N. Kashyap
It turns out that if T is the minimal trellis for a linear code C, then the
cardinalities of the sets Vi are all powers of q. It is thus convenient to define the
state-complexity profile of T to be the (n + 1)-tuple s = (s0 , s1 , . . . , sn ), where
si = logq (|Vi |). The state-complexity of T is then defined as smax = maxi si .
When T is the minimal trellis of C, there is an explicit expression known for the
si ’s. We will find it convenient to give this expression in terms of the connectivity
function of C, as defined below.
def
The set [n] = {1, 2, . . . , n} is taken to be the coordinate set of the length-
n code C. Given a subset J ⊂ [n], we let C|J denote the restriction of C to
the coordinates with labels in J. In other words, C|J is the code obtained by
puncturing the coordinates in J c = [n] − J. The connectivity function of the
code C is the function λC : 2[n] → Z defined by
for each J ⊂ [n]. It is obvious that for any J ⊂ [n], we have λC (J) ≥ 0 and
λC (J) = λC (J c ). Observe also that λC (∅) = λC ([n]) = 0. Furthermore, some
elementary linear algebra suffices to verify that λC (J) = λC ⊥ (J) for any J ⊂ [n].
The state-complexity profile of the minimal trellis of C can now be expressed as
s(C) = (s0 (C), s1 (C), . . . , sn (C)), where s0 (C) = sn (C) = 0, and for 1 ≤ i ≤ n − 1,
tw[C] = min
smax (C ) = min
max si (C ). (3)
C ∈[C] C ∈[C] i∈[n]
The main aim of this paper is to show that, given a code C, the problem of
computing the trellis-width of [C] is NP-hard. We accomplish this by reduction
from the known NP-hard problem of computing the pathwidth of a graph.
3 NP-Hardness of Trellis-Width
The notion of graph pathwidth was introduced by Robertson and Seymour in
[10]. Let G be a graph with vertex set V . An ordered collection V = (V1 , . . . , Vt ),
t ≥ 1, of subsets of V is called a path-decomposition of G, if
t
(i) i=1 Vi = V ;
(ii) for each pair of adjacent vertices u, v ∈ V , we have {u, v} ⊂ Vi for some
i ∈ [t]; and
The “Art of Trellis Decoding” Is NP-Hard 201
G G’
Denote by C the linear code over Fq generated by the matrix A. The trellis-width
of [C] relates very simply to the pathwidth of the original graph G, as made precise
by the following proposition.
202 N. Kashyap
G’ G
Before proving the above proposition, we observe that it yields the desired NP-
hardness result. Indeed, it is easily checked that the matrix A can be constructed
directly from G in O(|V |3 ) time. Now, suppose that there were a polynomial-time
algorithm for computing the trellis-width of [C] for an arbitrary code C over Fq , the
code C being specified by some generator matrix. Then, given any graph G, we can
construct the matrix A, and then compute the trellis-width of [C], all in polynomial
time. Therefore, by Proposition 1, we have a polynomial-time algorithm to com-
pute the pathwidth of G. However, the graph pathwidth problem is NP-hard [1],[2].
So, if there exists a polynomial-time algorithm for it, then we must have P = N P .
This implies our main result.
Theorem 1. Let Fq be a fixed finite field. The problem of computing the trellis-
width of an arbitrary linear code over Fq , specified by any of its generator matrices,
is NP-hard.
Corollary 1. For any fixed finite field Fq , the decision problem Trellis State-
Complexity is NP-complete.
The remainder of this section is devoted to the proof of Proposition 1. Since pw(G )
= pw(G), for the purpose of our proof, we may assume that G = G. Thus, from now
until the end of this section, we take G to be a loopless graph satisfying property
(P3) above. Note that G also satisfies (P3). For each pair of adjacent vertices u, v
in G or G, we denote by luv and ruv the two edges between u and v. Recall that V
and E denote the sets of vertices and edges, respectively, of G, and that V and E
· ·
denote
the corresponding
sets of G. We thus have V = V ∪ {x}, and E = E ∪
v∈V {lxv , rxv } .
We will make much use of a basic fact, stated next, about the |V | × |E| matrix A
whose construction was described above. For any J ⊂ E, if A|J denotes the matrix
obtained by restricting A to the columns indexed by the edges in J, then
rank(A|J ) = dim(C|J ) = r(J), (4)
The “Art of Trellis Decoding” Is NP-Hard 203
where rank and dim above are computed over the field Fq , and r(J) denotes the
number of edges in any spanning forest of the subgraph of G induced by J. To
be precise, letting G[J] denote the subgraph of G induced by J, we have r(J) =
|V (G[J])|−ω(G[J]), where ω(G[J]) is the number of connected components of G[J].
Equation (4) can be inferred from [9, Proposition 5.1.2].
We shall identify the set E with the coordinate set of the code C generated by
A. Given an ordering π = (e1 , e2 , . . . , en ) of the elements of E, we will denote by
C π the code obtained by putting the coordinates of C in the order specified by π.
For any J ⊂ E, and any ordering, π, of E, we have by virtue of (4),
λC π (J) = λC (J) = r(J) + r(E − J) − r(E)
= r(J) + r(E − J) − |V |, (5)
the last equality above following from the fact that ω(G) = 1 since G is connected
(each v ∈ V is adjacent to x), so that r(E) = |V | − 1 = |V |.
We are now in a position to begin the proof of Proposition 1. We will first prove
that tw[C] ≤ pw(G) + 1. Let V = (V1 , . . . , Vt ) be a path-decomposition of G. We
need the following fact about V: for each j ∈ [t],
Vi ∩ Vk = Vj . (6)
i≤j k≥j
The above equality follows from the fact that a path-decomposition, by definition,
has the property that for 1 ≤ i < j < k ≤ t, Vi ∩ Vk ⊂ Vj .
For j ∈ [t], let Fj be the set of edges of G that have both their end-points in Vj .
t
By condition (ii) in the definition of path-decomposition, j=1 Fj = E. Now, let
t
Fj = Fj ∪ v∈Vj {lxv , rxv } , so that j=1 Fj = E.
≤ max max
λC π ⎝ Ei ∪ E ⎠ . (7)
j∈[t] E ⊂Ej
i<j
204 N. Kashyap
Let X = Ei ∪ E for some j ∈ [t] and E ⊂ Ej . By (5), λC π (X) = r(X) +
i<j
·
r(E − X) − |V |. If v is a vertex of G incident with an edge in X, then v ∈ i≤j Vi ∪
·
{x}. So, the subgraph of G induced by X has its vertices contained in i≤j Vi ∪ {x}.
·
Therefore, r(X) ≤ i≤j Vi ∪ {x} − 1 = i≤j Vi .
Next, consider E − X = ( k>j Ek ) ∪ (Ej − E ). Reasoning as above, the sub-
·
graph of G induced by E − X has its vertices contained in k≥j Vk ∪ {x}. Hence,
r(E − X) ≤ k≥j Vk .
Therefore, we have
λC π (X) ≤ Vi + Vk − |V | = Vi ∩ Vk = |Vj |,
i≤j k≥j i≤j k≥j
the last equality arising from (6). Hence, carrying on from (7),
as desired.
The fact that tw[C] ≤ pw(G) + 1 easily follows from the above lemma. Indeed,
we may choose V to be an optimal path-decomposition of G. Then, by Lemma 1,
there exists an ordering π of E such that smax (C π ) ≤ pw(G) + 1. Hence, pw(M ) ≤
smax (C π ) ≤ pw(G) + 1.
We prove the reverse inequality in two steps, first showing that pw(G) = pw(G)+
1, and then showing that tw[C] ≥ pw(G).
(L1 , A1 , B1 , R1 , L2 , A2 , B2 , R2 , . . . , Lt , At , Bt , Rt ),
Aj ∪ Bj ⊂ cl( Li ) − cl( Li ).
i≤j i<j
We can now furnish the last remaining piece of the proof of Proposition 1.
Therefore, by (5),
λC π (Yj ) = r(Yj ) + r(Yj ) − |V |
= (|V (G[Yj ])| − 1) + (|V (G[Yj ])| − 1) − (|V | − 1) = |Vj | − 1.
Hence, from Lemma 3(a),
tw[C] = smax (C π ) ≥ max λC π (Yj ) = max |Vj | − 1 = wG (V) ≥ pw(G),
j∈[t] j∈[t]
4 Concluding Remarks
The main contribution of this paper was to show that the decision problem Trel-
lis State-Complexity is NP-complete, thus settling a long-standing conjecture.
Now, the situation is rather different if we consider a variation of the problem in
which the integer w is not taken to be a part of the input to the problem. In other
words, consider the following problem:
Problem: Weak Trellis State-Complexity
Let Fq be a fixed finite field, and let w be a fixed positive integer.
Instance: An m × n generator matrix for a linear code C over Fq .
Question: Is there a coordinate permutation of C that yields a code C whose
minimal trellis has state-complexity at most w?
There is good reason to believe that this problem is solvable in polynomial time.
We again refer the reader to our full paper [7] for evidence in support of this belief.
The “Art of Trellis Decoding” Is NP-Hard 207
Acknowledgment
The author would like to thank Jim Geelen for contributing some of his ideas to
this paper.
References
1. Arnborg, S., Corneil, D.G., Proskurowski, A.: Complexity of Finding Embeddings
in a K-Tree. SIAM J. Alg. Disc. Math 8, 277–284 (1987)
2. Bodlaender, H.L.: A Tourist Guide Through Treewidth. Acta Cybernetica 11, 1–23
(1993)
3. Forney Jr., G.D.: Dimension/Length Profiles and Trellis Complexity of Linear Block
Codes. IEEE Trans. Inform. Theory 40(6), 1741–1752 (1994)
4. Forney Jr., G.D.: Codes on Graphs: Constraint Complexity of Cycle-Free Realiza-
tions of Linear Codes. IEEE Trans. Inform. Theory 49(7), 1597–1610 (2003)
5. Horn, G.B., Kschischang, F.R: On The Intractability of Permuting a Block Code to
Minimize Trellis Complexity. IEEE Trans. Inform. Theory 42(6), 2042–2048 (1996)
6. Jain, K., Măndoiu, I., Vazirani, V.V.: The “Art of Trellis Decoding” is Computa-
tionally Hard — for Large Fields. IEEE. Trans. Inform. Theory 44(3), 1211–1214
(1998)
7. Kashyap, N.: Matroid Pathwidth and Code Trellis Complexity. SIAM J. Discrete
Math. ArXiv e-print 0705.1384 (to appear)
8. Massey, J.L.: Foundation and Methods of Channel Encoding. In: 1978 Int. Conf.
Inform. Theory and Systems, vol. 65, NTG-Fachberichte, Berlin, Germany (1978)
9. Oxley, J.G.: Matroid Theory. Oxford University Press, Oxford, UK (1992)
10. Robertson, N., Seymour, P.D.: Graph Minors. I. Excluding a Forest. J. Combin. The-
ory, Ser. B 35, 39–61 (1983)
11. Vardy, A.: Trellis Structure of Codes. In: Brualdi, R., Huffman, C., Pless, V. (eds.)
Handbook of Coding Theory, Elsevier, Amsterdam, The Netherlands (1998)
On the Structure of Inversive Pseudorandom
Number Generators
Department of Mathematics
1
1 Introduction
In the case di = i for 1 ≤ i ≤ s − 1, this test coincides essentially with the lattice
test introduced in [6] and further analyzed in [4,5,6,7,11,24]. The latter lattice
test is closely related to the concept of the linear complexity profile, see [6,7,22].
If additionally q is a prime and N ≥ T , this special lattice test was proposed by
Marsaglia [13].
If (ηn ) passes the s-dimensional N -lattice test for all possible choices of lags,
then it passes all s -dimensional N -lattice tests for all possible choices of lags
for s ≤ s as well. Conversely, if (ηn ) fails the s-dimensional N -lattice test for
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 208–216, 2007.
c Springer-Verlag Berlin Heidelberg 2007
On the Structure of Inversive Pseudorandom Number Generators 209
a particular choice of lags, then it fails all s -dimensional N -lattice tests with
the same first s lags for s ≥ s. The greatest s such that (ηn ) satisfies the
s-dimensional N -lattice test for all lags d1 , . . . , ds−1 is denoted by S(ηn , N ), i.e.,
For given α ∈ IF∗q and β ∈ IFq , let ψ be the permutation of IFq defined by
−1
αγ + β if γ = 0,
ψ(γ) = (1)
β if γ = 0.
where γ0 is the initial value. It is obvious that the sequence (2) is purely periodic
with least period t ≤ q. Conditions on α and β that guarantee the largest possible
value t = q are known (see [3,18]).
The map ψ in (1) is the basis for the family of inversive generators of pseudo-
random numbers which can be traced back to the paper [8]. This family includes
the recursive inversive generator, the compound inversive generator, the digi-
tal inversive generator, and others. Pseudorandom numbers produced by inver-
sive generators have attractive distribution and structural properties. We refer
to [10,21,23] for surveys on inversive and related generators.
In [12] and [20] the study of the (non-)linear complexity profile and the distri-
bution properties of the sequence (2), respectively, used the sequence R0 , R1 , . . .
of rational functions over IFq defined by
where again α ∈ IF∗q and β ∈ IFq . It was proved in [20, Lemma 2] that there
exist distinct elements ε1 , . . . , εt−1 of IFq such that
(β − εn )X + α
Rn (X) = for 1 ≤ n ≤ t − 1.
X − εn
In [19, Lemma 1] this result was extended by proving that the sequence of
rational functions R0 , R1 , . . . is purely periodic with least period T ≤ q + 1
(obviously t ≤ T ), and that there exist distinct elements ε1 , . . . , εT −1 of IFq such
that the same equality above holds.
For 0 ≤ n ≤ t − 1, using the fact that ψ is a permutation, by (1) we have
Rn (γ) = ψ n (γ) for all but at most n elements γ ∈ IFq . For the purposes of the
papers [12,20], it was possible to keep the influence of this exceptional set under
control, but this is not always the case. Therefore for 1 ≤ n ≤ T − 1, Niederreiter
and Rivat [19] introduced the alternative permutations of IFq defined by
Rn (γ) if γ = εn ,
ψn (γ) =
β − εn if γ = εn ,
210 H. Niederreiter and A. Winterhof
and built from a seed γ0 ∈ IFq a sequence (γn ) of elements of IFq , purely periodic
of period T , by putting
γn = ψn (γ0 ) for 1 ≤ n ≤ T − 1. (3)
The least period of this sequence can be smaller than T .
The advantage of this construction is that for m, n ≥ 0, we have
ψm (ψn (γ)) = Rm+n (γ) for γ = εn and ψn (γ) = εm . (4)
The price is a slightly more complicated algorithm to compute γn (see [19, Sec-
tion 2]). The new construction allowed the authors of [19] to prove much stronger
distribution and correlation properties of the generated sequences, as compared
to the case of the standard generator (2). It will also allow us to prove a strong
lower bound on S(γn , N ).
Let us observe that both constructions (2) and (3) need β = 0 to be of interest.
We will assume this condition in the sequel. Moreover, it is reasonable to assume
that
γ02 = βγ0 + α. (5)
Indeed if γ02 = βγ0 + α, then for 1 ≤ n ≤ T − 1 such that εn = γ0 we have
(β − εn )γ0 + α γ 2 − εn γ0
γn = ψn (γ0 ) = Rn (γ0 ) = = 0 = γ0 ,
γ0 − εn γ0 − εn
so that the sequence (γn ) generated by (3) is almost constant and not of much
interest. In [19, Lemma 2] it was shown that for β ∈ IF∗q and γ0 satisfying (5), the
sequence (γn ) defined by (3) is purely periodic with least period T and contains
at least T − 1 distinct elements of IFq . It has least period T = q + 1 if the
polynomial X 2 − βX − α is primitive over IFq by [19, Theorem 1].
Our main goal in this paper is to study the behavior of the sequence defined
by (3) under the new lattice test. Essentially the same method also provides
lower bounds on the linear complexity profile over IFq of these sequences.
We recall that the linear complexity profile L(ηn , N ) of an infinite sequence
(ηn ), n = 0, 1, . . ., over the field IF is the function which for every integer N ≥ 1
is defined as the length L of a shortest linear recurrence relation
ηn+L = aL−1 ηn+L−1 + · · · + a0 ηn , 0 ≤ n ≤ N − L − 1,
with a0 , . . . , aL−1 ∈ IF, which is satisfied by the first N terms of this sequence.
If (ηn ) starts with N − 1 zeros, then we define L(ηn , N ) = 0 if ηN −1 = 0 and
L(ηn , N ) = N if ηN −1 = 0.
In contrast to the generator (2), we are able to analyze the behavior of the
following two explicit inversive generators under the new lattice test.
For a prime p ≥ 3, the explicit inversive congruential generator of period p
was introduced in [9] as the sequence (zn ) defined by
zn = (an + b)p−2 , n = 0, . . . , p − 1, zn+p = zn , n ≥ 0, (6)
with a, b ∈ IFp , a = 0. Its linear complexity profile was analyzed in [16].
On the Structure of Inversive Pseudorandom Number Generators 211
Explicit inversive generators can also be defined for other periods, see [17]
where also a lower bound on the linear complexity profile of these sequences is
given. Let α, β, γ ∈ IF∗q and t|(q − 1) be the order of γ in the group IF∗q . We call
a sequence (ηn ) defined by
ηn = αγ n + β, n ≥ 0, (7)
2 Lattice Structure
In the algorithm for the generation of the sequence (3), we continue to assume
the conditions β = 0 and (5).
Theorem 1. For the sequence of elements (γn ) defined by (3), we have
N
S(γn , N ) ≥ −1 for 2 ≤ N ≤ T.
3
Proof. We assume that the sequence (γn ) does not pass the s-dimensional N -
lattice test for some lags 0 < d1 < d2 < . . . < ds−1 < T . Put
α · (γ n − γ 0 ) = 0 for 0 ≤ n ≤ N − 1,
and thus
α · γ n = α · γ 0 =: b for 0 ≤ n ≤ N − 1,
where · denotes the usual inner product. If α = (α0 , α1 , . . . , αs−1 ), then let j be
the smallest index with αj = 0 (so 0 ≤ j < s). Then with d0 := 0 if j = 0,
Next we show that for at least N −2s different elements γn+dj , 0 ≤ n ≤ N −1,
we have
γn+di = Rdi −dj (γn+dj ) for j + 1 ≤ i ≤ s − 1.
212 H. Niederreiter and A. Winterhof
If we have γn+di = Rdi −dj (γn+dj ) for some j + 1 ≤ i ≤ s − 1, then by (3) and
(4) we have either
(Otherwise we had Rdi −dj (γn+dj ) = ψdi −dj (γn+dj ) = ψdi −dj (ψn+dj (γ0 )) =
Rn+di (γ0 ) = ψn+di (γ0 ) = γn+di .) Here εm = εr if r is the least residue of m ∈ ZZ
modulo T , with ε0 arbitrary but not in IFq (since ψ0 (X) = X has no pole, but
the notation is more convenient if we use a fixed ε0 ∈ IFq ). For fixed i the first
equation can occur for at most one n, giving at most s − 1 − j exceptions. The
second equation can occur at most once. The third equation leads again to at
most s − 1 − j exceptions. Summarizing we get at most 2(s − 1 − j) + 1 ≤ 2s − 1
exceptions. By a remark in Section 1, at least N − 1 of the N terms γn+dj ,
0 ≤ n ≤ N − 1, of the sequence (γn ) are distinct. Hence in view of (8),
s−1
F (X) = (αj X − b) (X − εdi −dj )
i=j+1
s−1
s−1
+ αk ((β − εdk −dj )X + α) (X − εdi −dj )
k=j+1 i=j+1
i=k
Corollary 1. For the sequence of elements (γn ) defined by (3), the linear com-
plexity profile over IFq satisfies
N
L(γn , N ) ≥ −1 for 1 ≤ N ≤ T.
4
Proof. We start with a linear recurrence relation of length L, say
Theorem 2. For the sequences of elements (zn ) defined by (6) and (ηn ) defined
by (7), we have
N
S(zn , N ) ≥ − 1 for 2 ≤ N ≤ p
2
and
N
S(ηn , N ) ≥ − 1 for 2 ≤ N ≤ t.
2
Proof. As in the proof of Theorem 1 we assume that (zn ) does not pass the
s-dimensional N -lattice test for some lags d1 , . . . , ds−1 , and we get with the
definition d0 := 0 a recurrence relation
log(N p−1/2 )
L(en , N ) = Ω for T ≥ N > p1/2 .
log log p
log(N p−1/2 )
L(en , N ) = Ω for p ≥ N > p1/2 .
log log p
log(N p−1/2 )
L(en , N ) = Ω for t ≥ N > p1/2 .
log log p
Proof. From the proofs of [2, Theorem 2] and [25, Theorem 4] we get
Acknowledgments
The research of the first author is partially supported by the project NUGET
of the Agence Nationale de la Recherche (France). The second author was sup-
ported by the Austrian Science Fund (FWF) under the grant P-19004-N18. This
work was done during a pleasant visit by A. W. to the National University of
Singapore whose hospitality is gratefully acknowledged.
On the Structure of Inversive Pseudorandom Number Generators 215
References
1. Brandstätter, N., Winterhof, A.: Linear Complexity Profile of Binary Sequences
With Small Correlation Measure. Period. Math. Hungar 52, 1–8 (2006)
2. Chen, Z.X.: Finite Binary Sequences Constructed by Explicit Inversive Methods.
Finite Fields Appl. (to appear)
3. Chou, W.S.: The Period Lengths of Inversive Pseudorandom Vector Generations.
Finite Fields Appl. 1, 126–132 (1995)
4. Dorfer, G.: Lattice Profile and Linear Complexity Profile of Pseudorandom Number
Sequences. In: Mullen, G.L., Poli, A., Stichtenoth, H. (eds.) Finite Fields and
Applications. LNCS, vol. 2948, pp. 69–78. Springer, Heidelberg (2004)
5. Dorfer, G., Meidl, W., Winterhof, A.: Counting Functions and Expected Values
for the Lattice Profile at n. Finite Fields Appl. 10, 636–652 (2004)
6. Dorfer, G., Winterhof, A.: Lattice Structure and Linear Complexity Profile of Non-
linear Pseudorandom Number Generators. Appl. Algebra Engrg. Comm. Com-
put. 13, 499–508 (2003)
7. Dorfer, G., Winterhof, A.: Lattice Structure of Nonlinear Pseudorandom Number
Generators in Parts of the Period. In: Niederreiter, H. (ed.) Monte Carlo and
Quasi-Monte Carlo Methods 2002, pp. 199–211. Springer, Berlin (2004)
8. Eichenauer, J., Lehn, J.: A Non-Linear Congruential Pseudo Random Number
Generator. Statist. Papers 27, 315–326 (1986)
9. Eichenauer-Herrmann, J.: Statistical Independence of a New Class of Inversive
Congruential Pseudorandom Numbers. Math. Comp. 60, 375–384 (1993)
10. Eichenauer-Herrmann, J., Herrmann, E., Wegenkittl, S.: A Survey of Quadratic
and Inversive Congruential Pseudorandom Numbers. In: Niederreiter, H., et al.
(eds.) Monte Carlo and Quasi-Monte Carlo Methods 1996. Lecture Notes in Statis-
tics, vol. 127, pp. 66–97. Springer, Heidelberg (1998)
11. Fu, F.-W., Niederreiter, H.: On the Counting Function of the Lattice Profile of
Periodic Sequences. J. Complexity (to appear)
12. Gutierrez, J., Shparlinski, I.E., Winterhof, A.: On the Linear and Nonlinear Com-
plexity Profile of Nonlinear Pseudorandom Number Generators. IEEE Trans. Inf.
Theory 49, 60–64 (2003)
13. Marsaglia, G.: The Structure of Linear Congruential Sequences. In: Zaremba, S.K.
(ed.) Applications of Number Theory to Numerical Analysis, pp. 249–285. Aca-
demic Press, New York (1972)
14. Mauduit, C., Sárközy, A.: On Finite Pseudorandom Binary Sequences. I. Measure
of Pseudorandomness. The Legendre Symbol. Acta Arith. 82, 365–377 (1997)
15. Mauduit, C., Sárközy, A.: Construction of Pseudorandom Binary Sequences by
Using the Multiplicative Inverse. Acta Math. Hungar. 108, 239–252 (2005)
16. Meidl, W., Winterhof, A.: On the Linear Complexity Profile of Explicit Nonlinear
Pseudorandom Numbers. Inf. Process. Lett. 85, 13–18 (2003)
17. Meidl, W., Winterhof, A.: On the Linear Complexity Profile of Some New Explicit
Inversive Pseudorandom Numbers. J. Complexity 20, 350–355 (2004)
18. Niederreiter, H.: Pseudorandom Vector Generation by the Inversive Method. ACM
Trans. Modeling and Computer Simulation 4, 191–212 (1994)
19. Niederreiter, H., Rivat, J.: On the Correlation of Pseudorandom Numbers Gener-
ated by Inversive Methods. Monatsh. Math. (to appear)
20. Niederreiter, H., Shparlinski, I.E.: On the Distribution of Pseudorandom Num-
bers and Vectors Generated by Inversive Methods. Appl. Algebra Engrg. Comm.
Comput. 10, 189–202 (2000)
216 H. Niederreiter and A. Winterhof
21. Niederreiter, H., Shparlinski, I.E.: Recent Advances in the Theory of Nonlinear
Pseudorandom Number Generators. In: Fang, K.T., Hickernell, F.J., Niederreiter,
H. (eds.) Monte Carlo and Quasi-Monte Carlo Methods 2000, pp. 86–102. Springer,
Berlin (2002)
22. Niederreiter, H., Winterhof, A.: Lattice Structure and Linear Complexity of Non-
linear Pseudorandom Numbers. Appl. Algebra Engrg. Comm. Comput. 13, 319–326
(2002)
23. Topuzoğlu, A., Winterhof, A.: Pseudorandom Sequences. In: Garcia, A.,
Stichtenoth, H. (eds.) Topics in Geometry, Coding Theory and Cryptography, pp.
135–166. Springer, Dordrecht (2007)
24. Wang, L.-P., Niederreiter, H.: Successive Minima Profile, Lattice Profile, and Joint
Linear Complexity Profile of Pseudorandom Multisequences. J. Complexity (to
appear)
25. Winterhof, A.: On the Distribution of Some New Explicit Inversive Pseudorandom
Numbers and Vectors. In: Niederreiter, H., Talay, D. (eds.) Monte Carlo and Quasi-
Monte Carlo Methods 2004, pp. 487–499. Springer, Berlin (2006)
Subcodes of Reed-Solomon Codes Suitable for
Soft Decoding
1 Introduction
Reed-Solomon (RS) codes [1] are the most prevalent and commonly used codes
today with applications ranging from satellite communications to computer
drives. RS codes are popular, in theory, for their elegant algebraic construction.
In practice, RS codes can be encoded and decoded with manageable complexity
and high speed. RS codes continue to remain objects of active research with
most recent interest being in list and soft-decision decoding [2][3].
Efficient soft decoding of RS codes has traditionally been a problem of im-
portance. Early methods for soft decoding of RS codes included Chase decoding
and Generalized Minimum Distance (GMD) decoding [4]. Other methods for soft
decoding RS codes include [5][6]. Recently, the Koetter-Vardy algorithm [3] and
belief-propagation-based iterative algorithm [7] have been proposed. Common
themes in the above methods include (1) a coding gain of around 1dB, (2) an
increase in complexity with size of the field, and (3) an increase in complexity for
higher coding gain. As a result, efficient soft decoders are not readily available
for high rate RS codes over large fields.
In this work, we study certain subcodes of q m -ary RS codes that are more
amenable to efficient decoding. Specifically, we consider subcodes whose traces
are q-ary BCH codes. Suitable non-consecutive zeros are added to the set of
zeros of a parent RS code to enable the trace to be a BCH code. Though the
subcode is not typically maximum-distance-separable (MDS), our analysis shows
that a large fraction of errors beyond minimum distance are correctable. Hence,
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 217–226, 2007.
c Springer-Verlag Berlin Heidelberg 2007
218 S.J. Raj and A. Thangaraj
2 Preliminaries
A finite field GF(q m ) (q: power of prime) is an m-dimensional vector space over
GF(q). A set of m elements of GF(q m ) linearly independent over GF(q) form
a basis for this vector space. See [8] for more details on the definitions and
preliminary results in this section.
2.1 Definitions
Trace of an element α ∈ GF(q m ) is a linear mapping Tm : GF(q m ) → GF(q) de-
m−1 i
fined by Tm (α) = i=0 αq . If C is a code over GF(q m ), trace of C consists of the
traces of all codewords of C. Let B = {β1 , β2 , . . . , βm } be a basis for GF(q m ) over
GF(q). Each element α ∈ GF(q m ) can be represented as a linear combination of
the elements in the basis. Let B = {β1 , β2 , . . . ,
βm } be the dual basis of B. Each
element α ∈ GF(q ) can be expanded as α = i=1 ai βi , where ai = Tm {αβi } .
m m
The element α ∈ GF(q m ) can be viewed as the vector [a1 a2 . . . am ] over GF(q)
through expansion by basis B. The vector [a1 a2 . . . am ] is also called the image
of α ∈ GF(q m ) over GF(q). If C is a code over GF(q m ), image of C, denoted by
Ci , consists of the images (with respect to a chosen basis) of all codewords of C.
Image of an (n, k, d) linear code over GF(q m ) will be an (nm, km, ≥ d) linear
code over GF(q).
c ∈ C ⇒ βj c ∈ C . (1)
Hence [Tm {c1 βj } Tm {c2 βj } . . . Tm {cn βj }]T will belong to the trace of C.
Proof. Css consists of the set of all codewords of C with elements over GF(q).
Suppose c = [c1 c2 . . . cn ]T ∈ Css ⊆ C is a minimum weight codeword of Css .
Since ci ∈ GF(q), image of ci β1 is
In summary, if d, dss and di are the minimum distances of C, Css and Ci , respec-
tively, we have d ≤ di ≤ dss .
3.1 Construction
Let α be a primitive element of GF(2m ). Let C(t) be the (n, n − 2t, 2t + 1)
primitive, narrow-sense t-error correcting RS code of length n = 2m − 1. The
code has 2t consecutive powers of α as zeros. The zero set is Zrs = {1, 2, . . . , 2t}.
The generator polynomial of the code, C(t) is given by 2t i
i=1 (x + α ).
A SRS code C(t, t ) (for t ≤ t) is a subcode of C(t) with zero set Zrs ∪ Zbch ,
where Zbch is the zero set of the primitive, narrow-sense t -error-correcting binary
BCH code i.e.
Zbch = C1 ∪ C2 ∪ · · · ∪ C2t , (3)
where Ci denotes the cyclotomic coset of i modulo n = 2m − 1 under multipli-
cation by 2.
Example 1. Let α be a primitive element of GF(256).
1. C(8, 1) is the subcode of the 8-error-correcting (255, 239, 17) RS code (C(8))
with zeros {1, 2, · · · , 16, 32, 64, 128}. C(8, 1) is a (255, 236, ≥ 17) code.
220 S.J. Raj and A. Thangaraj
2. C(8, 2) is the subcode of the 8-error-correcting (255, 239, 17) RS code with
zeros {1, 2, · · · , 16, 24, 32, 48, 64, 96, 128, 129, 192}. C(8, 2) is a (255, 231, ≥
17) code.
3. C(6, 1) is the subcode of the 6-error-correcting (255, 243, 13) RS code with
zeros {1, 2, · · · , 12, 16, 32, 64, 128}. C(6, 1) is a (255, 239, ≥ 13) code.
3.2 Properties
The following properties can be proved for the SRS code C(t, t ) of length n =
2m − 1 over GF(2m ).
Proposition 3. The trace of C(t, t ) is the t -error-correcting binary BCH code.
Proposition 4. The subfield subcode of the SRS code C(t, t ) is the t-error-
correcting primitive binary BCH code of length n. If the primitive t-error-correcting
binary BCH code has minimum distance 2t + 1, then the minimum distance of
C(t, t ) is 2t + 1.
As an example, consider the (255, 239, ≥ 13) code C(6, 1) over GF(256). The
trace of the code is the length-255 binary Hamming code. The subfield subcode is
the 6-error-correcting length-255 binary BCH code with exact minimum distance
13 [9]. Hence, C(6, 1) is a (255, 239, 13) code over GF(256).
binary BCH code of length n. The BCH decoder runs on each column Ri , 1 ≤
i ≤ m. The output of the ith BCH decoder is denoted R̂i . In case of decoder
failure, R̂i = Ri . The next step in the decoding is performed by a bank of L
t-error-correcting bounded-distance RS decoders. The ith decoder (1 ≤ i ≤ L)
is parametrized by a set Si , which is a subset of {1, 2, · · · , m}. The input to the
ith RS decoder is a n × m matrix whose j th column is R̂j if j ∈ Si or Rj if
j∈ / Si (1 ≤ j ≤ m). The matrix is converted to a n × 1 vector over GF(2m ) for
decoding by the ith RS decoder.
Note that the set Si specifies the columns that are decoded by the t -error-
correcting binary BCH decoder before input to the ith RS decoder. Different RS
decoders have different Si . The output from the L RS decoders forms the list of
possible codewords. The maximum list size is seen to be 2m .
where Pc (p) is the probability that an error vector with column weight distribu-
tion p is correctable.
To determine Pc (p), the partitions in Pm (w) are modified by deleting the parts
that are lesser than t to account for the BCH decoder. Since the list size is 2m ,
there exists an RS decoder parametrized by the set of columns corresponding to
the parts in p of weight less than t . For example, let t = 1 and w = 9. Let p be
222 S.J. Raj and A. Thangaraj
For Case 4 above, finding Pc (p) is more involved. An error matrix E ∈ E(p)
for p̂ ≡ w1 + w2 + · · · + wk is modeled by a discrete random process that involves
k steps. The ith step corresponds to the random placement of wi ones in one of
the m columns. Let {Y1 , Y2 , . . . , Yk } be a sequence of discrete random variables.
The random variable Yi denotes the total number of rows of E affected after
the ith step. For instance, Y1 denotes the number of rows of E affected after
the 1st step, which will be w1 with probability 1. Y2 denotes the number of
rows affected after the 2nd step. Y2 can take any value from w1 to (w1 + w2 )
with different probabilities. The probability mass function (pmf) of Y2 can be
determined from the pmf of Y1 and the value w2 . Similarly, we can find the pmfs
of all the random variables Y1 to Yk starting from the pmf of Y1 and the values
w1 , w2 , . . . , wk . Finally,
Pc (p) = Prob{Yk ≤ t} . (6)
Fig. 1 shows a comparison of the 8-error-correcting (255, 239, 17) RS code
(C(8)) over GF(256) and the (255, 239, 13) SRS code (C(6, 1)) over GF(256).
The simulation was done over an AWGN channel with hard-decision decoding.
We see that the analysis matches with the simulated list decoder, and the SRS
code is competitive with the MDS RS code of same rate down to a block-error
rate of 10−10 .
5 Soft-Input Decoders
Because of the special structure of SRS codes, several suboptimal soft decoders
of varying complexity are possible. We propose three types of soft-input decoders
Subcodes of Reed-Solomon Codes Suitable for Soft Decoding 223
0
10
HDD for RS(255,239,17)
Analysis of adhoc HDD
for SRS(255,239,13)
−2 Simulation of adhoc HDD
10
for SRS(255,239,13)
Probability of Block Error
−4
10
−6
10
−8
10
−10
10
5 5.5 6 6.5 7 7.5 8 8.5 9
Eb/No in dB
Fig. 1. Comparison of C(6, 1) and C(8) over GF(256) by analysis and simulation
of increasing complexity. The codes C(6, 1) and C(8) over GF(256) are chosen
for comparison. Soft decoders for other codes yield similar gains.
We assume BPSK modulation over an AWGN channel. For an SRS code
C(t, t ) of length n = 2m − 1 over GF(2m ), the received information R is a n × m
real-valued matrix. The decoders work in two stages. The first stage decodes the
columns of R according to the t -error-correcting binary BCH code. We restrict
ourselves to t = 1 (Hamming code) for simplicity. The second stage decodes
the output of the first stage according to the t-error-correcting RS code over
GF(2m ).
0
10
HDD RS(255,239,17)
List L=256 SRS(255,239,13)
Soft−guided SRS(255,239,13)
−1
10
Probability of Block Error
−2
10
−3
10
−4
10
5 5.5 6 6.5 7 7.5
Eb/No in dB
the SRS code is comparable to that of the hard-decision decoder for the MDS
RS code at the same rate.
In hybrid soft-input decoders, the first stage is an optimal soft decoder for Ham-
ming codes. An efficient implementation for bitwise-MAP decoders for Hamming
codes can be found in [10]. The second stage is a t-error-correcting bounded-
distance RS decoder. The complexity of the first stage in hybrid decoders is
higher than that of soft-guided decoders.
The performance of hybrid decoders is shown in Fig. 3. We see that the
hybrid decoders provide a coding gain of about 0.5 dB more than hard-decision
decoders of MDS RS codes at the same rate. We also notice that additional gain
is obtained by extending the SRS code.
The most complex among the soft-input decoders are the soft decoders. In the
first stage, we employ the optimal bitwise MAP decoders for Hamming codes.
In the second stage, the Koetter-Vardy (KV) soft-input decoder for RS codes
presented in [3] is employed.
The performance of soft decoders is depicted in Fig. 4. We see that gains
of about 0.9 dB over comparable hard-decoded RS codes are possible with soft
Subcodes of Reed-Solomon Codes Suitable for Soft Decoding 225
0
10
−1
10
Probability of Block Error
−2
10
−3
10
0
10
−1
10
Probability of Block Error
−2
10
−3
10
HDD RS(255,239,17)
−4 Soft RS(255,239,17), mmax=8
10
Soft SRS(255,239,13), mmax=2
Soft SRS(255,239,13), mmax=4
Soft SRS(255,239,13), mmax=8
−5
10
5 5.2 5.4 5.6 5.8 6 6.2 6.4 6.6 6.8
Eb/No in dB
decoders. Gains of about 0.5 dB are obtained over KV soft decoding of RS codes
of same rate. The parameter ‘mmax’ (from [3]) indicates the complexity of the
second stage.
6 Conclusion
We have studied Sub Reed-Solomon (SRS) codes, which are certain subcodes of
Reed-Solomon codes with a nontrivial trace code. The trace structure results in
the possibility of hard-decision list decoding beyond half the minimum distance
and efficient soft-input decoding. The performance results, when compared to
that of maximum-distance-separable Reed-Solomon codes, show a best-possible
gain of about 0.9 dB. With reasonable complexity, gains of about 0.5 dB are
possible.
References
1. Reed, I.S., Solomon, G.: Polynomial codes over certain finite fields. J. SIAM 8,
300–304 (1960)
2. Guruswami, V., Sudan, M.: Improved decoding of Reed-Solomon and algebraic-
geometry codes. IEEE Trans. on Info. Theory 45(6), 1757–1767 (1999)
3. Koetter, R., Vardy, A.: Algebraic Soft-decision Decoding of Reed-Solomon Codes.
IEEE Trans. Inform. Theory 49(11), 2809–2825 (2003)
4. Forney, D.: Generalized Minimum Distance Decoding. IEEE Trans. Inform. The-
ory 12(2), 125–131 (1966)
5. Vardy, A., Beery, Y.: Bit-level Soft-decision Decoding of Reed-Solomon Codes.
IEEE Trans. on Comm. 39(3), 440–444 (1991)
6. Ponnampalam, V., Vucetic, B.: Soft Decision Decoding of Reed-Solomon Codes.
IEEE Trans. on Comm. 50(11), 1758–1768 (2002)
7. Jiang, J., Narayanan, K.R.: Iterative Soft Decoding of Reed-Solomon Codes. IEEE
Commun. Lett. 8(4), 244–246 (2004)
8. MacWilliams, F.J., Sloane, N.J.A.: The Theory of Error-Correcting Codes. North-
Holland, The Netherlands, Amsterdam (1977)
9. Augot, D., Charpin, P., Sendrier, N.: Studying the Locator Polynomials of Mini-
mum Weight Codewords of BCH Codes. IEEE Trans. Inform. Theory 38(3), 960–
973 (1992)
10. Ashikhmin, A., Litsyn, S.: Simple MAP Decoding of First-Order Reed-Muller and
Hamming Codes. IEEE Trans. Inform. Theory 50(8), 1812–1818 (2004)
Normalized Minimum Determinant Calculation
for Multi-block and Asymmetric Space-Time
Codes
1 Background
Previously, different methods for constructing asymmetric [1],[2] and multi-block
[3] space-time codes have been proposed. Asymmetric codes are targeted at
the code design for downlink transmission where the number of Rx antennas is
strictly less than the number of Tx antennas. Typical examples of such situations
are 3+G mobile phones and DVB-H (Digital Video Broadcasting-Handhelds)
user equipment, where only a very small number of antennas fits at the end user
site. The best code in [1] was shown to improve upon the punctured Perfect code
[2] as well as the DjABBA code [2] in the BLER performance at the data rate 4
bpcu, hence proving that the methods proposed therein come into good use.
Multi-block codes, for their part, are used when one wishes to obtain vanishing
error probability in addition to the D-M tradeoff optimality. In this work, we
concentrate on the minimal delay multi-block construction given in [3] and the
asymmetric construction given in [1] by Method 1. In [4] an approach similar to
Method 1 was used for the MIMO amplify-and-forward cooperative channel.
Already in [1] we stated that Method 1 can be converted to produce multi-
block ST codes [3] that do achieve the DMT. Here, we shall show this explicitly
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 227–236, 2007.
c Springer-Verlag Berlin Heidelberg 2007
228 C. Hollanti and H.-f. (Francis) Lu
and prove that maximizing the density (i.e. finding the most efficient packing
in the available signal space) of asymmetric and multi-block codes arising from
this method is equivalent to minimizing the discriminant of a certain order.
We define a lattice to be a discrete finitely generated free abelian subgroup L
of a real or complex finite dimensional vector space, called the ambient space.
In the space-time (ST) setting a natural ambient space is the space Mn (C) of
complex n × n matrices. The Gram matrix is defined as
G(L) = tr(xi xH
j ) 1≤i,j≤k , (1)
The theory of cyclic algebras and their representations as matrices are thoroughly
considered in [9] and [14]. We are only going to recapitulate the essential facts
here. For a more detailed introduction on orders, see [15].
In the following, we consider number field extensions E/F , where F denotes
the base field and F ∗ (resp. E ∗ ) denotes the set of the non-zero elements of F
(resp. E). The rings of algebraic integers are denoted by OF and OE respectively.
Let E/F be a cyclic field extension of degree n with Galois group Gal(E/F ) =
σ, where σ is the generator of the cyclic group. Let A = (E/F, σ, γ) be the
corresponding cyclic algebra of degree n (n is also called the index of A and in
practice it determines the number of transmitters), that is
A = E ⊕ uE ⊕ u2 E ⊕ · · · ⊕ un−1 E,
Normalized Minimum Determinant Calculation 229
All algebras considered here are finite dimensional associative central simple
algebras over a field. From now on, we identify the element x of an algebra with
its standard matrix representation defined above in (2).
Definition 2. The determinant of the matrix A is called the reduced norm of
the element x ∈ A and is denoted by nr(x).
Remark 1. The connection between the usual norm map NA/F (a) and the re-
duced norm nr(a) of an element a ∈ A is NA/F (a) = (nr(a))n , where n is the
degree of E/F .
Definition 4. In any cyclic division algebra we can always choose the element
γ ∈ F ∗ determining the 2-cocycle in H 2 (E/F ) to be an algebraic integer. We
immediately see that the OF -module
ΛN AT = OE ⊕ uOE ⊕ · · · ⊕ un−1 OE
√ √
In the interesting cases of F = Q(i), √ i = −1 (resp. F = Q( −3)) the ring
R = Z[i] (resp. R = Z[ω], ω = (−1+ −3)/2) is a Euclidean domain, so in these
cases as well as in the case R = Z it makes sense to speak of the discriminant
as an element of R rather than as an ideal. We simply compute the discriminant
i,j=1 , where {x1 , . . . , xm } is any R-basis of Λ.
as d(Λ/R) = det tr(xi xj )m
Remark 3. It is readily seen that whenever Λ ⊆ Γ are two R-orders, then d(Γ/R)
is a factor of d(Λ/R). It also turns out (cf. [15, Theorem 25.3]) that all the
maximal orders of a division algebra share the same discriminant. In this sense
a maximal order has the smallest possible discriminant among all orders within
a given division algebra, as all the orders are contained in the maximal one.
To conclude the section, we include the following simple but interesting result on
maximal orders explaining why using a principal one-sided (left or right) ideal
instead of the entire order will not change the density of the code. For the proof,
see [13, Lemma 7.1].
Normalized Minimum Determinant Calculation 231
built from (3) has a nonvanishing determinant det C(Λ) = m−1 i=0 det τ (B) ∈
i
Z[δ]. Thus, the minimum determinant is equal to one for all numbers of fading
blocks m. The code rate equals r2 m/rm = r.
Now the natural question is how to choose a suitable division algebra. In [7]
and [12] several systematic methods for constructing extensions E/L are pro-
vided. All of them make use of cyclotomic fields. In [1] we proved that, in the
asymmetric scheme, maximizing the code density (i.e. minimize the volume of
the fundamental parallelotope, see [13]) with a given minimum determinant is
equivalent to minimizing a certain discriminant. In the next section we shall
show that this also holds for the multi-block codes from [3].
First we need the following result. For the proof, see [15, p. 223].
232 C. Hollanti and H.-f. (Francis) Lu
The same naturally holds in the commutative case when we replace A with E.
The definition of the discriminant closely resembles that of the Gram matrix of
a lattice, so the following results are rather unsurprising. For the proof, see [1].
Now we can conclude that the extensions E/L, L/F and the order Λ ⊆ B should
be chosen such that the discriminants d(OL /OF ) and d(Λ/OL ) are as small as
possible. By choosing a maximal order within a given division algebra we can
minimize the norm of d(Λ/OL ) (cf. Remark 3). As in practice an imaginary
quadratic number field F is contained in L, we know that L is totally complex.
In that case the fact that
where P1 and P2 are prime ideals ∈ OL with the smallest norms (to Q) helps us
in picking a good algebra (for the proof, see [13, Theorem 3.2]).
Remark 4. Note that as opposed to [13], here we do not achieve nice, explicit
lower bounds for d(Λ/OL ). That is a consequence of the fact that the center
L can now be almost anything that just contains Z[i] or Z[ω]. An exact lower
bound of course exists, but we have not been searching for it yet. We hope to
provide this lower bound in a forthcoming paper.
Remark 5. In [13] we have studied the use of maximal orders in the design of
dense, symmetric, CDA based MIMO STBCs in more detail. The same ideas
can be adapted to asymmetric and multi-block scheme as well.
Normalized Minimum Determinant Calculation 233
5 Explicit Codes
In this section we provide explicit asymmetric constructions for the important
case of 4Tx + 2Rx antennas. These codes can be modified for 2 × 2 multi-block
use (cf. (5). The primitive nth root of unity will be denoted by ζn . The first three
examples are given in terms of an asymmetric construction, whereas the last one
is described as a multi-block code. However, with the aid of (5), an asymmetric
code can always be transformed into a multi-block code and vice versa.
Let us use the multi-block notation for a change. Here we consider another
tower of number fields F ⊂ L ⊂ E, where E = Q(ζ5 , i), F = Q(i), and where
L = Q(θ, i) with θ = ζ5 + ζ5−1 . Clearly we have Gal(E/F ) = τ , τ (ζ5 ) = ζ52 , and
τ (θ) = θ2 − 2. Thus we obtain the CDA QA = (E/L, σ = τ 2 , γ) = E ⊕ uE, and
γ = u2 = i is a non-norm element. Embedding the algebra QA as in Proposition
3 yields the following multi-block ST code with coding over 2 consecutive fading
blocks:
x0 iσ(x1 ) τ (x0 ) iτ (σ(x1 ))
QA1 ⊆ B = , τ (B) = x ∈ OE .
x1 σ(x0 ) τ (x1 ) τ (σ(x0 )) i
The elements xi in the above are of the form xi = 3j=0 ai,j ζ5j , where ai,j ∈ Z[i],
hence the above code transmits on the average, 2 independent QAM symbols
per channel use.
Among our example algebras, QA has the densest natural order.
PA PA CA CA IA IA QA
ΛNAT ΛM AX ΛNAT ΛM AX ΛNAT ΛMAX ΛNAT=M AX
δ 0.0298 0.0894 0.0361 0.1214 0.0340 0.1361 0.0894
−4 −6 −6 −16 −2 −9 −2 −10 −6 −2 −6
ρ 3 ·5 = 5 = 2 ·3 =2 ·3 =2 ·3 =2 ·3 = 5−6 =
7.9 · 10−7 6.4 · 10−5 1.7 · 10−6 2.2 · 10−4 1.4 · 10−6 3.4 · 10−4 6.4 · 10−5
References
1. Hollanti, C., Ranto, K.: Asymmetric Space-Time Block Codes for MIMO Systems.
In: 2007 IEEE ITW, Bergen, Norway, pp. 101–105 (2007)
2. Hottinen, A., Hong, Y., Viterbo, E., Mehlführer, C., Mecklenbraüker, C.F.: A Com-
parison of High Rate Algebraic and Non-Orthogonal STBCs. In: 2007 ITG/IEEE
WSA 2007, Vienna, Austria (2007)
3. Lu, H.F.F.: Explicit Constructions of Multi-Block Space-Time Codes that Achieve
the Diversity-Multiplexing Tradeoff. In: 2006 IEEE ISIT, Seattle, pp. 1149–1153
(2006)
4. Yang, S., Belfiore, J.-C.: Optimal Space-Time Codes for the MIMO Amplify-and-
Forward Cooperative Channel. IEEE Trans. Inform. Theory 53, 647–663 (2007)
5. Belfiore, J.-C., Rekaya, G.: Quaternionic Lattices for Space-Time Coding. In: IEEE
ITW 2003, Paris, France (2003)
6. Lahtonen, J.: Dense MIMO Matrix Lattices and Class Field Theoretic Themes in
Their Construction. In: IEEE ITW 2007, Bergen, Norway, pp. 96–100 (2007)
7. Elia, P., Kumar, K.R., Pawar, S.A., Kumar, P.V., Lu, H.F.F.: Explicit Space-
Time Codes Achieving the Diversity-Multiplexing Gain Tradeoff. IEEE Trans. Inf.
Theory 52, 3869–3884 (2006)
8. Zheng, L., Tse, D.: Diversity and Multiplexing: A Fundamental Tradeoff in
Multiple-Antenna Channels. IEEE Trans. Inform. Theory 49, 1073–1096 (2003)
9. Sethuraman, B.A., Rajan, B.S., Shashidhar, V.: Full-Diversity, High-Rate Space-
Time Block Codes From Division Algebras. IEEE Trans. Inform. Theory 49, 2596–
2616 (2003)
10. Belfiore, J.-C., Oggier, F., Rekaya, G., Viterbo, E.: Perfect Space-Time Block
Codes. IEEE Trans. Inform. Theory 52, 3885–3902 (2006)
11. Kiran, T., Rajan, B.S.: STBC-Schemes with Non-Vanishing Determinant For Cer-
tain Number of Transmit Antennas. IEEE Trans. Inform. Theory 51, 2984–2992
(2005)
12. Lu, H.F.F., Elia, P., Kumar, K.R., Pawar, S.A., Kumar, P.V.: Space-Time Codes
Meeting the Diversity-Multiplexing Gain Tradeoff with Low Signalling Complexity.
In: 2005 CISS, Baltimore (2005)
13. Hollanti, C., Lahtonen, J., Ranto, K., Vehkalahti, R.: On the Densest MIMO Lat-
tices from Cyclic Division Algebras. IEEE Trans. Inform. Theory (submitted 2006).
http://arxiv.org/abs/cs.IT/0703052
14. Albert, A.A.: Structure of Algebras. AMS, New York (1939)
15. Reiner, I.: Maximal Orders. Academic Press, New York (1975)
16. El Gamal, H., Hammons Jr., A.R.: A New Approach to Layered Space-Time Coding
and Signal Processing. IEEE Trans. Inform. Theory 47, 2321–2334 (2001)
On the Computation of Non-uniform Input for
List Decoding on Bezerra-Garcia Tower
1 Introduction
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 237–246, 2007.
c Springer-Verlag Berlin Heidelberg 2007
238 M.P.L. Das and K. Sikdar
the quasi-regular functions used in the pole cancellation algorithm of [6]. Their
procedure for finding the non-uniform input is randomized, making uniformly
random choices for irreducible polynomials of a given degree over Fq2 . A simple
counting argument shows that there exist places of degree r of Fm lying above
places of same degree of F1 . Here F1 ⊂ F2 ⊂ F3 ⊂ . . . is the tower. The required
non-uniform input is obtained as a solution to a system of linearized equations,
using Kummer theorem(see [1, pp. 76]).
A similar procedure for the Bezerra-Garcia tower is given here. There is a
unique of x1 ∈ Fm , which is totally ramified throughout the tower. For con-
struction of codes, divisors of the form uP∞ are chosen. A nice dual basis for
the ring of such regular functions exist, such that it is sufficient of determine
the evaluations of the coordinate variables at a large degree place to evaluate
the basis elements themselves. There exist places of Fm of degree r lying above
a place of same degree of F1 for large enough r. Also the set {1, y, . . . , y q−1 }
is a integral basis for the large degree place. The required evaluations of the
coordinate variables are obtained by solving a system of linearized equations,
using Kummer’s theorem.
The plan of the paper is as follows. First some preliminaries on the Bezerra-
Garcia tower from [7] are recalled. Then some facts on number of places of a given
degree of a function field F/Fq of genus g are recalled from [1]. List decoding
procedure for one point codes is recalled. A bound on the number of places of
F1 of degree r lying below a place of the same degree of Fm is obtained. Hence,
the probability that a place of degree r of F1 chosen at random having the
above property is calculated. Finally, the randomized algorithm for finding the
non-uniform input on the function fields of the Bezerra-Garcia tower is given.
Also supp(D) denotes the support of D, which is the set of places appearing
in the expression for D. Further for P | P in a separable extension of function
fields e(P | P ), f (P | P ) and d(P | P ) will denote respectively the ramification
index, the relative degree and the different exponent respectively.
On the Computation of Non-uniform Input for List Decoding 239
and
m
xi − 1 xi − 1 xi − 1 1
∗
Z := − q ,− q−1 ,...,− ,
i=2
ρi xi ρi xi ρi x2i ρi xi
be the sets obtaining by taking m − 1-fold products of the constituent sets. Then
R1 z ⊆ Rm ⊆ R1 z ∗ ,
z∈Z z ∗ ∈Z ∗
where aξ is a polynomial in x1 .
240 M.P.L. Das and K. Sikdar
The denominator of the dual basis for Fm /F1 above involves only x1 − 1 and
xj ’s. We shall use this result for finding the non-uniform input for this tower.
The above result uses the proof [1, Theorem III.5.10] and some simple facts
about the tower. This result and many other facts about the tower are dealt
with elsewhere. This tower is interesting because it attains the Drinfeld-Vlăduţ
bound. In fact, in [7] it is shown that this tower is a subtower of that in [2].
Lemma 2. The genus of the mth function field gm is given by
m 2
q 2 −1 , m even
(q − 1) · gm = m−1 m+1 (2)
q 2 − 1 q 2 − 1 , m odd.
Lemma 3. Assume that u < n. Then CL (u, G) is an [n, k, d]q code with k ≥
u − g + 1 and d ≥ n − u.
It is assumed henceforth that u < n, so that the above lemma holds. List de-
coding algorithm for such one-point codes was given in [3] and a suitable rep-
resentation of the data involved was discussed in [4]. Suppose that the channel
corrupts at most n − t places of the sent word and y = (y1 , . . . , yn ) is received.
The list decoding algorithm of [3] finds an interpolation polynomial for y as the
first step. This polynomial has degree s for a suitably chosen parameter s and
has coefficients in L(D) for a suitably chosen divisor D. For more details consult
[3]. The required list of decoded words comprises of those zeroes of the interpo-
lation polynomial in L(uQ) whose evaluations at Pi agree with yi for at least t
coordinates.
In [4] the representation issues related to the list decoding algorithm are dis-
cussed. A strategy for finding the zeroes of the interpolation polynomial is given.
This strategy is based on finding a non-uniform input which doesn’t depend on
the received word. A basis for L(D) is assumed to be computable. The non-
uniform input is described below:
Non-Uniform Input: A place R in P(F ) of degree r greater than deg D rep-
resented as a l-tuple (ζ1R , . . . , ζlR ) over Fqr , obtained by evaluating a increasing
basis (Φ1 , . . . , Φl ) of L(D) at place R.
Let us begin by recalling [4, Lemma 5].
The strategy now is to first reduce the interpolation polynomial H(T ) modulo
R to obtain h(T ) over the underlying finite field and find the zeroes of the
polynomial equation h(T ) = 0 using some standard algorithm. Then for each
root compute βi ∈ L(D), if any, such that βi (R) = αi . This βi , by Lemma 4, is
unique. Those elements of the list β1 , . . . , βt are output which meet the distance
criterion. The root-find procedure of [4] is given below.
Algorithm 1 (ROOT-FIND)
d
Input: A degree d polynomial H(T ) = i=0 ai T i ∈ F [T ], where each ai ∈ L(D).
Output: All zeroes of H that lie in L(D)
l(D)
Remark 1. If βi = j=1 aj Φj , then
l(D)
aj Φj (R) = αi
j=1
F1 ⊂ F2 ⊂ F3 ⊂ . . .
(m)
denotes the tower and P∞ the unique pole of x1 in Fm . In [6] a pole cancella-
(m)
tion based algorithm for determining a basis for L(uP∞ ) is given, which uses
regular functions defined there. The procedure of [5] makes use of the structure
of quasi-regular functions. A simple counting argument of [5] shows that there
exist places of degree r of Fm lying above places of F1 of same degree. Their
procedure for finding the non-uniform input is randomized, making uniformly
random choices for irreducible polynomials of a given degree over Fq . The re-
quired non-uniform input is obtained as a solution of a system of linearized
equations using Kummer’s theorem(see [1, pg. 76]).
We restrict our attention to function fields over finite fields of the type Fq2 . A
bound on the number of places of F1 of degree r lying below a place of the same
degree of Fm is obtained. Hence, the probability that a place of degree r of F1
chosen at random having the above property is calculated. Techniques used in
this section are from [1, Chapter V].
In the following the superscript m denotes the function field Fm of the tower.
(m)
Thus Br denotes the number of places of degree r of Fm /Fq2 .3
On the Computation of Non-uniform Input for List Decoding 243
(m)
For Fm , let Ur denote the number of places of places of F1 of degree r lying
below a degree r place of Fm . Let
(m)
Br,1 :=the number of degree r places of Fm lying above a degree r
place of F1 and
(m)
Br,2 :=the number of degree r places of Fm not lying above a
degree r place of F1 .
(m) (m) (m)
Clearly we have Br = Br,1 + Br,2 . We have
(m)
Br,1 ≤ Ur(m) · [Fm : F1 ]. (4)
(m)
Now, we shall estimate Br,2 . We know that places of degree r of F1 are in one-
to-one correspondence with monic irreducible polynomials of degree r over Fq2 .
Also, if P | P then deg(P ) divides deg(P ). Hence Br,2 is utmost the number
(m)
(m)
r/2 2d
q − q2
Br,2 ≤
d (5)
d=1
≤q r+1
.
Next, we state and prove a simple lemma.
Lemma 5. For r ≥ m + 16 the following holds
q 2r
q m−1 · Ur(m) ≥ .
2r
Proof. Using Equations 4 and 5 and the bound on Br in Proposition 1, we obtain
q 2r 8gm q r
q m−1 · Ur(m) ≥ − − q r+1 .
r r
Using the fact that gm ≤ q m , we obtain
q 2r 8q r+m
q m−1 · Ur(m) ≥ − − q r+1 .
r r
Consequently, for r ≥ m + 16 the following holds
q 2r
q m−1 · Ur(m) ≥ .
2r
hence, the result.
Finally we estimate the probability with which a degree r place of F1 chosen
uniformly at random has a degree r place of Fm above it. Notice that choosing a
degree r place of F1 is equivalent to choosing an irreducible polynomial of degree
r over Fq2 . The following is a easy corollary to the above lemma.
244 M.P.L. Das and K. Sikdar
x1
xq2 − x2 = −γ2
xq1 − 1
x2 x2
xq3 + q x3 = − q
x2 − 1 x2 − 1
(6)
..
.
xm−1 xm−1
q
xm + q xm = − q
xm−1 − 1 xm−1 − 1
A solution to this system gives a place of degree r, by Kummer’s theorem(refer
[1, pp. 76]). We first state the algorithm for finding the non-uniform input and
then prove its correctness.
Algorithm 2 (Non-uniform input)
Input: m, r and Φ1 , . . . , Φl
Output: (α1 , . . . , αm )
A. Choose an irreducible polynomial f of degree r over Fq2 . Let ρ1 denote the
place of F1 with uniformizing parameter f (x1 ).
B. Set α1 = x1 (ρ1 ) and γ2 = xqx−1 1
(ρ1 ). Find a solution of the system of
1
Equations 6, say (α2 , . . . , αm ).
C. If a solution exists compute the evaluations of Φ1 , . . . , Φl at this place using
(α1 , . . . , αm ), else report failure.
Notice that only the choice of irreducible polynomial is random. Rest of the
steps in the computation of the non-uniform input are deterministic. Thus with
probability p(r, m) the algorithm outputs the non-uniform input. The rest of
the steps of the list decoding algorithm may be carried out efficiently once the
non-uniform input is given, as discussed earlier. We start the proof of correctness
of this algorithm with a simple technical lemma.
Lemma 6. Let Pj and Pj−1 be places of Fj and Fj−1 with Pj | Pj−1 not lying
above zeroes and poles of x1 (x1 − 1) ∈ F1 . The set {1, xj , . . . , xq−1
j } is an integral
basis for Fj /Fj−1 , j ≥ 2 at Pj | Pj−1 .
Proof. By [1, Theorem III.5.10], the set {1, xj , . . . , xq−1
j } is an integral basis for
Pj | Pj−1 if and only if d(Pj | Pj−1 ) = vPj (φj (y)). Here φ denotes the formal
derivative. We have
xj−1
vPj (φj (y)) = vPj
xqj−1 − 1
= 0.
By [7, Lemma 2], we have Pj | Pj−1 is unramified. Thus
d(Pj | Pj−1 ) = e(Pj | Pj−1 ) − 1 = 0,
We are now in a position to give the proof of correctness of the above algorithm.
Theorem 2. The Algorithm 2 gives the required non-uniform input.
Proof. For any level, we have shown that set {1, xj , . . . , xq−1j } is an integral
basis for Fj /Fj−1 , j ≥ 2 at Pj | Pj−1 . Notice that all the conditions of Kummer
theorem are satisfied. The first equation of the system is the reduced form the
defining equation. Also, if a solution to the system of linearized equations exists,
then (α1 , . . . , αm ) is the evaluation of the coordinate variables at a degree r
place of Fm . By Lemma 1, the basis elements may be evaluated using this tuple
(α1 , . . . , αm ), since the denominator of the dual basis involves only x1 − 1 and
the xj ’s. Hence the correctness of the algorithm is verified.
Complexity: The main computational tasks involved in the procedure are the
following:
1. checking whether a given polynomial is irreducible or not and
2. finding a solution to a system of linear equations.
There exist deterministic algorithms for performing both the tasks. Also, the
procedure gives the required non-uniform input in expected polynomial time in
the length of the code.
References
1. Stichtenoth, H.: Algebraic Function Fields and Codes. In: Universitext, Springer,
Heidelberg (1993)
2. Garcia, A., Stichtenoth, H.: On the Asymptotic Behaviour of Some Towers of Func-
tion Fields over Finite Fields. Journal of Number Theory 61(2), 248–273 (1996)
3. Guruswami, V., Sudan, M.: Improved Decoding of Reed-Solomon and Algebraic-
Feometric Codes. IEEE Trans. Inform. Theory 45(6), 1757–1767 (1999)
4. Guruswami, V., Sudan, M.: On Representations of Algebraic-Geometric Codes.
IEEE Trans. on Inform. Theory 47(4), 1610–1613 (2001)
5. Guruswami, V., Patthak, A.: Correlated Algebraic-Geometric Codes: Improved List
Decoding Over Bounded Alphabets. Mathematics of Computation (to appear)
6. Shum, K., Aleshnikov, I., Kumar, P.V., Stichtenoth, H., Deolalikar, V.: A Low-
Complexity Algorithm for the Construction of Algebraic-Geometric Codes Better
Than the GIlbert-VArshamov Bound. IEEE Trans. on Inform. Theory 47(6), 2225–
2241 (2001)
7. Bezerra, J., Garcia, A.: A Tower with Non-GAlois Steps Which Attains the
DRinfeld-VLadut Bound. Journal of Number Theory 106(1), 142–154 (2004)
Dense MIMO Matrix Lattices — A Meeting
Point for Class Field Theory and Invariant
Theory
1 Background
In the symmetric MIMO-case the received signal is
where H is the Rayleigh fading channel response, the elements of the noise
matrix N are i.i.d. complex Gaussian random variables. Here n is the number
of both transmitting and receiving antennas (= the symmetric case) and it is
often assumed that the receiver knows the channel matrix H. An analysis of
this situation gives rise to the so called determinant criterion: the receiver’s
ability to distinguish between signals X and X is the better the larger the
determinant of the matrix (X − X )(X H − X H ). Thus a natural choice for
a set of signals is a finite collection of low-energy matrices X within a lattice
L ⊂ Mn (C) with a large minimum determinant detmin (L), i.e. the infimum of
the absolute values of the determinants of all non-zero matrices in L. In this
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 247–256, 2007.
c Springer-Verlag Berlin Heidelberg 2007
248 J. Lahtonen and R. Vehkalahti
where the supremum is taken over the set of full rank lattices inside Mn (C)
normalized to unit fundamental parallelotope.
We refer the interested reader to [12] and [5] for an exposition of the theory
of simple algebras, cyclic algebras, and their use in ST-coding. We only recall
the basic definitions and notations here. Consider an extension E/F of number
fields. In the
√ interesting cases F is an imaginary quadratic field, usually either
Q(i) or Q( −3). We assume that E/F is a cyclic field extension of degree n
with Galois group Gal(E/F ) = σ. Let A = (E/F, σ, γ) be the corresponding
cyclic algebra of index n:
A = E ⊕ uE ⊕ u2 E ⊕ · · · ⊕ un−1 E.
The determinant (resp. trace) of the matrix A above is called the reduced
norm (resp. reduced trace) of the element a ∈ A and is denoted by nr(a) (resp.
tr(a)).
Let R denote a Noetherian integral domain with a quotient field F , and let
A be a finite dimensional F -algebra.
Example 1. In any cyclic division algebra we can always choose the element
γ ∈ F ∗ determining the 2-cocycle in H 2 (E/F ) to be an algebraic integer. We
immediately see that the OF -module
Λ = OE ⊕ uOE ⊕ · · · ⊕ un−1 OE ,
where OE is the ring of integers, is an OF -order in the cyclic algebra (E/F, σ, γ).
We refer to this OF -order as the natural order.
For the purposes of constructing MIMO lattices the reason for concentrating on
orders is summarized in the following proposition (e.g. [11, Theorem 10.1, p.
125]). We simply rephrase it here in the language of MIMO-lattices.
An important fact is that all the maximal orders of a given cyclic division algebra
have the same discriminant [11, Theorem 25.3]. The definition of the discriminant
closely resembles that of the Gram matrix of a lattice, so the following results
are unsurprising and probably well-known. We include them for easy reference.
Sample proofs are given in [3].
For us the importance of this result is twofold. It proves the existence of fully
multiplexing MIMO-lattices with a known normalized density and/or minimum
determinant. It also proves that using orders of cyclic division algebras (and their
cyclic submodules) one cannot do any better. The latter point was the upshot
of [3] but here we benefit from the first point. √
In the interesting cases F = Q(i) and F = Q( −3) Theorem 1 gives us
the following two corollaries. They are directly from [3], but we have partially
reformulated them in terms of the normalized minimum determinants. For the
purposes of finding the optimal normalized minimum
√ determinant the field Q(i)
is not nearly as interesting as the denser Q( −3). We list the gaussian results
here for reference, as the rectangular shapes enjoy certain practical advantages
in radio communications. It is also worth remarking that the assumption about
the center in Theorem 1 is essential. √Indeed, the quaternionic division algebra
with the real quadratic center F = Q( 5) has the well known ring of icosians as
a maximal order with unit discriminant. The difference comes from the fact that
in this case the only non-trivial Hasse invariants are at the two infinite places,
and they won’t contribute to the discriminant.
δ(Λ) ≤ 1/10(n−1)/4.
Furthermore, there exist cyclic division algebras with center Q(i), whose maximal
orders achieve this bound.
Furthermore, there exist cyclic division algebras with center Q(ω), whose maxi-
mal orders achieve this bound.
The construction of algebras achieving the bounds in the two previous corollaries
is done in [8]. These results can be viewed as giving a lower bound on the achiev-
able normalized minimum determinant δ(n). Can we get upper bounds on the
achievable normalized minimum determinant also? In general this is probably a
difficult problem, but the following simple upper bounds from [4] are elementary
to derive.
252 J. Lahtonen and R. Vehkalahti
Squaring this inequality and using the fact that A 2 = nj=1 Aj 2 together
with the well-known inequality between the geometric and arithmetic means of
positive numbers gives the claimed bound.
Proposition 2 (Hadamard bound). For fully multiplexing 2 × 2 lattices we
have the upper bound δ(2) ≤ 1.
Proof. The root lattice E8 has the best minimum distance among 8-dimensional
lattices (cf. e.g. [1]). When we scale its fundamental
√ parallelotope to have unit
measure, the shortest vectors have length 2. In other words√in any lattice L of
rank 8 inside M2 (C) has a non-zero matrix A with A ≤ 2. Lemma 2 then
tells us that | det A| ≤ 1.
01 1 i + iλ i − λ 1 −1 − iλ i + iλ
M2 = , M3 = , M4 = .
i0 2 −1 + iλ i − iλ 2 −1 + λ −1 + iλ
1 1+z ω(1 + z)
ρ= .
2 (1 + ω)(1 − z) 1 − z
From [3] we also get that the cyclic algebra constructed from the datum E =
Q(z), F = Q(ω), σ(z) = −z, γ = −ω is a division algebra whose maximal
254 J. Lahtonen and R. Vehkalahti
√
orders achieve the bound δ = 2/33/4 of Corollary 4. We are indebted to Camilla
Hollanti for the extra piece of information that the set {1, ρ, z, zρ, ω, ωρ, ωz, ωzρ}
forms a Z-basis of one such maximal order. Do observe that in this listing, as
is always the case with the elements of the maximal subfield E, the element z
must be viewed as the diagonal matrix with entries z, σ(z) = −z.
x1 + ix2 x3 + ix4
f : (x1 , x2 , . . . , x8 ) → .
x5 + ix6 x7 + ix8
This mapping is an isometry with respect to the Euclidean norm of R8 and the
Frobenius norm of complex matrices. Let us denote by S(r) the sphere of radius
r in the 8-dimensional space. Whenever convenient we identify it with its image
in the matrix space. We shall be interested in the polynomial function
2
p(x1 , x2 , . . . , x8 ) = |det(f (x1 , x2 , . . . , x8 ))| .
Its space-consuming exact form doesn’t interest us but we do observe that the
polynomial
only contains terms that are products of 4 distinct coordinates xi . Our immediate
goal is to determine the average value of the polynomial p on the sphere S(r).
It is well known (cf. e.g. [1]) that the lattice E8 can be constructed as the set
of vectors x = (x1 , x2 , . . . , x8 ) ∈ Z8 such that after reduction mod 2 it becomes
a word of the self-dual extended Hamming code of length 8, in other words
⎛ ⎞
1 1 1 1 1 1 1 1
⎜1 1 1 1 0 0 0 0⎟ T
⎝ ⎠ x̄ = 0.
1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0
Theorem 2. The average value of the squared absolute value of the determinant
p(x1 , x2 , . . . , x8 ) on the sphere S(r) equals r4 /10. The same result holds for any
rotated and scaled copy of the collection of 240 shortest non-zero vectors of the
lattice E8 .
A couple of closing remarks are due. The restricted upper bound 2/5 = 0.6325
is suggestively close to the lower bound 0.6204 of Corollary 4. Thus in order to
make significant improvement to that lower bound shapes other than E8 are
forced upon us. Of course, there are no guarantees that even that would help,
and the very restricted upper bound of Corollary 5 may apply to a much larger
set of MIMO-lattices.
The somewhat trivial averaging nature of the argument leading to Corollary 5
immediately asks the question of how tight is that bound. We know of no lattice
256 J. Lahtonen and R. Vehkalahti
with shape E8 that would have 2/5 as its normalized minimum determinant.
The best known lattice with shape E8 is a sublattice of index 64 in the Golden
code (cf. [14]), but being a cyclic submodule of the √ Golden algebra that lattice
shares the normalized minimum determinant of 1/ 5. On the other hand we
strongly believe that there are lattices of shape E8 that achieve the bound of
Corollary 5 on the ’first layer’ of the shortest 240 vectors. Before we discovered a
proof for Corollary 5 we set up a computer search based on simulated annealing.
The program found a copy of the first layer of E8 , where the squared minimum
determinant was larger than 0.399. Thus the squared minimum determinant of
2/5 will likely be achieved on the first layer.
References
1. Conway, J.H., Sloane, N.J.A.: Sphere Packings, Lattices and Groups. Springer,
New York (1988)
2. Belfiore, J.-C., Rekaya, G., Viterbo, E.: The Golden Code: A 2x2 Full-Rate Space-
Time Code With Non-vanishing Determinant. IEEE Trans. Inform. Theory 51(4),
1432–1436 (2005)
3. Hollanti, C., Lahtonen, J., Ranto, K., Vehkalahtid, R.: On the Densest MIMO
Lattices from Cyclic Division Algebras, http://arxiv.org/abs/cs/0703052
4. Vehkalahti, R., Lahtonen, J.: Bounds on the Density of MIMO-lattices (in prepa-
ration)
5. Sethuraman, B.A., Rajan, B.S., Shashidhar, V.: Full-Diversity, High-Rate Space-
Time Block Codes From Division Algebras. IEEE Trans. Inform. Theory 49, 2596–
2616 (2003)
6. Belfiore, J.-C., Oggier, F., Rekaya, G., Viterbo, E.: Perfect Space-Time Block
Codes. IEEE Trans. Inform. Theory 52, 3885–3902 (2006)
7. Hollanti, C.: Asymmetric Space-Time Block Codes for MIMO Systems. In: 2007
IEEE ITW, Bergen, Norway (2007)
8. Vehkalahti, R.: Constructing Optimal Division Algebras for Space-Time Coding.
In: 2007 IEEE ITW, Bergen, Norway (2007)
9. Elia, P., Kumar, K.R., Pawar, S.A., Kumar, P.V., Lu, H.-F.: Explicit Space-Time
Codes Achieving the Diversity-Multiplexing Gain Tradeoff. IEEE Trans. Inform.
Theory 52, 3869–3884 (2006)
10. Zheng, L., Tse, D.: Diversity and Multiplexing: A Fundamental Tradeoff in
Multiple-Antenna Channels. IEEE Trans. Inform. Theory 49, 1073–1096 (2003)
11. Reiner, I.: Maximal Orders. Academic Press, New York (1975)
12. Jacobson, N.: Basic Algebra II. W. H. Freeman and Company, San Francisco (1980)
13. Milne, J.S.: Class Field Theory, http://www.jmilne.org/math/coursenotes/
14. Hong, Y., Viterbo, E., Belfiore, J.-C.: Golden Space-Time Trellis Coded Modula-
tion. arXiv:cs.IT/0604063v3
15. Elia, P., Sethuraman, B.A., Kumar, P.V.: Perfect Space-Time Codes with Mini-
mum and Non-Minimum Delay for Any Number of Antennas. IEEE Trans. Inform.
Theory (submitted), aXiv:cs.IT/0512023
Secure Cross-Realm Client-to-Client
Password-Based Authenticated Key Exchange
Against Undetectable On-Line Dictionary
Attacks
1 Introduction
Recently, password-based authenticated key exchange (PAKE) protocols are re-
ceived much attention as practical schemes in order to share a mutual session
key secretly and reliably. Basic PAKE schemes enable two entities to authen-
ticate each other and agree on a large session key from a human memorable
password. Thus, PAKE schemes are regarded as practical key exchange schemes
since entities do not have any pre-shared cryptographic symmetric key, certifi-
cate or support from a trusted third party. Such basic schemes which two entities
pre-share a common password are classified into a model called same password-
authentication (SPA) model. The SPA model is most cultivated PAKE model
in previous studies and is usually used for client-to-server key exchanges. The
concept of PAKE was first introduced by Bellovin and Merritt [1] in 1992 known
as encrypted key exchange (EKE). First construction of password-only PAKE
in SPA model was proposed by Jablon [2] in 1996 known as simple password
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 257–266, 2007.
c Springer-Verlag Berlin Heidelberg 2007
258 K. Yoneyama, H. Ota, and K. Ohta
exponential key exchange (SPEKE). Formal definitions for this setting were first
given by Bellare et al. [3] and Boyko et al. [4], and a concrete construction was
also given in the random oracle (RO) model. And, various protocols have been
proposed to achieve secure PAKE scheme [5,6,7,8,9,10] in SPA model.
On the other hand, with a variety of communication environments such as
mobile network, it is considered as one of main concerns to establish a secure
channel between clients with different passwords. Several schemes have been
presented to provide PAKE between two entities with their different passwords.
Such schemes are classified into a model called different password-authentication
(DPA) model. In DPA model, entities carry out key exchange with the assistance
of intermediate servers since entities have no secret common information and
DPA model is usually used for client-to-client password-based authenticated key
exchanges (C2C-PAKE).
First construction of C2C-PAKE in DPA model was introduced by Steiner et
al. [11] in the single-server setting where two clients (or n clients) are in the same
realm. In the single-server setting, the model consists of two clients A and B (or
n clients) and a server S, where clients are in the realm of server S. Though
several schemes embrace the single-server setting [12,13,14,15,16,17], there is a
problem that it is unrealistic that clients trying to communicate each other are
registered in the same server.
From this viewpoint, Byun et al. [18] proposed C2C-PAKE in the cross-realm
setting where two clients are in two different realms and hence there existed two
servers involved. In the cross-realm setting, the model consists of two clients A
and B, and two servers SA and SB, where A and B are users of SA and SB,
respectively. They also newly defined the security notions according to their
framework for the special settings, and claimed their protocols’ security under
those definitions. However, some attacks are found against this scheme by Chen
[19] which showed a dictionary attack by a malicious server in a different realm,
Wang et al. [20] which showed three different dictionary attacks and Kim et al.
[21] which showed Denning-Sacco-style attack (a variant of dictionary attack)
by an insider with knowledge of the password of a client in a different realm.
Though Kim et al. also proposed an improved cross-realm C2C-PAKE in [21],
Phan and Goi [22] presented two unknown-key share attacks on it. To shake
off vicious circle of attack-and-remedy procedures, Byun et al. [23] introduced a
provably secure cross-realm C2C-PAKE scheme. However, it is also shown that
this scheme falls to an undetectable on-line dictionary attack by any adversary
and malicious servers can launch a successful man-in-the-middle attack by Phan
and Goi [24]. Similarly, the undetectable on-line dictionary attack to [23] also
works for lately proposed scheme [25].
On all the above schemes in the cross-realm setting, clients use their cor-
responding servers to obtain information for authentication and directly com-
municate for establishing their session key after obtaining these information.
So, we call these schemes have direct communication structure. On the other
hand, there are cross-realm C2C-PAKE schemes which have another structure,
called indirect communication structure. Clients communicate only through their
Secure Cross-Realm C2C-PAKE 259
2 Preliminaries
Our cross-realm C2C-PAKE scheme contains four parties (two clients and two
servers) who will engage in the protocol. In cross-realm setting, each client is in a
realm and has a corresponding server belonging to the realm. Let each password
be pre-shared between a client and a corresponding server and be uniformly
and independently chosen from fixed low-entropy dictionary D of the size |D|.
An outside adversary or a malicious insider can obtain and modify messages on
unauthenticated-links channels.
– Known-key security: The protocol should still achieve its goal in the face
of an adversary who has learned some other session keys - unique secret keys
which each run of a key exchange protocol between clients should produce.
– No key control: The secret session key between any two clients is deter-
mined by both users taking part in, and none of the two clients can influence
the outcome of the secret session key, or enforce the session key to fall into
a pre-determined interval.
3 Proposed Scheme
In this section, we show our cross-realm C2C-PAKE scheme.
3.2 Notation
Let p be a prime and let g be a generator of a large subgroup from Z∗p of prime
order p. Note that g is not element of bilinear groups. A and B are identity
of two clients in two different realms, and SA and SB are identities of their
corresponding servers respectively. A and SA (resp. B and SB) shared common
secret password pwA (resp. pwB ), and SA and SB received their private keys
skSA = sH̄(SA) and skSB = sH̄(SB) from the trusted authority in the ID-
based system as [28] and [29] in advance, where s ∈ Zq is the master secret of
the trusted authority and H̄ : {0, 1}∗ → G1 is a collision-resistant hash func-
tion. (Enc, Dec) is Boneh-Franklin ID-based encryption (IBE) [28] with Fujisaki-
Okamoto conversion [30], which satisfies semantically secure against adaptive
chosen ciphertext attacks (ID-CCA), where Encid (m) is encryption algorithm
of a message m using an identity id and Decskid (c) is decryption algorithm of
a cipher-text c using a private key skid . MACmk is an existentially unforgeable
MAC scheme against adaptively chosen message attacks where mk ∈ G2 is a
MAC key. H1 , H2 , H3 : {0, 1}∗ → {0, 1}k are hash functions modeled as random
oracles, where k is a sufficiently large security parameter.
For simplicity, we omit “(mod p)” in this paper when computing the modular
R
exponentiation. “v ← V ” means randomly choosing an element v of a set V .
262 K. Yoneyama, H. Ota, and K. Ohta
R R
x ← Zp y ← Zp
X := gx Y := gy
∗
X := X · H1 (pwA , A, B) Y ∗ := Y · H1 (pwB , B, A)
CA ← EncSA (X ∗ , pwA ) CB ← EncSB (Y ∗ , pwB )
A, B, CA B, A, CB
−
−−−−−−−→ ←−−−−−−− −
∗ , pw
(X ∗ , pw
A) (Y B)
← Decsk (CA ) ← Decsk (CB )
SA SB
? ?
pw A = pwA
pw B = pwB
R R
rA ← Z p rB ← Z p
R R
NA ← {0, 1}k NB ← {0, 1}k
X̂ := X ∗ /H (pw , A, B) Ŷ := Y ∗ /H (pw , B, A)
1 A 1 B
X1 := X̂ rA Y1 := Ŷ rB
mkSA := ê(skSA , H̄(SB)) mkSB := ê(H̄(SA), skSB )
MSA ← MACmk (A, B, MSB ← MACmk (B, A,
SA SB
SA, SB, X1 ) SB, SA, Y1 )
? ?
MSB = MACmk (B, A, MSA = MACmk (A, B,
SA SB
SB, SA, Y1 ) SA, SB, X1 )
rA r
Y2 := Y1 X2 := X1 B
Ȳ ∗ := X̄ ∗ :=
Y2 · H2 (NA , pwA , CA ) X2 · H2 (NB , pwB , CB )
∗ ∗
SA, SB, NA , Ȳ SB, SA, NB , X̄
←−−−−−−−−−−−−− − −
−−−−−−−−−−−−− →
KA := KB :=
(Ȳ ∗ /H2 (NA , pwA , CA ))x (X̄ ∗ /H2 (NB , pwB , CB ))y
SKA := SKB :=
H3 (A, B, SA, SB, CA , H3 (A, B, SA, SB, CA ,
CB , X̄ ∗ , Ȳ ∗ , KA ) CB , X̄ ∗ , Ȳ ∗ , KB )
MAC MSA ← MACmkSA (A, B, SA, SB, X1 ). SB also computes Y1 , mkSB and
generates MSB similarly. Then SA and SB exchange (A, B, SA, SB, X1 , MSA )
and (B, A, SB, SA, Y1 , MSB ). After that, SA and SB verify MSB and MSA by
using their MAC keys respectively. If MACs are invalid, they abort the session.
Otherwise, SA blinds Y2 = Y1rA and computes Ȳ ∗ = Y2 ·H2 (NA , pwA , CA ) where
NA is SA’s second random value from {0, 1}k . SB performs similar operations
and obtains X̄ ∗ . At the end, SA sends Ȳ ∗ , NA to A, and SB sends X̄ ∗ , NB
to B.
Thirdly, A and B compute their ephemeral Diffie-Hellman keys KA = (Ȳ ∗ /
H2 (NA , pwA , CA ))x and KB = (X̄ ∗ / H2 (NB , pwB , CB ))y respectively. Session
keys are generated from the ephemeral Diffie-Hellman key and transcripts, SKA
= H3 (A, B, SA, SB, CA , CB , X̄ ∗ , Ȳ ∗ , KA ) and SKB = H3 (A, B, SA, SB,
CA , CB , X̄ ∗ , Ȳ ∗ , KB ). Note that transcripts of the protocol are public.
When session keys are honestly generated, SKA = SKB since KA = (g yrA rB )x
and KB = (g xrA rB )y .
4 Analysis of Security
In this section, we show security properties of our scheme. For space limitation,
we cannot give all detailed analyses here, only brief outline. In this paper, in
particular, we show resistance to unknown-key share attacks and resistance to
undetectable on-line dictionary attacks which Yin-Bao scheme does not satisfy.
We will show all details in the full paper.
with another client A, C is required to know the password pwA so that he could
pass the verification of B. Otherwise, the attack hardly works.
So, we consider the case of that a malicious insider C wants to share a session
key with a client B, while B believes that he shares the session key with a client
A. Then, C cannot validly modify (B, A, CB ) into (B, C, C B ) in the message to
SB since C cannot compute H1 (pwB , B, C) instead of H1 (pwB , B, A) without
the knowledge of pwC . If C doesn’t modify CB , then B’s session key is random-
ized by SB’s operation to compute Ŷ and C cannot obtain information of it.
Also, C cannot validly modify (A, B, SA, SB, X1 , MSA ) to (C, B, SC, SB, X 1 ,
M SA ) since he has no information of SA’s MAC key. Thus, the probability of C
successfully impersonates of A can be negligible.
A chance to attack is only when an adversary sends messages in the first phase as
a client to servers since messages in other phases to servers contain no informa-
tion of passwords. However, the adversary cannot replay to send messages in the
first phase according to guessed passwords, since if he computes the ciphertext
with a wrong password, then the server verifies it and will abort. Thus, since the
adversary successfully continues on-line dictionary attacks only if the adversary
successfully guesses the password, the success probability can be negligible close
to 1/|D|.
5 Conclusion
We proposed a new cross-realm C2C-PAKE scheme which clients only need the
optimal number of communication rounds and need no communication across
different realms. Furthermore, we showed our scheme is secure against unknown-
key share attacks and undetectable on-line dictionary attacks which successfully
work to Yin-Bao scheme.
A remaining problem of further researches is to give provable security to our
scheme. For proving formal security, since the formal security model of [26] has
some defects, we have to cultivate the model. It will be achieved by referring
to the recent formal model of authenticated key exchange, e.g., the model of
LaMacchia et al. [32].
References
1. Bellovin, S.M., Merritt, M.: Encrypted Key Exchange: Password-Based Protocols
Secure Against Dictionary Attacks. In: IEEE S&P 1992, pp. 72–84 (1992)
2. Jablon, D.P.: Strong Password-Only Authenticated Key Exchange. Computer
Communication Review, ACM SIGCOMM 26(5), 5–26 (1996)
3. Bellare, M., Pointcheval, D., Rogaway, P.: Authenticated Key Exchange Secure
against Dictionary Attacks. In: Preneel, B. (ed.) EUROCRYPT 2000. LNCS,
vol. 1807, pp. 139–155. Springer, Heidelberg (2000)
Secure Cross-Realm C2C-PAKE 265
1 Introduction
We define identifying and discriminating codes in a connected, undirected graph
G = (V, E), in which a code is simply a nonempty subset of vertices. These
definitions can help, in various meanings, to unambiguously determine a vertex.
The motivations may come from processor networks where we wish to locate a
faulty vertex under certain conditions, or from the need to identify an individual,
given its set of attributes.
In G we define the usual distance d(v1 , v2 ) between two vertices v1 , v2 ∈ V as
the smallest possible number of edges in any path between them. For an integer
r ≥ 0 and a vertex v ∈ V , we define Br (v) the ball of radius r centred at v, as
the set of vertices within distance r from v. Whenever two vertices v1 and v2 are
such that v1 ∈ Br (v2 ) (or, equivalently, v2 ∈ Br (v1 )), we say that they r-cover
each other. A set X ⊆ V r-covers a set Y ⊆ V if every vertex in Y is r-covered
by at least one vertex in X.
The elements of a code C ⊆ V are called codewords. For each vertex v ∈ V ,
we denote by
KC,r (v) = C ∩ Br (v)
the set of codewords r-covering v. Two vertices v1 and v2 with KC,r (v1 ) =
KC,r (v2 ) are said to be r-separated by code C, and any codeword belonging to
exactly one of the two sets Br (v1 ) and Br (v2 ) is said to r-separate v1 and v2 .
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 267–270, 2007.
c Springer-Verlag Berlin Heidelberg 2007
268 I. Charon et al.
A code C ⊆ V is called r-identifying [10] if all the sets KC,r (v), v ∈ V , are
nonempty and distinct. In other words, every vertex is r-covered by at least one
codeword, and every pair of vertices is r-separated by at least one codeword.
Such codes are also sometimes called differentiating dominating sets [8].
We now suppose that G is bipartite: G = (V = I ∪ A, E), with no edges inside
I nor A — here, A stands for attributes and I for individuals. A code C ⊆ A is
said to be r-discriminating [4] if all the sets KC,r (i), i ∈ I, are nonempty and
distinct. From the definition we see that we can consider only odd values of r.
In the following, we drop the general case and turn to the binary Hamming
space of dimension n, also called the binary n-cube, which is a regular bipartite
graph. First we need to give some specific definitions and notation.
We consider the n-cube as the set of binary row-vectors of length n, and as
so, we denote it by G = (F n , E) with F = {0, 1} and E = {{x, y} : d(x, y) = 1},
the usual graph distance d(x, y) between two vectors x and y being called here
the Hamming distance — it simply consists of the number of coordinates where
x and y differ. The Hamming weight of a vector x is its distance to the all-
zero vector, i.e., the number of its nonzero coordinates. A vector is said to be
even (respectively, odd) if its weight is even (respectively, odd), and we denote
by E n (respectively, On ) the set of the 2n−1 even (respectively, odd) vectors
in F n . Without loss of generality, for the definition of an r-discriminating code,
we choose the set A to be E n , and the set I to be On . Additions are carried
coordinatewise and modulo two.
Given a vector x ∈ F n , we denote by π(x) its parity-check bit: π(x) = 0 if x
is even, π(x) = 1 if x is odd. Therefore, if | stands for concatenation of vectors,
x|π(x) is an even vector. Finally, we denote by Mr (n) (respectively, Dr (n)) the
smallest possible cardinality of an r-identifying (respectively, r-discriminating)
code in F n .
In Section 2, we show that in the particular case of Hamming space, the two
notions of r-identifying and r-discriminating codes actually coincide for all odd
values of r and all n ≥ 2, in the sense that there is a bijection between the set
of r-identifying codes in F n and the set of r-discriminating codes in F n+1 .
2 Identifying Is Discriminating
As we now show with the following two theorems, for any odd r ≥ 1, any r-
identifying code in F n can be extended into an r-discriminating code in F n+1 ,
and any r-discriminating code in F n can be shortened into an r-identifying code
in F n−1 . First, observe that r-identifying codes exist in F n if and only if r < n.
Theorem 1. Let n ≥ 2, p ≥ 0 be such that 2p + 1 < n, let C ⊆ F n be a
(2p + 1)-identifying code and let
C = {c|π(c) : c ∈ C}.
Then C is (2p + 1)-discriminating in F n+1 . Therefore,
D2p+1 (n + 1) ≤ M2p+1 (n). (1)
Links Between Discriminating and Identifying Codes 269
3 Conclusion
We have shown the equivalence between discriminating and identifying codes;
the latter being already well studied, this entails a few consequences on discrim-
inating codes.
270 I. Charon et al.
References
1. Blass, U., Honkala, I., Litsyn, S.: On The Size of Identifying Codes. In: Fossorier,
M.P.C., Imai, H., Lin, S., Poli, A. (eds.) AAECC-13. LNCS, vol. 1719, pp. 142–147.
Springer, Heidelberg (1999)
2. Blass, U., Honkala, I., Litsyn, S.: On Binary Codes for Identification. J. of Combi-
natorial Designs 8, 151–156 (2000)
3. Blass, U., Honkala, I., Litsyn, S.: Bounds on Identifying Codes. Discrete Mathe-
matics 241, 119–128 (2001)
4. Charbit, E., Charon, I., Cohen, G., Hudry, O.: Discriminating Codes in Bipartite
Graphs. Electronic Notes in Discrete Mathematics 26, 29–35 (2006)
5. Charon, I., Cohen, G., Hudry, O., Lobstein, A.: Discriminating Codes in (Bipartite)
Planar Graphs. European Journal of Combinatorics (to appear)
6. Exoo, G.: Computational Results on Identifying t-codes (preprint, 1999)
7. Exoo, G., Laihonen, T., Ranto, S.: Improved Upper Bounds on Binary Identifying
Codes. IEEE Trans. Inform. Theory (to appear)
8. Gimbel, J., Van Gorden, B.D., Nicolescu, M., Umstead, C., Vaiana, N.: Location
with Dominating Sets. Congressus Numerantium 151, 129–144 (2001)
9. Honkala, I., Lobstein, A.: On the Complexity of the Identification Problem in
Hamming Spaces. Acta Informatica 38, 839–845 (2002)
10. Karpovsky, M.G., Chakrabarty, K., Levitin, L.B.: On a New Class of Codes for
Identifying Vertices in Graphs. IEEE Trans. Inform. Theory 44(2), 599–611 (1998)
11. Ranto, S.: Identifying and Locating-Dominating Codes in Binary Hamming Spaces.
Ph. D Thesis, University of Turku (2007)
12. http://www.infres.enst.fr/∼ lobstein/bibLOCDOMetID.html
Construction of Rotation Symmetric Boolean
Functions on Odd Number of Variables with
Maximum Algebraic Immunity
1 Introduction
Algebraic attack has received a lot of attention recently in studying the secu-
rity of Stream ciphers as well as Block ciphers (see [1,2,3,4,5] and the references
therein). One necessary condition to resist this attack is that the Boolean func-
tion used in the cipher should have good algebraic immunity (AI). It is known
[2] that for any n-variable Boolean function, maximum possible AI is n2 .
So far a few theoretical constructions of Boolean functions with optimal AI
have been presented in the literature. In [4], the first ever construction of Boolean
functions with maximum AI was proposed. Later, the construction of symmetric
Boolean functions with maximum AI was given in [6]. For odd number of in-
put variables, majority functions are the examples of symmetric functions with
maximum AI. Recently in [9], the idea of modifying symmetric functions to get
other functions with maximum AI is proposed using the technique of [5].
An n-variable Boolean function which is invariant under the action of the
cyclic group Cn on the set Vn = {0, 1}n is called Rotation Symmetric Boolean
functions (RSBFs). We denote the class of all n-variable RSBFs as S(Cn ). On the
other hand, an n-variable symmetric Boolean function is one which is invariant
under the action of the symmetric group Sn on the set Vn and we denote the
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 271–280, 2007.
c Springer-Verlag Berlin Heidelberg 2007
272 S. Sarkar and S. Maitra
class of all n-variable symmetric Boolean functions as S(Sn ). The class S(Cn )
has been shown to be extremely rich as the class contains Boolean functions
with excellent cryptographic as well as combinatorial significance (see [7,12] and
the references therein). As for example, in [7], 9-variable Boolean functions with
nonlinearity 241 have been discovered in S(C9 ) which had been open for a long
period. Also an RSBF has a short representation which is interesting for the
design purpose of ciphers. Since Cn ⊂ Sn , we have S(Sn ) ⊂ S(Cn ). Therefore
all the symmetric functions with maximum AI are also examples of RSBFs with
maximum AI. The class S(Cn )\ S(Sn ) becomes quite huge for larger n. However,
so far there has been no known construction method available which gives n-
variable RSBFs belonging to S(Cn ) \ S(Sn ), having the maximum AI. It has
been proved in [10,13], that the majority function (upto complementation) is
the only possible symmetric Boolean function on odd number of variables which
has maximum AI. Hence, there is a need to get a theoretical construction method
which provides new class of RSBFs with maximum AI, which are not symmetric.
In this paper we present a construction method (Construction 1) that gener-
ates RSBFs on odd variables (≥ 5) with maximum AI, which are not symmetric.
Note that up to 3 variables, RSBFs are all symmetric, and that is the reason we
concentrate on n ≥ 5. In this construction, complement of n-variable majority
function is considered and its outputs are toggled at the inputs of the orbits of
size n2 and n2 respectively. These orbits are chosen in such a manner that a
sub matrix associated to these points is nonsingular. This idea follows the work
of [5], where the sub matrix was introduced to reduce the complexity for deter-
mining AI of a Boolean function.
We also show that the n−1 functions
n−1of
this class
have nonlinearity 2n−1 − n−1 n + 2 which is better than 2 − , the lower
2 2
n
bound [11] on nonlinearity of any n (odd) variable function with maximum AI;
further the general theoretical constructions [4,6] could only achieve this lower
bound so far.
We present a generalization of the Construction 1 in Construction 2 which
is further generalized in Construction 3. In each of the generalizations we re-
lease the restrictions on choosing orbits and achieve better nonlinearity of the
constructed RSBFs with maximum AI. We present instances of RSBFs having
n−1
nonlinearities equal to or slightly less than 2n−1 − 2 2 for odd n, 7 ≤ n ≤ 11.
One may refer to [7,6] for basics of Boolean functions, and in particular,
symmetric and rotation symmetric Boolean functions. Also [5] gives detailed
description on algebraic immunity of a Boolean function.
If the degree of the function g is less than equal to d, then the ANF of g is of
the form
n
g(x1 , . . . , xn ) = a0 + ai xi + · · · + ai1 ,...,id xi1 · · · xid ,
i=0 1≤i1 <i2 ···<id ≤n
where a0 , a1 , . . . , a12 , . . . an−d+1,...,n are from {0, 1} not all zero. Then the rela-
tion 1 gives a homogeneous linear equation
n
a0 + ai xi + · · · + ai1 ,...,id xi1 · · · xid = 0, (2)
i=0 1≤i1 <i2 ···<id ≤n
Consider that a matrix A is formed from A by replacing the rows vi1 , . . . , vik of
A by the vectors u1 , . . . , uk . Further consider the k × k matrix Z is formed by
taking the j1 -th, j2 -th, . . ., jk -th columns of Z. Then A is nonsingular if and
only if Z is nonsingular.
From the construction of Fn it is clear that it is balanced. Now construct
the matrix W = Mn, n2 (1 ⊕ Gn ) × Mn, n2 (Gn ). Consider A to be the ma-
trix Mn, n2 (Gn ) and let U be the matrix formed by i1 -th, . . . , ik -th rows of
Mn, n2 (1 ⊕ Gn ) which are the row vectors vn, n2 (Yi1 ), . . . , vn, n2 (Yik ) respec-
tively. Now replace the j1 -th, . . ., jk -th rows of Mn, n2 (Gn ) which are respec-
tively the row vectors vn, n2 (Xj1 ), . . . , vn, n2 (Xjk ) by the rows of U and form the
new matrix A . Note that A is exactly the Mn, n2 (Fn ) matrix. Let W|Y i |×|X j | be
the matrix formed by taking i1 -th, . . . , ik -th rows and j1 -th, . . ., jk -th columns
of W . Then Mn, n2 (Fn ) is nonsingular if and only if W|Y i |×|X j | is nonsingular.
Thus we have the following theorem.
Theorem 2. The function Fn has maximum algebraic immunity if and only if
the sub matrix W|Y i |×|X j | is nonsingular.
The following proposition characterizes W .
Proposition 5. [5] The (q, p)-th element of the matrix W is given by W(q,p) =
n
2 −wt(Xp )
wt(Yq ) − wt(Xp )
0 if W S(Xp ) ⊆ W S(Yq ) and W(q,p) = mod 2,
t=0
t
otherwise; where W S((x1 , . . . , xn )) = {i : xi = 1} ⊆ {1, . . . , n}.
Let us first find the relation between the values of WRn (Λn ) and WGn (Λn ).
n R (ζ) ζ·Λn R (ζ) ζ·Λn
WR (Λ ) = (−1) n (−1) + (−1) n (−1)
n
ζ∈Vn \{Ox ∪Oy } ζ∈Ox
n
+ (−1)Rn (ζ) (−1)ζ·Λ
ζ∈Oy
G (ζ) ζ·Λn
− (−1) n (−1)
ζ∈Oy
n ζ·Λn ζ·Λn
= WG (Λ ) + 2 (−1) −2 (−1) (3)
n
ζ∈Ox ζ∈Oy
CASE II : n2 is odd.
Using
the similar argumentas applied in the previous case, we can show that
ζ·Λn n
ζ∈Ox (−1) = −n and ζ∈Oy (−1)ζ·Λ = n. Therefore from Equation 3, we
get WRn (Λn ) = 2 n−1n − 2n − 2n = 2 n−1 n
− 4n.
n−12 2
Note that 2 n > 4n, except for the case n = 5. Therefore for both of the
2
cases and for n ≥ 7, |WRn (Λn )| = 2 n−1 n −4n. Also 2 n−1 n
−4n < 2 n−1
n
−4, for
2 2 2
n ≥ 7. This implies that |WRn (Λ )| ≤ |WRn (Δ )| for n ≥ 7, where Δ ∈ Vn is an
n n n
Let us check the Walsh spectrum values of Rn at the other inputs, i.e., except
inputs of weight 1 and n. For n ≥ 7, the second maximum absolute value in the
Walsh spectrum of Gn occursat the inputs n−3 3 and n − 2. The exact
n−3 of weight
value at weight 3 input is C = [ n−3 −2 + ], whereas at the input
2 −1 2 −2
n−1 n−1 n−1
2
of weight n − 2, the exact value is C when 2 is even and it is −C when n2 is
n
odd. Equation 3 implies that when wt(Λn ) = 3 or n − 2, |WRn (Λn )| can attain
278 S. Sarkar and S. Maitra
n−3 n−3
value maximum up to |WGn (Λn )| + 4n, i.e., n−3 − 2 n−1 + n−1 −2 + 4n.
2 −1
n−1
n−3 n−3 n−3 2 n−1 2
4 Generalization of Construction 1
Gn (X) ⊕ 1, if X ∈ {∪kt=0 Ozt } {∪lt=0 Owt }
Rn (X) =
Gn (X), elsewhere .
Proof. Following the same argument as used in Theorem 3 we can prove that
W|∪kt=0 Ozt |×|∪lt=0 Owt | is a diagonal matrix whose diagonal elements are all equal
to 1, i.e., it is nonsingular. Hence the proof.
Here for each x ∈ Oz1 ∪ Oz2 , there exists a unique y ∈ Ow1 ∪ Ow2 such that
n2 −wt(x ) wt(y )−wt(x )
W S(x ) ⊂ W S(y ) and t=0 t is odd. Then construct,
Gn (X) ⊕ 1, if X ∈ {Oz1 ∪ Oz2 } {Ow1 ∪ Ow2 }
Rn (X) =
Gn (X), elsewhere .
Clearly, the function Rn is an n-variable RSBF with maximum AI. Construction
3 will provide all the RSBFs with maximum AI. In this case we need a heuristic to
search through the space of RSBFs with maximum AI as the exhaustive search
may not be possible as number of input variables n increases. One may note
that it is possible to use these techniques to search through the space of general
n
Boolean functions, but that space is much larger (22 ) compared to the space
2n
of RSBFs (≈ 2 n ) and getting high nonlinearity after a small amount of search
using a heuristic is not expected. We present a simple form of heuristic as follows
that we run for several iterations.
1. Start with an RSBF n having maximum AI using Construction 1.
2. Choose two orbits of same sizes having different output values and toggle
the outputs corresponding to both the orbits (this is to keep the function
balanced).
3. If the modified function is of maximum AI and having better nonlinearity
than the previous ones, then we store that as the best function.
By this heuristic, we achieve 7, 9, 11 variable RSBFs with maximum possible AI
having nonlinearities 56, 240, 984 respectively with very small amount of search.
n−1
Note that these nonlinearities are either equal or close to 2n−1 − 2 2 .
5 Conclusion
In this paper, we present the construction (Construction 1) of Rotation Sym-
metric Boolean functions on n ≥ 5 (odd) variables with maximum possible
algebraic immunity. We determine the nonlinearity of the RSBFs constructed in
Construction 1 and find that the nonlinearity is 2 more than the lower bound
of nonlinearity of n (odd) variable Boolean functions with maximum algebraic
immunity. Prior to our construction, the existing theoretical constructions could
280 S. Sarkar and S. Maitra
achieve only the lower bound. We also included little amount of search with the
construction method to get RSBFs having maximum possible AI and very high
nonlinearity. With minor modifications, our method will work for RSBFs on even
number of variables. This will be available in the full version of this paper.
References
1. Armknecht, F., Carlet, C., Gaborit, P., Kuenzli, S., Meier, W., Ruatta, O.: Efficient
computation of algebraic immunity for algebraic and fast algebraic attacks. In:
Vaudenay, S. (ed.) EUROCRYPT 2006. LNCS, vol. 4004, Springer, Heidelberg
(2006)
2. Courtois, N., Meier, W.: Algebraic Attacks on Stream Ciphers with Linear Feed-
back. In: Biham, E. (ed.) EUROCRPYT 2003. LNCS, vol. 2656, pp. 345–359.
Springer, Heidelberg (2003)
3. Dalai, D.K., Gupta, K.C., Maitra, S.: Results on Algebraic Immunity for Crypto-
graphically Significant Boolean Functions. In: Canteaut, A., Viswanathan, K. (eds.)
INDOCRYPT 2004. LNCS, vol. 3348, pp. 92–106. Springer, Heidelberg (2004)
4. Dalai, D.K., Gupta, K.C., Maitra, S.: Cryptographically Significant Boolean func-
tions: Construction and Analysis in terms of Algebraic Immunity. In: Gilbert, H.,
Handschuh, H. (eds.) FSE 2005. LNCS, vol. 3557, pp. 98–111. Springer, Heidelberg
(2005)
5. Dalai, D.K., Maitra, S.: Reducing the Number of Homogeneous Linear Equations
in Finding Annihilators. In: Gong, G., Helleseth, T., Song, H.-Y., Yang, K. (eds.)
SETA 2006. LNCS, vol. 4086, pp. 376–390. Springer, Heidelberg (2006)
6. Dalai, D.K., Maitra, S., Sarkar, S.: Basic Theory in Construction of Boolean Func-
tions with Maximum Possible Annihilator Immunity. Design, Codes and Cryptog-
raphy 40(1), 41–58 (2006)
7. Kavut, S., Maitra, S., Sarkar, S., Yücel, M.D.: Enumeration of 9-variable Rotation
Symmetric Boolean Functions Having Nonlinearity > 240. In: Barua, R., Lange,
T. (eds.) INDOCRYPT 2006. LNCS, vol. 4329, pp. 266–279. Springer, Heidelberg
(2006)
8. Kurosh, A.G.: Theory of Groups. Chelsea Publishing Co., New York (1955)
9. Li, N., Qi, W.F.: Construction and Analysis of Boolean Functions of 2t+1 Variables
With Maximum Algebraic Immunity. In: Lai, X., Chen, K. (eds.) ASIACRYPT
2006. LNCS, vol. 4284, pp. 84–98. Springer, Heidelberg (2006)
10. Li, N., Qi, W.F.: Symmetric Boolean functions Depending on an Odd Number of
Variables with Maximum Algebraic Immunity. IEEE Trans. Inform. Theory 52(5),
2271–2273 (2006)
11. Lobanov, M.: Tight Bound Between Nonlinearity and Algebraic Immunity. Cryp-
tology ePrint Archive no. 2005/441 (2005)
12. Stănică, P., Maitra, S.: Rotation Symmetric Boolean Functions – Count and Cryp-
tographic Properties. Discrete Applied mathematics (to be published),
http://dx.doi.org/10.1016/j.dam.2007.04.029
13. Qu, L., Li, C., Feng, K.: A Note on Symmetric Boolean Functions with Maxi-
mum Algebraic Immunity in Odd Number of Variables. IEEE Trans. Inform. The-
ory 53(8), 2908–2910 (2007)
A Path to Hadamard Matrices
1 Introduction
Hadamard Matrices are named after Jacques Hadamard (1865-1963) and are
square matrices of order 1, 2, 4n, n = 1. . . ∞, whose entries are on the unit
circle, and whose rows are all orthogonal to each other. That is,
Hn HnT = nI (1)
where n is the order of matrix.
Hadamard Matrices currently are found using construction techniques which
have been generally classified [3] as recursion theorems, ”plug-in” methods or
direct constructions. These are summarised in the following table:
Full details of the construction methods mentioned above can be found in [3]
while other methods can be found in [8] and are not included here. The important
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 281–290, 2007.
c Springer-Verlag Berlin Heidelberg 2007
282 P. Embury and A. Rao
aspect is that using any of the methods above, not all orders of Hadamard
matrices have been verified that they can be created since they are constructed
from matrices of lower orders. This is the long (since 1893) unsolved Hadamard
conjecture. In addition, the nature of equivalence is not fully understood and
only orders up to 28 have been fully explored, which has a known 427 equivalence
classes.
Hadamard matrices are formed into equivalence classes where they are deemed
to be equivalent if the following operations are performed on them to arrive at
the same matrix:
More recently [6] has defined Q-classes to enable more manageable categorisa-
tion of the equivalence classes by “extracting” common sub-matrices or substruc-
tures of Hadamard matrices and classifying those matrices with these common
sub-matrices as Q-equivalent.
2 Background
Instead of relying on construction techniques to construct, and sheer brute force
to test for, Hadamard matrices, there are characteristics that enable Hadamard
matrices be searched for using optimisation methods [4,7]. These characteristics
also provide clues to the nature of Hadamard equivalence classes.
There are two properties of matrices that offer the opportunity to search
for the existence of Hadamard matrices using optimisation techniques: the de-
terminant and the eigenvectors and eigenvalues. These are, of course related
measures.
The determinant for a Hadamard matrix is given by
But one of the drawbacks in using the determinant is that it has sharp peaks
and exhibits properties analogous to the Hamming cliffs encountered when using
optimisation methods with binary strings as distinct from gray encoded strings.
This primarily arises from the fact that the determinant is 0 when it becomes
singular which can occur as soon as one row becomes identical to another. Also,
there are multiple matrices that have the same determinant with little or no
indication as to the direction a search could or should progress.
The eigenvectors of a Hadamard matrix all lie on the unit circle and the
absolute value of the eigenvalues are constant and equal to n, where n is the
order of the Hadamard matrix. Since the eigenvectors can be complex and half
the eigenvalues are negative, it is easier to consider the RHS of (1) and the effects
on it when looking at the optimisation path.
The question that arises is: what is the sensitivity of the eigenvalues to errors
that would enable its use in optimisation?
A Path to Hadamard Matrices 283
It will be shown that the variance of the eigenvalues (EVV) of the RHS of (1)
can provide a suitable optimisation path since:
1. The intra-row errors describe an EVV path that is represented by the para-
bolic equation: x
8x 1 − (3)
N
where x is the number of cells within a row that are inverted and N is the
order of the matrix. The variance of the eigenvalues is calculated as:
n
(λi − Eλ)2
EV V = (4)
i=1
n
Note: Eλ = n
2. The inter-row errors are described by the recursive equation:
y (y − 1)
EV Vx = M (5)
2
where y is the number of non-orthogonal rows and M is the maximum EVV
for each row which occurs where x = N/2 in (3). Eg, for order 8, M = 16
and EVV for an entire order 8 matrix of ones = 448.
As successive errors are introduced to a row, the eigenvalues (of the RHS of
(1)) are affected according to the following tables and the variance follows an
inverted parabolic path.
284 P. Embury and A. Rao
By the time all the entries in a row are inverted we have arrived at another (but
equivalent) Hadamard matrix. Not only do the eigenvalues follow a predicable
path, there is an indication of the number of rows that are not orthogonal to
each other.
What if there are errors in more than one row? In a simple situation where
there is a single error in another row, and the particular column entries of the
two rows have the same sign, then the errors aggregate, not only in that column,
but also in other columns that have the same sign. When the column entries
have opposite signs, they tend to compensate. (Figure 2)
But it is not so simple and with multiple errors, the situation needs to be
viewed of sub-matrices of order 2 that include the respective rows. The EVV
induced by errors on odd-weighted sub-matrices is double that of even weighted
sub-matrices.
What if we overwrite two rows with ones within a Hadamard matrix (besides
the first row)? Three rows, four rows....? What is the total EVV that can be
found for a matrix consisting only of +1 in a matrix of a given order? The
results are in the following table for those of order 8.
The total EVV of a square matrix of ones, (eg for order 8 is 448) which is
the furthest a matrix can digress from Hadamard, can be broken down and it
A Path to Hadamard Matrices 285
Fig. 2. Order 8 with same sign and opposite sign in another row as successive cells are
inverted
is possible to determine how many rows are not orthogonal to each other. In
other words, every Hadamard matrix of any order must comply with (5) since
replacing successive rows will automatically induce a known level of EVV until
it reaches a maximum.
1. The first method is to consider the matrix as a whole and successively test
individual cells as to the effect on the EVV. In other words, each cell has
a marginal contribution to the total EVV of the matrix. At each iteration,
the entire matrix can be searched for the cell that when inverted, gives the
greatest reduction in EVV, and then invert that cell. This will not always
give a complete path to a Hadamard matrix since there are other criteria
elaborated below that also need to be satisfied. Also, given that the eigenval-
ues are continually being calculated, this method is only suitable for matrices
of smaller orders.
2. A second method is to optimise to a Hadamard matrix from a matrix of
ones row-by-row. Exactly the opposite to successively substituting rows of a
Hadamard matrix by rows of ones. The objective is to find which combination
of cells within each row needs to be inverted to fit the expected EVV from (5).
By way of an example for the second method, start with a matrix of ones of
the desired order, say 8. (Assume the the matrix will be normalised whereby
286 P. Embury and A. Rao
there will be exactly 4 -1’s in every row or column except the first row and
column which will be all 1’s.)
. .
. . . . . .
. .
. . X X X X
. X
X . X X . .
. .
. . . . . .
..
.
0 1 1 0 2 2 1 1
Note that the last row in the table is the sum of the “weights” or number of
X s already in each of the columns.
Any of the 8 rows in figure 5 are valid possible insertions for the fourth row
since if they are inserted, the resultant EVV is 160 and each row has exactly 2
columns that match the -1s already in rows 2 and 3. Only one of these does not
include column 4 which stands to reason since there is only one way of matching
up exactly two columns with the existing rows 2 & 3. (Also note that this row
is the difference between rows 2 and 3. This characteristic may offer a method
of taking shortcuts in the algorithm or possibly lead to clues about the nature
of equivalence.)
A Path to Hadamard Matrices 287
. X X . . . X X
. X . X X . X .
. X . X X . . X
. X . X . X X .
. . X X X . X .
. . X X X . . X
. . X X . X X .
. . X X . X . X
Now compare these rows with rows in figure 6 which will be rejected because
they do not have the desired EVV (These are only 6 out of the possible 26.)
The EVV column displays the resultant EVV of the matrix should that row
be used as the new row 4. The last two columns show the difference between the
candidate new row and the pre-existing rows 2 and 3 respectively. The last two
candidate rows are the same as the rows already inserted and hence should be
immediately rejected.
The important thing to note is that all the rows that result in the desired
EVV of 160, have exactly n4 matches between itself and all previous rows (not
including the first row). In other words, for every possible column permutation
for the next particular row, if there aren’t n4 matches then the combination
can be rejected immediately.
The other noticeable facet concerns the number of all the Xs (see the bot-
tom row of figure 4) or weights of the columns. Each successful combination or
candidate row satisfies:
n
W eights = (row − 2) (6)
4
This is another rule that can be used to fine-tune the algorithm. For example,
the first successful candidate row tells us to insert Xs in columns 2, 3, 7 and 8.
These four coulmns have weights (from figure (4)) of
8
1 + 1 + 1 + 1 = 4 = (4 − 2) (7)
4
288 P. Embury and A. Rao
If we assume that the second candidate row is selected (from figure 5) for row
4, what are the circumstances for the next iteration?
Figure 7 has the starting position and figure 8 has the new possible rows for
row 5 (there are only 4 possibilities).
. .
. . . . . .
. .
. . X X X X
. X
X . X X . .
. X
. X X . X .
. .
. . . . . .
..
.
0 2 1 1 3 2 2 1
1. The desired EVV for each successive row needs to satsify EV V = x(x−1)
2 M
where M is the maximum EVV for each row which occurs where x = N/2.
2. Each new row must have n4 matches of X with every preceding row
3. The weights of each column must satisfy W eights = (row − 2) n4
optimising to an order 12 matrix. After 3 rows we may have the following order
12 matrix:
. . . . . . . . . . . .
. . . . . . X X X X X X
. X X X . . . . . X X X
. . . . . . . . . . . .
..
.
The following rows are all possible for the fourth row (there are others). . .
.XX X..X XX ...
.XX .X .X ..X X.
.XX .X .X ..X .X
.XX .X ..X .X X.
If the first row was selected then the situation could arise where we have. . .
. . . . . . . . . . . .
. . . . . . X X X X X X
. X X X . . . . . X X X
. X X X . . X X X . . .
. . . . . . . . . . . .
..
.
This is a situation which could occur but the problem is there is no further
step. The EVV given by (5) is an expected 864 which satisfies criterion 1. Crite-
rion 2 is satisfied since each row matches exactly 3 times against each previous
row. However, criterion 3 fails, since the weights all = 2, and the required weights
to proceed needs 6 columns to add up to 9 which is an impossibility.
In other words, an additional constraint is needed to ensure that the subse-
quent steps are valid which could lead to a large recursive tree for matrices of
larger orders. This particular problem is easily circumvented by not choosing
this particular row for row 4. This is the only exception encountered so far from
other simulations on orders 8, 12, 16, 20 and 24 by randomly selecting any of
the valid available rows.
4 Conclusions
The methods presented in this paper are only the start of possible alternatives
using the eigenvalues and eigenvectors to search for Hadamard matrices. Can
they be investigated further?
References
1. Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning,
1st edn. Addison-Wesley Longman Publishing Co., USA (1989)
2. Goodrich, M.T., Tamassia, R.: Algorithm Design: Foundations, Analysis, and Inter-
net Examples. John Wiley and Sons, New York (2002)
3. Horadam, K.J.: Hadamard Matrices and Their Applications. Princeton University
Press, Princeton, N.J. (2007)
4. Klima, R.E., Sigmon, N.P., Stitzinger, E.L.: Applications of Abstract Algebra with
MapleT M and Matlab , 2nd edn. Chapman & Hall/CRC, Boca Raton (2006)
5. Michalewicz, Z.: Genetic Algorithms + Data Structures = Evolution Programs, 2nd
edn. Springer, New York (1994)
6. Orrick, W.P.: Switching operations for Hadamard matrices (2007),
http://www.arxiv.org/abs/math.CO/0507515
7. Snyman, J.A.: Practical Mathematical Optimization: An Introduction to Basic Op-
timization Theory and Classical and New Gradient-Based Algorithms. Springer,
Cambridge, Massachusetts (2005)
8. Wallis, W.D., Street, A.P., Wallis, J.S.: Combinatorics: Room Squares, Sum-Free
Sets, Hadmard Matrices. Springer, New York (1972)
The Tangent FFT
Daniel J. Bernstein
1 Introduction
Consider the problem of computing the size-n complex DFT (“discrete Fourier
transform”), where n is a power of 2; i.e., evaluating an n-coefficient univariate
complex polynomial f at all of the nth roots of 1. The input is a sequence of n
complex numbers f0 , f1 , . . . , fn−1 representing the polynomial f = f0 + f1 x +
· · ·+fn−1 xn−1 . The output is the sequence f (1), f (ζn ), f (ζn2 ), . . . , f (ζnn−1 ) where
ζn = exp(2πi/n).
The size-n FFT (“fast Fourier transform”) is a well-known algorithm to com-
pute the size-n DFT using (5+o(1))n lg n arithmetic operations on real numbers.
One can remember the coefficient 5 as half the total cost of a complex addition
Permanent ID of this document: a9a77cef9a7b77f9b8b305e276d5fe25. Date of this
document: 2007.09.19.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 291–300, 2007.
c Springer-Verlag Berlin Heidelberg 2007
292 D.J. Bernstein
There have been two journal papers this year—[8] by Lundy and Van Buskirk,
and [7] by Johnson and Frigo—presenting more complicated algorithms with
the same operation counts. Both algorithms can be transformed into in-place
algorithms but incur heavier memory-access costs than the algorithm presented
in this paper.
I chose the name “tangent FFT” in light of the essential role played by tan-
gents as constants in the algorithm. The same name could be applied to all of
the algorithms in this class. Lundy and Van Buskirk in [8] use the name “scaled
odd tail,” which I find less descriptive. Johnson and Frigo in [7] use the name
“our new FFT . . . our new algorithm . . . our algorithm . . . our modified algo-
rithm” etc., which strikes me as suboptimal terminology; I have already seen
three reports miscrediting Van Buskirk’s 34/9 to Johnson and Frigo. All of the
credit for these algorithms should be assigned to Van Buskirk, except in contexts
where extra features such as simplicity and cache-friendliness play a role.
f mod x8 − 1 = f0 + f1 x + f2 x2 + f3 x3 + f4 x4 + f5 x5 + f6 x6 + f7 x7 ,
then f mod xn − r = (f0 + rfn ) + (f1 + rfn+1 )x + · · · + (fn−1 + rf2n−1 )xn−1 and
f mod xn + r = (f0 − rfn ) + (f1 − rfn+1 )x + · · · + (fn−1 − rf2n−1 )xn−1 . This
computation involves n complex multiplications by r; n complex additions; and
n complex subtractions; totalling 10n real operations. The following diagram
summarizes the structure and cost of the computation:
x2n − rL2
rr LL
rr r
r LLLL
rrr 10n LLL
yrrr LL%
xn − r xn + r
294 D.J. Bernstein
x8 − 1 O
ooo OOO
oooo OOO
OOO
oooo 16 OOO
w o
o '
x4 − ?1 x4 + ?1
?? ??
8 ??? 8 ???
?? ??
? ?
x −/ 1
2
x2 +/ 1 x −/ i
2
x2 +/ i
// // // //
4 /// 4 /// 8 /// 8 ///
/ / / /
√ √ √ √
x−1 x+1 x−i x+i x − i x + i x − −i x + −i
n−1
so on through ζ2n . These n − 1 multiplications cost 6(n − 1) real operations,
n/2
except that a few multiplications are easier: 6 operations are saved for ζ2n when
n/4 3n/4
n ≥ 2, and another 4 operations are saved for ζ2n , ζ2n when n ≥ 4.
The remainder f mod x2n − 1 determines the remainders f mod xn − 1 and
f mod xn + 1, as discussed in the previous section. It therefore determines the
remainders f mod xn −1 and f (ζ2n x) mod xn −1, as summarized in the following
diagram:
x2n − 1 Q
mmm QQQ
mmm QQQ
mmm QQQ
mmm 4n QQQ
v mmm QQ(
xn − 1 xn + 1
max{6n − 16, 0} ζ2n
xn − 1
The twisted FFT performs this computation and then recursively evaluates
both f mod xn − 1 and f (ζ2n x) mod xn − 1 at the nth roots of 1, obtaining the
same results as the original FFT. Example, for n = 8:
x8 − 1 O
ooo OOO
ooo OOO
ooo 16 OOO
ooo OOO
w o '
x4 −/ 1 x4 + 1
/
///
8
√
// i
//
//
x4 − ?1
// ??
8
// 8 ???
// ??
?
x2 −' 1 x2 + 1 x −' 1 2
x2 + 1
' ''
'''
0 '
0
'''
i i
''
'' ''
'' x2 −/ 1 '' x2 −/ 1
// //
4 ''' 4 /// 4 ''' 4 ///
' / ' /
x−1 x+1 x−1 x+1 x−1 x+1 x−1 x+1
0 −1 0 −1 0 −1 0 −1
x−1 x−1 x−1 x−1
296 D.J. Bernstein
Note that the twisted FFT never has to consider moduli other than xn ± 1.
The twisted FFT thus has a simpler recursive structure than the original FFT.
The recursive step does not need to distinguish f from f (ζ2n x): its job is simply
to evaluate an input modulo xn − 1 at the nth roots of 1.
One can easily prove that the twisted FFT uses the same number of real
operations as the original FFT: the cost of twisting
√ xn + 1 into xn − 1 is exactly
balanced by the savings from avoiding x − i etc. In fact, the algorithms have
n/4
the same number of multiplications by each root of 1. (One way to explain this
coincidence is to observe that the algorithms are “transposes” of each other.) One
might speculate at this point that all FFT algorithms have the same number of
real operations; but this speculation is solidly disproven by the split-radix FFT,
as discussed in Section 4.
x4n − 1 Q
mmm QQQ
mmm QQQ
mmm QQQ
mmm 8n QQQ
v mmm QQ(
x2n − 1 x2n + 1 Q
mmm QQQ
mmmmm QQQ
QQQ
mm 4n QQQ
mmmm QQ(
v m
xn − i xn + i
max{6n − 8, 0} max{6n − 8, 0}
−1
ζ4n ζ4n
xn − 1 xn − 1
x8n − 1
xk /s8n,k
kk SSS
kkk SSS
kkk SSS
kk 16n SSS
u k
k )
x4n − 1 x4n + 1
xk /s8n,k xk /s8n,k
G G
ww GG ww GG
www 8n GGG www 8n GGG
{ww G# {ww G#
x2n − 1 x2n + 1 x2n − i x2n + i
xk /s8n,k xk /s8n,k xk /s8n,k xk /s8n,k
4n − 2 4n − 2
x2n − 1 x2n + 1 8n − 6 8n − 6
xk /s2n,k xk /s4n,k
G
ww GG
www 4n GGG ζ8n −1
ζ8n
{ww G#
xn − i xn + i
max{ max{
4n − 6 xk /s4n,k 4n − 6 xk /s4n,k
w w
, 0} www , 0} www
w w
{ww ζ4n {ww ζ4n−1
xn − 1 xn − 1 x2n − 1 x2n − 1
xk /sn,k xk /sn,k xk /s2n,k xk /s2n,k
This diagram explicitly shows the basis used for each remainder f mod x··· −
· · · . The top node, x8n − 1 with basis xk /s8n,k , reads an input vector (f0 , f1 , . . . ,
f8n−1 ) representing f mod x8n − 1 = k
0≤k<8n fk x /s8n,k . The next node to
the left, x4n − 1 with basis xk /s8n,k , computes a vector (g0 , g1 , . . . , g4n−1 ) rep-
resenting f mod x − 1 = 0≤k<4n gk xk /s8n,k ; the equation s8n,k+4n = s8n,k
4n
The next node to the left, x2n −1 with basis xk /s8n,k , similarly computes a vector
(h0 , h1 , . . . , h2n−1 ) representing f mod x2n − 1 = 0≤k<2n hk xk /s8n,k . The next
node after that, x2n − 1 with basis xk /s2n,k (suitable for recursion), computes
a vector (h0 , h1 , . . . , h2n−1 ) representing f mod x2n − 1 = 0≤k<2n hk xk /s2n,k ;
evidently hk = hk (s2n,k /s8n,k ), requiring a total of 2n real multiplications by
the precomputed real constants s2n,k /s8n,k , minus 1 skippable multiplication by
s2n,0 /s8n,0 = 1. Similar comments apply throughout the diagram: for example,
moving from x2n − i with basis xk /s8n,k to x2n − 1 with basis xk /s2n,k involves
k
cost-4 twisting by ζ8n s2n,k /s8n,k .
The Tangent FFT 299
The total cost of the tangent FFT is about 68n real operations to divide
x8n − 1 into x2n − 1, x2n − 1, x2n − 1, xn − 1, xn − 1, and therefore about
(68/2.25)n lg n = (34/9)8n lg n to handle x8n − 1 recursively. Here 2.25 is the
entropy of 2n/8n, 2n/8n, 2n/8n, n/8n, n/8n. More precisely, the cost S(n) of
handling xn − 1 with basis xk /sn,k satisfies S(1) = 0, S(2) = 4, S(4) = 16, and
S(8n) = 60n−16+max{8n − 12, 0}+3S(2n)+2S(n). The S(n) sequence begins
0, 4, 16, 56, 164, 444, 1120, 2720, 6396, 14724, 33304, . . .; an easy induction shows
that S(n) = (34/9)n lg n − (142/27)n − (2/9)(−1)lg n lg n + (7/27)(−1)lg n + 7 for
n ≥ 2.
For comparison, the split-radix FFT uses about 72n real operations for the
same division. The split-radix FFT uses the same 16n to divide x8n − 1 into
x4n − 1, x4n + 1, the same 8n to divide x4n − 1 into x2n − 1, x2n + 1, the same
8n to divide x4n + 1 into x2n − i, x2n + i, and the same 4n to divide x2n + 1 into
xn − i, xn + i. It also saves 4n changing basis for x2n − 1 and 4n changing basis
for x2n + 1. But the tangent FFT saves 4n twisting x2n − i, another 4n twisting
x2n + i, another 2n twisting xn − i, and another 2n twisting xn + i. The 12n
operations saved in twists outweigh the 8n operations lost in changing basis.
What if the input is in the traditional basis 1, x, x2 , . . . , xn−1 ? One could scale
the input immediately to the new basis, but it is faster to wait until the first
twist:
x4n − 1
k T
jjjjjjjx TTTTTTT
jjjj 8n TTTT
t jjj
j TTT*
x2n − 1 x2n + 1
xk mx J
k
mmmmm JJJJ
mm 4n JJJ
vmmm $
x −i
n
xn + i
xk xk
max{6n − 8, 0} ζ4n max{6n − 8, 0} ζ4n
−1
xn − 1 xn − 1
xk /sn,k xk /sn,k
References
1. 1968 Fall Joint Computer Conference. In: AFIPS conference proceedings, vol. 33,
part one. See [13] (1968)
2. Cooley, J.W., Tukey, J.W.: An Algorithm for the Machine Calculation of Complex
Fourier Series. Mathematics of Computation 19, 297–301 (1965)
3. Duhamel, P., Hollmann, H.: Split-Radix FFT algorithm. Electronics Letters 20,
14–16 (1984)
4. Duhamel, P., Vetterli, M.: Fast Fourier Transforms: a Tutorial Review and a State
of the Art. Signal Processing 19, 259–299 (1990)
5. Fiduccia, C.M.: Polynomial Evaluation Via the Division Algorithm: the Fast
Fourier Transform Revisited. In: [10], pp. 88–93 (1972)
6. Gauss, C.F.: Werke, Band 3 Königlichen Gesellschaft der Wissenschaften.
Göttingen (1866)
7. Johnson, S.G., Frigo, M.: A Modified Split-Radix FFT with Fewer Arithmetic
Operations. IEEE Trans. on Signal Processing 55, 111–119 (2007)
8. Lundy, T.J., Van Buskirk, J.: A New Matrix Approach to Real FFTs and Convo-
lutions of Length 2k . Computing 80, 23–45 (2007)
9. Martens, J.B.: Recursive Cyclotomic Factorization—A New Algorithm for Calcu-
lating the Discrete Fourier Transform. IEEE Trans. Acoustics, Speech, and Signal
Processing 32, 750–761 (1984)
10. Rosenberg, A.L.: Fourth Annual ACM Symposium on Theory Of Computing. As-
sociation for Computing Machinery, New York (1972)
11. Sorensen, H.V., Heideman, M.T., Burrus, C.S.: On Computing the Split-Radix
FFT. IEEE Trans. Acoustics, Speech, and Signal Processing 34, 152–156 (1986)
12. Vetterli, M., Nussbaumer, H.J.: Simple FFT and DCT Algorithms with Reduced
Number of Operations. Signal Processing 6, 262–278 (1984)
13. Yavne, R.: An Economical Method for Calculating the Discrete Fourier Transform.
In: [1], pp. 115–125 (1968)
14. Zhou, F., Kornerup, P.: A New Fast Discrete Fourier Transform. J. VLSI Signal
Processing 20, 219–232 (1998)
Novel Algebraic Structure for Cyclic Codes
Abstract. The novel algebraic structure for the cyclic codes, Cyclic
Multiplicative Groups (CMGs) over polynomial ring, is proposed in this
paper. According to this algorithm, traditional cyclic codes can be con-
sidered as a subclass in these cyclic codes. With CMGs structure, more
plentiful good cyclic code cosets can be found in any polynomial rings
than other methods. An arbitrary polynomial in polynomial ring can gen-
erate cyclic codes in which length of codewords depend on order of the
polynomial. Another advantage of this method is that a longer code can
be generated from a smaller polynomial ring. Moreover, our technique is
flexibly and easily implemented in term of encoding as well as decoding.
As a result, the CMGs can contribute a new point of view in coding
theory. The significant advantages of proposed cyclic code cosets can be
applicable in the modern communication systems and crypto-systems.
1 Introduction
A very important class of codes is, arguably, the class of cyclic codes. Cyclic
codes were explored by Prange [1] in the early history of coding theory. A cyclic
code is a block code in which a cyclic shift of every code word yields another
codeword belonging to the same code [2,3,4]. Currently, cyclic codes are used in
a wide variety of communication systems, computer networks and data storage
devices to provide inexpensive and effective error detection capabilities.
Although there are advantages of traditional cyclic codes, it can be seen that
there is shortage in cyclic code generation. Specifically, the number of generator
polynomials is limited because they depend on the number of ideals in poly-
nomial ring, i.e. they depend on the ability of the factorization of (xk + 1) in
polynomial ring Z2 [x]/(xk + 1) [3,5].
To overcome this problem, the key idea in this paper is using Cyclic Multi-
plicative Group structure instead of the method in which cyclic codes generated
from ideals, i.e. depend on factorization of polynomial rings. We investigate, for
the first time, some properties of the Cyclic Multiplicative Groups in order to
find more plentiful good cyclic cosets and their applications than the traditional
methods, especially in polynomial rings with two cyclotomic cosets, i.e. the fac-
torization in these rings has only two factors. Based on our knowledge, the cyclic
codes in these rings have not been mentioned yet.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 301–310, 2007.
c Springer-Verlag Berlin Heidelberg 2007
302 D.H. Bac, N. Binh, and N.X. Quynh
Cyclic codes are built from an arbitrary polynomial in polynomial ring and
these codes become independent of the factors of the factorization with CMGs
structure. An arbitrary polynomial in polynomial ring can generate cyclic codes
with length depended on order of polynomial. This is the main difference in com-
parison with the traditional method. Traditional cyclic codes can be considered
as a subclass of the cyclic codes of the CMGs method.
The proposed method have significant advantages such as: the good con-
structed cyclic code cosets are larger than conventional; the longer cyclic code
can be generated from smaller polynomial ring, leading to easier and faster for
implementing. Furthermore, using properties of multiplicative group has much
lower critical path delays, thus allowing much faster operating clock rates in im-
plementing by VLSI, such as FPGA [6,7,10]. These properties are also suitable
for high-speed cryptographic applications such as elliptic curve cryptography
[12]. The effect of extension on the properties of CMGs can be used for fur-
ther study in PN generation, peak to average power ratio (PAPR) reduction in
OFDM, and building cypto-systems.
a(x)n+1 = a(x) (mod (xk + 1)) or a(x)n = e(x) (mod (xk + 1)) (1)
where, e(x) is an idempotent polynomial in this ring, e(x) satisfies the property
e(x) = e2 (x) [2,3].
Consider polynomial ring Z2 [x]/(xk + 1), with k is an odd number, the formula
of xk + 1 is:
xk + 1 = fi (x) (2)
i
where fi (x) are distinctive irreducible polynomials. With a(x) ∈ Z2 [x]/(xk + 1),
the maximum order of a(x) modulo xk + 1 (denote max(ord a(x))) is defined:
U ∩ V = ∅ U ∪ V = S = {0, 1, 2, · · · , k − 1}.
k−1
e0 (x) = i=0 xi is called swallowing idempotent. e0 (x) have the following char-
acteristics:
304 D.H. Bac, N. Binh, and N.X. Quynh
These rings are called the polynomial rings with two cyclotomic cosets (with
k = 3, 5, 11, 13, 17, 19 and etc., see Appendix). In these rings, we can not
build good cyclic codes, except trivial codes which are repetition code (n, 1) and
even parity check code (n, n-1). The cyclic codes in these rings have not been
mentioned before. With CMGs structure mentioned above, many cyclic codes
can be yielded in polynomial rings with two cyclotomic cosets, as can be seen in
example below.
Cyclic code based on A is (15,5,7) code. This is a systematic code with the
following generator matrix:
⎡ ⎤
110110010100001
⎢0 0 1 1 1 0 1 1 0 0 1 0 1 0 0⎥
⎢ ⎥
G = ⎢ ⎥
⎢1 0 0 0 0 1 1 1 0 1 1 0 0 1 0⎥
⎣0 1 0 1 0 0 0 0 1 1 1 0 1 1 0⎦
110010100001110
The decoding algorithm for this code can be performed by threshold algorithm
with two levels as follows:
306 D.H. Bac, N. Binh, and N.X. Quynh
– Orthogonal checksum system with pair of information digits [0] + [1] at first
level.
[0] + [1] = [012] + [2]
= [014] + [4]
= [034] + [134]
= [024] + [124]
= [013] + [3]
= [023] + [123]
– Second level of threshold decode for information digit [0] in pair of [0]+[1].
[0] = [04] + [4]
= [04] + [34] + [3]
= [01] + [12] + [2]
= [01] + [1]
= [023] + [23]
= [34] + [034]
In this code, the distant Hamming is: d0 = 7. The detail schematic for decod-
ing of this code is illustrated in Fig.1. In this scheme, clock rate of A register is
equal to three times of clock rate of B register, M is threshold decoder.
The number of possible cyclic codes in this case is can be calculated:
N = 1 + 2 · 15 + 1 = 32
According to CMGs above, the cyclic code (15,5,7) is built in Z2 [x]/(x5 + 1)
with simple way for encoding as well as decoding. Moreover, this cyclic code
equivalent to traditional cyclic codes with the same parameter in larger ring
Z2 [x]/(x5 + 1). Here is also significant advantage of this method, thus allow
faster implementing.
Lemma 2. Given a(x) has odd weight, if A generates a cyclic (n,k,d ) then A
generates a cyclic code (n,k -1,d +1).
Example 3. In Z2 [x]/(x5 + 1). If a(x) = 1 + x2 + x4 ⇔ (024), according to
definition 2, we have ā(x) = x + x3 ⇔ (13), and then the CMG A can be defined
as: Ā = {āi (x)}= {(13), (12),(0234), (24),(23),(0134), (03), (34), (0124), (14),
(04), (0123), (02), (01), (1234)}
Cyclic code based on Ā is (15,4,8) code. Clearly, this is an optimal code
satisfying Griesmer bound [3].
Ā is equivalent to A = {ai (x) (mod 1 + x + x2 + x3 + x4 )}.
A’ = {(13),(12),(1),(013),(23),(2),(03),(012),(3), (023), (123), (0123), (02),
(01), (0)}
Fig. 2. Comparison of BER performance between proposed and traditional cyclic code
(15,5)
Clearly, traditional cyclic codes are only a special case of cyclic codes over CMGs.
Traditional cyclic codes are cyclic codes with clock x, cyclic codes over CMGs are
cyclic codes with arbitrary clock a(x) . The number of traditional cyclic codes
is limited and it depends on number of ideals. The number of cyclic codes over
CMGs is greater than that. The simulation results for the comparison between
BER performance of the proposed cyclic codes (PCC) based on CMG structure
Novel Algebraic Structure for Cyclic Codes 309
and traditional cyclic codes (TCC) in an AWGN channel with BPSK modulation
are shown in Fig. 2. In this investigation, the (15,5) cyclic code with 5e+7 input
information bits is used. From Fig.2, it can be seen that the BER for the proposed
cyclic codes is lower than the BER for the traditional cyclic codes. The BER of
the proposed cyclic codes (15,5) at Eb/N0 = 7db has a good performance with
value 1.6e-7.
5 Conclusion
We have proposed an approach for the efficient construction of cyclic codes
from cyclic multiplicative group. Using the novel method, we can consider the
traditional cyclic codes as subclass of CMGs cyclic codes. This leads to new point
of view of cyclic codes with the ability to extend codewords generation. The
novel algebraic structure has significant advantages, the good constructed cyclic
code cosets are larger than conventional; the longer cyclic code can be generated
from smaller polynomial ring and the better BER performance. Moreover, the
characteristics of CMGs are very suitable for implementation of VLSI, such as
FPGA with high speed calculation. Our future works will focus on investigation
of application cyclic codes based on CMG for PN generation, PAPR reduction
in OFDM and cryptography.
References
1. Prange, E.: Cyclic Error-Correcting Codes in Two Symbols. Electronics Research
Directorate, Air Force Cambridge Res. Ctr. (1957)
2. MacWilliams, F.J., Sloane, N.J.A: The Theory of Error-Correcting Code. North-
Holland, Amsterdam (1977)
3. Van Lint, J.H.: Introduction to Coding Theory, 3rd edn. Springer, Heidelberg
(1999)
4. Blahut, R.E.: Theory and Practice of Error Control Coding. Addison-Wesley, Read-
ing, MA (1983)
5. Moon, T.K.: Error Correction Coding: Mathematical Methods and Algorithm.
John Wiley & Sons, Inc., Chichester (2005)
6. Pincin, A.: A New Algorithm for Multiplication in Finite Fields. IEEE Trans.
Computer 38(1), 1045–1049 (1989)
7. Namin, A.H., Wu, H., Ahmadi, M.: Comb Architectures for Finite Field Multipli-
cation in F 2m . IEEE Trans. Computers 56(7), 909–916 (2007)
8. Katti, R., Brennan, J.: Low Complexity Multiplication in a Finite Field Using Ring
Representation. IEEE Trans. Computers 52(4), 418–427 (2003)
9. Lidl, R., Niederreiter, H.: Introduction to Finite Fields and Their Applications,
2nd edn. Cambridge Univ. Press, Cambridge (1997)
10. Wang, C.C., Truong, T.K., Shao, H.M., Deutsch, L.J., Omura, J.K., Reed, I.S.:
VLSI Architectures for Computing Multiplications and Inverses in GF (2m ). IEEE
Trans. Computers 34(8), 709–717 (1985)
11. Wu, H., Hasan, M.A., Blake, I.F., Gao, S.: Finite Field Multiplier Using Redundant
Representation. IEEE Trans. Computers 51(11), 1306–1316 (2002)
12. Baodian, W., Liu, D., Ma, W., Wang, X.: Property of Finite Fields and Its Cryp-
tography Application. Electron. Lett. 39, 655–656 (2003)
310 D.H. Bac, N. Binh, and N.X. Quynh
Appendix
The value of “k” so that Z2 [x]/(xk + 1) is a polynomial ring with two cyclotomic
cosets.
k = 3, 5, 11, 13, 19, 29, 37, 53, 59, 61, 67, 83, 101, 107, 131, 139, 149, 163,
173, 179, 181, 197, 211, 227, 269, 293, 317, 347, 349, 373, 379, 389, 419, 421, 443,
461, 467, 491, 509, 523, 541, 547, 557, 563, 587, 613, 619, 653, 659, 661, 677, 701,
709, 757, 773, 787, 779, 821, 827, 829, 853, 859, 877, 883, 907, 941, 947.
Distribution of Trace Values and Two-Weight,
Self-orthogonal Codes over GF (p, 2)
Abstract. The uniform distribution of the trace map lends itself very
well to the construction of binary and non-binary codes from Galois fields
and Galois rings. In this paper we study the distribution of the trace map
with the argument ax2 over the Galois field GF (p, 2). We then use this
distribution to construct two-weight, self-orthogonal, trace codes.
1 Introduction
In [1] and [2] the trace map over Galois field GF (p, m) and ring GR(ps , m)
was used to construct linear codes over Z2s and Zps , respectively. At that time
the distribution of the trace map was very intriguing and the question arose of
whether this trace distribution was as straightforward when the argument was
changed. One encounter of a different argument was in the search for mutually
unbiased bases which can enable a quantum cryptosystem in d-dimensions [3].
The authors were unable to find any information in the literature about such
distribution of the trace map other than the fundamental properties. It does turn
out that this work is not straightforward and this paper looks at the distribution
of T r(ax2 ) over GF (p, 2) for odd primes p. The two-weight self-orthogonal codes
generated using this distribution are a by-product.
Let p be a prime and Znp be the vector space of all n-tuples over the finite
field Zp . If C is a k-dimensional subspace of Znp then C is called an [n, k] linear
code over Zp . The generator matrix G of an [n, k] code C is simply a matrix
whose rows are linearly independent and span the code. The inner product n of
x = (x1 , x2 , . . . xn ), y = (y1 , y2 , . . . yn ) ∈ Znp is defined by x · y = i=1 xi yi .
Using the inner product, the dual code C ⊥ of C is defined by C ⊥ = {x ∈
Znp |x · c = 0 ∀c ∈ C}. The code C is called self-orthogonal if C ⊆ C ⊥ .
Many authors look at self-orthogonal codes, for example, [4,5,6,7]. Following
are some preliminary results on self-orthogonal codes that are useful here:
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 311–320, 2007.
c Springer-Verlag Berlin Heidelberg 2007
312 N. Pinnawala, A. Rao, and T.A. Gulliver
Lemma 1 (Theorem 1.4.3, [8]). (i) If x ∈ Zn2 then wH (x) ≡ x · x (mod 2).
(ii) If x ∈ Zn3 then wH (x) ≡ x · x (mod 3).
Note that this result does not hold for x ∈ Znp when p > 3, the reason being that
p−1
when x ∈ Z n
p , wH (x) = i=1 ni , where ni is the number of non-zero i’s in x,
n
and x · x = i=1 x2i = n1 + n2 22 + n3 32 + . . . + np−1 (p − 1)2 . This does not imply
that wH (x) ≡ x · x (mod p). Lemma 1 does tell us whether a given ternary code
is self-orthogonal.
Lemma 2 (Theorem 1.4.10, [8]). Let C be an [n, k, d] code over Z3 . C is
self-orthogonal if and only if the weight of every non-zero codeword is divisible
by 3.
Again this result cannot check the self-orthogonality of codes over Zp for p > 3.
For this we need the following result.
Lemma 3 (Proposition 1 [7]). Let p be an odd prime and C be a linear code
over Zp . Then C is self-orthogonal if and only if c · c = 0 ∀ c ∈ C.
An important invariant of a code is the minimum distance between codewords.
The Hamming distance dH (x, y) between two vectors x, y ∈ Znp is defined to
be the number of coordinates in which x and y differ. The minimum distance
of a code C is the smallest distance between distinct codewords, and is simply
denoted by d. The higher the minimum distance, the greater the number of errors
that can be corrected. If the minimum distance d of an [n, k] code is known then
C is an [n, k, d] code. n
The weight enumerator of C is the polynomial WC (x, y) = i=0 Ai xn−i y i ,
where Ai is the number of codewords of weight i. A code is called a two-weight
code if |{i|i = 0 and Ai = 0}| = 2. More details on two-weight codes can be
found in [9,10,11], etc. and the references therein.
The trace map can be used to go down from a code defined over an extension
field to a code defined over the ground field. Let Fq be the ground field of the
extended field Fqr . Let C be an Fqr -linear code of length n and T r : Fqr → Fq be
the trace. The code T r(C), defined as the set of all (T r(x1 ), T r(x2 ), . . . , T r(xn )),
is called the trace code, where (x1 , x2 , . . . , xn ) ∈ C. We note that the codes found
in this paper could be classed as trace codes, since they are found using a trace
map. See [12] for example for details on trace codes.
We now have some of the tools required to classify the codes found in this pa-
per. In the next section we study the distribution of the trace map over GF (p, 2),
using the argument ax2 . In Section 3 we construct our codes and study their
properties. In the final section, we give some conclusions and detail further work.
Proof:
i. By using the definition of the trace map we have
p+1 p
p+1 p+1 p+1 p2 −1
T r(ζ 2 ) = ζ 2 + ζ 2 =ζ 2 1+ζ 2
.
ζ t + ζ tp = 0 ⇒ ζ t = 0 or ζ (p−1)t = −1
Since ζ is a primitive element of GF (p, 2)∗ , ζ t = 0 for any t. Thus ζ (p−1)t =
−1 and ζ (p−1)2t = 1. Hence (p2 − 1)|(p − 1)2t, i.e., 2(p − 1)t = (p2 − 1)m
for some m ∈ Z+ . This implies that t = (p+1) 2 m, a contradiction to the
assumption. Therefore T r(ζ ) = 0 for any t, 0 < t < p+1
t
2 and the minimum
value of t such that T r(ζ t ) = 0 is t = p+1 2 .
iii. From the definition of the trace map if T r(ζ t ) = 0 then ζ t + ζ tp = 0 ⇒
(ζ t )2k = (ζ tp )2k . Therefore T r(ζ t(2k+1) ) = ζ t(2k+1) + ζ tp(2k+1) = ζ t ζ 2tk +
ζ 2tkp ζ tp = ζ t ζ 2tkp + ζ 2tkp ζ tp = 0. Thus if T r(ζ t ) = 0 then T r(ζ t(2k+1) ) = 0.
From part (vi) of Theorem 1 there are p − 1 elements in GF (p, 2)∗ such
that T r(x) = 0. Hence if T r(ζ t ) = 0 then T r(ζ t(2k+1) ) = 0 for all k =
0, 1, 2, . . . , p − 2.
314 N. Pinnawala, A. Rao, and T.A. Gulliver
(p+1)
since ζ 2 = 0. Therefore if ζ t ∈ GF (p, 1)∗ then t = (p+1)k, k = 0, 1, 2, . . . , p−
2, i.e., ζ t is an element of the subfield when t = (p+ 1)k, k = 0, 1, 2, . . . , p− 2.
Thus far we have identified the elements ζ t ∈ GF (p, 2)∗ which have trace 0 or are
in the base field. We are now in a position to study the distribution of T r(ax2 ),
when both a and x range over GF (p, 2). A useful tool in this study is to list
the elements of GF (p, 2)∗ in a two-dimensional array based on the powers of a
chosen primitive element ζ.
Let ζ be a primitive element of GF (p, 2). Then GF (p, 2)∗ = {1, ζ, ζ 2 , . . . ,
p+1 p+1 2p2 −3p+2p−3+p+1
p2 −2
} and ζ p −1 = ζ 0 = 1. Also ζ ( 2 )(2p−3)+( 2 ) = ζ
2
ζ 2 =
2(p2 −1)
= ζ p −1 = 1. The elements ∗
2
ζ 2 p+1 in GF (p, 2) can now be listed by means of
a (p − 1) × (p + 1) matrix: ζ ( 2 )(2k+1)+d , where k = 0, 1, 2, . . . , p − 2 ranges
over the rows of the matrix creating p − 1 rows and d = 0, 1, 2, . . . , p ranges over
the columns of the matrix creating p + 1 columns. This (p − 1) × (p + 1) matrix
is given by
ζ( 2 ) ζ ( 2 )+d ζ ( 2 )+ ( 2 ) ζ ( 2 )+p
p+1 p+1 p+1 p+1 p+1
... ... ...
ζ ( p+1 2 )
3
ζ ( 2 )3+d
p+1
ζ ( 2 )3+( 2 )
p+1 p+1
ζ ( 2 )3+p
p+1
. ...
..
...
..
...
..
.. ... . ... . ... .
ζ ( p+1 ,
2 ) ζ ( 2 )(2k+1)+d ζ ( 2 )(2k+1)+( 2 ) ( )
p+1 p+1 p+1 p+1
(2k+1) (2k+1)+p
... ... ... ζ 2
. .. .. ..
.. ... . ... . ... .
ζ ( 2 )(2p−3) ζ ( 2 )(2p−3)+d ( )
p+1 p+1 2 p+1
... ... ζ p −1 = 1 ... ζ 2
(2p−3)+p
Lemma 6. The trace of the elements of GF (p, 2)∗ is distributed in the following
manner:
Distribution of Trace Values and Two-Weight, Self-orthogonal Codes 315
i. The trace of each element in the first column of the matrix representation of
GF (p, 2)∗ is zero.
ii. The trace of the elements in every other column of the matrix representation
of GF (p, 2)∗ takes every element in Zp \{0} once only.
Proof
i. From Corollary 1 it is clear that the trace of the elements in the first column
p+1
of the matrix representation of GF (p, 2)∗ is zero, i.e., T r ζ ( 2 )(2k+1) =
0, ∀ k = 0, 1, 2, . . . , p − 2.
ii. From Lemma 5 the trace of the elements in the dth column (d = 0) of the
matrix is given by
p+1
T r(ζ ( 2 )(2k+1)+d ) = T r(ζ (p+1)k ζ p+1
2 ζd)
p+2d+1
= T r(ak ζ 2 )( from Lemma 5)
p+2d+1
= ak T r(ζ 2 ) ; ak ∈ GF (p, 1)∗ ≡ Zp \{0}
From Corollary 1 we know that for x ∈ GF (p, 2)∗ , T r(x) = 0 if and only if
p+1
x = ζ ( 2 )(2k+1) , where k = 0, 1, 2 . . . , p − 2 and therefore T r(ζ 2 ) = 0
p+2d+1
p+2d+1
for all d = 1, 2, . . . , p, i.e., T r(ζ 2 ) is fixed for each column. In addition,
ak represents every element in Zp\{0} for k = 0, 1, 2, . . . , p − 2. Consequently
the trace of the elements in the dth column of the matrix representation of
GF (p, 2)∗ takes each element in Zp \{0} exactly once.
0 3 2 2 4 2 4×6
It is clear that the first column is an all zero column and every non-initial column
contains each non-zero element of Z5 exactly once.
We can now examine the trace distribution for the specific case considered in
this paper: T r(ax2 ).
Theorem 2. Let T r be the trace map over GF (p, 2). As x ranges over GF (p, 2)∗
and for a ∈ GF (p, 2)∗ , T r(ax2 ) takes each element in Zp\{0} equally often either
p + 1 times or p − 1 times.
In the matrix representation of GF (p, 2)∗ (Lemma 6), we note that there are p+1
2
columns with odd powers of ζ and p+1 2 columns with even powers of ζ. We will
label these columns as odd and even, respectively. We call the matrix obtained
by taking the trace of each element in the matrix representation of GF (p, 2)∗ as
the trace matrix of GF (p, 2)∗ .
Before we can prove Theorem 2, we need to work out some more details of
the trace matrix. We consider the two cases, p ≡ 1 (mod 4) and p ≡ 3 (mod 4)
separately.
Case I: p ≡ 1 (mod 4) In this case p+1 ( p+1
2 )(2k+1) )
2 is odd. From Lemma 4, T r(ζ
= 0 for all k = 0, 1, 2, . . . , p − 2. Hence the first odd column (which is the first
column of the matrix representation of GF (p, 2)∗ ) has trace zero. Therefore there
∗
2 − 1 = 2 odd columns in the matrix representation of GF (p, 2) with
are p+1 p−1
non-zero trace.
From Lemma 6, the trace of the elements of each of these p−1 2 odd columns
contain each element in Zp\{0} exactly once. Thus the trace of all the odd powers
of ζ gives us each element in Zp \{0}, p−1 2 times, and so the trace of all the even
powers of ζ gives us each element in Zp \{0} , p+1 2 times.
with non-zero trace and hence the trace of all the even powers of ζ gives us each
element in Zp \ {0}, p−1 2 times. Consequently the trace of all the odd powers of
ζ gives us each element in Zp \{0} , p+1 2 times.
Proof of Theorem 2 Let a ∈ GF (p, 2)∗ be an even (resp. odd) power of ζ and
consider the set {T r(ax2 ) | x ∈ GF (p, 2)∗ }. This set can be written as two
copies of the trace of the elements in the set {ζ 2h | h = 0, 1, 2, . . . , p 2−3 } (resp.
2
The two rows of GH are linearly independent: For a0 , a1 ∈ Zp , and for all i =
1, 2, . . . , p2 , a0 T r(c2i )+a1 T r(ζc2i ) = 0 ⇒ a0 +a1 ζ = 0 since c2i = 0 for some i
⇒ a0 = a1 = 0 since 1 and ζ are linearly independent over Zp .
Now consider all linear combinations of the two rows in GH . This gives
us a0 T r(c2i ) + a1 T r(ζc2i ) = T r((a0 + a1 ζ)c2i ), i = 1, 2, . . . , p2 . Thus GH is a
generator matrix for H, and consequently the length n and the dimension k
of H are p2 and 2, respectively, and H is a linear code.
Now from Theorem 2 every non-zero row of H contains every non-zero
element of Zp equally often either p + 1 times or p − 1 times. Since there
are p − 1 non-zero elements in Zp , the minimum Hamming weight of H is
(p − 1)2 .
ii. Since every non-zero codeword of H contains each element in Zp \{0} equally
often either p + 1 times or p − 1 times, the codewords have Hamming weights
either p2 − 1 or (p − 1)2 , and H is a two-weight code over Zp .
318 N. Pinnawala, A. Rao, and T.A. Gulliver
The second and third rows generate this code, the next consecutive two
rows are the left cyclic shift by one element of the second and third rows,
respectively, and so on. Thus H ∗ is a cyclic code.
iv. Let S be the dot product of every non-zero codeword of H with itself. Again
from Theorem 2 every non-zero codeword of H contains each element in
Zp \{0} equally often either p + 1 times or p − 1 times. Therefore either
p−1
p
S = (p + 1) i2 = (p + 1)(2p2 − 3p + 1)
i=1
6
or
p−1
p
S = (p − 1) i2 = (p − 1)(2p2 − 3p + 1)
i=1
6
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 ζ0 ζ2 ζ4 ζ6 ζ0 ζ2 ζ4 ζ6
0 2 0 1 0 2 0 1 0
0 ζ1 ζ3 ζ5 ζ7 ζ1 ζ3 ζ5 ζ7
0 2 2 1 1 2 2 1 1
A=. .. .. .. .. .. .. .. .. , H=. .. .. .. .. .. .. .. .. .
.. . . . . . . . .
.. . . . . . . . .
0 ζ6 ζ0 ζ2 ζ4 ζ6 ζ0 ζ2 ζ4 0 0 2 0 1 0 2 0 1
0 ζ7 ζ1 ζ3 ζ5 ζ7 ζ1 ζ3 ζ5 0 1 2 2 1 1 2 2 1
Distribution of Trace Values and Two-Weight, Self-orthogonal Codes 319
Therefore H is a linear code over Z5 and its parameters are [25, 2, 16]. The
punctured code H ∗ , obtained by deleting the first column in H, is a [24, 2, 16]
cyclic code over Z5 . The Hamming weight of each non-zero codeword of H is
either 16 or 24. Thus H is a two-weight code. From part iv of Theorem 3, H is
a self-orthogonal code.
References
1. Pinnawala, N., Rao, A.: Cocyclic Simplex Codes of Type α Over Z 4 and Z 2s .
IEEE Trans. Inform. Theory 50(9), 2165–2169 (2004)
2. Rao, A., Pinnawala, N.: New Linear Codes over Z ps Via The Trace Map. In: 2005
IEEE International Symposium on Information Theory, Adelaide, Australia, pp.
124–126 (2005)
3. Cerf, N.J., Bourennane, M., Karlsson, A., Gisin, N.: Security of Quantum Key
Distribution Using D-Level Systems. Physical Review Letters 88(127902) (2002)
4. Bouyukliev, I., Ostergard, P.R.J.: Classification of Self-Orthogonal Codes. Discrete
Math. 19(2), 363–370 (2005)
5. Gupta, M.K., Glynn, D.G., Gulliver, T.A.: On Some Quaternary Self Orthogonal
Codes. In: Bozta, S., Sphparlinski, I. (eds.) AAECC-14. LNCS, vol. 2227, pp. 112–
121. Springer, Heidelberg (2001)
6. Harada, M., Ostergard, P.R.J.: Self- Dual and Maximal Self-Orthogonal Codes over
f7 . Elsevier Disc. Math. 256, 471–477 (2002)
7. Wan, Z.X.: A Characteristic Property of Self-Orthogonal Codes and Its Application
to Lattices. Bull. Belg. Maths. Soc. 5, 477–482 (1998)
8. Huffman, W.C., Pless, V.: Fundamentals of Error-Correcting Codes. Cambridge
University Press, Cambridge (2003)
9. Calderbank, A.R., Kantor, W.M.: The Geometry of Two-Weight Codes. Bull. Lon-
don Maths. Soc. 18, 97–122 (1986)
10. Dodunekova, R., Dodunekov, S.M.: Error Detection with a Class of Q-Ary Two-
Weight Codes. In: IEEE ISIT 2005, pp. 2232–2235 (2005)
11. Helleseth, T.: Some Two-Weight Codes with Composite Parity-Check Polynomials.
IEEE Trans. Inform. Theory 22(5), 631–632 (1976)
12. Bierbrauer, J.: Introduction to Coding Theory. Discrete Mathematics and its Ap-
plications. Chapman & Hall/CRC, New York (2005)
13. Chen, Z., Fan, P., Jin, F.: New Results on Self-Orthogonal Unequal Error Protec-
tion Codes. IEEE Trans. Inform. Theory 36(5), 1141–1144 (1990)
Generalized Rotation Symmetric and Dihedral
Symmetric Boolean Functions − 9 Variable
Boolean Functions with Nonlinearity 242
1 Introduction
Constructing Boolean functions with high nonlinearity is a challenging problem
in the area of cryptography and combinatorics. The problem is also related to
the covering radius of the first order Reed-Muller code. The Boolean functions
attaining maximum nonlinearity of 2n−1 − 2 2 −1 are called bent [27] which occur
n
only for even number of input variables n. For odd number of input variables
n, an upper bound of nonlinearity is given as 22n−2 − 2 2 −1 [13]. For odd n,
n
n−1
one can get Boolean functions having nonlinearity 2n−1 − 2 2 by concatenating
two bent functions on (n − 1) variables. That is the reason why the nonlinearity
n−1
value of 2n−1 − 2 2 for odd n is known as the bent concatenation bound.
Recently, 9-variable Boolean functions with nonlinearity 241, which is greater
than the bent concatenation bound of 240, have been discovered [15] in the RSBF
class. The question of whether it is possible to exceed the bent concatenation
bound for n = 9, 11, 13 was open for almost three decades. It was known for odd
n ≤ 7, that the maximum nonlinearity is equal to the bent concatenation bound,
n−1
2n−1 − 2 2 ; since the maximum nonlinearity of 5-variable Boolean functions
was found [1] as 12 in 1972, and that of 7-variable Boolean functions was com-
puted [23] as 56 in 1980. However, in 1983, 15-variable Boolean functions with
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 321–329, 2007.
c Springer-Verlag Berlin Heidelberg 2007
322 S. Kavut and M.D. Yücel
nonlinearity 16276 which exceeded the bent concatenation bound were demon-
strated [24] and using this result, it became possible to get Boolean functions
n−1 n−15
with nonlinearity 2n−1 − 2 2 + 20 × 2 2 for odd n ≥ 15. Until 2006, there was
a gap for n = 9, 11, 13 and the maximum nonlinearity known for these cases was
n−1
2n−1 − 2 2 . In 2006, 9-variable functions, which belong to the class of Rotation
9−1
Symmetric Boolean functions (RSBFs), with nonlinearity 241 (=29−1 −2 2 +1)
were discovered [15]. Such functions were attained utilizing a steepest-descent
based iterative heuristic that first appeared in [17], which was suitably modified
in [15] for a search in the class of RSBFs.
The class of RSBFs is important in terms of their cryptographic and combina-
torial properties [4,5,6,7,8,9,11,16,21,22,25,28,29]. The nonlinearity and correla-
tion immunity of such functions have been studied in detail [4,11,16,21,22,28,29].
It is now clear that the RSBF class is quite rich in terms of these properties and
the recently found 9-variable RSBFs [15] having nonlinearity 241 support this
fact. In [20], a subspace of RSBFs called Dihedral Symmetric Boolean Functions
(DSBFs), which are invariant under the action of the dihedral group are intro-
duced. It has been shown that some of the 9-variable RSBFs having nonlinearity
241 also belong to this subspace, confirming the richness of DSBFs.
2n
Since the space of the RSBF class is much smaller (≈ 2 n ) than the total space
n
of Boolean functions (22 ) on n variables, it is possible to exhaustively search
the space of RSBFs up to a certain value of n. In [14], an exhaustive search is
carried out for the whole space of 9-variable RSBFs exploiting some combinato-
rial results related to the Walsh spectra of RSBFs; and it has been shown that
there is no RSBF having nonlinearity > 241. In order to find functions with
higher nonlinearity, one needs to increase the search space. This motivated us to
generalize the classes of RSBFs and DSBFs, and our search in the generalized
DSBF and RSBF classes successfully ended up with 9-variable functions having
nonlinearity 242. However, since these functions do not have any zero in the
Walsh spectrum values, they cannot be made balanced easily.
Considering a Boolean function f as a mapping from GF (2n ) → GF (2), the
functions for which f (α2 ) = f (α) for any α ∈ GF (2n ), are referred to as idempo-
tents [8,9]. In [24], 15-variable Patterson-Wiedemann functions having nonlinear-
15−1
ity 16276 = 215−1 − 2 2 + 20 are identified in the idempotent class. As pointed
out in [8,9], the idempotents can be seen as RSBFs with proper choice of basis.
In the following section, we will propose the generalized k-RSBFs, as functions
k
which satisfy f (α2 ) = f (α), where 1 ≤ k|n. Note that if gcd(n, k) = 1, the
resulting functions are the same as idempotents; whereas for k = n the entire
space of n-variable Boolean functions is covered. In the space of generalized k-
RSBFs, imposing the condition of invariance under the action of dihedral group,
we obtain the class of generalized k-DSBFs as a subset of k-RSBFs.
2 Background
A Boolean function on n variables may be viewed as a mapping from Vn =
{0, 1}n into {0, 1}. The truth table of a Boolean function f (x0 , . . . , xn−1 ) is a
Generalized Rotation Symmetric and Dihedral Symmetric Boolean Functions 323
rf (d) = (−1)f (x) (−1)f (x⊕d), where d = (d0 , . . . , dn−1 ) ∈ {0, 1}n.
x∈{0,1}n
That is, RSBFs are invariant under all cyclic rotations of the inputs. The in-
puts of a rotation symmetric Boolean function can be divided into orbits so
324 S. Kavut and M.D. Yücel
that each orbit consists of all cyclic shifts of one input. An orbit generated by
(x0 , x1 , . . . , xn−1 ) is denoted by Gn (x0 , x1 , . . . , xn−1 ) = {ρk n (x0 , x1 , . . . , xn−1 ) |
2n
1 ≤ k ≤ n} and the number of such orbits is gn (≈ 2 n ). More specifically, gn
n
is equal to n1 t|n φ(t)2 t [28], where φ(t) is the Euler’s phi-function. The total
number of n-variable RSBFs is 2gn .
In the following, we define the generalized RSBFs as k-rotation symmetric
Boolean functions (k-RSBFs).
Definition 2. Let 1 ≤ k ≤ n, k|n. An n-variable Boolean function f is called
k-rotation symmetric if for each input (x0 , . . . , xn−1 ) ∈ {0, 1}n, f (ρk n (x0 , . . . ,
xn−1 )) = f (x0 , . . . , xn−1 ).
As can be seen, the k-rotation symmetric Boolean functions are invariant un-
der k-cyclic rotations of inputs. Therefore, an orbit of a k-RSBF generated by
(x0 , x1 , . . . , xn−1 ) is Gk n (x0 , x1 , . . . , xn−1 ) = {ρi n (x0 , x1 , . . . , xn−1 ) | i = k, 2k,
3k, . . . , n}. For example, G3 9 (001, 001, 111) = {(001, 001, 111), (001, 111, 001),
(111, 001, 001)}.
If gn,k is the number of distinct orbits in the class of k-RSBFs of n variables,
n
one can show that gn,k = nk t| n φ(t)2 t , where φ(t) is the Euler’s phi function.
k
In [20], a subspace of RSBFs called Dihedral Symmetric Boolean Functions
(DSBFs), which are invariant under the action of dihedral group Dn are intro-
duced. In addition to the (left) k-cyclic shift operator ρk n on n-tuples, which
is defined previously, the dihedral group Dn also includes the reflection oper-
ator τn (x0 , x1 , . . . , xn−1 ) = (xn−1 , . . . , x1 , x0 ). The 2n permutations of Dn are
then defined as {ρ1 n , ρ2 n , . . . , ρn−1 n , ρn n , τ 1 n , τ 2 n , . . . , τ n−1 n , τ n n }. The dihe-
dral group Dn generates equivalence classes in the set Vn [26]. Let dn be the
number of such partitions. The following proposition gives the exact count of
dn [10, page 184], [20].
Proposition 1. Let dn be the total number of orbits induced by the ndihedral
group Dn acting on Vn . Then dn = gn /2 + l, where, gn = n1 t|n φ(t)2 t is the
number of rotation symmetric classes [28], φ(t) is the Euler’s phi-function and
3 n
2 2 , if n is even,
l = 4 n−1
2 2 , if n is odd.
Since there are 2dn many n-variable DSBFs, a reduction in the size of the search
space over the size of RSBFs is provided.
Definition 3. Let 1 ≤ k ≤ n, k|n. An n-variable Boolean function f is called k-
dihedral symmetric if f is invariant under the group action Dk n = {ρi n , τn ρi n |
i = k, 2k, 3k, ..., n}.
As the class of DSBFs is a subspace of k-DSBFs, we call k-DSBFs ”generalized
dihedral symmetric Boolean functions”. One should observe that k-DSBFs is a
subspace of k-RSBFs.
When Proposition 1 is applied to k-dihedral symmetric functions, we obtain
the following corollary.
Generalized Rotation Symmetric and Dihedral Symmetric Boolean Functions 325
Table 1. Comparison of the orbit counts gn , dn , gn,k and dn,k for n = 4, 6, . . . , 15, and
all integers k, which divide n
k 2 3 4 5 6 7
n
g4 = 6 g4,k 10 – – – – –
4
d4 = 6 d4,k 7 – – – – –
g6 = 14 g6,k 24 36 – – – –
6
d6 = 13 d6,k 16 24 – – – –
g8 = 36 g8,k 70 – 136 – – –
8
d8 = 30 d8,k 43 – 76 – – –
g9 = 60 g9,k – 176 – – – –
9
d9 = 46 d9,k – 104 – – – –
g10 = 108 g10,k 208 – – 528 – –
10
d10 = 78 d10,k 120 – – 288 – –
g12 = 352 g12,k 700 1044 1376 – 2080 –
12
d12 = 224 d12,k 382 570 720 – 1072 –
g14 = 1182 g14,k 2344 – – – – 8256
14
d14 = 687 d14,k 1236 – – – – 4224
g15 = 2192 g15,k – 6560 – 10944 – –
15
d15 = 1224 d15,k – 3408 – 5600 – –
4 Search Strategy
Our search strategy (refer to [15,16] for details) uses a steepest-descent like iter-
ative algorithm in the pre-chosen set of n-variable Boolean functions (3-DSBFs
or 3-RSBFs for n = 9). Each iteration step accepts the function f and outputs
the function fmin . Initiating the algorithm with a random Boolean function, at
each iteration all costs are calculated within a pre-defined neighborhood of f ,
and the function having the smallest cost is chosen as the iteration output fmin .
In some rare cases, the cost of fmin may be larger than or equal to the cost of f .
This is the crucial part of the search strategy, which provides the ability to es-
cape from local minima and its distinction from the steepest-descent algorithm.
Hence, the algorithm minimizes the cost until a local minimum is attained; then
it takes a step in the direction of nondecreasing cost. The deterministic step in
326 S. Kavut and M.D. Yücel
the reverse direction corresponds to the smallest possible cost increase within
the pre-defined neighborhood of the preceding Boolean function. The choice of
the cost function is also critical and it is chosen as:
Cost(f ) = |Wf (w)2 − 2n |2 ,
w
which
is also equal to the sum of squares of the autocorrelation values given by
2
d,d=(0,...,0) rf (d), excluding rf (0, . . . , 0).
5 Results
We apply our search strategy to 9-variable 3-DSBFs, where the size of the 3-
DSBF search space is 2104 (see Table 1). We have found several unbalanced
Boolean functions having nonlinearity 242. Among them there are two different
absolute indicator values, which are 32 and 40. The following is the truth table
of a 9-variable, 3-dihedral symmetric Boolean function having nonlinearity 242,
absolute indicator value 40, and algebraic degree 7:
68B7EF2DA03B0D3EA00DB6A96DD99AEAFDB9C842B6D5DC8C4526CE0DD29020DB
B75FE3314568344E73688FF0CB2482E065231869E1AA4583765CC491F8A8DB12
And, the function below is another 9-variable 3-DSBF having nonlinearity 242,
absolute indicator value 32, and algebraic degree 7:
125425D30A398F36508C06817BEE122E250D973314F976AED58A3EA9120DA4FE
0E4D4575C42DD0426365EBA7FC5F45BE9B2F336981B5E1863618F49474F6FE00
Using a computer system with Pentium IV 2.8 GHz processor and 256 MB
RAM, and setting the maximum iteration number to N = 60, 000, a typical run
of the search algorithm takes 1 minute and 34 seconds. We have carried out 100
runs, each with N = 60, 000. Out of 6 million distinct 3-DSBFs, 152 functions
have the nonlinearity 241, and 36 many 3-DSBFs have the nonlinearity 242.
Additionally, we have applied the search strategy to 9-variable 3-RSBFs (the
size of the search space is now 2176 as can be seen from Table 1), for which
we initiate the search algorithm with a 9-variable 3-DSBF having nonlinearity
242. Then we have obtained some 9-variable 3-RSBFs having nonlinearity 242,
absolute indicator 56, and algebraic degree 7. The following is the truth table of
such a function:
3740B6A118A1E19642A85E2B7E2F3C3CB65FA0D95EC9DB1EA92BDB3666185AE0
087F5FE6E0757106A12FC918754C40E8A1BCCB7A714032A8961456E066E8A801
It is clear that using one of the above 9-variable functions (say f ) and a 2-
variable bent function (say g), the 11-variable function g(y0 , y1 ) ⊕ f (x0 , . . . , x8 )
11−1
with highest -till date- nonlinearity of 211−1 − 2 2 + 4 = 996, can be obtained.
Generalized Rotation Symmetric and Dihedral Symmetric Boolean Functions 327
References
1. Berlekamp, E.R., Welch, L.R.: Weight Distributions of the Dosets of the (32, 6)
Reed-Muller code. IEEE Trans. Inform. Theory 18(1), 203–207 (1972)
2. Brualdi, R.A., Cai, N., Pless, V.: Orphan Structure of the First Order Reed-Muller
Codes. Discrete Mathematics 102, 239–247 (1992)
3. Brualdi, R.A., Pless, V.S.: Orphans of the First Order Reed-Muller Codes. IEEE
Trans. Inform. Theory 36(2), 399–401 (1990)
4. Clark, J., Jacob, J., Maitra, S., Stanica, P.: Almost Boolean Functions: The Design
of Boolean Functions by Spectral Inversion. Computational Intelligence 20(3), 450–
462 (2004)
5. Cusick, T.W., Stanica, P.: Fast Evaluation, Weights and Nonlinearity of Rotation-
Symmetric Functions. Discrete Mathematics 258, 289–301 (2002)
6. Dalai, D.K., Gupta, K.C., Maitra, S.: Results on Algebraic Immunity for Crypto-
graphically Significant Boolean Functions. In: Canteaut, A., Viswanathan, K. (eds.)
INDOCRYPT 2004. LNCS, vol. 3348, pp. 92–106. Springer, Heidelberg (2004)
7. Dalai, D.K., Maitra, S., Sarkar, S.: Results on rotation symmetric Bent functions.
In: BFCA 2006. 2nd International Workshop on Boolean Functions: Cryptography
and Applications, pp. 137–156 (2006)
328 S. Kavut and M.D. Yücel
8. Filiol, E., Fontaine, C.: Highly nonlinear balanced Boolean Functions with a good
Correlation-Immunity. In: Nyberg, K. (ed.) EUROCRYPT 1998. LNCS, vol. 1403,
pp. 475–488. Springer, Heidelberg (1998)
9. Fontaine, C.: On Some Cosets of the First-Order Reed-Muller Code With High
Minimum Weight. IEEE Trans. Inform. Theory 45(4), 1237–1243 (1999)
10. Harary, F.: Graph Theory. Addison-Wesley Publishing Company, Reading (1972)
11. Hell, M., Maximov, A., Maitra, S.: On Efficient Implementation of Search Strategy
For Rotation Symmetric Boolean Functions. In: ACCT 2004, Black Sea Coast,
Bulgaria (2004)
12. Helleseth, T., Mattson Jr., H.F.: On the Cosets of the Simplex Code. Discrete
Math. 56, 169–189 (1985)
13. Hou, X.-d.: On the Norm and Covering Radius of the First Order Reed-Muller
codes. IEEE Trans. Inform. Theory 43(3), 1025–1027 (1997)
14. Kavut, S., Maitra, S., Sarkar, S., Yücel, M.D.: Enumeration of 9-variable Rotation
Symmetric Boolean Functions having Nonlinearity > 240. In: Barua, R., Lange,
T. (eds.) INDOCRYPT 2006. LNCS, vol. 4329, pp. 266–279. Springer, Heidelberg
(2006)
15. Kavut, S., Maitra, S., Yücel, M.D.: Search for Boolean Functions with Excellent
Profiles in the Rotation Symmetric Class. IEEE Trans. Inform. Theory 53(5), 1743–
1751 (2007)
16. Kavut, S., Maitra, S., Yücel, M.D.: Autocorrelation Spectra of Balanced Boolean
Functions on Odd Number Input Variables With Maximum Absolute Value <
n+1
2 2 . In: BFCA 2006, University of Rouen, France, pp. 73–86 (2006)
17. Kavut, S., Yücel, M.D.: A New Algorithm for the Design of Strong Boolean Func-
tions. In: First National Cryptology Symposium, METU, Ankara, Turkey, pp. 95–
105 (2005)
18. Langevin, P.: On the Orphans and Covering Radius of the Reed-Muller Codes.
In: Mattson, H.F., Rao, T.R.N., Mora, T. (eds.) AAECC-9. LNCS, vol. 539, pp.
234–240. Springer, Heidelberg (1991)
19. MacWillams, F.J., Sloane, N.J.A.: The Theory of Error Correcting Codes. North
Holland, Amsterdam (1977)
20. Maitra, S., Sarkar, S., Dalai, D.K.: On Dihedral Group Invariant Boolean Func-
tions. In: BFCA 2007, University of Rouen, France (2007)
21. Maximov, A.: Classes of Plateaued Rotation Symmetric Boolean functions un-
der Transformation of Walsh Spectra. In: Ytrehus, Ø. (ed.) WCC 2005. LNCS,
vol. 3969, pp. 325–334. Springer, Heidelberg (2006)
22. Maximov, A., Hell, M., Maitra, S.: Plateaued Rotation Symmetric Boolean Func-
tions on Odd Number of Variables. In: BFCA 2005, University of Rouen, France
(2005)
23. Mykkeltveit, J.J.: The Covering Radius of the (128, 8) Reed-Muller Code is 56.
IEEE Trans. Inform. Theory 26(3), 359–362 (1980)
24. Patterson, N.J., Wiedemann, D.H.: The Covering Radius of the (215 , 16) Reed-
Muller code is At Least 16276. IEEE Trans. Inform. Theory 29(3), 354–356 (1983)
25. Pieprzyk, J., Qu, C.X.: Fast Hashing and Rotation-Symmetric Functions. J. Uni-
versal Computer Science 5, 20–31 (1999)
26. Roberts, F.S.: Applied Combinatorics. Prentice-Hall, Inc., Englewood Ciffs, New
Jersey
Generalized Rotation Symmetric and Dihedral Symmetric Boolean Functions 329
27. Rothaus, O.S.: On Bent Functions. Journal of Combinatorial Theory, Series A 20,
300–305 (1976)
28. Stanica, P., Maitra, S.: Rotation Symmetric Boolean Functions – Count and Cryp-
tographic Properties. In: R. C. Bose Centenary Symposium on Discrete Mathemat-
ics and Applications. Electronic Notes in Discrete Mathematics, vol. 15, Elsevier,
Amsterdam (2004)
29. Stanica, P., Maitra, S., Clark, J.: Results on Rotation Symmetric Bent and Corre-
lation Immune Boolean Functions. In: Roy, B., Meier, W. (eds.) FSE 2004. LNCS,
vol. 3017, pp. 161–177. Springer, Heidelberg (2004)
30. Zhang, X.M., Zheng, Y.: GAC – The Criterion for Global Avalanche Characteristics
of Cryptographic Functions. J. Universal Computer Science 1(5), 316–333 (1995)
On Quasi-cyclic Codes over Integer Residue
Rings
1 Introduction
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 330–336, 2007.
c Springer-Verlag Berlin Heidelberg 2007
On Quasi-cyclic Codes over Integer Residue Rings 331
a free module. Let T be the standard shift operator. A linear code C over R
is called a quasi-cyclic code of index l (or an l-quasi-cyclic code ) if T l (c) ∈ C
whenever c ∈ C. For l = 1, a quasi-cyclic code is simply a cyclic code. We assume
that l divides the code length n and n = lm, for some positive integer m. Up
to equivalence, the generator matrix of an l-quasi-cyclic code of length n = lm
can be expressed as a block matrix of m × m circulant matrices [4]. It is well
known that a quasi-cyclic code of length n = lm over R can be regarded as
l
an xR[x]
m −1 -submodule of
R[x]
x −1
m [1], [12]. If this module is generated by a
l
single element g (x ) ∈ xR[x]
m −1 , then we say that the code is a 1-generator
quasi-cyclic code. The generator matrix of a 1-generator l-quasi-cyclic code of
length n = lm consists of a single row G = [G1 , G2 , . . . , Gl ] of m × m circulant
matrices. In this paper we consider some properties of quasi-cyclic codes over
integer residue rings.
Further, GR(q, 1) = Zq and GR(p, m) = Fpm , the finite field over Zp with pm
elements. The Galois ring R = GR(q, m) = GR(pr , m) is a local ring with the
maximal ideal (p) = pR and the residue field R/pR = Fpm . If ξ is a root of f (x),
then R = Zq (ξ).
Thus, if (m, q) = 1 and Ci isa linear code of length l over the Galois ring
t
GR(q, mi ), i = 1, 2, . . . , t, then i=1 Ci is an l-quasi-cyclic code of length n = lm
t
over Zq with i=1 |C i | codewords.
On Quasi-cyclic Codes over Integer Residue Rings 333
The structure of 1-generator quasi-cyclic codes over the finite fields is well known
[17], [18]. We generalize the result for 1-generator quasi-cyclic codes over Zq .
over Z4 . Applying the similar arguments, it is easy to show that if a cyclic code
C of length n, (n, q) = 1, over Zq , is generated by a polynomial g(x) | (xn − 1)
then g(x), xg(x), . . . , xdegg(x)−1 g(x) form a basis for C over Zq . Further, as in
the finite field case, it is straightforward to show that if a cyclic code of length
n over Zq is generated by a polynomial g(x) dividing x − 1 in
n
Zq [x], then it
−1 n
is also generated by a polynomial f (x)g(x) with f (x), xg(x) = 1 in Zq [x].
Therefore, for an l-quasi-cyclic code of length n = lm over Zq with a generator
g (x ) = (g1 (x), g2 (x), . . . , gl (x)) with gi (x) dividing xm − 1 in Zq [x], we can
also take its generator as g (x ) = (f1 (x)g1 (x), f2 (x)g2 (x), . . . , fl (x)gl (x)) with
m
−1
fi (x), xgi (x) = 1.
Now we consider 1-generator l-quasi-cyclic codes of length n = lm with gener-
ators of the form g (x ) =(f1 (x)g(x), f2 (x)g(x), . . . , fl (x)g(x)) with g(x) dividing
m
−1
xm −1 and fi (x), xg(x) = 1. In [1] it is proved that a 1-generator l-quasi-cyclic
code of length n = lm, m odd, over Z4 , with a generator of the above form is
a free Z4 -module of rank m − degg(x). We generalize this result to quasi-cyclic
codes over Zq .
Theorem 5. Let C be a 1-generator l-quasi-cyclic code of length n = lm over
Zq with a generator of the form
g(x) = (f1 (x)g(x), f2 (x)g(x), . . . , fl (x)g(x))
m
−1
where g(x) | (xm − 1) and fi (x), xg(x) = 1 for i = 1, 2, . . . , l. Then C is a free
Zq -module of rank m−deg g(x).
l
Zq [x]
Proof. Once again, for a fixed i, i = 1, 2, . . . , l, consider the projection xm −1
Zq [x]
−→ xm −1 , defined by
Z [x]
if i ai xi g(x) = 0 with ai ∈ Zq in xmq −1 then so is i ai x g (x ) = 0 in
i
l
Zq [x]
xm −1 . Thus g(x), xg(x), . . . , x g(x), for some s ≥ 0, are linearly indepen-
s
The polynomial f (x) in Theorem 6 is called the Hensel’s lift of the polynomial
f1 (x).
Hensel’s lift of a polynomial f1 (x) ∈ Z2 [x] to Z4 [x], can be obtained by the
Graeffe’s method [7], [8], described below. Let f1 (x) = e(x) + o(x), where e(x)
contains only even powers of x and o(x) contains only odd powers of x. Then the
Hensel’s lift f (x) ∈ Z4 [x] of f1 (x) is obtained by f (x) = ±(e(x)2 − o(x)2 ), where
the sign ± is chosen in such a way that the coefficient of the highest power of x
is 1. This is illustrated by the following example.
procedure. Let gp (x) be a factor of xm − 1 in Zp [x]. Let g(x) be the Hensel’s lift
to Zq [x] of gp (x). Then g(x) divides xm − 1 over Zq . Now g(x) can be used to
find the generator g (x ) for C.
4 Conclusion
In this paper we have considered some quasi-cyclic codes over integer residue
rings. The study of quasi-cyclic codes over integer residue ring basically reduces
to quasi-cyclic codes over Zq , q = pr , p a prime. A decomposition of quasi-cyclic
codes over Zq into quasi-cyclic codes over some Galois extension rings of Zq
is given. Some properties of 1-generator quasi-cyclic codes over Zq have been
discussed.
336 Maheshanand and S.K. Wasan
References
1. Aydin, N., Ray-Chaudhuri, D.K.: Quasi-Cyclic Codes over Z4 and Some New Bi-
nary Codes. IEEE Trans. Inform. Theory 48, 2065–2069 (2002)
2. Blake, I.F.: Codes Over Certain Rings. Inform. Control 20, 396–404 (1972)
3. Calderbank, A.R., Sloane, N.J.A.: Modular and P-Adic Cyclic Codes. Designs
Codes and Cryptography 6, 21–35 (1995)
4. Chen, C.L., Peterson, W.W., Weldon, E.J.: Some Results on Quasi-Cyclic Codes.
Inform. Control 15, 407–423 (1969)
5. Daskalov, R., Hristov, P.: New Binary One-Generator Quasi-Cyclic Codes. IEEE
Trans. Inform. Theory 49, 3001–3005 (2003)
6. Fossorier, M.P.C.: Quasi-Cyclic Low-Density Parity-Check Codes From Circulant
Permutation Matrices. IEEE Trans. Inform. Theory 50, 1788–1793 (2004)
7. Hammons, A.R., Kumar, P.V., Calderbank, A.R., Sloane, N.J.A., Sole, P.: The Z4 -
Lnearity of Kerdock, Preparata, Goethal and Related Codes. IEEE Trans. Inform.
Theory 40, 301–319 (1994)
8. Huffman, W.C., Pless, V.: Fundamentals Of Error Correcting Codes. Cambridge
University Press, Cambridge (2003)
9. Kanwar, P., Lopez-Permouth, S.R.: Cyclic Codes Over the Integers Modulo pm .
Finite Fields and Their Applications 3, 334–352 (1997)
10. Kasami, T.: A Gibert-Varshamov Bound for Quasi-Cyclic Codes of Rate 1/2. IEEE
Trans. Inform. Theory 20, 679–680 (1974)
11. Ling, S., Sole, P.: On the Algebraic Structures of Quasi-Cyclic Codes I: Finite
Fields. IEEE Trans. Inform. Theory 47, 2751–2760 (2001)
12. Ling, S., Sole, P.: On the Algebraic Structures of Quasi-Cyclic Codes II: Chain
Rings. Designs Codes and Cryptography 30, 113–130 (2001)
13. Ling, S., Sole, P.: On the Algebraic Structures of Quasi-Cyclic Codes III: Generator
Theory. IEEE Trans. Inform. Theory 51, 2692–2700 (2005)
14. Macwilliams, F.J., Sloane, N.J.A.: The Theory Of Error Correcting Codes. North
Holland Publishing Company, Amsterdam (1977)
15. Norton, G.H., Salagean-Mandache, A.: On the Structures of Linear and Cyclic
Codes Over Finite Chain Rings. Applicable Algebra in Engineering Communication
and Computing 10, 489–506 (2000)
16. Pless, V., Quian, J.: Cyclic Codes and Quadratic Residue Codes Over Z4 . IEEE
Trans. Of Inform. Theory 42, 1594–1600 (1996)
17. Seguin, G.E.: A Class of 1-Generator Quasi-Cyclic Codes. IEEE Trans. Inform.
Theory 50, 1745–1753 (2004)
18. Siap, I., Aydin, N., Ray-Chaudhuri, D.K.: New Ternary Quasi-Cyclic Codes with
Better Minimum Distances. IEEE Trans. Inform. Theory 46, 1554–1558 (2000)
19. Tanner, R.M.: Towards Algebraic Theory of Turbo Codes. In: 2nd Int. Symp. on
Turbo Codes, Brest (2000)
20. Wan, Z.X.: Quaternary Codes. World Scientific, Singapore (1997)
21. Wasan, S.K.: On Codes over Zm . IEEE Trans. Inform. Theory 28, 117–120 (1982)
22. Woo, S.S.: Free Cyclic Codes Over Finite Local Rings. Bull. Korean Math. Soc. 43,
723–735 (2006)
Extended Norm-Trace Codes with Optimized
Correction Capability
1 Introduction
Let q be a prime power and r an integer greater than or equal to 2. The curve
qr −1 r−1 r−2
defined over Fqr with affine equation x q−1 = y q + yq + · · · + y is called
the norm-trace curve associated to q and r. In fact, the defining equation is
equivalent to NFqr /Fq (x) = TFqr /Fq (y), where, for x ∈ Fqr , NFqr /Fq (x) denotes
the norm of x over Fq , and for y ∈ Fqr , TFqr /Fq (y) denotes the trace of y over Fq .
Norm-trace curves were introduced by Geil in [2]. They are a natural generaliza-
tion of Hermitian curves, these being norm-trace curves resulting from the field
extension Fq2 /Fq . Norm-trace curves have a single rational point P∞ at infinity
and n = q 2r−1 proper rational points.
In this work we consider a somewhat broader family of curves that include
norm-trace curves. For example, our family includes xu = TFqr /Fq (y), where u
divides (q r − 1)/(q − 1), and it also includes the maximal curves derived from
Hermitian curves studied in [3].
Part of this work is in the manuscript [1] submitted for publication.
This work was partly supported by the Catalan Government through a grant BE–
2 2006 and a grant 2005 SGR 00446 and by the Spanish Ministry of Education
through projects TSI2007-65406-C03-01 E-AEGIS and CONSOLIDER CSD2007-
00004 ARES.
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 337–346, 2007.
c Springer-Verlag Berlin Heidelberg 2007
338 M. Bras-Amorós and M.E. O’Sullivan
One can check that the new family of curves also fit the conditions for the list
decoding algorithm for Hermitian codes using Gröbner basis presented by Lee
and O’Sullivan [4].
The codes we obtain from these curves can be seen as codes from order do-
mains. The theory of codes from order domains is developed in [5,6,7,8,9]. For
these codes there is a lower bound on the minimum distance and an efficient gen-
eralization of the Berlekamp-Massey algorithm based on Sakata’s algorithm for
finding linear recurrence relations in multidimensional arrays [10]. Using the ma-
jority voting method of Feng, Rao, and Duursma, [11,12] the algorithm corrects
up to half the above mentioned bound on the minimum distance. Improvements
to code dimension, while maintaining a fixed decoding radius were discovered
by Feng and Rao [11]. Our earlier work [13] considered a different improvement,
based on the observation that the decoding algorithm corrects an error vector
based not so much on the weight of the vector but rather the “footprint” of the
error locations [14]. For some codes, most error vectors of a given weight t have
a particular footprint. Those error vectors are called generic and are correctable
with fewer check symbols than are required to correct all error vectors of weight
t. These results may be combined with the Feng-Rao improvements to increase
the dimension of a code while maintaining a desired correction capability.
We show how the codes from the new family of curves still satisfy Geil’s
duality properties stated for norm-trace codes [2]. That is, it is easy to find a
minimal set of parity checks guaranteeing correction of a given number of errors,
as well as the set of monomials generating the corresponding code.
Furthermore, following the results in [13] we describe a way to find the minimal
set of parity checks and the corresponding generating monomials guaranteeing
correction at least of generic errors. This gives codes with larger dimensions.
will assume that L(Fqr ) ⊇ D. Then for any u dividing v we consider the curve
Fqr [x, y]
xu = L(y) whose coordinate ring is A = u .
x − L(y)
A basis of A as a vector space over Fqr is given by the images in A of the set of
monomials B = {xa y b : b < q d }. Consider the total ordering on A determined
by the (q d , u) weighted degree, degqd ,u xa y b = q d a + ub. One can check that any
monomial in Fq [x, y] has the same weighted degree as exactly one monomial in
B. In particular, no two monomials from B have the same weighted degree. Let
zi be the ith monomial in B with respect to , starting with z0 = 1. Notice that
Extended Norm-Trace Codes with Optimized Correction Capability 339
v v + 1) such
points, P1 , . . . , Pn .
Let ϕ : A −→ Fnq be such that f → (f (P1 ), . . . , f (Pn )) and let W be a set of
monomials in B. We call EW the linear code spanned by {ϕ(zi ) : zi ∈ W } and
CW the dual code.
Given W define Wϕ as the set {zi ∈ W : ϕ(zi ) is not in the span of ϕ(zj ), j ∈
W, j < i} and let M = {xa y b : a (q −1)u
r
Proposition 1. – If W ⊆ M then Wϕ = W .
– If W is divisor-closed then Wϕ = W ∩ M.
The next proposition shows how to find the set W ⊥ defining the dual code of
the code defined by W . As before, for the sake of brevity, the proof of this
proposition has been omitted. The proofs of both propositions is in [1].
Fq r
Fqij
N Fq k
Fq i
T
Fq
x3 = y 8 + y 4 + y 2 + y
Table 1. For the field F256 the norm and trace functions appearing in Example 1 are
listed. The curves considered are obtained for a fixed q by setting any norm function
equal to any trace function.
q=2
i, j Norm functions on x k Trace functions on y
1,2 x3 2 y2 + y
1,4 x 15
4 y + y4 + y2 + y
8
1,8 x 255
8 y 128
+ y 64 + y 32 + y 16 +
2,2 x 5
+y 8 + y 4 + y 2 + y
2,4 x85
4,2 x17
q=4
i, j Norm functions on x k Trace functions on y
1,2 x5 2 y4 + y
1,4 x 85
4 y + y 16 + y 4 + y
64
2,2 x 17
q = 16
i, j Norm functions on x k Trace functions on y
1,2 x17 2 y 16 + y
Extended Norm-Trace Codes with Optimized Correction Capability 341
Example 2. Consider the codes over the curve with affine equation x3 = y 8 +
y 4 + y 2 + y over F16 . The monomials in A are ordered by their (q d , u) = (8, 3)
graded degree, which in turn is the pole order of each monomial at infinity. Thus,
z0 = 1, z1 = y, z2 = y 2 , z3 = x, z4 = y 3 , z5 = xy, etc.
342 M. Bras-Amorós and M.E. O’Sullivan
(a, b) in the N0 × N0 grid. This is illustrated in Figure 2(a) and Figure 2(b).
Figure 2(c) represents the pole order at infinity of each monomial represented
in Figure 2(a). In this case the ν-value corresponding to the monomial zi is
the number of monomials zj , zk with vP∞ (zj ) + vP∞ (zk ) = vP∞ (zi ). Figure 2(d)
represents these ν-values.
Suppose we want to correct 3 errors. Theorem 1 says that the minimum set
of parity checks that we need corresponds exactly to those monomials whose
ν-value is at most 6. This gives the set R(3) = { z0 = 1, z1 = y, z2 = y 2 , z3 = x,
z4 = y , z5 = xy, z6 = y , z7 = xy , z8 = y 5 , z9 = x2 , z12 = x2 y}. These
3 4 2
6
y7
6
z14 216
y 6 xy 6 z11 z19 18 26
y 5 xy 5 z8 z16 15 23
.
.
..
..
..
y 4 xy 4 z6 z13 12 20
y 3 xy 3 x2 y 3 z4 z10 z18 9 17 25
y 2 xy 2 x2 y 2 z2 z7 z15 6 14 22
y xy x2 y x3 y z1 z5 z12 z20 3 11 19 27
y0 x x2 x3 - z0 z3 z9 z17 - 0 -
8 16 24
86 6 6
7 14
6 12 b ×
.
b
..
5 10 ×
4 8 12 b ×
3 6 9 b b ××
2 4 6 14 b b b ××
1 2 3 11 - b b b - ×× -
(d) ν-values (e) R(3) (f) R∗ (3)
Fig. 2.
Extended Norm-Trace Codes with Optimized Correction Capability 343
Corollary 1. R ∩ M, R
ϕ (t) = R(t) ∗ (t) = R
∗ (t) ∩ M.
ϕ
Corollary 2. CR(t) = CRϕ (t) = ER ⊥ , CR∗ (t) = CR∗ ϕ (t) = ER∗ (t)⊥ .
ϕ (t) ϕ
Example 3. Consider the codes CR(3) and CR∗ (3) over the curve x3 = y 8 + y 4 +
y 2 + y represented in Figure 2(e) and Figure 2(f). In this case (q −1)u
4
v = 3 and
q d − 1 = 7, so M = {xa y b : 0 a 3, 0 b 7} (see Figure 3(a)). Since all
checks in R(3) ∗ (3)) are inside M, by Corollary 1, they are all linearly
(resp. R
independent. So the dimension of CR(3) is 32 − 11 = 21 and the dimension of
CR∗ (3) is 32 − 9 = 23.
Now we can use Corollary 2 to derive, from R(3) and R∗ (3), the set of monomi-
a b a b
als x y such that the vectors ϕ(x y ) generate CR(3) and CR∗ (3) . In Figure 3(b)
we represented all these sets. In Figure 4 and Figure 5 we give the explicit parity
check matrices and generating matrices for these codes.
7 p6p p p 7 ×b6× p p
p p p p ×b × p p
×b p p p ×b ×b p p
×b p p p ×b ×b ×b p
×b p p p ×b ×b ×b p
×b ×b p p ×b ×b ×b p
×b ×b b p ×b ×b ×b ×b
×b ×b b p
- ×b ×b ×b ×-
b
3 3
(a) (b)
ϕ(1) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ϕ(y)
0
1 α α2 α4 α5 α8 α10 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14
ϕ(y 2 )
0
1 α2 α4 α8 α10 α α5 α6 α12 α14 α3 α7 α9 α11 α13 α6 α12 α14 α3 α7 α9 α11 α13 α6 α12 α14 α3 α7 α9 α11 α13
ϕ(x) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 α5 α5 α5 α5 α5 α5 α5 α5 α10 α10 α10 α10 α10 α10 α10 10
α
12
ϕ(y 3 )
0
1 α3 α6 α12 1 α9 1 α9 α3 α6 α12 α3 α6 α9 α12 α9 α3 α6 α12 α3 α6 α9 α12 α9 α3 α6 α12 α3 α6 α9 α
ϕ(xy) =
0
0 0 0 0 0 0 0 α3 α6 α7 α9 α11 α12 α13 α14 α8 α11 α12 α14 α α2 α3 α4 α13 α α2 α4 α6 α7 α8 α9
ϕ(y 4 )
0
1 α4 α8 α α5 α2 α10 α12 α9 α13 α6 α14 α3 α7 α11 α12 α9 α13 α6 α14 α3 α7 α11 α12 α9 α13 α6 α14 α3 α7 α11
8
ϕ(xy 2 )
0
0 0 0 0 0 0 0 α6 α12 α14 α3 α7 α9 α11 α13 α11 α2 α4 α8 α12 α14 α α3 α α7 α9 α13 α2 α4 α6 α
5 10
ϕ(y )
0
1 α5 α10 α5 α10 α10 α5 1 1 α5 1 α10 1 α5 α10 1 1 α5 1 α10 1 α5 α10 1 1 α5 1 α10 1 α5 α
ϕ(x2 ) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 α10 α10 α10 α10 α10 α10 α10 α10 α5 α5 α5 α5 α5 α5 α5 α5
2
ϕ(x y) 0 0 0 0 0 0 0 0 α3 α6 α7 α9 α11 α12 α13 α14 α13 α α2 α4 α6 α7 α8 α9 α8 α11 α12 α14 α α2 α3 α4
ϕ(1) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ϕ(y) 0 1 α α2 α4 α5 α8 α10 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14
ϕ(y 2 ) α4
0 1 α2 α8 α10 α α5 α6 α12 α14 α3 α7 α9 α11 α13 α6 α12 α14 α3 α7 α9 α11 α13 α6 α12 α14 α3 α7 α9 α11 α13
10
ϕ(x) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 α5 α5 α5 α5 α5 α5 α5 α5 α10 α10 α10 α10 α10 α10 α10 α
3
ϕ(y )
α6
0 1 α3
α12 1 α9 1 α9 α3 α6 α12 α3 α6 α9 α12 α9 α3 α6 α12 α3 α6 α9 α12 α9 α3 α6 α12 α3 α6 α9 α12
ϕ(xy) 0 0 0 0 0 0 0 0 α3 α6 α7 α9 α11 α12 α13 α14 α8 α11 α12 α14 α α2 α3 α4 α13 α α2 α4 α6 α7 α8 α9
M. Bras-Amorós and M.E. O’Sullivan
11
ϕ(y 4 )
α8
0 1 α4
α α5 α2 α10 α12 α9 α13 α6 α14 α3 α7 α11 α12 α9 α13 α6 α14 α3 α7 α11 α12 α9 α13 α6 α14 α3 α7 α
2
ϕ(xy )
0 0 0
0 0 0 0 0 α6 α12 α14 α3 α7 α9 α11 α13 α11 α2 α4 α8 α12 α14 α α3 α α7 α9 α13 α2 α4 α6 α8
5
ϕ(y )
α10
0 1 α5
α5 α10 α10 α5 1 1 α5 1 α10 1 α5 α10 1 1 α5 1 α10 1 α5 α10 1 1 α5 1 α10 1 α5 10
α
ϕ(x2 )
0 0 0
0 0 0 0 0 1 1 1 1 1 1 1 1 α10 α10 α10 α10 α10 α10 α10 α10 α5 α5 α5 α5 α5 α5 α5 α5
ϕ(xy 3) =
0 0 0
0 0 0 0 0 α9 α3 α6 α12 α3 α6 α9 α12 α14 α8 α11 α2 α8 α11 α14 α2 α4 α13 α α7 α13 α α4 α7
6 9
ϕ(y )
α12
0 1 α6
α9 1 α3 1 α3 α6 α12 α9 α6 α12 α3 α9 α3 α6 α12 α9 α6 α12 α3 α9 α3 α6 α12 α9 α6 α12 α3 α
2
ϕ(x y) 4
0 0 0
0 0 0 0 0 α3 α6 α7 α9 α11 α12 α13 α14 α13 α α2 α4 α6 α7 α8 α9 α8 α11 α12 α14 α α2 α3 α
ϕ(xy 4)
0 0 0
0 0 0 0 0 α12 α9 α13 α6 α14 α3 α7 α11 α2 α14 α3 α11 α4 α8 α12 α α7 α4 α8 α α9 α13 α2 α6
ϕ(y 7 )
α14
0 1 α7
α13 α5 α11 α10 α6 α12 α4 α3 α2 α9 α α8 α6 α12 α4 α3 α2 α9 α α8 α6 α12 α4 α3 α2 α9 α α8
3
ϕ(x2 y 2 )
0 0 0
0 0 0 0 0 α6 α12 α14 α3 α7 α9 α11 α13 α α7 α9 α13 α2 α4 α6 α8 α11 α2 α4 α8 α12 α14 α α
ϕ(xy 5)
0 0 0
0 0 0 0 0 1 1 α5 1 α10 1 α5 α10 α5 α5 α10 α5 1 α5 α10 1 α10 α10 1 α10 α5 α10 1 α5
ϕ(x3 ) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2
ϕ(x2 y 3 )
0 0 0
0 0 0 0 0 α9 α3 α6 α12 α3 α6 α9 α12 α4 α13 α α7 α13 α α4 α7 α14 α8 α11 α2 α8 α11 α14 α
ϕ(x3 y) 0 0 0 0 0 0 0 0 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14
ϕ(x2 y 4 ) 00 0 0 0 0 0 0 α12 α9 α13 α6 α14 α3 α7 α11 α7 α4 α8 α α9 α13 α2 α6 α2 α14 α3 α11 α4 α8 α12 α
Fig. 4. Parity check matrix (above) and generating matrix (below) of CR(3)
ϕ(1) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ϕ(y)
0
1 α α2 α4 α5 α8 α10 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14
ϕ(y 2 )
0
1 α2 α4 α8 α10 α α5 α6 α12 α14 α3 α7 α9 α11 α13 α6 α12 α14 α3 α7 α9 α11 α13 α6 α12 α14 α3 α7 α9 α11 α13
ϕ(x) 10
0
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 α5 α5 α5 α5 α5 α5 α5 α5 α10 α10 α10 α10 α10 α10 α10 α
12
ϕ(y 3 ) =
0
1 α3 α6 α12 1 α9 1 α9 α3 α6 α12 α3 α6 α9 α12 α9 α3 α6 α12 α3 α6 α9 α12 α9 α3 α6 α12 α3 α6 α9 α
ϕ(xy) 0 0 0 0 0 0 0 0 α3 α6 α7 α9 α11 α12 α13 α14 α8 α11 α12 α14 α α2 α3 α4 α13 α α2 α4 α6 α7 α8 α9
ϕ(y 4 )
0
1 α4 α8 α α5 α2 α10 α12 α9 α13 α6 α14 α3 α7 α11 α12 α9 α13 α6 α14 α3 α7 α11 α12 α9 α13 α6 α14 α3 α7 α11
8
ϕ(xy 2) 0 0 0 0 0 0 0 0 α6 α12 α14 α3 α7 α9 α11 α13 α11 α2 α4 α8 α12 α14 α α3 α α7 α9 α13 α2 α4 α6 α
5 10
ϕ(y ) 0 1 α5 α10 α5 α10 α10 α5 1 1 α5 1 α10 1 α5 α10 1 1 α5 1 α10 1 α5 α10 1 1 α5 1 α10 1 α5 α
ϕ(1) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ϕ(y) 0 1 α α2 α4 α5 α8 α10 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14
ϕ(y 2 ) α4
0 1 α2 α8 α10 α α5 α6 α12 α14 α3 α7 α9 α11 α13 α6 α12 α14 α3 α7 α9 α11 α13 α6 α12 α14 α3 α7 α9 α11 α13
ϕ(x) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 α5 α5 α5 α5 α5 α5 α5 α5 α10 α10 α10 α10 α10 α10 α10 α10
ϕ(y 3 ) α6
0 1 α3 α12 1 α9 1 α9 α3 α6 α12 α3 α6 α9 α12 α9 α3 α6 α12 α3 α6 α9 α12 α9 α3 α6 α12 α3 α6 α9 α12
9
ϕ(xy)
0 0 0
0 0 0 0 0 α3 α6 α7 α9 α11 α12 α13 α14 α8 α11 α12 α14 α α2 α3 α4 α13 α α2 α4 α6 α7 α8 α
4
ϕ(y )
α8
0 1 α4
α α5 α2 α10 α12 α9 α13 α6 α14 α3 α7 α11 α12 α9 α13 α6 α14 α3 α7 α11 α12 α9 α13 α6 α14 α3 α7 α11
ϕ(xy 2)
0 0 0
0 0 0 0 0 α6 α12 α14 α3 α7 α9 α11 α13 α11 α2 α4 α8 α12 α14 α α3 α α7 α9 α13 α2 α4 α6 α8
ϕ(y 5 )
α10
0 1 α5
α5 α10 α10 α5 1 1 α5 1 α10 1 α5 α10 1 1 α5 1 α10 1 α5 α10 1 1 α5 1 α10 1 α5 10
α
ϕ(x2 )
0 0 0
0 0 0 0 0 1 1 1 1 1 1 1 1 α10 α10 α10 α10 α10 α10 α10 α10 α5 α5 α5 α5 α5 α5 α5 5
α
3
ϕ(xy )
0 0 0
0 0 0 0 0 α9 α3 α6 α12 α3 α6 α9 α12 α14 α8 α11 α2 α8 α11 α14 α2 α4 α13 α α7 α13 α α4 α7
ϕ(y 6 ) =
α12
0 1 α6
α9 1 α3 1 α3 α6 α12 α9 α6 α12 α3 α9 α3 α6 α12 α9 α6 α12 α3 α9 α3 α6 α12 α9 α6 α12 α3 α9
ϕ(x2 y) 4
0 0 0
0 0 0 0 0 α3 α6 α7 α9 α11 α12 α13 α14 α13 α α2 α4 α6 α7 α8 α9 α8 α11 α12 α14 α α2 α3 α
6
ϕ(xy 4)
0 0 0
0 0 0 0 0 α12 α9 α13 α6 α14 α3 α7 α11 α2 α14 α3 α11 α4 α8 α12 α α7 α4 α8 α α9 α13 α2 α
7
ϕ(y )
α14
0 1 α7
α13 α5 α11 α10 α6 α12 α4 α3 α2 α9 α α8 α6 α12 α4 α3 α2 α9 α α8 α6 α12 α4 α3 α2 α9 α α8
ϕ(x2 y 2 )
0 0 0
0 0 0 0 0 α6 α12 α14 α3 α7 α9 α11 α13 α α7 α9 α13 α2 α4 α6 α8 α11 α2 α4 α8 α12 α14 α α3
5
ϕ(xy 5)
0 0 0
0 0 0 0 0 1 1 α5 1 α10 1 α5 α10 α5 α5 α10 α5 1 α5 α10 1 α10 α10 1 α10 α5 α10 1 α
ϕ(x3 ) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ϕ(x2 y 3 )
0 0 0
0 0 0 0 0 α9 α3 α6 α12 α3 α6 α9 α12 α4 α13 α α7 α13 α α4 α7 α14 α8 α11 α2 α8 α11 α14 α2
4
ϕ(xy 6)
0 0 0
0 0 0 0 0 α3 α6 α12 α9 α6 α12 α3 α9 α8 α11 α2 α14 α11 α2 α8 α14 α13 α α7 α4 α α7 α13 α
ϕ(x3 y) 14
0 0 0
0 0 0 0 0 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α14 α3 α6 α7 α9 α11 α12 α13 α
2 4
α12 α9 α13 α6 α14 α3 α7 α11 α7 α4 α8 α α9 α13 α2 α6 α2 α14 α3 α11 α4 α8 α12 α
Extended Norm-Trace Codes with Optimized Correction Capability
ϕ(x y ) 0 0 0 0 0 0 0 0
ϕ(xy 7 ) 00 0 0 0 0 0 0 α6 α12 α4 α3 α2 α9 α α8 α11 α2 α9 α8 α7 α14 α6 α13 α α7 α14 α13 α12 α4 α11 α3
Fig. 5. Parity check matrix (above) and generating matrix (below) of CR∗ (3)
345
346 M. Bras-Amorós and M.E. O’Sullivan
4 Conclusion
References
1. Bras-Amorós, M., O’Sullivan, M.E.: Duality for Some Families of Correction Ca-
pability Optimized Evaluation Codes (2007)
2. Geil, O.: On Codes From Norm-Trace Curves. Finite Fields Appl. 9(3), 351–371
(2003)
3. Koetter, R.: On the Determination of Error Values for Codes From a Class of
Maximal Curves. In: Proc. 35-th Allerton Conference on Communication, Control,
and Computing, pp. 44–53 (1997)
4. Lee, K., O’Sullivan, M.E.: List Decoding of Hermitian Codes Using Groebner Bases
(2006)
5. Hoeholdt, T., van Lint, J.H., Pellikaan, R.: Algebraic Geometry Codes. In: Hand-
book of Coding Theory, vol. I, pp. 871–961. North-Holland, Amsterdam (1998)
6. O’Sullivan, M.E.: New Codes for the Berlekamp-Massey-Sakata Algorithm. Finite
Fields Appl. 7(2), 293–317 (2001)
7. Geil, O., Pellikaan, R.: On the Structure of Order Domains. Finite Fields
Appl. 8(3), 369–396 (2002)
8. Geil, O.: Codes Based on an Fq -Algebra. PhD thesis, Aalborg University (1999)
9. Little, J.B.: The Ubiquity of Order Domains for the Construction Of Error Control
Codes. Adv. Math. Commun. 1(1), 151–171 (2007)
10. Sakata, S.: Extension of Berlekamp-Massey Algorithm to n Dimensions. IEEE
Trans. Inform. Theory 34(5), 1332–1340 (1988)
11. Feng, G.L., Rao, T.R.N.: Improved Geometric Goppa codes. I. Basic Theory. IEEE
Trans. Inform. Theory 41(6, part 1), 1678–1693 (1995)
12. Duursma, I.M.: Majority Coset Decoding. IEEE Trans. Inform. Theory 39(3),
1067–1070 (1993)
13. Bras-Amorós, M., O’Sullivan, M.E.: The Correction Capability of the Berlekamp-
Massey-Sakata Algorithm With Majority Voting. Appl. Algebra Engrg. Comm.
Comput. 17(5), 315–335 (2006)
14. Geil, O., Hoeholdt, T.: Footprints or Generalized Bezout’s Theorem. IEEE Trans.
Inform. Theory 46(2), 635–641 (2000)
15. Lidl, R., Niederreiter, H.: Introduction to Finite Fields and Their Applications, 1st
edn. Cambridge University Press, Cambridge (1994)
16. Bourbaki, N.: Commutative Algebra, ch. 1–7. Elements of Mathematics. Springer,
Berlin (1998)
On Generalized Hamming Weights and the
Covering Radius of Linear Codes
1 Introduction
Let C be an [n, k, d] code over IFq (i.e., a linear subspace of IFqn of dimension
k and Hamming distance d) with a check matrix H, and let r = n − k be the
redundancy of C (for terminology and standard results on coding theory, we
refer to MacWilliaims and Sloane [22]).
The covering radius R(C) of C is defined by R(C) := maxn min d(x, c), where
x∈IFq c∈C
d(·, ·) is the Hamming distance. For more details on the covering radius of codes
and its applications, we refer to the book by Cohen et. al. [2]. An important
open problem is to determine the covering radii of cyclic codes, as this class con-
tains BCH codes, Reed-Solomon codes, extended Goppa codes (in general some
important AG codes), quadratic-residue codes, some extended algebraic geomet-
ric codes, finite geometric codes, and punctured Reed-Muller codes. Covering
radii of cyclic codes of length ≤ 64 and co-dimension ≤ 28 were determined by
Dougherty and Janwa [3] using a highly efficient parallel algorithm implemented
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 347–356, 2007.
c Springer-Verlag Berlin Heidelberg 2007
348 H. Janwa and A.K. Lal
on massively parallel computers (such as, 1024 node hypercube (at Caltech),
Connection Machines at UCLA, and the Los Alamos National Laboratories). In
[1,2], the authors have shown that the problem of computing covering radii of
codes is known to be both NP-hard and Co-NP-hard. Indeed, this problem is
strictly harder than any NP-Complete problem, unless NP = co-NP.
The complexity of computing covering radius of an [n, k, d] linear code is of
the order of O(2n−k ). Thus, finding exact covering radius of high co-dimensional
linear codes is very difficult, and finding good upper bounds on the covering
radii of such codes is an important problem. In this article, we give tight upper
bounds on the covering radii of q-ary linear codes in terms of their generalized
Hamming weights.
Generalized Hamming weights (GHWs) were introduced by Wei [26] to study
the linear coding scheme for the wire-tap channel of Type II. Ozarow and Wyner
[24] had introduced a linear coding scheme on this channel in connection with
Cryptography (wire-taping). Wei [26] has shown that the GHWs completely
characterize the performance of a linear code when it is used on the above
channel. The GHWs are also called the dimension/length profile and G.D. Forney
[5] has used it in determining the trellis complexity of linear block codes. A
connection between GHWs and list decoding was found by Guruswami [6]. Since
covering radius gives the limits of complete decoding, the results in [6] give
further evidence of connection between covering radii and GHWS.
Let C be [n, k] linear code over IFq . For 1 ≤ r ≤ k, the rth generalized
Hamming weight of C, denoted dr (C), was defined by Wei [26] as
dr (C) = min {|Supp(U )| : U ⊂ C and dim(U ) = r } (1)
where Supp(U ) = Supp(x) and Supp(x) is the support of the vector x, i.e.,
x∈U
the set of coordinates where x is not zero. Note that the minimum distance d
of C is precisely d1 (C). From now on we will use dr in place of dr (C), and d in
place of d1 .
In general, it is very difficult to compute the GHWs of arbitrary linear codes.
An efficient algorithm to compute the GHWs of cyclic codes was given by Janwa
and Lal [17]. That algorithm is efficient if the dimension of the code is small (and
hence the co-dimension is large). Thus, we are able to give tight upper bound
on the covering radii of high co-dimensional cyclic codes about which we do not
have much information.
The paper is arranged as follows: general background and a list of known
results are contained in Section 2. The main result is contained in Section III.
Section IV briefly discusses some improvements of the bounds. Some applications
of our results are contained in Section V and Table I.
2 Background
2.1 Preliminaries
In this section, we mention a few known results with their references. These
results will be used in later sections.
On Generalized Hamming Weights and the Covering Radius of Linear Codes 349
Fact 1. [26] Let C be an [n, k] linear code over IFq and let C ⊥ be the dual code
of C. Then {dr (C) : 1 ≤ r ≤ k} = {1, 2, . . . , n} \ {n + 1 − dr (C ⊥ ) : 1 ≤ r ≤ n − k}.
We now define the term “chain condition”, which was introduced by Wei and
Yang [27]. We also state a few results related to the chain condition. For more
results on codes satisfying the chain condition, we refer the reader to [4,8,21].
Definition 1. Let C be an [n, k] linear code with {d1 (C), d2 (C), . . . , dk (C)}
as the GHWs of C. Suppose the code C has k linearly independent vectors
r
X1 , X2 , . . . , Xk over IFq , satisfying dr (C) = | i=1 Supp Xi | for 1 ≤ r ≤ k.
Then the code C is said to satisfy the chain condition.
Fact 2. [27] If a linear code C satisfies the chain condition then so does its dual
code, C ⊥ .
Fact 3. [27] Let C be an [n, k] linear code over IFq satisfying the chain condition.
vectors X1 , X2 , . . . , Xk of C are linearly independent over IFq and
Suppose the
dr (C) = | ri=1 Supp Xi | for 1 ≤ r ≤ k. Then, there exists a generator matrix G
of C having Xi for 1 ≤ i ≤ k as its ith row.
We now mention two results on the covering radius of codes.
Fact 4. [14] The [n, 1, n] code over IFq has covering radius n(q−1)
q .
r
r
For 1 ≤ r ≤ k, we define Hq (n, r, d) := n − qdi and gq (r, d) := qdi . Also,
i=1 i=1
for fixed positive integers k and d, let nq (k, d) denote the smallest possible length
of any linear [n, k, d] code over IFq . Then in Theorem 1, the bound Hq (n, k, d)
can be re-written either as
d d
n − gq (k, d) + d − , or n − gq (k + 1, d) + d or n − gq (k, ). (2)
qk q
The results that give conditions under which gq (., .) in (2) can be replaced by
the function nq (., .) are given in [12] and [20]. Indeed, Hq (n, k, d) can be replaced
by n − gq (k, dq ) (see [20]) for complete proofs).
With this notation, we state the next two lemmas. The proof of the first lemma
is immediate from the definition of covering radius and we give the proof of the
second for the sake of completeness.
Proposition 1. [14,23] Let C be a linear code with generator matrix as given
in (3). If, for i = 1, 2, the matrix Gi generates the code Ci , then
Lemma 1. [18] Let C be a linear code with generator matrix as given in (3).
Suppose that for i = 1, 2, the matrix Gi generates the code Ci , rank (G1 ) = r
and |Supp(G1 )| = dr (C). Then the minimum distance of the code C2 , denoted
d(C2 ), satisfies
d(C2 ) ≥ dr+1 − dr . (5)
Furthermore, if the code C satisfies the chain condition then equality is attained
in (5).
Let C be an [n, k, d] code over IFq with its weight hierarchy {d1 , d2 , . . . , dk }. For
1 ≤ r ≤ k, Helleseth et. al [11] defined the excess sequence {1 , 2 , . . . , k } and
the δ−sequence {δ1 , δ2 , . . . , δk } of C, respectively, by
d
r := dr − gq (r, d) and δr := , (6)
q r−1
The next result gives a bound on the covering radius of codes in terms of the
excess and the δ sequence. A preliminary proof of this result appeared in [18].
Theorem 2. Let C be an [n, k, d] code over IFq satisfying the chain condition.
Then with the convention 0 = δ0 = d0 = 0, we have
k
(dr − dr−1 )(q − 1) k
dr − dr−1
R(C) ≤ =n− (8)
r=1
q r=1
q
k
(r − r−1 ) + δr
=n− follows from (7). (9)
r=1
q
On Generalized Hamming Weights and the Covering Radius of Linear Codes 351
Proof. Without loss of generality, suppose C does not have a zero coordinate. We
use induction on the dimension of the subcode of C. For r = 1, the result follows
from Fact 4. Let the theorem be true for all subcodes Dr with dim(Dr ) = r for
1 ≤ r ≤ k − 1. Consider the subcode Dr+1 . Since the code C satisfies the chain
condition, by Fact 3, the generator matrix of Dr+1 can be partitioned as in (3),
in such a way that dim(C1 ) = r, |Supp(Dr )| = dr and C2 is a linear code with
parameters [dr+1 − dr , 1, . . .]. So, by the induction hypothesis and Proposition 1
r
(di − di−1 )(q − 1)
R(C) ≤ R(C1 ) + R(C2 ) ≤ + R(C2 ).
i=1
q
As the code satisfies the chain condition, using (5) and Fact 4, the result follows.
k
As an immediate corollary, we show that the bound n − (r −r−1
q
)+δr
on
r=1
the covering radius is better than the bound on the covering radius given by
Theorem 1. We also denote this new bound by CHq (n,k,d1 ,d2 ,. . ., dk ).
Corollary 1. Let C be an [n, k, d] code over IFq satisfying the chain condition.
Then
R(C) ≤ CHq (n, k, d1 , d2 , . . . , dk ) ≤ Hq (n, k, d). (10)
Furthermore, CHq (n, k, d1 , d2 , . . . , dk ) = Hq (n, k, d) only if
(r − r−1 ) + δr δr
= , ∀ r, 1 ≤ r ≤ k, (11)
q q
k
(r − r−1 ) + δr k
δr k
1 d
R(C) ≤ n − ≤n− =n− r−1
r=1
q r=1
q r=1
q q
k
d
=n− r .
r=1
q
The next two theorems are similar to Theorem 2. To prove them, we first need
to partition the generator matrix G of the code C as in (3) and then proceed on
the lines of Theorem 2. Thus, the proof is omitted.
352 H. Janwa and A.K. Lal
4 Further Improvements
Let Uq (n, k, d) (respectively, Uq (n, k, d1 , d2 , . . . , dk )) denote the best known up-
per bound on the covering radius R of an arbitrary [n, k, d] linear code over IFq
(respectively, with GHWs {d1 , d2 , . . . , dk }). Then Uq (n, k, d) ≤ min { Hq (n, k, d),
n − nq (k, dq ) } and Uq (n, k, d1 , d2 , . . . , dk ) ≤ min { GHq (n, k, d1 , d2 , . . . , dk ),
Uq (n, k, d) }. Also, if we know that R ≤ d, then Uq (n, k, d) ≤ min{Hq (n, k, d), n−
nq (k + 1, d) + d}. Therefore, from Theorem 3, we have the following result.
Theorem 5
R ≤ Uq (dr , r, d1 , d2 , . . . , dr ) + Uq (n − dr , k − r, dr+1 − dr ).
Furthermore, if the code satisfies the chain condition, then the GHq (·) function
can be replaced by the CHq (·) function.
5 Some Applications
5.1 Existence of Chains
Remark 1. Let C be an [n, k] code with GHWs {d1 , d2 , . . . , dk }. Suppose that
k
n − i=1 (di −di−1
q
)(q−1)
< R(C). Then the code C doesn’t satisfy the chain
condition as it contradicts Theorem 2.
For example, consider the code C generated by the matrix
⎡ ⎤
100010001
G = ⎣0 1 0 1 0 1 0 1 0⎦
001100110
⎡ ⎤
111000000
G1 = ⎣ 0 0 0 1 1 1 1 0 0 ⎦ .
000001111
Using the matrix G1 one easily observes that the GHWs of C are {3, 6, 9}. The
code doesn’t satisfy the chain condition as there does not exist vectors X1 , X2
such that |supp(X1 )| = 3 and |supp (X1 , X2 ) | = 6. Observe that the matrix G
is of the form [C1 |C|C]. Hence, from (3), R(C) = 4. Now bounding the covering
3
radius with Theorem 2, we get R(C) ≤ 9 − i=1 di −d2 i−1 = 9 − 6 = 3 which
contradicts the actual value of the covering radius. Therefore, the code above
doesn’t satisfy the chain condition.
We have seen that if CHq (n, k, d1 , d2 , . . . , dk ) = Hq (n, k, d) then
(r −r−1
q
)+δr
= δqr , ∀ r, 1 ≤ r ≤ k. Hence we have the following lemma.
Lemma 2. Suppose that CHq (n, k, d1 , d2 , . . . , dk ) = Hq (n, k, d). Then for each
r, 1 ≤ r ≤ k, the -sequence and the δ-sequence satisfy the following condition:
if δr ≡ t (mod q) for 0 ≤ t < q then r − r−1 ≤ q − t.
– Sl.no. := if Sl.no.= l, then this code is the lth cyclic code of length n listed in
[17].
– P := the particular code satisfies the partial chain condition up to certain level.
In this case we use the bound PCH2 (·).
– ‘ = the bound equals the actual value of the covering radius.
– H2 (·) := H2 (n, k, d), Theorem 1.
– GH2 (·) := H2 (n, k, d1 , d2 , . . . , dk ), Theorem 3.
– CH2 (·) := bound derived using chain or partial chain, Theorem 2.
– R := Actual value of covering radius computed in [3].
The bounds are computed from the values of GHWs of cyclic codes given in [17] and
the information regarding the chain condition.
On Generalized Hamming Weights and the Covering Radius of Linear Codes 355
For several examples of cyclic codes, our bounds improve other bounds that
have appeared in literature, for example, those that depend upon the dual
distance, and those that use powerful results from algebraic geometry. As an
example, the GHWs of the duals of the three error-correcting BCH code of
length 31 was determined in [17], and it turns out that it satisfies the par-
tial chain condition. So, for this example, our bound on the covering radius is
R(BCH ⊥ (3, 5)) = 11 (in Table I, this is the [31,15,8] code). This improves the
bound of 12 (for e = 3, m = 5) obtained by the following theorem of Tietäväinen
(see [2]). This bound was obtained by the use of powerful methods from algebraic
geometry:
Theorem 6. Let BCH(e, m) be an e-error correcting BCH code of length n =
2m − 1. Then
√ √
R(BCH ⊥ (e, m)) ≤ 2m−1 − 1 − ( e − e1/e ) 2m − e − 2.
Acknowledgment
The authors thank Prof. H.F. Mattson, Jr. for helpful comments on the paper.
The first author would like to thank Prof. T. Høholdt for enlightening discus-
sions.
References
1. Berlekamp, E.R., McEliece, R.J., van Tilborg, H.C.A.: On the Inherent Intractabil-
ity of Some Coding Problems. IEEE Trans. Inform. Theory 24(3), 384–386 (1996)
2. Cohen, G., Honkala, I., Litsyn, S., Lobstein, A.: Covering Codes. In: Sakata, S.
(ed.) AAECC-8. LNCS, vol. 508, pp. 173–239. Springer, Heidelberg (1991)
3. Dougherty, R., Janwa, H.: Covering Radius Computations for Binary Cyclic Codes.
Math. Comp. 57(195), 415–434 (1991)
4. Encheva, S., Kløve, T.: Codes Satisfying the Chain Condition. IEEE Trans. Inform.
Theory 40(1), 175–180 (1994)
5. Forney, G.D.: Dimension/Length Profiles and Trellis Complexity of Linear Block
Codes. IEEE Trans. Inform. Theory 40(6), 1741–1752 (1994)
6. Guruswami, V.: List Decoding From Erasures: Bounds and Code Constructions.
IEEE Trans. Inform. Theory 49(11), 2826–2833 (2003)
7. Heijnen, P., Pellikaan, R.: Generalized Hamming Weights of q-ARY Reed-Muller
Codes. IEEE Trans. Inform. Theory 44(1), 181–196 (1998)
8. Helleseth, T., Kløve, T., Ytrehus, Ø.: Codes, Weight Hierarchies, and Chains. In:
1992 ICCS/ISITA, Singapore, pp. 608–612 (1992)
9. Helleseth, T., Kløve, T., Ytrehus, Ø.: Generalized Hamming Weights of Linear
Codes. IEEE Trans. Inform. Theory 38(3), 1133–1140 (1992)
10. Helleseth, T., Kløve, T., Levenshtein, V.I., Ytrehus, Ø.: Bounds on the Minimum
Support Weights. IEEE Trans. Inform. Theory 41(2), 432–440 (1995)
11. Helleseth, T. , Kløve, T. , Levenshtein, V. I., Ytrehus, Ø.: Excess Sequences of
Codes and the Chain Condition. In: Reports in Informatics, no. 65, Department of
Informatics, University of Bergen (1993)
356 H. Janwa and A.K. Lal
12. Janwa, H.: On the Optimality and Covering Radii of Some Algebraic Geometric
Codes. In: Workshop on Coding Theory, IMA, University of Minnesota (1988)
13. Janwa, H.: Some New Upper Bounds on the Covering Radius of Binary Linear
Codes. IEEE Trans. Inform. Theory 35, 110–122 (1989)
14. Janwa, H.: On the Covering Radii of q-ary Codes. In: 1990 ISIT, San Diego
15. Janwa, H.: Some Optimal Codes From Algebraic Geometry and Their Covering
Radii. Europ. J. Combinatorics 11, 249–266 (1990)
16. Janwa, H.: On the Covering Radii of AG Codes (preprint, 2007)
17. Janwa, H., Lal, A.K.: On the Generalized Hamming Weights of Cyclic Codes. IEEE
Trans. Inform. Theory 43(1), 299–308 (1997)
18. Janwa, H., Lal, A.K.: Bounds on the Covering Radii of Codes in Terms of Their
Generalized Hamming Weights. MRI (preprint, 1997)
19. Janwa, H., Lal, A.K.: Upper Bounds on the Covering Radii of Some Important
Classes of Codes Using Their Generalized Hamming Weights (preprint, 2007)
20. Janwa, H., Mattson Jr., H.F.: Some Upper Bounds on the Covering Radii of Linear
Codes over Fq and Their Applications. Designs, Codes and Cryptography 18(1-3),
163–181 (1999)
21. Kløve, T.: Minimum Support Weights of Binary Codes. IEEE Trans. Inform. The-
ory 39(2), 648–654 (1993)
22. MacWilliaims, F.J., Sloane, N.J.A.: The Theory of Error-Correcting Codes. North-
Holland, Amsterdam (1977)
23. Mattson Jr., H.F.: An Improved Upper Bound on Covering Radius. In: Poli, A.
(ed.) AAECC-2. LNCS, vol. 228, pp. 90–106. Springer, Heidelberg (1986)
24. Ozarow, L.H., Wyner, A.D.: Wire-Tap Channel-II. AT & T Bell Labs Tech J. 63,
2135–2157 (1984)
25. Pless, V.S., Huffman, W.C., Brualdi, R.A.: An Introduction to Algebraic Codes.
In: Pless, V.S., Huffman, W.C. (eds.) Handbook of Coding Theory, pp. 3–139.
Elsevier, Amsterdam (1998)
26. Wei, V.K.: Generalized Hamming Weights for Linear Codes. IEEE Trans. Inform.
Theory 37(5), 1412–1418 (1991)
27. Wei, V.K., Yang, K.: The Feneralized Hamming Weights for Product Codes. IEEE
Trans. Inform. Theory 39(5), 1709–1713 (1993)
28. Yang, K., Kumar, P.V., Stichtenoth, H.: On the Weight Hierarchy of Geometric
Goppa Codes. IEEE Trans. Inform. Theory 40(3), 913–920 (1994)
Homomorphic Encryptions of Sums of Groups
Akihiro Yamamura
1 Introduction
S. Boztaş and H.F. Lu (Eds.): AAECC 2007, LNCS 4851, pp. 357–366, 2007.
c Springer-Verlag Berlin Heidelberg 2007
358 A. Yamamura
that the DDH problem for the cyclic group C is equivalent to the subgroup
membership problem of the group H =< x >, where x = (g1 , g1a ), in the group
G = C × C =< g1 > × < g1 >.
Homomorphic Property: For any ciphertexts c1 = (m1 )r1 and c2 = (m2 )r2 ,
where r1 , r2 are outputs of SAM and m1 , m2 are plaintexts in P , we have
c1 c2 = (m1 )r1 (m2 )r2 = (m1 m2 )r1 r2 since is a homomorphism. Note also
that r1 r2 ∈ H. Therefore, c1 c2 belongs to (m1 m2 )H and it is a ciphertext of
m1 m2 . Thus the encryption function e is homomorphic. In the language of group
theory, the homomorphic property is a natural consequence of the quotient group
G/H forms a group, that is, c1 Hc2 H = c1 c2 H for all cosets c1 H, c2 H.
We summarize the mechanism of a homomorphic encryption in Fig. 1. The
decryption d can be efficiently computed provided that the private key is given.
Hence, we have the split exact sequence 1 −→ G2 −→ G −→ (Z/2, +) −→ 0. We
recall that the semantic security of the Goldwasser-Micali is equivalent to the
quadratic residue problem [2].
The textbook RSA has the homomorphic property, that is, e(m1 m2 ) =
(m1 m2 )e = me1 me2 = e(m1 )e(m2 ). In this case, the space of plaintexts does not
form a group unless the user restricts the domain of the plaintexts to (Z/n)∗ .
Instead, usually the domain of the plaintexts is just the semigroup Z/n. Thus,
the textbook RSA is not characterized as the scheme above.
p p
i=0 (cp)p−i . Hence, xp = dp2 + 1 for some d in Z. It follows that
i
xp ≡ 1(mod p2 ) and Γp = {x ∈ (Z/(p2 ))∗ |x ≡ 1(mod p)}. Suppose now that
x is an element of Γp . Then x ≡ 1(mod p) and so there uniquely exists an in-
teger a such that x − 1 = ap. We define a mapping Lp by Lp (x) = a (modp).
Then Lp is a well-defined mapping of Γp into the additive group (Z/(p), +).
Furthermore, Lp is an isomorphism of Γp onto (Z/(p), +), that is, we have
362 A. Yamamura
3.3 Security
For an asymmetric key encryption, the indistinguishability under chosen plain-
text attack (IND-CPA) [2], which is a standard requirement for encryption,
is defined below. An adversary is modeled by a probabilistic polynomial time
Turing machine, that is, the adversary participates in the game and yields a
guess after polynomial time computation. The challenger generates a key pair
(P K, SK) of public and private keys based on a security parameter k and pub-
lishes the public key P K to the adversary. On the other hand, the challenger
does not publish the private key SK. The adversary is allowed to perform en-
cryptions or other operations for his strategy to win the game. Eventually, the
adversary submits two distinct chosen plaintexts m0 and m1 to the challenger.
The challenger chooses a bit b ∈ {0, 1} uniformly and randomly, and sends the
ciphertext c = e(P K, mb ) to the adversary. The bit b is made secret to the ad-
versary. The adversary is allowed to perform additional computations to guess
the bit b. Finally, it answers a guess for b. A cryptosystem is called indistinguish-
able under chosen plaintext attack (IND-CPA) if every probabilistic polynomial
364 A. Yamamura
time adversary has only a negligible advantage over random guessing, that is,
if no adversary wins the game with probability significantly larger than 12 . The
indistinguishability of the proposed encryption (2) is equivalent to the subgroup
membership problem of the subgroup H of randomizers in G. We sketch the
proof and the detailed proof will be given in the full version of the paper.
Sketch of Proof. Suppose there exists an adversary who can attack the encryp-
tion with non-negligible probability. This implies that there exists a pair m1 , m2
of messages in P such that the adversary can distinguish a ciphertext e(mb ). Fol-
lowing the proof for the indistinguishability of ElGamal by Tsiounis and Yung
[7], we use the Hoeffding inequality to obtain a message m = (x1 , x2 ) ∈ P whose
encrypted message can be distinguishable from an encrypted message of a uni-
formly and randomly chosen message m (= (z1 , z2 )) from P with non-negligible
probability. Now we take an input to the subgroup membership problem of
H in G, that is, y = (y1 , y2 ). So we would like to determine whether or not
y belongs to G and so use the adversary as an oracle to solve this subgroup
membership problem. Suppose the public key for the encryption is (g1 , g2 ). We
set c = y(m) = y(g1x1 , g2x2 ). If y ∈ H, then y(m) = e(m). If y ∈ / H, then
y(m) = e(m ) for a certain uniformly distributed message m . By our assump-
tion, we can decide whether c is a ciphertext of m or a ciphertext of a uniformly
distributed plaintext m with non-negligible probability. Therefore, we can de-
cide whether or not the input y belongs to H and so we obtain an algorithm to
solve the subgroup membership problem using the adversary as an oracle.
On the other hand, we suppose we have an algorithm to solve the sub-
group membership problem. Let m1 = (0, 0) and m2 = (1, 1). Then we have
e(m1 ) = r(0, 0) = r for some r ∈ H. Thus, e(m1 ) always belongs to H. On the
other hand, e(m2 ) = r(1, 1) = r(g1 , g2 ) ∈
/ H. Using the algorithm to solve the
subgroup membership problem, we can determine whether given e(mi ) is an
encrypted message of m1 or m2 . Therefore, there exists an attack against the
encryption scheme.
It is clear that if the discrete logarithm problem in the underlying group of
ElGamal is tractable, then it can be completely broken. On the other hand,
the relationship between the discrete logarithm problem and the homomorphic
encryption (2) is intricate. We should remark that solving the discrete logarithm
problem does not give any trivial attacks against the encryption (2) in the generic
group model by [6]. As a matter of fact, the security of the encryption is more
closely related to the multiple discrete logarithm problem which is introduced in
[8]. The multiple discrete logarithm problem is formulated as follows. Let G be
a finite group isomorphic to C × D, where C and D are cyclic group. Then, G =
g1 , g2 for some generators g1 and g2 . The multiple discrete logarithm problem
is to compute (x, y) for given g ∈ G, where g = g1x g2y . In the generic model, the
multiple discrete logarithm problem is shown essentially harder than the discrete
Homomorphic Encryptions of Sums of Groups 365
logarithm problem [8]. This implies that an oracle of the discrete logarithm
problem does not help to break the cryptosystem (2) in the generic model.
Every element in the underlying group G is generated by two elements,
whereas the discrete logarithm oracle gives a correct answer only when it is
given the correct pair of group elements a and ax . The hardness of using the
discrete logarithm oracle to solve the multiple discrete logarithm problem comes
form the hardness of finding a non-trivial pair (h1 , h2 ) of group elements which
can be written as h1 = a and h2 = ax for some a and x. The trapdoor of the
scheme (2) is the Okamoto-Uchiyama logarithmic function with the primes p1 , p2
and it helps to solve the multiple discrete logarithmic problem with respect to
the public key. We should note that the generic model does not guarantee the
security against the attack using the properties of the representations of the un-
derlying group. We should also remark that the encryption can be completely
broken if integer factoring is efficiently computed.
4 Products of Encryptions
We now discuss how to construct a new encryption from the old ones related to
the proposed scheme (2). This implies that we define an operation on encryp-
tions. Suppose that e1 and e2 are encryptions (2) related to the group (Z/n21 )∗
and (Z/n22 )∗ , respectively, where n1 and n2 are composites of two primes of the
same size. We may assume that GCD(φ(n1 ), n2 ) = 1 and GCD(n1 , φ(n2 )) = 1.
Suppose the private key of e1 is retained by Alice, whereas the private key of e2
is retained by Bob.
Note that n1 and n2 are composites of primes of the same size, respectively,
(say n1 = p1 p2 , n2 = q1 q2 ). Then we can define the encryption related to n1 n2 ,
that is, P = Z/n1 n2 and G = (Z/(n1 n2 )2 )∗ . This is basically same as the general
case of s = 4 in (2), however, there exists a big difference in the sense that
the private key p1 , p2 are retained by Alice whereas q1 , q2 are retained by Bob.
Therefore, the private keys are divided into two parts and each half is retained
by each entities; Alice retains p1 , p2 and Bob retains q1 , q2 . So it is not necessarily
to appeal to a trusted third party to establish a new public key when the two
entities agree to share a public key encryption. Alice and Bob can compute
public keys for the new encryption without showing their private keys. Alice can
compute g1 , g2 ∈ (Z/(n1 n2 )2 )∗ such that |g1 | = p1 and |g2 | = p2 using Chinese
remainder algorithm, similarly Bob can compute g3 , g4 ∈ (Z/(n1 n2 )2 )∗ such that
|g3 | = q1 and |g4 | = q2 . Then a public key is (g1 , g2 , g3 , g4 ). The encryption of a
plaintext (x1 , x2 , x3 , x4 ) is computed as (x1 , x2 , x3 , x4 )r = g1x1 g2x2 g3x3 g4x4 r, where
r is chosen uniformly and randomly from ((Z/(n1 n2 )2 )∗ )n1 n2 . The decryption
is defined accordingly using Okamoto-Uchiyama logarithmic function. Let us
denote the resulting encryption by e1 e2 and call it the product of e1 and e2 .
The e1
encryption e2 has the following properties. The group2 of plaintexts is
Z/p1 Z/p2 Z/q1 Z/q2 and ciphertexts lies in (Z/(n1 n2 ) )∗ . Let us sup-
pose c = e1 e2 (x1 , x2 , x3 , x4 ). Then Alice can retrieve only x1 and x2 , whereas
Bob can retrieve only x3 and x4 .
366 A. Yamamura
References
1. Cramer, R., Gennaro, R., Schoenmakers, B.: A Secure and Optimally Efficient
Multi-Authority Election Scheme. In: Fumy, W. (ed.) EUROCRYPT 1997. LNCS,
vol. 1233, pp. 103–118. Springer, Heidelberg (1997)
2. Goldwasser, S., Micali, S.: Probabilistic Encryption. Jounal of Computer and System
Sciences 28, 270–299 (1984)
3. Katz, J., Myers, S., Ostrovsky, R.: Cryptographic Counters and Applications to
Electronic Voting. In: Pfitzmann, B. (ed.) EUROCRYPT 2001. LNCS, vol. 2045,
pp. 78–92. Springer, Heidelberg (2001)
4. Okamoto, T., Uchiyama, S.: A New Public-key Cryptosystem as Secure as Factoring.
In: Nyberg, K. (ed.) EUROCRYPT 1998. LNCS, vol. 1403, pp. 308–318. Springer,
Heidelberg (1998)
5. Paillier, P.: Public-Key Cryptosystems Based on Composite Degree Residuosity
Classes. In: Stern, J. (ed.) EUROCRYPT 1999. LNCS, vol. 1592, pp. 223–238.
Springer, Heidelberg (1999)
6. Shoup, V.: Lower Bounds for Discrete Logarithms and Related Problems. In: Fumy,
W. (ed.) EUROCRYPT 1997. LNCS, vol. 1233, pp. 256–266. Springer, Heidelberg
(1997)
7. Tsiounis, Y., Yung, M.: On the security of ElGamal based encryption. In: Imai, H.,
Zheng, Y. (eds.) PKC 1998. LNCS, vol. 1431, pp. 117–134. Springer, Heidelberg
(1998)
8. Yamamura, A., Kurosawa, K.: Generic Algorithms and Key Agreement Protocols
Based on Group Actions. In: Eades, P., Takaoka, T. (eds.) ISAAC 2001. LNCS,
vol. 2223, pp. 208–218. Springer, Heidelberg (2001)
9. Yamamura, A., Saito, T.: Private Information Retrieval Based on the Subgroup
Membership Problem. In: Varadharajan, V., Mu, Y. (eds.) ACISP 2001. LNCS,
vol. 2119, pp. 206–220. Springer, Heidelberg (2001)
Author Index