Description
The GenDES package is a collection of routines for exploring DES, for computer-aided design related to DES secure symmetric-key block ciphers which allow to encrypt 64-bit block of data with the key of maximal length from 768 to 2359 bits, and for encrypting files by means of the old and generalized form of this algorithm, using Maple. The package is a noteworthy tool suitable for engineers, teachers and students who deal with symmetric-key iterative block ciphers design.
Each command in the GenDES package can be accessed by using either the
long form
or the
short form
of the command name in the command calling sequence.It is possible to use the form GenDES:-command to access a command from the package, because the implementation of the GenDES package is a module.
To be self-sufficient, the main topics concerning DES are now reminded. However, it is recommended to the reader the study of [1] and [2], where full details of this algorithm are given. An interesting approach to cryptography can also be found in [3].
Fig. 1. Key schedule generation
Fig. 2. Permuted choice PC-1 (first 4 rows above C0, rows below D0)
Fig. 3. Permuted choice PC-2
Fig. 4 Number of left shifts versus the iteration number.
Fig. 5. Enciphering computation
Fig. 6. Initial permutation IP
Fig. 7. Inverse of the initial permutation IP-1
Fig. 8.Calculation of f(R, K)
Fig. 9. E bit-selection table
Fig. 10. Permutation P
S1
S2
S3
S4
S5
S6
S7
S8
Fig. 11. Primitive functions S1 - S8 (S-boxes)
Fig. 12.Determining the value of S4(r1 ,c3 ,c2 , c1, c0, r0),
row no. = 2r1+r0, column no. = 8c3+4c2+2c1+c0,
(e.g. if r1 r0 = 01, c3 c2 c1 c0 = 1101 then the output equals to convert(10, binary) = 1010)
The key schedule generation algorithm (Fig. 1) uses two permuted choice functions PC-1 and PC-2, shown in Fig. 2 and 3, and left circular shifts, depending on the number of round, according to Fig. 4.
The enciphering algorithm in Fig. 5 is presented. The 64 bits of the input block of message for the encryption transformation are first subjected to the initial permutation IP. The key-dependent computation that uses the permuted input block as its input to produce the preoutput block consists, except for a final interchange of blocks, of 16 rounds of a computation using the function f. This function operates on two blocks, one of 32 bits and one of 48 bits, to produce a 32-bit block. The preoutput block, i.e. R16L16, after inverse initial permutation, forms a block of 64-bit cryptogram. DES decryption consists of the encryption algorithm with the same key but reversed key schedule, using in order K16, K15, ..., K1, and, of course, with the 64-bit cryptogram on the input.
DES, similarly as IDEA and AES, belongs to a class of iterated block ciphers involving the sequential repetition of a round function and a particular subkey for each round. For any iterated block cipher encryption procedure is described by means of the equation
C = E(ks(K), M) (1)
where E denotes two-variable encrypting function, K - a secret key chosen by the user, and M - a message to be encrypted. The secret key K is not directly used for encryption but it serves as input data for the function ks, generating a key schedule, i.e. subkeys for each iteration. A number of cryptologists suspect that the function ks intends to "inject" into the cryptogram as much additional information about bits of the secret key as possible, during the encryption process, instead of maximizing the diffusion and confusion. This additional information may deliver - to the privileged circle of the initiated - a manner of deciphering cryptograms without the knowledge of the secret key. To verify the justness of this suspicion one ought to find and analyze an explicit function F, which, taking into account both the encryption and key schedule generation algorithm, will allow to express symbolically the cryptogram
C = F(K, M) (2)
and to compute it in one step, using the secret key K and the message M. But, in the case of the iterated block ciphers this task is almost unfeasible.
May be, because of this suspicion, it has been announced in [2] that "The DES has now been withdrawn. The use of DES is permitted only as a component function of TDEA" and that "with the withdrawal of the FIPS 46-3 standard:
1. Triple DES (i.e., TDEA), as specified in ANSI X9.52, Keying Options 1 and 2, is recognized as the only FIPS approved DES algorithm.
2. Other implementations of the DES function are no longer authorized for protection of Federal government information.
Note: Through the year 2030, Triple DES (TDEA) and the FIPS 197 Advanced Encryption Standard (AES) will coexist as FIPS approved algorithms – thus, allowing for a gradual transition to AES. (The AES is a new symmetric based encryption standard approved by NIST)".
However, the triple DES, and even AES, are much more weaker and more complicated than the standard DES, but used according to the method discussed below.
To transform DES into a secure cipher it simply suffices to eliminate the key expansion algorithm, i.e. to generate arbitrarily the set of subkeys Ks for all iterations and to use it as a secret key. Then, applying the same encrypting algorithm E as in (1) we now compute the cryptogram of the message M according to
C = E(Ks, M) (3)
and we are sure that all bits of our modified secret key Ks participate in the encryption process. Thus, since DES needs sixteen 48-bit subkeys, we will obtain in this way the 768-bit secret key to protect a 64-bit block of data.
Introducing small changes into the DES implementation we can further strengthen its protecting power. Namely, we can treat the initial permutation IP, primitive functions S1 - S8 (S-boxes), permutation P and 16 elements of the selection table E (with indices 1, 6, 7, 12, 13, 18, 19, 24, 25, 30, 31, 36, 37, 42, 43, 48) as components of the secret key and in this way enlarge additionally the key space. Since there are
permutations IP,
sets of S-boxes,
permutations P,
selection functions E,
then the increase of a secret key length will be
? =
(4)
that is 1591 bits. Therefore, we can easily construct a generalized DES-based symmetric-key block cipher accepting the secret key of length up to 2359 bits, or to design 0.8684065718
10479 related to DES ciphers which use 768-bit key. There are also many other possibilities of designing DES-based secure ciphers, taking into account the secret key length, the secret sharing, data base encrypting, etc.
Examples
> |
restart:
#archive_path is a full path of the GenDES.mla file
archive_path := "f:/GenDES/wrk/GenDES.mla":
march('open', archive_path);
with(GenDES): |
> |
randomize(13):
bl := [seq(rand(2)(), i = 1 .. 64)];
bl2hex(bl);
s := "01206c7b881e9bf4":
lb := hexstr2bl(s); |
![[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]](/view.aspx?SI=1764/GenDEShelp_29.gif)
![[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]](/view.aspx?SI=1764/GenDEShelp_30.gif)
![[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]](/view.aspx?SI=1764/GenDEShelp_31.gif)
01206C7B881E9BF4
![[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]](/view.aspx?SI=1764/GenDEShelp_33.gif)
![[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]](/view.aspx?SI=1764/GenDEShelp_34.gif)
![[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]](/view.aspx?SI=1764/GenDEShelp_35.gif)
Creating S-boxes for DES and verifying the primitive function S8
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_37.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_38.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_39.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_40.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_41.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_42.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_43.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_44.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_45.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_46.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_47.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_48.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_49.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_50.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_51.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_52.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_53.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_54.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_55.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_56.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_57.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_58.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_59.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_60.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_61.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_62.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_63.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_64.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([0, 1, 1, 0]), ([0, 1, 0, 1, 1, 0]) = ([1, 1, 1, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 0, 0, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 0, 0, 0]), ([1, 0, 0, 0, 1, 0]) = ([1, 0, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_65.gif)
Creating random S-boxes for strong DES implementations and verifying the primitive function S8
> |
rndsboxcr([1, 2, 4, 8, 16, 32, 64, 128]):
SBox[8]; |
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_67.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_68.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_69.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_70.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_71.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_72.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_73.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_74.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_75.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_76.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_77.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_78.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_79.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_80.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_81.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_82.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_83.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_84.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_85.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_86.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_87.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_88.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_89.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_90.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_91.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_92.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_93.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_94.gif)
![TABLE([([1, 1, 0, 0, 1, 0]) = ([1, 1, 1, 1]), ([0, 1, 0, 1, 1, 0]) = ([0, 0, 0, 0]), ([0, 0, 1, 1, 1, 0]) = ([0, 1, 1, 1]), ([1, 0, 1, 1, 0, 1]) = ([1, 1, 0, 1]), ([1, 0, 0, 0, 1, 0]) = ([0, 1, 1, 1])...](/view.aspx?SI=1764/GenDEShelp_95.gif)
Displaying truth tables of S-boxes for the DES
Standard DES S boxes
Truth table for S1
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 1 0 0
0 0 0 0 1 1 1 1 1 1
0 0 0 1 0 0 1 1 0 1
0 0 0 1 0 1 0 1 1 1
0 0 0 1 1 0 0 0 0 1
0 0 0 1 1 1 0 1 0 0
0 0 1 0 0 0 0 0 1 0
0 0 1 0 0 1 1 1 1 0
0 0 1 0 1 0 1 1 1 1
0 0 1 0 1 1 0 0 1 0
0 0 1 1 0 0 1 0 1 1
0 0 1 1 0 1 1 1 0 1
0 0 1 1 1 0 1 0 0 0
0 0 1 1 1 1 0 0 0 1
0 1 0 0 0 0 0 0 1 1
0 1 0 0 0 1 1 0 1 0
0 1 0 0 1 0 1 0 1 0
0 1 0 0 1 1 0 1 1 0
0 1 0 1 0 0 0 1 1 0
0 1 0 1 0 1 1 1 0 0
0 1 0 1 1 0 1 1 0 0
0 1 0 1 1 1 1 0 1 1
0 1 1 0 0 0 0 1 0 1
0 1 1 0 0 1 1 0 0 1
0 1 1 0 1 0 1 0 0 1
0 1 1 0 1 1 0 1 0 1
0 1 1 1 0 0 0 0 0 0
0 1 1 1 0 1 0 0 1 1
0 1 1 1 1 0 0 1 1 1
0 1 1 1 1 1 1 0 0 0
1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 1 1 1 1
1 0 0 0 1 0 0 0 0 1
1 0 0 0 1 1 1 1 0 0
1 0 0 1 0 0 1 1 1 0
1 0 0 1 0 1 1 0 0 0
1 0 0 1 1 0 1 0 0 0
1 0 0 1 1 1 0 0 1 0
1 0 1 0 0 0 1 1 0 1
1 0 1 0 0 1 0 1 0 0
1 0 1 0 1 0 0 1 1 0
1 0 1 0 1 1 1 0 0 1
1 0 1 1 0 0 0 0 1 0
1 0 1 1 0 1 0 0 0 1
1 0 1 1 1 0 1 0 1 1
1 0 1 1 1 1 0 1 1 1
1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 1 0 1 0 1
1 1 0 0 1 0 1 1 0 0
1 1 0 0 1 1 1 0 1 1
1 1 0 1 0 0 1 0 0 1
1 1 0 1 0 1 0 0 1 1
1 1 0 1 1 0 0 1 1 1
1 1 0 1 1 1 1 1 1 0
1 1 1 0 0 0 0 0 1 1
1 1 1 0 0 1 1 0 1 0
1 1 1 0 1 0 1 0 1 0
1 1 1 0 1 1 0 0 0 0
1 1 1 1 0 0 0 1 0 1
1 1 1 1 0 1 0 1 1 0
1 1 1 1 1 0 0 0 0 0
1 1 1 1 1 1 1 1 0 1
Truth table for S2
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 1 0 0 1 1
0 0 0 0 1 0 0 0 0 1
0 0 0 0 1 1 1 1 0 1
0 0 0 1 0 0 1 0 0 0
0 0 0 1 0 1 0 1 0 0
0 0 0 1 1 0 1 1 1 0
0 0 0 1 1 1 0 1 1 1
0 0 1 0 0 0 0 1 1 0
0 0 1 0 0 1 1 1 1 1
0 0 1 0 1 0 1 0 1 1
0 0 1 0 1 1 0 0 1 0
0 0 1 1 0 0 0 0 1 1
0 0 1 1 0 1 1 0 0 0
0 0 1 1 1 0 0 1 0 0
0 0 1 1 1 1 1 1 1 0
0 1 0 0 0 0 1 0 0 1
0 1 0 0 0 1 1 1 0 0
0 1 0 0 1 0 0 1 1 1
0 1 0 0 1 1 0 0 0 0
0 1 0 1 0 0 0 0 1 0
0 1 0 1 0 1 0 0 0 1
0 1 0 1 1 0 1 1 0 1
0 1 0 1 1 1 1 0 1 0
0 1 1 0 0 0 1 1 0 0
0 1 1 0 0 1 0 1 1 0
0 1 1 0 1 0 0 0 0 0
0 1 1 0 1 1 1 0 0 1
0 1 1 1 0 0 0 1 0 1
0 1 1 1 0 1 1 0 1 1
0 1 1 1 1 0 1 0 1 0
0 1 1 1 1 1 0 1 0 1
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 1 1 0 1
1 0 0 0 1 0 1 1 1 0
1 0 0 0 1 1 1 0 0 0
1 0 0 1 0 0 0 1 1 1
1 0 0 1 0 1 1 0 1 0
1 0 0 1 1 0 1 0 1 1
1 0 0 1 1 1 0 0 0 1
1 0 1 0 0 0 1 0 1 0
1 0 1 0 0 1 0 0 1 1
1 0 1 0 1 0 0 1 0 0
1 0 1 0 1 1 1 1 1 1
1 0 1 1 0 0 1 1 0 1
1 0 1 1 0 1 0 1 0 0
1 0 1 1 1 0 0 0 0 1
1 0 1 1 1 1 0 0 1 0
1 1 0 0 0 0 0 1 0 1
1 1 0 0 0 1 1 0 1 1
1 1 0 0 1 0 1 0 0 0
1 1 0 0 1 1 0 1 1 0
1 1 0 1 0 0 1 1 0 0
1 1 0 1 0 1 0 1 1 1
1 1 0 1 1 0 0 1 1 0
1 1 0 1 1 1 1 1 0 0
1 1 1 0 0 0 1 0 0 1
1 1 1 0 0 1 0 0 0 0
1 1 1 0 1 0 0 0 1 1
1 1 1 0 1 1 0 1 0 1
1 1 1 1 0 0 0 0 1 0
1 1 1 1 0 1 1 1 1 0
1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 1 0 0 1
Truth table for S3
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 1 0 1 0
0 0 0 0 0 1 1 1 0 1
0 0 0 0 1 0 0 0 0 0
0 0 0 0 1 1 0 1 1 1
0 0 0 1 0 0 1 0 0 1
0 0 0 1 0 1 0 0 0 0
0 0 0 1 1 0 1 1 1 0
0 0 0 1 1 1 1 0 0 1
0 0 1 0 0 0 0 1 1 0
0 0 1 0 0 1 0 0 1 1
0 0 1 0 1 0 0 0 1 1
0 0 1 0 1 1 0 1 0 0
0 0 1 1 0 0 1 1 1 1
0 0 1 1 0 1 0 1 1 0
0 0 1 1 1 0 0 1 0 1
0 0 1 1 1 1 1 0 1 0
0 1 0 0 0 0 0 0 0 1
0 1 0 0 0 1 0 0 1 0
0 1 0 0 1 0 1 1 0 1
0 1 0 0 1 1 1 0 0 0
0 1 0 1 0 0 1 1 0 0
0 1 0 1 0 1 0 1 0 1
0 1 0 1 1 0 0 1 1 1
0 1 0 1 1 1 1 1 1 0
0 1 1 0 0 0 1 0 1 1
0 1 1 0 0 1 1 1 0 0
0 1 1 0 1 0 0 1 0 0
0 1 1 0 1 1 1 0 1 1
0 1 1 1 0 0 0 0 1 0
0 1 1 1 0 1 1 1 1 1
0 1 1 1 1 0 1 0 0 0
0 1 1 1 1 1 0 0 0 1
1 0 0 0 0 0 1 1 0 1
1 0 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 1 1 0
1 0 0 0 1 1 1 0 1 0
1 0 0 1 0 0 0 1 0 0
1 0 0 1 0 1 1 1 0 1
1 0 0 1 1 0 1 0 0 1
1 0 0 1 1 1 0 0 0 0
1 0 1 0 0 0 1 0 0 0
1 0 1 0 0 1 0 1 1 0
1 0 1 0 1 0 1 1 1 1
1 0 1 0 1 1 1 0 0 1
1 0 1 1 0 0 0 0 1 1
1 0 1 1 0 1 1 0 0 0
1 0 1 1 1 0 0 0 0 0
1 0 1 1 1 1 0 1 1 1
1 1 0 0 0 0 1 0 1 1
1 1 0 0 0 1 0 1 0 0
1 1 0 0 1 0 0 0 0 1
1 1 0 0 1 1 1 1 1 1
1 1 0 1 0 0 0 0 1 0
1 1 0 1 0 1 1 1 1 0
1 1 0 1 1 0 1 1 0 0
1 1 0 1 1 1 0 0 1 1
1 1 1 0 0 0 0 1 0 1
1 1 1 0 0 1 1 0 1 1
1 1 1 0 1 0 1 0 1 0
1 1 1 0 1 1 0 1 0 1
1 1 1 1 0 0 1 1 1 0
1 1 1 1 0 1 0 0 1 0
1 1 1 1 1 0 0 1 1 1
1 1 1 1 1 1 1 1 0 0
Truth table for S4
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 0 1 1 1
0 0 0 0 0 1 1 1 0 1
0 0 0 0 1 0 1 1 0 1
0 0 0 0 1 1 1 0 0 0
0 0 0 1 0 0 1 1 1 0
0 0 0 1 0 1 1 0 1 1
0 0 0 1 1 0 0 0 1 1
0 0 0 1 1 1 0 1 0 1
0 0 1 0 0 0 0 0 0 0
0 0 1 0 0 1 0 1 1 0
0 0 1 0 1 0 0 1 1 0
0 0 1 0 1 1 1 1 1 1
0 0 1 1 0 0 1 0 0 1
0 0 1 1 0 1 0 0 0 0
0 0 1 1 1 0 1 0 1 0
0 0 1 1 1 1 0 0 1 1
0 1 0 0 0 0 0 0 0 1
0 1 0 0 0 1 0 1 0 0
0 1 0 0 1 0 0 0 1 0
0 1 0 0 1 1 0 1 1 1
0 1 0 1 0 0 1 0 0 0
0 1 0 1 0 1 0 0 1 0
0 1 0 1 1 0 0 1 0 1
0 1 0 1 1 1 1 1 0 0
0 1 1 0 0 0 1 0 1 1
0 1 1 0 0 1 0 0 0 1
0 1 1 0 1 0 1 1 0 0
0 1 1 0 1 1 1 0 1 0
0 1 1 1 0 0 0 1 0 0
0 1 1 1 0 1 1 1 1 0
0 1 1 1 1 0 1 1 1 1
0 1 1 1 1 1 1 0 0 1
1 0 0 0 0 0 1 0 1 0
1 0 0 0 0 1 0 0 1 1
1 0 0 0 1 0 0 1 1 0
1 0 0 0 1 1 1 1 1 1
1 0 0 1 0 0 1 0 0 1
1 0 0 1 0 1 0 0 0 0
1 0 0 1 1 0 0 0 0 0
1 0 0 1 1 1 0 1 1 0
1 0 1 0 0 0 1 1 0 0
1 0 1 0 0 1 1 0 1 0
1 0 1 0 1 0 1 0 1 1
1 0 1 0 1 1 0 0 0 1
1 0 1 1 0 0 0 1 1 1
1 0 1 1 0 1 1 1 0 1
1 0 1 1 1 0 1 1 0 1
1 0 1 1 1 1 1 0 0 0
1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 1 1 0 0 1
1 1 0 0 1 0 0 0 0 1
1 1 0 0 1 1 0 1 0 0
1 1 0 1 0 0 0 0 1 1
1 1 0 1 0 1 0 1 0 1
1 1 0 1 1 0 1 1 1 0
1 1 0 1 1 1 1 0 1 1
1 1 1 0 0 0 0 1 0 1
1 1 1 0 0 1 1 1 0 0
1 1 1 0 1 0 0 0 1 0
1 1 1 0 1 1 0 1 1 1
1 1 1 1 0 0 1 0 0 0
1 1 1 1 0 1 0 0 1 0
1 1 1 1 1 0 0 1 0 0
1 1 1 1 1 1 1 1 1 0
Truth table for S5
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 1 1 1 1 0
0 0 0 0 1 0 1 1 0 0
0 0 0 0 1 1 1 0 1 1
0 0 0 1 0 0 0 1 0 0
0 0 0 1 0 1 0 0 1 0
0 0 0 1 1 0 0 0 0 1
0 0 0 1 1 1 1 1 0 0
0 0 1 0 0 0 0 1 1 1
0 0 1 0 0 1 0 1 0 0
0 0 1 0 1 0 1 0 1 0
0 0 1 0 1 1 0 1 1 1
0 0 1 1 0 0 1 0 1 1
0 0 1 1 0 1 1 1 0 1
0 0 1 1 1 0 0 1 1 0
0 0 1 1 1 1 0 0 0 1
0 1 0 0 0 0 1 0 0 0
0 1 0 0 0 1 0 1 0 1
0 1 0 0 1 0 0 1 0 1
0 1 0 0 1 1 0 0 0 0
0 1 0 1 0 0 0 0 1 1
0 1 0 1 0 1 1 1 1 1
0 1 0 1 1 0 1 1 1 1
0 1 0 1 1 1 1 0 1 0
0 1 1 0 0 0 1 1 0 1
0 1 1 0 0 1 0 0 1 1
0 1 1 0 1 0 0 0 0 0
0 1 1 0 1 1 1 0 0 1
0 1 1 1 0 0 1 1 1 0
0 1 1 1 0 1 1 0 0 0
0 1 1 1 1 0 1 0 0 1
0 1 1 1 1 1 0 1 1 0
1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 1 0 1 1
1 0 0 0 1 0 0 0 1 0
1 0 0 0 1 1 1 0 0 0
1 0 0 1 0 0 0 0 0 1
1 0 0 1 0 1 1 1 0 0
1 0 0 1 1 0 1 0 1 1
1 0 0 1 1 1 0 1 1 1
1 0 1 0 0 0 1 0 1 0
1 0 1 0 0 1 0 0 0 1
1 0 1 0 1 0 1 1 0 1
1 0 1 0 1 1 1 1 1 0
1 0 1 1 0 0 0 1 1 1
1 0 1 1 0 1 0 0 1 0
1 0 1 1 1 0 1 0 0 0
1 0 1 1 1 1 1 1 0 1
1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 1 0 1 1 0
1 1 0 0 1 0 1 0 0 1
1 1 0 0 1 1 1 1 1 1
1 1 0 1 0 0 1 1 0 0
1 1 0 1 0 1 0 0 0 0
1 1 0 1 1 0 0 1 0 1
1 1 0 1 1 1 1 0 0 1
1 1 1 0 0 0 0 1 1 0
1 1 1 0 0 1 1 0 1 0
1 1 1 0 1 0 0 0 1 1
1 1 1 0 1 1 0 1 0 0
1 1 1 1 0 0 0 0 0 0
1 1 1 1 0 1 0 1 0 1
1 1 1 1 1 0 1 1 1 0
1 1 1 1 1 1 0 0 1 1
Truth table for S6
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 1 1 0 1 0
0 0 0 0 1 0 0 0 0 1
0 0 0 0 1 1 1 1 1 1
0 0 0 1 0 0 1 0 1 0
0 0 0 1 0 1 0 1 0 0
0 0 0 1 1 0 1 1 1 1
0 0 0 1 1 1 0 0 1 0
0 0 1 0 0 0 1 0 0 1
0 0 1 0 0 1 0 1 1 1
0 0 1 0 1 0 0 0 1 0
0 0 1 0 1 1 1 1 0 0
0 0 1 1 0 0 0 1 1 0
0 0 1 1 0 1 1 0 0 1
0 0 1 1 1 0 1 0 0 0
0 0 1 1 1 1 0 1 0 1
0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 1 0 1 1 0
0 1 0 0 1 0 1 1 0 1
0 1 0 0 1 1 0 0 0 1
0 1 0 1 0 0 0 0 1 1
0 1 0 1 0 1 1 1 0 1
0 1 0 1 1 0 0 1 0 0
0 1 0 1 1 1 1 1 1 0
0 1 1 0 0 0 1 1 1 0
0 1 1 0 0 1 0 0 0 0
0 1 1 0 1 0 0 1 1 1
0 1 1 0 1 1 1 0 1 1
0 1 1 1 0 0 0 1 0 1
0 1 1 1 0 1 0 0 1 1
0 1 1 1 1 0 1 0 1 1
0 1 1 1 1 1 1 0 0 0
1 0 0 0 0 0 1 0 0 1
1 0 0 0 0 1 0 1 0 0
1 0 0 0 1 0 1 1 1 0
1 0 0 0 1 1 0 0 1 1
1 0 0 1 0 0 1 1 1 1
1 0 0 1 0 1 0 0 1 0
1 0 0 1 1 0 0 1 0 1
1 0 0 1 1 1 1 1 0 0
1 0 1 0 0 0 0 0 1 0
1 0 1 0 0 1 1 0 0 1
1 0 1 0 1 0 1 0 0 0
1 0 1 0 1 1 0 1 0 1
1 0 1 1 0 0 1 1 0 0
1 0 1 1 0 1 1 1 1 1
1 0 1 1 1 0 0 0 1 1
1 0 1 1 1 1 1 0 1 0
1 1 0 0 0 0 0 1 1 1
1 1 0 0 0 1 1 0 1 1
1 1 0 0 1 0 0 0 0 0
1 1 0 0 1 1 1 1 1 0
1 1 0 1 0 0 0 1 0 0
1 1 0 1 0 1 0 0 0 1
1 1 0 1 1 0 1 0 1 0
1 1 0 1 1 1 0 1 1 1
1 1 1 0 0 0 0 0 0 1
1 1 1 0 0 1 0 1 1 0
1 1 1 0 1 0 1 1 0 1
1 1 1 0 1 1 0 0 0 0
1 1 1 1 0 0 1 0 1 1
1 1 1 1 0 1 1 0 0 0
1 1 1 1 1 0 0 1 1 0
1 1 1 1 1 1 1 1 0 1
Truth table for S7
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 1 1 1 0 1
0 0 0 0 1 0 1 0 1 1
0 0 0 0 1 1 0 0 0 0
0 0 0 1 0 0 0 0 1 0
0 0 0 1 0 1 1 0 1 1
0 0 0 1 1 0 1 1 1 0
0 0 0 1 1 1 0 1 1 1
0 0 1 0 0 0 1 1 1 1
0 0 1 0 0 1 0 1 0 0
0 0 1 0 1 0 0 0 0 0
0 0 1 0 1 1 1 0 0 1
0 0 1 1 0 0 1 0 0 0
0 0 1 1 0 1 0 0 0 1
0 0 1 1 1 0 1 1 0 1
0 0 1 1 1 1 1 0 1 0
0 1 0 0 0 0 0 0 1 1
0 1 0 0 0 1 1 1 1 0
0 1 0 0 1 0 1 1 0 0
0 1 0 0 1 1 0 0 1 1
0 1 0 1 0 0 1 0 0 1
0 1 0 1 0 1 0 1 0 1
0 1 0 1 1 0 0 1 1 1
0 1 0 1 1 1 1 1 0 0
0 1 1 0 0 0 0 1 0 1
0 1 1 0 0 1 0 0 1 0
0 1 1 0 1 0 1 0 1 0
0 1 1 0 1 1 1 1 1 1
0 1 1 1 0 0 0 1 1 0
0 1 1 1 0 1 1 0 0 0
0 1 1 1 1 0 0 0 0 1
0 1 1 1 1 1 0 1 1 0
1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 1 0 1 1 0
1 0 0 0 1 0 0 1 0 0
1 0 0 0 1 1 1 0 1 1
1 0 0 1 0 0 1 0 1 1
1 0 0 1 0 1 1 1 0 1
1 0 0 1 1 0 1 1 0 1
1 0 0 1 1 1 1 0 0 0
1 0 1 0 0 0 1 1 0 0
1 0 1 0 0 1 0 0 0 1
1 0 1 0 1 0 0 0 1 1
1 0 1 0 1 1 0 1 0 0
1 0 1 1 0 0 0 1 1 1
1 0 1 1 0 1 1 0 1 0
1 0 1 1 1 0 1 1 1 0
1 0 1 1 1 1 0 1 1 1
1 1 0 0 0 0 1 0 1 0
1 1 0 0 0 1 1 0 0 1
1 1 0 0 1 0 1 1 1 1
1 1 0 0 1 1 0 1 0 1
1 1 0 1 0 0 0 1 1 0
1 1 0 1 0 1 0 0 0 0
1 1 0 1 1 0 1 0 0 0
1 1 0 1 1 1 1 1 1 1
1 1 1 0 0 0 0 0 0 0
1 1 1 0 0 1 1 1 1 0
1 1 1 0 1 0 0 1 0 1
1 1 1 0 1 1 0 0 1 0
1 1 1 1 0 0 1 0 0 1
1 1 1 1 0 1 0 0 1 1
1 1 1 1 1 0 0 0 1 0
1 1 1 1 1 1 1 1 0 0
Truth table for S8
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 1 1 0 1
0 0 0 0 0 1 0 0 0 1
0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 1 1 1 1 1
0 0 0 1 0 0 1 0 0 0
0 0 0 1 0 1 1 1 0 1
0 0 0 1 1 0 0 1 0 0
0 0 0 1 1 1 1 0 0 0
0 0 1 0 0 0 0 1 1 0
0 0 1 0 0 1 1 0 1 0
0 0 1 0 1 0 1 1 1 1
0 0 1 0 1 1 0 0 1 1
0 0 1 1 0 0 1 0 1 1
0 0 1 1 0 1 0 1 1 1
0 0 1 1 1 0 0 0 0 1
0 0 1 1 1 1 0 1 0 0
0 1 0 0 0 0 1 0 1 0
0 1 0 0 0 1 1 1 0 0
0 1 0 0 1 0 1 0 0 1
0 1 0 0 1 1 0 1 0 1
0 1 0 1 0 0 0 0 1 1
0 1 0 1 0 1 0 1 1 0
0 1 0 1 1 0 1 1 1 0
0 1 0 1 1 1 1 0 1 1
0 1 1 0 0 0 0 1 0 1
0 1 1 0 0 1 0 0 0 0
0 1 1 0 1 0 0 0 0 0
0 1 1 0 1 1 1 1 1 0
0 1 1 1 0 0 1 1 0 0
0 1 1 1 0 1 1 0 0 1
0 1 1 1 1 0 0 1 1 1
0 1 1 1 1 1 0 0 1 0
1 0 0 0 0 0 0 1 1 1
1 0 0 0 0 1 0 0 1 0
1 0 0 0 1 0 1 0 1 1
1 0 0 0 1 1 0 0 0 1
1 0 0 1 0 0 0 1 0 0
1 0 0 1 0 1 1 1 1 0
1 0 0 1 1 0 0 0 0 1
1 0 0 1 1 1 0 1 1 1
1 0 1 0 0 0 1 0 0 1
1 0 1 0 0 1 0 1 0 0
1 0 1 0 1 0 1 1 0 0
1 0 1 0 1 1 1 0 1 0
1 0 1 1 0 0 1 1 1 0
1 0 1 1 0 1 1 0 0 0
1 0 1 1 1 0 0 0 1 0
1 0 1 1 1 1 1 1 0 1
1 1 0 0 0 0 0 0 0 0
1 1 0 0 0 1 1 1 1 1
1 1 0 0 1 0 0 1 1 0
1 1 0 0 1 1 1 1 0 0
1 1 0 1 0 0 1 0 1 0
1 1 0 1 0 1 1 0 0 1
1 1 0 1 1 0 1 1 0 1
1 1 0 1 1 1 0 0 0 0
1 1 1 0 0 0 1 1 1 1
1 1 1 0 0 1 0 0 1 1
1 1 1 0 1 0 0 0 1 1
1 1 1 0 1 1 0 1 0 1
1 1 1 1 0 0 0 1 0 1
1 1 1 1 0 1 0 1 1 0
1 1 1 1 1 0 1 0 0 0
1 1 1 1 1 1 1 0 1 1
Displaying truth tables of random S-boxes for strong DES encryption
> |
sbtruthtbls([1, 2, 4, 8, 16, 32, 64, 128]); |
DES Random S boxes
Truth table for S1
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 1 0 1 1
0 0 0 0 0 1 1 1 0 1
0 0 0 0 1 0 1 1 1 0
0 0 0 0 1 1 0 0 1 0
0 0 0 1 0 0 0 1 1 1
0 0 0 1 0 1 1 0 0 0
0 0 0 1 1 0 1 0 0 0
0 0 0 1 1 1 1 1 1 0
0 0 1 0 0 0 1 1 0 1
0 0 1 0 0 1 1 1 0 0
0 0 1 0 1 0 1 1 0 0
0 0 1 0 1 1 0 0 0 1
0 0 1 1 0 0 0 0 0 0
0 0 1 1 0 1 1 0 1 0
0 0 1 1 1 0 1 1 1 1
0 0 1 1 1 1 0 1 0 1
0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 1 1 1 1 1
0 1 0 0 1 0 1 0 1 0
0 1 0 0 1 1 0 1 0 0
0 1 0 1 0 0 0 0 1 1
0 1 0 1 0 1 0 1 1 1
0 1 0 1 1 0 1 0 0 1
0 1 0 1 1 1 0 1 1 0
0 1 1 0 0 0 0 0 1 0
0 1 1 0 0 1 1 0 0 1
0 1 1 0 1 0 0 1 1 0
0 1 1 0 1 1 0 0 0 0
0 1 1 1 0 0 0 1 0 0
0 1 1 1 0 1 0 0 1 1
0 1 1 1 1 0 0 0 0 1
0 1 1 1 1 1 1 0 1 1
1 0 0 0 0 0 0 0 1 0
1 0 0 0 0 1 0 1 1 1
1 0 0 0 1 0 1 1 0 1
1 0 0 0 1 1 1 0 1 0
1 0 0 1 0 0 0 0 1 1
1 0 0 1 0 1 0 0 0 1
1 0 0 1 1 0 1 1 1 1
1 0 0 1 1 1 1 1 0 0
1 0 1 0 0 0 0 1 1 1
1 0 1 0 0 1 1 0 0 1
1 0 1 0 1 0 1 1 0 0
1 0 1 0 1 1 0 0 1 1
1 0 1 1 0 0 1 0 0 0
1 0 1 1 0 1 1 0 0 0
1 0 1 1 1 0 0 0 0 1
1 0 1 1 1 1 0 0 0 0
1 1 0 0 0 0 1 1 1 0
1 1 0 0 0 1 1 1 0 1
1 1 0 0 1 0 0 1 0 0
1 1 0 0 1 1 0 0 1 0
1 1 0 1 0 0 0 0 0 0
1 1 0 1 0 1 1 0 1 1
1 1 0 1 1 0 0 1 1 0
1 1 0 1 1 1 1 1 1 0
1 1 1 0 0 0 1 0 1 1
1 1 1 0 0 1 0 1 1 0
1 1 1 0 1 0 0 1 0 1
1 1 1 0 1 1 0 1 0 0
1 1 1 1 0 0 1 0 0 1
1 1 1 1 0 1 1 1 1 1
1 1 1 1 1 0 1 0 1 0
1 1 1 1 1 1 0 1 0 1
Truth table for S2
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 1 1 0 0 0
0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 1 1 0 0 1
0 0 0 1 0 0 0 1 1 1
0 0 0 1 0 1 1 0 1 1
0 0 0 1 1 0 1 1 1 0
0 0 0 1 1 1 0 0 1 1
0 0 1 0 0 0 0 1 0 1
0 0 1 0 0 1 1 0 1 0
0 0 1 0 1 0 1 0 1 0
0 0 1 0 1 1 0 1 1 1
0 0 1 1 0 0 0 0 0 1
0 0 1 1 0 1 1 1 1 0
0 0 1 1 1 0 1 0 0 1
0 0 1 1 1 1 0 1 1 0
0 1 0 0 0 0 1 1 0 0
0 1 0 0 0 1 0 0 0 1
0 1 0 0 1 0 0 0 0 0
0 1 0 0 1 1 0 0 0 0
0 1 0 1 0 0 1 1 0 1
0 1 0 1 0 1 0 1 0 0
0 1 0 1 1 0 1 0 1 1
0 1 0 1 1 1 1 1 0 1
0 1 1 0 0 0 0 0 1 1
0 1 1 0 0 1 1 1 1 1
0 1 1 0 1 0 0 1 0 0
0 1 1 0 1 1 1 1 0 0
0 1 1 1 0 0 1 0 0 0
0 1 1 1 0 1 0 0 1 0
0 1 1 1 1 0 0 1 1 0
0 1 1 1 1 1 0 1 0 1
1 0 0 0 0 0 1 1 0 0
1 0 0 0 0 1 0 1 1 1
1 0 0 0 1 0 0 1 0 0
1 0 0 0 1 1 1 0 0 1
1 0 0 1 0 0 0 0 0 0
1 0 0 1 0 1 1 0 1 1
1 0 0 1 1 0 1 1 1 0
1 0 0 1 1 1 0 0 1 1
1 0 1 0 0 0 0 0 1 1
1 0 1 0 0 1 1 1 1 1
1 0 1 0 1 0 1 1 1 1
1 0 1 0 1 1 1 0 1 0
1 0 1 1 0 0 1 0 0 0
1 0 1 1 0 1 1 1 0 1
1 0 1 1 1 0 0 1 1 0
1 0 1 1 1 1 1 1 0 0
1 1 0 0 0 0 0 0 0 1
1 1 0 0 0 1 0 0 1 0
1 1 0 0 1 0 1 0 0 1
1 1 0 0 1 1 0 0 0 0
1 1 0 1 0 0 0 1 1 1
1 1 0 1 0 1 1 1 1 0
1 1 0 1 1 0 1 0 1 1
1 1 0 1 1 1 0 1 0 0
1 1 1 0 0 0 1 1 0 1
1 1 1 0 0 1 0 1 1 0
1 1 1 0 1 0 1 0 1 0
1 1 1 0 1 1 0 0 0 1
1 1 1 1 0 0 0 1 0 1
1 1 1 1 0 1 0 1 0 1
1 1 1 1 1 0 0 0 1 0
1 1 1 1 1 1 1 0 0 0
Truth table for S3
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 1 1 0 0 0
0 0 0 0 1 0 1 1 0 0
0 0 0 0 1 1 0 1 1 1
0 0 0 1 0 0 0 0 0 0
0 0 0 1 0 1 1 1 1 0
0 0 0 1 1 0 1 1 1 1
0 0 0 1 1 1 0 1 0 0
0 0 1 0 0 0 1 0 0 1
0 0 1 0 0 1 0 1 1 0
0 0 1 0 1 0 0 0 1 0
0 0 1 0 1 1 1 1 0 1
0 0 1 1 0 0 0 1 1 1
0 0 1 1 0 1 0 1 0 1
0 0 1 1 1 0 0 0 0 1
0 0 1 1 1 1 0 0 1 1
0 1 0 0 0 0 0 1 0 0
0 1 0 0 0 1 0 0 0 0
0 1 0 0 1 0 0 1 1 0
0 1 0 0 1 1 0 0 0 1
0 1 0 1 0 0 1 0 1 0
0 1 0 1 0 1 1 0 1 1
0 1 0 1 1 0 1 1 0 1
0 1 0 1 1 1 1 0 0 1
0 1 1 0 0 0 1 0 0 0
0 1 1 0 0 1 0 0 1 0
0 1 1 0 1 0 0 1 0 1
0 1 1 0 1 1 1 1 1 1
0 1 1 1 0 0 0 0 1 1
0 1 1 1 0 1 1 1 0 0
0 1 1 1 1 0 1 0 1 1
0 1 1 1 1 1 1 0 1 0
1 0 0 0 0 0 1 0 1 1
1 0 0 0 0 1 1 0 0 0
1 0 0 0 1 0 1 1 0 0
1 0 0 0 1 1 1 1 1 0
1 0 0 1 0 0 1 0 1 0
1 0 0 1 0 1 0 1 1 0
1 0 0 1 1 0 1 1 1 0
1 0 0 1 1 1 0 1 0 0
1 0 1 0 0 0 0 1 1 0
1 0 1 0 0 1 0 0 0 0
1 0 1 0 1 0 1 0 0 0
1 0 1 0 1 1 1 0 0 1
1 0 1 1 0 0 0 0 1 0
1 0 1 1 0 1 1 1 0 0
1 0 1 1 1 0 0 1 0 0
1 0 1 1 1 1 0 1 0 1
1 1 0 0 0 0 1 1 0 1
1 1 0 0 0 1 0 0 0 1
1 1 0 0 1 0 0 0 0 1
1 1 0 0 1 1 1 0 1 0
1 1 0 1 0 0 1 1 1 1
1 1 0 1 0 1 0 1 1 1
1 1 0 1 1 0 0 1 0 1
1 1 0 1 1 1 0 0 1 0
1 1 1 0 0 0 1 0 0 1
1 1 1 0 0 1 1 1 1 1
1 1 1 0 1 0 0 0 1 1
1 1 1 0 1 1 1 1 0 1
1 1 1 1 0 0 0 1 1 1
1 1 1 1 0 1 0 0 1 1
1 1 1 1 1 0 0 0 0 0
1 1 1 1 1 1 1 0 1 1
Truth table for S4
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 1 0 1
0 0 0 0 1 0 1 1 1 1
0 0 0 0 1 1 0 0 0 1
0 0 0 1 0 0 0 0 0 1
0 0 0 1 0 1 1 0 1 1
0 0 0 1 1 0 0 0 1 1
0 0 0 1 1 1 0 0 1 1
0 0 1 0 0 0 1 0 0 1
0 0 1 0 0 1 1 0 0 1
0 0 1 0 1 0 0 1 1 1
0 0 1 0 1 1 1 1 0 0
0 0 1 1 0 0 0 1 0 1
0 0 1 1 0 1 1 1 1 1
0 0 1 1 1 0 1 1 0 0
0 0 1 1 1 1 1 0 0 0
0 1 0 0 0 0 1 1 0 1
0 1 0 0 0 1 0 1 1 0
0 1 0 0 1 0 1 0 1 0
0 1 0 0 1 1 0 0 0 0
0 1 0 1 0 0 1 0 0 0
0 1 0 1 0 1 0 1 0 0
0 1 0 1 1 0 0 0 0 0
0 1 0 1 1 1 1 1 0 1
0 1 1 0 0 0 1 1 1 0
0 1 1 0 0 1 0 1 1 1
0 1 1 0 1 0 0 0 1 0
0 1 1 0 1 1 0 0 1 0
0 1 1 1 0 0 1 0 1 1
0 1 1 1 0 1 1 0 1 0
0 1 1 1 1 0 0 1 1 0
0 1 1 1 1 1 1 1 1 0
1 0 0 0 0 0 1 1 1 1
1 0 0 0 0 1 1 0 1 1
1 0 0 0 1 0 0 1 0 1
1 0 0 0 1 1 0 0 1 1
1 0 0 1 0 0 0 1 1 1
1 0 0 1 0 1 0 1 0 0
1 0 0 1 1 0 0 1 0 0
1 0 0 1 1 1 1 1 1 0
1 0 1 0 0 0 1 0 0 0
1 0 1 0 0 1 1 1 0 0
1 0 1 0 1 0 0 0 0 0
1 0 1 0 1 1 0 0 0 1
1 0 1 1 0 0 0 0 1 1
1 0 1 1 0 1 0 0 1 0
1 0 1 1 1 0 1 0 1 1
1 0 1 1 1 1 0 1 0 1
1 1 0 0 0 0 0 0 0 1
1 1 0 0 0 1 0 0 0 0
1 1 0 0 1 0 0 0 1 0
1 1 0 0 1 1 0 1 1 0
1 1 0 1 0 0 1 1 1 0
1 1 0 1 0 1 1 0 1 0
1 1 0 1 1 0 1 1 0 1
1 1 0 1 1 1 1 1 1 1
1 1 1 0 0 0 1 0 1 0
1 1 1 0 0 1 0 1 1 1
1 1 1 0 1 0 1 1 0 0
1 1 1 0 1 1 1 0 0 1
1 1 1 1 0 0 1 0 0 1
1 1 1 1 0 1 1 1 0 1
1 1 1 1 1 0 0 1 1 0
1 1 1 1 1 1 1 0 0 0
Truth table for S5
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 1 0 0 1 0
0 0 0 0 1 0 1 0 1 0
0 0 0 0 1 1 0 1 1 1
0 0 0 1 0 0 1 1 0 1
0 0 0 1 0 1 0 1 0 1
0 0 0 1 1 0 1 0 0 0
0 0 0 1 1 1 0 0 0 0
0 0 1 0 0 0 0 0 1 1
0 0 1 0 0 1 1 0 0 0
0 0 1 0 1 0 1 1 0 0
0 0 1 0 1 1 1 1 1 0
0 0 1 1 0 0 0 0 0 0
0 0 1 1 0 1 0 1 1 0
0 0 1 1 1 0 0 0 1 0
0 0 1 1 1 1 1 0 1 0
0 1 0 0 0 0 0 0 0 1
0 1 0 0 0 1 1 1 0 1
0 1 0 0 1 0 0 1 0 1
0 1 0 0 1 1 0 1 0 0
0 1 0 1 0 0 1 0 1 1
0 1 0 1 0 1 0 0 0 1
0 1 0 1 1 0 1 0 0 1
0 1 0 1 1 1 1 1 1 1
0 1 1 0 0 0 0 1 1 1
0 1 1 0 0 1 1 1 0 0
0 1 1 0 1 0 0 1 1 0
0 1 1 0 1 1 0 0 1 1
0 1 1 1 0 0 0 1 0 0
0 1 1 1 0 1 1 0 1 1
0 1 1 1 1 0 1 1 1 1
0 1 1 1 1 1 1 0 0 1
1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 1 1 1 1 1
1 0 0 0 1 0 1 1 0 1
1 0 0 0 1 1 1 1 0 1
1 0 0 1 0 0 1 0 0 1
1 0 0 1 0 1 0 0 1 0
1 0 0 1 1 0 0 0 1 1
1 0 0 1 1 1 0 1 0 1
1 0 1 0 0 0 0 1 1 0
1 0 1 0 0 1 1 1 0 0
1 0 1 0 1 0 1 1 1 0
1 0 1 0 1 1 0 0 0 0
1 0 1 1 0 0 0 0 1 0
1 0 1 1 0 1 1 1 1 0
1 0 1 1 1 0 0 0 0 1
1 0 1 1 1 1 1 0 0 0
1 1 0 0 0 0 0 1 0 0
1 1 0 0 0 1 0 1 0 0
1 1 0 0 1 0 0 0 0 0
1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 0 1 1 1 1
1 1 0 1 0 1 0 0 0 1
1 1 0 1 1 0 1 1 0 0
1 1 0 1 1 1 1 0 1 0
1 1 1 0 0 0 1 0 1 0
1 1 1 0 0 1 0 1 1 1
1 1 1 0 1 0 0 1 1 1
1 1 1 0 1 1 1 0 1 1
1 1 1 1 0 0 0 1 0 1
1 1 1 1 0 1 1 0 0 1
1 1 1 1 1 0 1 0 1 1
1 1 1 1 1 1 0 1 1 0
Truth table for S6
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 1 0 1 1
0 0 0 0 0 1 1 0 0 0
0 0 0 0 1 0 1 0 0 0
0 0 0 0 1 1 0 0 1 0
0 0 0 1 0 0 1 1 0 0
0 0 0 1 0 1 0 0 1 1
0 0 0 1 1 0 0 1 1 0
0 0 0 1 1 1 0 1 1 0
0 0 1 0 0 0 0 1 0 1
0 0 1 0 0 1 1 1 1 1
0 0 1 0 1 0 0 0 1 0
0 0 1 0 1 1 0 0 0 0
0 0 1 1 0 0 0 1 1 1
0 0 1 1 0 1 1 1 1 0
0 0 1 1 1 0 1 1 0 1
0 0 1 1 1 1 0 1 0 0
0 1 0 0 0 0 0 0 0 1
0 1 0 0 0 1 0 1 0 1
0 1 0 0 1 0 0 1 0 0
0 1 0 0 1 1 1 0 1 1
0 1 0 1 0 0 1 0 0 1
0 1 0 1 0 1 1 0 1 0
0 1 0 1 1 0 1 0 1 0
0 1 0 1 1 1 0 1 1 1
0 1 1 0 0 0 0 0 1 1
0 1 1 0 0 1 1 1 0 1
0 1 1 0 1 0 1 1 1 1
0 1 1 0 1 1 0 0 0 1
0 1 1 1 0 0 0 0 0 0
0 1 1 1 0 1 1 0 0 1
0 1 1 1 1 0 1 1 1 0
0 1 1 1 1 1 1 1 0 0
1 0 0 0 0 0 1 0 1 1
1 0 0 0 0 1 1 1 0 0
1 0 0 0 1 0 0 0 0 0
1 0 0 0 1 1 0 0 1 0
1 0 0 1 0 0 0 0 0 1
1 0 0 1 0 1 1 0 1 0
1 0 0 1 1 0 1 1 0 1
1 0 0 1 1 1 0 0 0 1
1 0 1 0 0 0 0 1 1 0
1 0 1 0 0 1 0 0 1 1
1 0 1 0 1 0 0 0 1 1
1 0 1 0 1 1 1 0 0 1
1 0 1 1 0 0 1 1 0 0
1 0 1 1 0 1 1 1 1 0
1 0 1 1 1 0 0 0 1 0
1 0 1 1 1 1 0 1 0 1
1 1 0 0 0 0 1 1 1 0
1 1 0 0 0 1 0 1 1 1
1 1 0 0 1 0 1 0 0 0
1 1 0 0 1 1 1 0 1 1
1 1 0 1 0 0 1 0 0 1
1 1 0 1 0 1 0 0 0 0
1 1 0 1 1 0 0 1 1 1
1 1 0 1 1 1 0 1 1 0
1 1 1 0 0 0 0 1 0 1
1 1 1 0 0 1 1 1 1 1
1 1 1 0 1 0 1 0 1 0
1 1 1 0 1 1 1 1 0 1
1 1 1 1 0 0 0 1 0 0
1 1 1 1 0 1 1 0 0 0
1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 0 1 0 0
Truth table for S7
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 0 1 1 0
0 0 0 0 0 1 1 1 0 0
0 0 0 0 1 0 0 1 0 0
0 0 0 0 1 1 0 0 0 0
0 0 0 1 0 0 1 0 0 1
0 0 0 1 0 1 1 0 0 1
0 0 0 1 1 0 0 1 0 1
0 0 0 1 1 1 1 0 1 1
0 0 1 0 0 0 1 0 0 0
0 0 1 0 0 1 0 1 1 0
0 0 1 0 1 0 0 0 0 0
0 0 1 0 1 1 0 0 0 1
0 0 1 1 0 0 0 0 0 1
0 0 1 1 0 1 0 0 1 1
0 0 1 1 1 0 1 1 1 0
0 0 1 1 1 1 0 1 1 1
0 1 0 0 0 0 0 1 1 1
0 1 0 0 0 1 0 1 0 0
0 1 0 0 1 0 1 0 1 1
0 1 0 0 1 1 1 1 1 1
0 1 0 1 0 0 1 1 0 0
0 1 0 1 0 1 0 1 0 1
0 1 0 1 1 0 0 0 1 1
0 1 0 1 1 1 1 0 0 0
0 1 1 0 0 0 0 0 1 0
0 1 1 0 0 1 1 1 0 1
0 1 1 0 1 0 1 0 1 0
0 1 1 0 1 1 0 0 1 0
0 1 1 1 0 0 1 1 1 1
0 1 1 1 0 1 1 0 1 0
0 1 1 1 1 0 1 1 0 1
0 1 1 1 1 1 1 1 1 0
1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 1 1 1 0 1
1 0 0 0 1 0 1 0 1 0
1 0 0 0 1 1 0 1 1 0
1 0 0 1 0 0 1 0 0 1
1 0 0 1 0 1 0 0 0 1
1 0 0 1 1 0 0 0 0 1
1 0 0 1 1 1 1 0 0 1
1 0 1 0 0 0 0 1 1 0
1 0 1 0 0 1 0 1 0 1
1 0 1 0 1 0 1 1 1 0
1 0 1 0 1 1 0 1 1 1
1 0 1 1 0 0 1 1 0 0
1 0 1 1 0 1 1 1 0 0
1 0 1 1 1 0 0 0 1 1
1 0 1 1 1 1 0 1 0 0
1 1 0 0 0 0 1 0 0 0
1 1 0 0 0 1 0 0 0 0
1 1 0 0 1 0 0 0 0 0
1 1 0 0 1 1 1 0 1 1
1 1 0 1 0 0 0 1 1 1
1 1 0 1 0 1 0 0 1 1
1 1 0 1 1 0 1 1 0 1
1 1 0 1 1 1 1 1 1 1
1 1 1 0 0 0 1 1 1 1
1 1 1 0 0 1 0 0 1 0
1 1 1 0 1 0 1 0 1 1
1 1 1 0 1 1 1 1 1 0
1 1 1 1 0 0 0 1 0 0
1 1 1 1 0 1 1 0 0 0
1 1 1 1 1 0 0 0 1 0
1 1 1 1 1 1 1 0 1 0
Truth table for S8
-----------------------------------
input output
-----------------------------------
r1 c3 c2 c1 c0 r0 s3 s2 s1 s0
===================================
0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 1 1 1 1 1
0 0 0 0 1 0 1 0 0 0
0 0 0 0 1 1 0 0 1 0
0 0 0 1 0 0 0 0 1 0
0 0 0 1 0 1 0 1 1 0
0 0 0 1 1 0 1 1 1 1
0 0 0 1 1 1 1 0 1 1
0 0 1 0 0 0 1 1 0 1
0 0 1 0 0 1 0 0 0 1
0 0 1 0 1 0 1 1 1 0
0 0 1 0 1 1 1 1 1 0
0 0 1 1 0 0 1 1 0 0
0 0 1 1 0 1 0 0 0 0
0 0 1 1 1 0 0 1 1 1
0 0 1 1 1 1 0 1 0 0
0 1 0 0 0 0 1 0 1 0
0 1 0 0 0 1 1 1 0 1
0 1 0 0 1 0 0 1 0 1
0 1 0 0 1 1 0 0 1 1
0 1 0 1 0 0 1 0 1 1
0 1 0 1 0 1 1 0 0 0
0 1 0 1 1 0 0 0 0 0
0 1 0 1 1 1 1 0 0 1
0 1 1 0 0 0 0 1 0 0
0 1 1 0 0 1 0 1 0 1
0 1 1 0 1 0 0 1 1 0
0 1 1 0 1 1 1 0 1 0
0 1 1 1 0 0 1 0 0 1
0 1 1 1 0 1 1 1 0 0
0 1 1 1 1 0 0 0 0 1
0 1 1 1 1 1 0 1 1 1
1 0 0 0 0 0 1 0 0 1
1 0 0 0 0 1 0 1 1 1
1 0 0 0 1 0 0 1 1 1
1 0 0 0 1 1 0 0 0 1
1 0 0 1 0 0 0 0 1 0
1 0 0 1 0 1 0 1 1 0
1 0 0 1 1 0 0 0 1 1
1 0 0 1 1 1 0 1 0 1
1 0 1 0 0 0 0 0 0 1
1 0 1 0 0 1 0 0 0 0
1 0 1 0 1 0 0 1 1 0
1 0 1 0 1 1 1 1 0 0
1 0 1 1 0 0 1 1 0 0
1 0 1 1 0 1 1 1 0 1
1 0 1 1 1 0 1 1 1 0
1 0 1 1 1 1 1 0 1 0
1 1 0 0 0 0 1 0 1 1
1 1 0 0 0 1 1 1 1 1
1 1 0 0 1 0 1 1 1 1
1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 0 0 1 0 0
1 1 0 1 0 1 1 0 0 0
1 1 0 1 1 0 1 0 0 0
1 1 0 1 1 1 1 0 0 1
1 1 1 0 0 0 0 0 0 0
1 1 1 0 0 1 1 0 1 1
1 1 1 0 1 0 1 0 1 0
1 1 1 0 1 1 1 1 1 0
1 1 1 1 0 0 0 1 0 1
1 1 1 1 0 1 0 1 0 0
1 1 1 1 1 0 1 1 0 1
1 1 1 1 1 1 0 0 1 0
Displaying primitive functions S1 - S8
> |
dispsboxes();
dispsboxes([1, 2, 4, 8, 16, 32, 64, 128]); |
Computing the 16 subkeys if the secret key Key is given as a list of 64 bits
> |
Key := [seq(rand(2)(), i = 1 .. 64)]:
ks1 := DESkeysch(Key);
printf("The number of different subkeys equals to %d", DESksnbr(ks1)); |
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_131.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_132.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_133.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_134.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_135.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_136.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_137.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_138.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_139.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_140.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_141.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_142.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_143.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_144.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_145.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_146.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_147.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_148.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_149.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_150.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_151.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_152.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_153.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_154.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_155.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_156.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_157.gif)
The number of different subkeys equals to 16
Computing the 16 subkeys if the secret key Key is given as a list of 64 bits using an equivalent command
> |
ks2 := DESkeyschv(Key); |
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_159.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_160.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_161.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_162.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_163.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_164.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_165.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_166.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_167.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_168.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_169.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_170.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_171.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_172.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_173.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_174.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_175.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_176.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_177.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_178.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_179.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_180.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_181.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_182.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_183.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_184.gif)
![[[0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0...](/view.aspx?SI=1764/GenDEShelp_185.gif)
Computing the key schedule if the secret key Key is given in the symbolic form
> |
Key := [seq(k[i], i = 1 .. 64)]; |
![[k[1], k[2], k[3], k[4], k[5], k[6], k[7], k[8], k[9], k[10], k[11], k[12], k[13], k[14], k[15], k[16], k[17], k[18], k[19], k[20], k[21], k[22], k[23], k[24], k[25], k[26], k[27], k[28], k[29], k[30]...](/view.aspx?SI=1764/GenDEShelp_187.gif)
![[k[1], k[2], k[3], k[4], k[5], k[6], k[7], k[8], k[9], k[10], k[11], k[12], k[13], k[14], k[15], k[16], k[17], k[18], k[19], k[20], k[21], k[22], k[23], k[24], k[25], k[26], k[27], k[28], k[29], k[30]...](/view.aspx?SI=1764/GenDEShelp_188.gif)
![[k[1], k[2], k[3], k[4], k[5], k[6], k[7], k[8], k[9], k[10], k[11], k[12], k[13], k[14], k[15], k[16], k[17], k[18], k[19], k[20], k[21], k[22], k[23], k[24], k[25], k[26], k[27], k[28], k[29], k[30]...](/view.aspx?SI=1764/GenDEShelp_189.gif)
![[k[1], k[2], k[3], k[4], k[5], k[6], k[7], k[8], k[9], k[10], k[11], k[12], k[13], k[14], k[15], k[16], k[17], k[18], k[19], k[20], k[21], k[22], k[23], k[24], k[25], k[26], k[27], k[28], k[29], k[30]...](/view.aspx?SI=1764/GenDEShelp_190.gif)
> |
ksv := DESkeysch(Key);
printf("The number of different subkeys equals to %d", DESksnbr(ks1)); |
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_192.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_193.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_194.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_195.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_196.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_197.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_198.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_199.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_200.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_201.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_202.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_203.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_204.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_205.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_206.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_207.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_208.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_209.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_210.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_211.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_212.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_213.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_214.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_215.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_216.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_217.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_218.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_219.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_220.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_221.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_222.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_223.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_224.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_225.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_226.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_227.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_228.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_229.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_230.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_231.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_232.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_233.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_234.gif)
![[[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37],...](/view.aspx?SI=1764/GenDEShelp_235.gif)
The number of different subkeys equals to 16
General form of subkeys for each iteration
> |
for i to 16 do ks[i] := ksv[i] end do; |
![[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37], ...](/view.aspx?SI=1764/GenDEShelp_237.gif)
![[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37], ...](/view.aspx?SI=1764/GenDEShelp_238.gif)
![[k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37], ...](/view.aspx?SI=1764/GenDEShelp_239.gif)
![[k[2], k[43], k[26], k[52], k[41], k[9], k[25], k[49], k[59], k[1], k[11], k[34], k[60], k[27], k[18], k[17], k[36], k[50], k[51], k[58], k[57], k[19], k[10], k[33], k[14], k[20], k[31], k[46], k[29],...](/view.aspx?SI=1764/GenDEShelp_241.gif)
![[k[2], k[43], k[26], k[52], k[41], k[9], k[25], k[49], k[59], k[1], k[11], k[34], k[60], k[27], k[18], k[17], k[36], k[50], k[51], k[58], k[57], k[19], k[10], k[33], k[14], k[20], k[31], k[46], k[29],...](/view.aspx?SI=1764/GenDEShelp_242.gif)
![[k[2], k[43], k[26], k[52], k[41], k[9], k[25], k[49], k[59], k[1], k[11], k[34], k[60], k[27], k[18], k[17], k[36], k[50], k[51], k[58], k[57], k[19], k[10], k[33], k[14], k[20], k[31], k[46], k[29],...](/view.aspx?SI=1764/GenDEShelp_243.gif)
![[k[51], k[27], k[10], k[36], k[25], k[58], k[9], k[33], k[43], k[50], k[60], k[18], k[44], k[11], k[2], k[1], k[49], k[34], k[35], k[42], k[41], k[3], k[59], k[17], k[61], k[4], k[15], k[30], k[13], k...](/view.aspx?SI=1764/GenDEShelp_245.gif)
![[k[51], k[27], k[10], k[36], k[25], k[58], k[9], k[33], k[43], k[50], k[60], k[18], k[44], k[11], k[2], k[1], k[49], k[34], k[35], k[42], k[41], k[3], k[59], k[17], k[61], k[4], k[15], k[30], k[13], k...](/view.aspx?SI=1764/GenDEShelp_246.gif)
![[k[51], k[27], k[10], k[36], k[25], k[58], k[9], k[33], k[43], k[50], k[60], k[18], k[44], k[11], k[2], k[1], k[49], k[34], k[35], k[42], k[41], k[3], k[59], k[17], k[61], k[4], k[15], k[30], k[13], k...](/view.aspx?SI=1764/GenDEShelp_247.gif)
![[k[35], k[11], k[59], k[49], k[9], k[42], k[58], k[17], k[27], k[34], k[44], k[2], k[57], k[60], k[51], k[50], k[33], k[18], k[19], k[26], k[25], k[52], k[43], k[1], k[45], k[55], k[62], k[14], k[28],...](/view.aspx?SI=1764/GenDEShelp_249.gif)
![[k[35], k[11], k[59], k[49], k[9], k[42], k[58], k[17], k[27], k[34], k[44], k[2], k[57], k[60], k[51], k[50], k[33], k[18], k[19], k[26], k[25], k[52], k[43], k[1], k[45], k[55], k[62], k[14], k[28],...](/view.aspx?SI=1764/GenDEShelp_250.gif)
![[k[35], k[11], k[59], k[49], k[9], k[42], k[58], k[17], k[27], k[34], k[44], k[2], k[57], k[60], k[51], k[50], k[33], k[18], k[19], k[26], k[25], k[52], k[43], k[1], k[45], k[55], k[62], k[14], k[28],...](/view.aspx?SI=1764/GenDEShelp_251.gif)
![[k[19], k[60], k[43], k[33], k[58], k[26], k[42], k[1], k[11], k[18], k[57], k[51], k[41], k[44], k[35], k[34], k[17], k[2], k[3], k[10], k[9], k[36], k[27], k[50], k[29], k[39], k[46], k[61], k[12], ...](/view.aspx?SI=1764/GenDEShelp_253.gif)
![[k[19], k[60], k[43], k[33], k[58], k[26], k[42], k[1], k[11], k[18], k[57], k[51], k[41], k[44], k[35], k[34], k[17], k[2], k[3], k[10], k[9], k[36], k[27], k[50], k[29], k[39], k[46], k[61], k[12], ...](/view.aspx?SI=1764/GenDEShelp_254.gif)
![[k[19], k[60], k[43], k[33], k[58], k[26], k[42], k[1], k[11], k[18], k[57], k[51], k[41], k[44], k[35], k[34], k[17], k[2], k[3], k[10], k[9], k[36], k[27], k[50], k[29], k[39], k[46], k[61], k[12], ...](/view.aspx?SI=1764/GenDEShelp_255.gif)
![[k[3], k[44], k[27], k[17], k[42], k[10], k[26], k[50], k[60], k[2], k[41], k[35], k[25], k[57], k[19], k[18], k[1], k[51], k[52], k[59], k[58], k[49], k[11], k[34], k[13], k[23], k[30], k[45], k[63],...](/view.aspx?SI=1764/GenDEShelp_257.gif)
![[k[3], k[44], k[27], k[17], k[42], k[10], k[26], k[50], k[60], k[2], k[41], k[35], k[25], k[57], k[19], k[18], k[1], k[51], k[52], k[59], k[58], k[49], k[11], k[34], k[13], k[23], k[30], k[45], k[63],...](/view.aspx?SI=1764/GenDEShelp_258.gif)
![[k[3], k[44], k[27], k[17], k[42], k[10], k[26], k[50], k[60], k[2], k[41], k[35], k[25], k[57], k[19], k[18], k[1], k[51], k[52], k[59], k[58], k[49], k[11], k[34], k[13], k[23], k[30], k[45], k[63],...](/view.aspx?SI=1764/GenDEShelp_259.gif)
![[k[52], k[57], k[11], k[1], k[26], k[59], k[10], k[34], k[44], k[51], k[25], k[19], k[9], k[41], k[3], k[2], k[50], k[35], k[36], k[43], k[42], k[33], k[60], k[18], k[28], k[7], k[14], k[29], k[47], k...](/view.aspx?SI=1764/GenDEShelp_261.gif)
![[k[52], k[57], k[11], k[1], k[26], k[59], k[10], k[34], k[44], k[51], k[25], k[19], k[9], k[41], k[3], k[2], k[50], k[35], k[36], k[43], k[42], k[33], k[60], k[18], k[28], k[7], k[14], k[29], k[47], k...](/view.aspx?SI=1764/GenDEShelp_262.gif)
![[k[52], k[57], k[11], k[1], k[26], k[59], k[10], k[34], k[44], k[51], k[25], k[19], k[9], k[41], k[3], k[2], k[50], k[35], k[36], k[43], k[42], k[33], k[60], k[18], k[28], k[7], k[14], k[29], k[47], k...](/view.aspx?SI=1764/GenDEShelp_263.gif)
![[k[36], k[41], k[60], k[50], k[10], k[43], k[59], k[18], k[57], k[35], k[9], k[3], k[58], k[25], k[52], k[51], k[34], k[19], k[49], k[27], k[26], k[17], k[44], k[2], k[12], k[54], k[61], k[13], k[31],...](/view.aspx?SI=1764/GenDEShelp_265.gif)
![[k[36], k[41], k[60], k[50], k[10], k[43], k[59], k[18], k[57], k[35], k[9], k[3], k[58], k[25], k[52], k[51], k[34], k[19], k[49], k[27], k[26], k[17], k[44], k[2], k[12], k[54], k[61], k[13], k[31],...](/view.aspx?SI=1764/GenDEShelp_266.gif)
![[k[36], k[41], k[60], k[50], k[10], k[43], k[59], k[18], k[57], k[35], k[9], k[3], k[58], k[25], k[52], k[51], k[34], k[19], k[49], k[27], k[26], k[17], k[44], k[2], k[12], k[54], k[61], k[13], k[31],...](/view.aspx?SI=1764/GenDEShelp_267.gif)
![[k[57], k[33], k[52], k[42], k[2], k[35], k[51], k[10], k[49], k[27], k[1], k[60], k[50], k[17], k[44], k[43], k[26], k[11], k[41], k[19], k[18], k[9], k[36], k[59], k[4], k[46], k[53], k[5], k[23], k...](/view.aspx?SI=1764/GenDEShelp_269.gif)
![[k[57], k[33], k[52], k[42], k[2], k[35], k[51], k[10], k[49], k[27], k[1], k[60], k[50], k[17], k[44], k[43], k[26], k[11], k[41], k[19], k[18], k[9], k[36], k[59], k[4], k[46], k[53], k[5], k[23], k...](/view.aspx?SI=1764/GenDEShelp_270.gif)
![[k[57], k[33], k[52], k[42], k[2], k[35], k[51], k[10], k[49], k[27], k[1], k[60], k[50], k[17], k[44], k[43], k[26], k[11], k[41], k[19], k[18], k[9], k[36], k[59], k[4], k[46], k[53], k[5], k[23], k...](/view.aspx?SI=1764/GenDEShelp_271.gif)
![[k[41], k[17], k[36], k[26], k[51], k[19], k[35], k[59], k[33], k[11], k[50], k[44], k[34], k[1], k[57], k[27], k[10], k[60], k[25], k[3], k[2], k[58], k[49], k[43], k[55], k[30], k[37], k[20], k[7], ...](/view.aspx?SI=1764/GenDEShelp_273.gif)
![[k[41], k[17], k[36], k[26], k[51], k[19], k[35], k[59], k[33], k[11], k[50], k[44], k[34], k[1], k[57], k[27], k[10], k[60], k[25], k[3], k[2], k[58], k[49], k[43], k[55], k[30], k[37], k[20], k[7], ...](/view.aspx?SI=1764/GenDEShelp_274.gif)
![[k[41], k[17], k[36], k[26], k[51], k[19], k[35], k[59], k[33], k[11], k[50], k[44], k[34], k[1], k[57], k[27], k[10], k[60], k[25], k[3], k[2], k[58], k[49], k[43], k[55], k[30], k[37], k[20], k[7], ...](/view.aspx?SI=1764/GenDEShelp_275.gif)
![[k[25], k[1], k[49], k[10], k[35], k[3], k[19], k[43], k[17], k[60], k[34], k[57], k[18], k[50], k[41], k[11], k[59], k[44], k[9], k[52], k[51], k[42], k[33], k[27], k[39], k[14], k[21], k[4], k[54], ...](/view.aspx?SI=1764/GenDEShelp_277.gif)
![[k[25], k[1], k[49], k[10], k[35], k[3], k[19], k[43], k[17], k[60], k[34], k[57], k[18], k[50], k[41], k[11], k[59], k[44], k[9], k[52], k[51], k[42], k[33], k[27], k[39], k[14], k[21], k[4], k[54], ...](/view.aspx?SI=1764/GenDEShelp_278.gif)
![[k[25], k[1], k[49], k[10], k[35], k[3], k[19], k[43], k[17], k[60], k[34], k[57], k[18], k[50], k[41], k[11], k[59], k[44], k[9], k[52], k[51], k[42], k[33], k[27], k[39], k[14], k[21], k[4], k[54], ...](/view.aspx?SI=1764/GenDEShelp_279.gif)
![[k[9], k[50], k[33], k[59], k[19], k[52], k[3], k[27], k[1], k[44], k[18], k[41], k[2], k[34], k[25], k[60], k[43], k[57], k[58], k[36], k[35], k[26], k[17], k[11], k[23], k[61], k[5], k[55], k[38], k...](/view.aspx?SI=1764/GenDEShelp_281.gif)
![[k[9], k[50], k[33], k[59], k[19], k[52], k[3], k[27], k[1], k[44], k[18], k[41], k[2], k[34], k[25], k[60], k[43], k[57], k[58], k[36], k[35], k[26], k[17], k[11], k[23], k[61], k[5], k[55], k[38], k...](/view.aspx?SI=1764/GenDEShelp_282.gif)
![[k[9], k[50], k[33], k[59], k[19], k[52], k[3], k[27], k[1], k[44], k[18], k[41], k[2], k[34], k[25], k[60], k[43], k[57], k[58], k[36], k[35], k[26], k[17], k[11], k[23], k[61], k[5], k[55], k[38], k...](/view.aspx?SI=1764/GenDEShelp_283.gif)
![[k[58], k[34], k[17], k[43], k[3], k[36], k[52], k[11], k[50], k[57], k[2], k[25], k[51], k[18], k[9], k[44], k[27], k[41], k[42], k[49], k[19], k[10], k[1], k[60], k[7], k[45], k[20], k[39], k[22], k...](/view.aspx?SI=1764/GenDEShelp_285.gif)
![[k[58], k[34], k[17], k[43], k[3], k[36], k[52], k[11], k[50], k[57], k[2], k[25], k[51], k[18], k[9], k[44], k[27], k[41], k[42], k[49], k[19], k[10], k[1], k[60], k[7], k[45], k[20], k[39], k[22], k...](/view.aspx?SI=1764/GenDEShelp_286.gif)
![[k[58], k[34], k[17], k[43], k[3], k[36], k[52], k[11], k[50], k[57], k[2], k[25], k[51], k[18], k[9], k[44], k[27], k[41], k[42], k[49], k[19], k[10], k[1], k[60], k[7], k[45], k[20], k[39], k[22], k...](/view.aspx?SI=1764/GenDEShelp_287.gif)
![[k[42], k[18], k[1], k[27], k[52], k[49], k[36], k[60], k[34], k[41], k[51], k[9], k[35], k[2], k[58], k[57], k[11], k[25], k[26], k[33], k[3], k[59], k[50], k[44], k[54], k[29], k[4], k[23], k[6], k[...](/view.aspx?SI=1764/GenDEShelp_289.gif)
![[k[42], k[18], k[1], k[27], k[52], k[49], k[36], k[60], k[34], k[41], k[51], k[9], k[35], k[2], k[58], k[57], k[11], k[25], k[26], k[33], k[3], k[59], k[50], k[44], k[54], k[29], k[4], k[23], k[6], k[...](/view.aspx?SI=1764/GenDEShelp_290.gif)
![[k[42], k[18], k[1], k[27], k[52], k[49], k[36], k[60], k[34], k[41], k[51], k[9], k[35], k[2], k[58], k[57], k[11], k[25], k[26], k[33], k[3], k[59], k[50], k[44], k[54], k[29], k[4], k[23], k[6], k[...](/view.aspx?SI=1764/GenDEShelp_291.gif)
![[k[26], k[2], k[50], k[11], k[36], k[33], k[49], k[44], k[18], k[25], k[35], k[58], k[19], k[51], k[42], k[41], k[60], k[9], k[10], k[17], k[52], k[43], k[34], k[57], k[38], k[13], k[55], k[7], k[53],...](/view.aspx?SI=1764/GenDEShelp_293.gif)
![[k[26], k[2], k[50], k[11], k[36], k[33], k[49], k[44], k[18], k[25], k[35], k[58], k[19], k[51], k[42], k[41], k[60], k[9], k[10], k[17], k[52], k[43], k[34], k[57], k[38], k[13], k[55], k[7], k[53],...](/view.aspx?SI=1764/GenDEShelp_294.gif)
![[k[26], k[2], k[50], k[11], k[36], k[33], k[49], k[44], k[18], k[25], k[35], k[58], k[19], k[51], k[42], k[41], k[60], k[9], k[10], k[17], k[52], k[43], k[34], k[57], k[38], k[13], k[55], k[7], k[53],...](/view.aspx?SI=1764/GenDEShelp_295.gif)
![[k[18], k[59], k[42], k[3], k[57], k[25], k[41], k[36], k[10], k[17], k[27], k[50], k[11], k[43], k[34], k[33], k[52], k[1], k[2], k[9], k[44], k[35], k[26], k[49], k[30], k[5], k[47], k[62], k[45], k...](/view.aspx?SI=1764/GenDEShelp_297.gif)
![[k[18], k[59], k[42], k[3], k[57], k[25], k[41], k[36], k[10], k[17], k[27], k[50], k[11], k[43], k[34], k[33], k[52], k[1], k[2], k[9], k[44], k[35], k[26], k[49], k[30], k[5], k[47], k[62], k[45], k...](/view.aspx?SI=1764/GenDEShelp_298.gif)
![[k[18], k[59], k[42], k[3], k[57], k[25], k[41], k[36], k[10], k[17], k[27], k[50], k[11], k[43], k[34], k[33], k[52], k[1], k[2], k[9], k[44], k[35], k[26], k[49], k[30], k[5], k[47], k[62], k[45], k...](/view.aspx?SI=1764/GenDEShelp_299.gif)
Computing the subkeys for encryption with the 768-bit secret key given as a list of 768 bits
> |
DES768bkey([seq(rand(2)(), i = 1 .. 768)]);
printf("The number of different subkeys equals to %d", DESksnbr(ks1)); |
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_301.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_302.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_303.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_304.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_305.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_306.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_307.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_308.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_309.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_310.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_311.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_312.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_313.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_314.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_315.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_316.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_317.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_318.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_319.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_320.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_321.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_322.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_323.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_324.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_325.gif)
![[[0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1...](/view.aspx?SI=1764/GenDEShelp_326.gif)
The number of different subkeys equals to 16
Computing the subkeys for encryption with the 768-bit secret key, which is given as a list of 96 characters
> |
DES768Skey(convert([seq(rand(1..255)(), i = 1 .. 96)], bytes));
printf("The number of different subkeys equals to %d", DESksnbr(ks1)); |
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_328.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_329.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_330.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_331.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_332.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_333.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_334.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_335.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_336.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_337.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_338.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_339.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_340.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_341.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_342.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_343.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_344.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_345.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_346.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_347.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_348.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_349.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_350.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_351.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_352.gif)
![[[0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_353.gif)
The number of different subkeys equals to 16
Computing the subkeys for encryption with the 768-bit secret key, which is given as a list of 96 numbers of type nonnegint
> |
DES768Bkey([seq(rand(100 .. 1000)(), i = 1 .. 96)]);
printf("The number of different subkeys equals to %d", DESksnbr(ks1)); |
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_355.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_356.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_357.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_358.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_359.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_360.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_361.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_362.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_363.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_364.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_365.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_366.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_367.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_368.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_369.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_370.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_371.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_372.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_373.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_374.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_375.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_376.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_377.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_378.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_379.gif)
![[[0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1], [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1...](/view.aspx?SI=1764/GenDEShelp_380.gif)
The number of different subkeys equals to 16
Computing the constants for the DES
![`E: `, [32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1]](/view.aspx?SI=1764/GenDEShelp_383.gif)
![`E: `, [32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1]](/view.aspx?SI=1764/GenDEShelp_384.gif)
![`E: `, [32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1]](/view.aspx?SI=1764/GenDEShelp_385.gif)
![`P: `, [16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10, 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25]](/view.aspx?SI=1764/GenDEShelp_387.gif)








Computing the constants for strong DES encryption
![`E: `, [31, 1, 2, 3, 4, 20, 14, 5, 6, 7, 8, 11, 31, 9, 10, 11, 12, 28, 3, 13, 14, 15, 16, 26, 29, 17, 18, 19, 20, 23, 3, 21, 22, 23, 24, 2, 7, 25, 26, 27, 28, 1, 18, 29, 30, 31, 32, 18]](/view.aspx?SI=1764/GenDEShelp_400.gif)
![`E: `, [31, 1, 2, 3, 4, 20, 14, 5, 6, 7, 8, 11, 31, 9, 10, 11, 12, 28, 3, 13, 14, 15, 16, 26, 29, 17, 18, 19, 20, 23, 3, 21, 22, 23, 24, 2, 7, 25, 26, 27, 28, 1, 18, 29, 30, 31, 32, 18]](/view.aspx?SI=1764/GenDEShelp_401.gif)
![`E: `, [31, 1, 2, 3, 4, 20, 14, 5, 6, 7, 8, 11, 31, 9, 10, 11, 12, 28, 3, 13, 14, 15, 16, 26, 29, 17, 18, 19, 20, 23, 3, 21, 22, 23, 24, 2, 7, 25, 26, 27, 28, 1, 18, 29, 30, 31, 32, 18]](/view.aspx?SI=1764/GenDEShelp_402.gif)
![`P: `, [17, 22, 18, 14, 29, 30, 27, 2, 23, 20, 11, 8, 26, 19, 3, 4, 9, 1, 10, 12, 16, 24, 15, 7, 21, 25, 6, 28, 31, 32, 13, 5]](/view.aspx?SI=1764/GenDEShelp_404.gif)








Printing the body of the procedure which implements a command of the package:
> |
interface(verboseproc=2):
comm_name := DESkeysch:
print(comm_name);
showstat(comm_name); #alternatively
|
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_416.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_417.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_418.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_419.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_420.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_421.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_422.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_423.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_424.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_425.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_426.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_427.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_428.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_429.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_430.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_431.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_432.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_433.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_434.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_435.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_436.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_437.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_438.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_439.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_440.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_441.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_442.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_443.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_444.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_445.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_446.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_447.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_448.gif)
![proc (Key::list) local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI; ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, ...](/view.aspx?SI=1764/GenDEShelp_449.gif)
GenDES:-DESkeysch := proc(Key::list)
local i, k, PC1, PC2, ks, C, D, CD, KPC1, KI;
1 ks := [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];
2 PC1 := [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4];
3 PC2 := [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32];
4 CD := array(1 .. 16);
5 KI := array(1 .. 16);
6 KPC1 := [];
7 for i to 56 do
8 KPC1 := [op(KPC1), Key[PC1[i]]]
end do;
9 C := array(0 .. 16);
10 D := array(0 .. 16);
11 C[0] := [seq(KPC1[i],i = 1 .. 28)];
12 D[0] := [seq(KPC1[i],i = 29 .. 56)];
13 for i to 16 do
14 if ks[i] = 1 then
15 C[i] := [seq(C[i-1][k],k = 2 .. 28), C[i-1][1]];
16 D[i] := [seq(D[i-1][k],k = 2 .. 28), D[i-1][1]]
elif ks[i] = 2 then
17 C[i] := [seq(C[i-1][k],k = 3 .. 28), C[i-1][1], C[i-1][2]];
18 D[i] := [seq(D[i-1][k],k = 3 .. 28), D[i-1][1], D[i-1][2]]
end if;
19 CD[i] := [op(C[i]), op(D[i])];
20 KI[i] := [];
21 for k to 48 do
22 KI[i] := [op(KI[i]), CD[i][PC2[k]]]
end do
end do;
23 convert(KI,list)
end proc
The above procedure, a little intricated, may be simply implemented by means of 16 assignmet statements:
GenDES:-DESkeyschv := proc(k::list)
local KS;
1 KS := [seq([],GenDES:-i = 1 .. 16)];
2 KS[1] := [k[10], k[51], k[34], k[60], k[49], k[17], k[33], k[57], k[2], k[9], k[19], k[42], k[3], k[35], k[26], k[25], k[44], k[58], k[59], k[1], k[36], k[27], k[18], k[41], k[22], k[28], k[39], k[54], k[37], k[4], k[47], k[30], k[5], k[53], k[23], k[29], k[61], k[21], k[38], k[63], k[15], k[20], k[45], k[14], k[13], k[62], k[55], k[31]];
3 KS[2] := [k[2], k[43], k[26], k[52], k[41], k[9], k[25], k[49], k[59], k[1], k[11], k[34], k[60], k[27], k[18], k[17], k[36], k[50], k[51], k[58], k[57], k[19], k[10], k[33], k[14], k[20], k[31], k[46], k[29], k[63], k[39], k[22], k[28], k[45], k[15], k[21], k[53], k[13], k[30], k[55], k[7], k[12], k[37], k[6], k[5], k[54], k[47], k[23]];
4 KS[3] := [k[51], k[27], k[10], k[36], k[25], k[58], k[9], k[33], k[43], k[50], k[60], k[18], k[44], k[11], k[2], k[1], k[49], k[34], k[35], k[42], k[41], k[3], k[59], k[17], k[61], k[4], k[15], k[30], k[13], k[47], k[23], k[6], k[12], k[29], k[62], k[5], k[37], k[28], k[14], k[39], k[54], k[63], k[21], k[53], k[20], k[38], k[31], k[7]];
5 KS[4] := [k[35], k[11], k[59], k[49], k[9], k[42], k[58], k[17], k[27], k[34], k[44], k[2], k[57], k[60], k[51], k[50], k[33], k[18], k[19], k[26], k[25], k[52], k[43], k[1], k[45], k[55], k[62], k[14], k[28], k[31], k[7], k[53], k[63], k[13], k[46], k[20], k[21], k[12], k[61], k[23], k[38], k[47], k[5], k[37], k[4], k[22], k[15], k[54]];
6 KS[5] := [k[19], k[60], k[43], k[33], k[58], k[26], k[42], k[1], k[11], k[18], k[57], k[51], k[41], k[44], k[35], k[34], k[17], k[2], k[3], k[10], k[9], k[36], k[27], k[50], k[29], k[39], k[46], k[61], k[12], k[15], k[54], k[37], k[47], k[28], k[30], k[4], k[5], k[63], k[45], k[7], k[22], k[31], k[20], k[21], k[55], k[6], k[62], k[38]];
7 KS[6] := [k[3], k[44], k[27], k[17], k[42], k[10], k[26], k[50], k[60], k[2], k[41], k[35], k[25], k[57], k[19], k[18], k[1], k[51], k[52], k[59], k[58], k[49], k[11], k[34], k[13], k[23], k[30], k[45], k[63], k[62], k[38], k[21], k[31], k[12], k[14], k[55], k[20], k[47], k[29], k[54], k[6], k[15], k[4], k[5], k[39], k[53], k[46], k[22]];
8 KS[7] := [k[52], k[57], k[11], k[1], k[26], k[59], k[10], k[34], k[44], k[51], k[25], k[19], k[9], k[41], k[3], k[2], k[50], k[35], k[36], k[43], k[42], k[33], k[60], k[18], k[28], k[7], k[14], k[29], k[47], k[46], k[22], k[5], k[15], k[63], k[61], k[39], k[4], k[31], k[13], k[38], k[53], k[62], k[55], k[20], k[23], k[37], k[30], k[6]];
9 KS[8] := [k[36], k[41], k[60], k[50], k[10], k[43], k[59], k[18], k[57], k[35], k[9], k[3], k[58], k[25], k[52], k[51], k[34], k[19], k[49], k[27], k[26], k[17], k[44], k[2], k[12], k[54], k[61], k[13], k[31], k[30], k[6], k[20], k[62], k[47], k[45], k[23], k[55], k[15], k[28], k[22], k[37], k[46], k[39], k[4], k[7], k[21], k[14], k[53]];
10 KS[9] := [k[57], k[33], k[52], k[42], k[2], k[35], k[51], k[10], k[49], k[27], k[1], k[60], k[50], k[17], k[44], k[43], k[26], k[11], k[41], k[19], k[18], k[9], k[36], k[59], k[4], k[46], k[53], k[5], k[23], k[22], k[61], k[12], k[54], k[39], k[37], k[15], k[47], k[7], k[20], k[14], k[29], k[38], k[31], k[63], k[62], k[13], k[6], k[45]];
11 KS[10] := [k[41], k[17], k[36], k[26], k[51], k[19], k[35], k[59], k[33], k[11], k[50], k[44], k[34], k[1], k[57], k[27], k[10], k[60], k[25], k[3], k[2], k[58], k[49], k[43], k[55], k[30], k[37], k[20], k[7], k[6], k[45], k[63], k[38], k[23], k[21], k[62], k[31], k[54], k[4], k[61], k[13], k[22], k[15], k[47], k[46], k[28], k[53], k[29]];
12 KS[11] := [k[25], k[1], k[49], k[10], k[35], k[3], k[19], k[43], k[17], k[60], k[34], k[57], k[18], k[50], k[41], k[11], k[59], k[44], k[9], k[52], k[51], k[42], k[33], k[27], k[39], k[14], k[21], k[4], k[54], k[53], k[29], k[47], k[22], k[7], k[5], k[46], k[15], k[38], k[55], k[45], k[28], k[6], k[62], k[31], k[30], k[12], k[37], k[13]];
13 KS[12] := [k[9], k[50], k[33], k[59], k[19], k[52], k[3], k[27], k[1], k[44], k[18], k[41], k[2], k[34], k[25], k[60], k[43], k[57], k[58], k[36], k[35], k[26], k[17], k[11], k[23], k[61], k[5], k[55], k[38], k[37], k[13], k[31], k[6], k[54], k[20], k[30], k[62], k[22], k[39], k[29], k[12], k[53], k[46], k[15], k[14], k[63], k[21], k[28]];
14 KS[13] := [k[58], k[34], k[17], k[43], k[3], k[36], k[52], k[11], k[50], k[57], k[2], k[25], k[51], k[18], k[9], k[44], k[27], k[41], k[42], k[49], k[19], k[10], k[1], k[60], k[7], k[45], k[20], k[39], k[22], k[21], k[28], k[15], k[53], k[38], k[4], k[14], k[46], k[6], k[23], k[13], k[63], k[37], k[30], k[62], k[61], k[47], k[5], k[12]];
15 KS[14] := [k[42], k[18], k[1], k[27], k[52], k[49], k[36], k[60], k[34], k[41], k[51], k[9], k[35], k[2], k[58], k[57], k[11], k[25], k[26], k[33], k[3], k[59], k[50], k[44], k[54], k[29], k[4], k[23], k[6], k[5], k[12], k[62], k[37], k[22], k[55], k[61], k[30], k[53], k[7], k[28], k[47], k[21], k[14], k[46], k[45], k[31], k[20], k[63]];
16 KS[15] := [k[26], k[2], k[50], k[11], k[36], k[33], k[49], k[44], k[18], k[25], k[35], k[58], k[19], k[51], k[42], k[41], k[60], k[9], k[10], k[17], k[52], k[43], k[34], k[57], k[38], k[13], k[55], k[7], k[53], k[20], k[63], k[46], k[21], k[6], k[39], k[45], k[14], k[37], k[54], k[12], k[31], k[5], k[61], k[30], k[29], k[15], k[4], k[47]];
17 KS[16] := [k[18], k[59], k[42], k[3], k[57], k[25], k[41], k[36], k[10], k[17], k[27], k[50], k[11], k[43], k[34], k[33], k[52], k[1], k[2], k[9], k[44], k[35], k[26], k[49], k[30], k[5], k[47], k[62], k[45], k[12], k[55], k[38], k[13], k[61], k[31], k[37], k[6], k[29], k[46], k[4], k[23], k[28], k[53], k[22], k[21], k[7], k[63], k[39]];
18 KS
end proc