Cryptography Reference
In-Depth Information
Algorithm 1. QD-McEliece: Key generation algorithm
Input: Fixed common system parameters: t , n = l · t , k = n − dt
Output: private key K pr , public key K pub
1: ( L dyad ,
η ) Algorithm 1 in [16] (2 m ,N,t ), where
G ( x )
H dyad ,
N>>n ,
N = l · t<q/ 2
2: Select uniformly at random
distinct blocks B i 0 |···|B i l 1 in any order from
l
H dyad
3: Select l dyadic permutations Π j 0 , ··· ,Π j l 1 of size t × t each
4: Select l nonzero scale factors σ 0 ,...,σ l− 1 F p .If p = 2, then all scale factors are
equal to 1.
5: Compute H = B i 0 Π j 0 |···|B i l 1 Π j l 1
F t×t
q
) l
(
6: Compute Σ = Diag ( σ 0 I t ,...,σ l− 1 I t ) ( F t×t
p
) l×l
7: Compute the co-trace matrix H Tr = Tr ( )= Tr ( H ) Σ ∈ ( F t×t
) l×l
8: Bring H Tr in systematic form H =[ Q|I n−k ], e.g. by means of Gaussian elimination
p
9: Compute the public generator matrix G =[ I k |Q T ]
10: return
K pub =( ˆ
G , t ), K pr =( H dyad , L dyad , η , G ( x ), ( i 0 ,...,i l− 1 ), ( j 0 ,...,j l− 1 ),
( σ 0 ,...,σ l− 1 ))
permutation sequence ( i 0 ,...,i l ) is the first part of the trapdoor information. It
can also be described as an N
×
n permutation matrix P B . Then the selection and
permutation of t
P B .
Further transformations performed to disguise the structure of the private code
are dyadic inner block permutations.
Definition 5. A dyadic permutation Π j
×
t blocks can be done by right-side multiplication H dyad ×
is a dyadic matrix whose signature is
the j -th row of the identity matrix. A dyadic permutation is an involution, i.e.
( Π j ) 2 = I .The j -th row (or equivalently the j -th column) of the dyadic matrix
defined by a signature h can be written as Δ ( h ) j = j
.
The key generation algorithm first chooses a sequence of integers ( j 0 ,...,j l− 1 )
defining the positions of ones in the signatures of the l dyadic permutations.
Then each block B i is multiplied by a corresponding dyadic permutation Π j
to obtain a matrix H which defines a permutation equivalent code
C H to the
T t
punctured code
C
dyad . Since the dyadic inner-block permutations can be com-
n permutation matrix P dp = Diag ( Π j 0 ,
j l 1 )wecanwrite
bined to an n
×
···
H = H dyad ·
P B ·
P dp . The last transformation is scaling. Therefore, first a sequence
( σ 0 ,...,σ l− 1 )
F p is chosen, and then each dyadic block of H is multiplied by
a diagonal matrix σ i I t such that H = H
Σ . Finally, the
co-trace construction derives from H the parity-check matrix H Tr for a binary
quasi-dyadic permuted subfield subcode over
·
Σ = H dyad ·
P B ·
P dp ·
F p .Bringing H Tr in systematic
form, e.g. by means of Gaussian elimination, we obtain a systematic parity-
check matrix H for the public code. H is still a quasi-dyadic matrix composed
of dyadic submatrices which can be represented by a signature of length t each
and which are no longer associated to a Cauchy matrix. The generator matrix
G
H defines the public code
obtained from
C pub of length n and dimension k over
F p , while H defines a dual code
C pub of length n and dimension k = n
dt .The
 
Search WWH ::




Custom Search