Skip to main content
replaced http://crypto.stackexchange.com/ with https://crypto.stackexchange.com/
Source Link

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 leftrotated on the left by one, yielding C1 = 00001 and D1 = 11000.
  • C1and 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.
  • C2and 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.

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.
  • C1and 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.
  • C2and 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.

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.
  • C1and 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.
  • C2and 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.

Explain role of P10 and P8
Source Link
fgrieu
  • 145.6k
  • 12
  • 319
  • 611

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 vectorsvector giving bits vectorsbit 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 (which mimicsP8 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 (which mimics PC2 in DES) 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.
  • C1and 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.
  • C2and 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.

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 vectors giving bits vectors 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 (which mimics PC1 in DES) 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 (which mimics PC2 in DES) 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.
  • C1and 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.
  • C2and 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.

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.
  • C1and 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.
  • C2and 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.

number rounds correctly
Source Link
fgrieu
  • 145.6k
  • 12
  • 319
  • 611

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 vectors giving bits vectors 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 (which mimics PC1 in DES) 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 (which mimics PC2 in DES) 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.
  • C1and D1 are joined into CD1 = 1100011000.
  • CD1 is transformed using P8, yielding K1 = 10100100.

In the firstsecond round,

  • C1 and D1 each are rotated on the left by two, yielding C2 = 00100 and D2 = 00011.
  • C2and 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.

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 vectors giving bits vectors 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 (which mimics PC1 in DES) 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 (which mimics PC2 in DES) 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.
  • C1and D1 are joined into CD1 = 1100011000.
  • CD1 is transformed using P8, yielding K1 = 10100100.

In the first round,

  • C1 and D1 each are rotated on the left by two, yielding C2 = 00100 and D2 = 00011.
  • C2and D2 are joined into CD2 = 0010000011.
  • CD2 is transformed using P8, yielding K2 = 01000011.

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 vectors giving bits vectors 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 (which mimics PC1 in DES) 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 (which mimics PC2 in DES) 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.
  • C1and 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.
  • C2and 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.

typo
Source Link
fgrieu
  • 145.6k
  • 12
  • 319
  • 611
Loading
Source Link
fgrieu
  • 145.6k
  • 12
  • 319
  • 611
Loading