S-DES is a toy cipher intended for learning, defined by Edward F. Schaefer, A Simplified Data Encryption Standard Algorithm, in Cryptologia Volume 20, Issue 1, 1996 (paywalled with free preview). It has the same structure as DES, and uses the same notations:
- bits vectors (such as key and data) are numbered starting from 1 "on the left"
- functions of bit vector giving bit vector, where each bit of the output vector is a fixed bit of the input vector, are expressed by a series of decimal numbers, giving, for each bit of the output, the index of the corresponding bit in the input.
P10
and P8
are such functions, which mimic PC1 and PC2 in DES. They are part of the definition of S-DES. P10
is an entirely arbitrary permutation of 10 bits. P8
is a selection of 8 bits out of 10.
P10
transforms a 10-bit vector into a 10-bit vector, such that the jth bit of the output is at the index in the input given by the jth number in 3, 5, 2, 7, 4, 10, 1, 9, 8, 6
.
For example, the 2nd bit in the output is the 5th bit in the input, because the 2nd number in the above sequence of numbers is 5.
P8
transforms a 10-bit vector into an 8-bit vector, such that the jth bit of the output is at the index in the input given by the jth number in 6, 3, 7, 4, 8, 5, 10, 9
.
For example, the 7th bit in the output is the 10th bit in the input, because the 7th number in the above sequence of numbers is 10.
The rest of the text in the question has the following meaning/rationale:
The key K = 1010000010
of S-DES is a 10-bit vector. K
is transformed using P10
, yielding a 10-bit vector CD0 = 1000001100
, which is split into two 5-bit vectors C0 = 10000
and D0 = 01100
.
In the first round,
C0
and D0
each are rotated on the left by one, yielding C1 = 00001
and D1 = 11000
.
C1
and D1
are joined into CD1 = 1100011000
.
CD1
is transformed using P8
, yielding K1 = 10100100
.
In the second round,
C1
and D1
each are rotated on the left by two, yielding C2 = 00100
and D2 = 00011
.
C2
and D2
are joined into CD2 = 0010000011
.
CD2
is transformed using P8
, yielding K2 = 01000011
.
K1
and K2
are the round keys for the first two rounds, and are used as input of the round functions.