/home/dko/Projects/mobilec/src/security/xyssl-0.9/library/des.c File Reference

#include "xyssl/config.h"
#include "xyssl/des.h"
#include <string.h>
#include <stdio.h>

Go to the source code of this file.

Defines

#define GET_ULONG_BE(n, b, i)
#define PUT_ULONG_BE(n, b, i)
#define DES_IP(X, Y)
#define DES_FP(X, Y)
#define DES_ROUND(X, Y)
#define SWAP(a, b)   { unsigned long t = a; a = b; b = t; t = 0; }

Functions

static void des_setkey (unsigned long SK[32], unsigned char key[8])
void des_setkey_enc (des_context *ctx, unsigned char key[8])
 DES key schedule (56-bit, encryption).
void des_setkey_dec (des_context *ctx, unsigned char key[8])
 DES key schedule (56-bit, decryption).
static void des3_set2key (unsigned long esk[96], unsigned long dsk[96], unsigned char key[16])
void des3_set2key_enc (des3_context *ctx, unsigned char key[16])
 Triple-DES key schedule (112-bit, encryption).
void des3_set2key_dec (des3_context *ctx, unsigned char key[16])
 Triple-DES key schedule (112-bit, decryption).
static void des3_set3key (unsigned long esk[96], unsigned long dsk[96], unsigned char key[24])
void des3_set3key_enc (des3_context *ctx, unsigned char key[24])
 Triple-DES key schedule (168-bit, encryption).
void des3_set3key_dec (des3_context *ctx, unsigned char key[24])
 Triple-DES key schedule (168-bit, decryption).
void des_crypt_ecb (des_context *ctx, unsigned char input[8], unsigned char output[8])
 DES-ECB block encryption/decryption.
void des_crypt_cbc (des_context *ctx, int mode, int length, unsigned char iv[8], unsigned char *input, unsigned char *output)
 DES-CBC buffer encryption/decryption.
void des3_crypt_ecb (des3_context *ctx, unsigned char input[8], unsigned char output[8])
 3DES-ECB block encryption/decryption
void des3_crypt_cbc (des3_context *ctx, int mode, int length, unsigned char iv[8], unsigned char *input, unsigned char *output)
 3DES-CBC buffer encryption/decryption
int des_self_test (int verbose)

Variables

static const unsigned long SB1 [64]
static const unsigned long SB2 [64]
static const unsigned long SB3 [64]
static const unsigned long SB4 [64]
static const unsigned long SB5 [64]
static const unsigned long SB6 [64]
static const unsigned long SB7 [64]
static const unsigned long SB8 [64]
static const unsigned long LHs [16]
static const unsigned long RHs [16]
static const unsigned char des3_test_keys [24]
static const unsigned char des3_test_iv [8]
static const unsigned char des3_test_buf [8]
static const unsigned char des3_test_ecb_dec [3][8]
static const unsigned char des3_test_ecb_enc [3][8]
static const unsigned char des3_test_cbc_dec [3][8]
static const unsigned char des3_test_cbc_enc [3][8]

Define Documentation

#define DES_FP ( X,
 ) 
Value:
{                                                               \
    X = ((X << 31) | (X >> 1)) & 0xFFFFFFFF;                    \
    T = (X ^ Y) & 0xAAAAAAAA; X ^= T; Y ^= T;                   \
    Y = ((Y << 31) | (Y >> 1)) & 0xFFFFFFFF;                    \
    T = ((Y >>  8) ^ X) & 0x00FF00FF; X ^= T; Y ^= (T <<  8);   \
    T = ((Y >>  2) ^ X) & 0x33333333; X ^= T; Y ^= (T <<  2);   \
    T = ((X >> 16) ^ Y) & 0x0000FFFF; Y ^= T; X ^= (T << 16);   \
    T = ((X >>  4) ^ Y) & 0x0F0F0F0F; Y ^= T; X ^= (T <<  4);   \
}

Definition at line 257 of file des.c.

Referenced by des3_crypt_ecb(), and des_crypt_ecb().

#define DES_IP ( X,
 ) 
Value:
{                                                               \
    T = ((X >>  4) ^ Y) & 0x0F0F0F0F; Y ^= T; X ^= (T <<  4);   \
    T = ((X >> 16) ^ Y) & 0x0000FFFF; Y ^= T; X ^= (T << 16);   \
    T = ((Y >>  2) ^ X) & 0x33333333; X ^= T; Y ^= (T <<  2);   \
    T = ((Y >>  8) ^ X) & 0x00FF00FF; X ^= T; Y ^= (T <<  8);   \
    Y = ((Y << 1) | (Y >> 31)) & 0xFFFFFFFF;                    \
    T = (X ^ Y) & 0xAAAAAAAA; Y ^= T; X ^= T;                   \
    X = ((X << 1) | (X >> 31)) & 0xFFFFFFFF;                    \
}

Definition at line 243 of file des.c.

Referenced by des3_crypt_ecb(), and des_crypt_ecb().

#define DES_ROUND ( X,
 ) 
Value:
{                                               \
    T = *SK++ ^ X;                              \
    Y ^= SB8[ (T      ) & 0x3F ] ^              \
         SB6[ (T >>  8) & 0x3F ] ^              \
         SB4[ (T >> 16) & 0x3F ] ^              \
         SB2[ (T >> 24) & 0x3F ];               \
                                                \
    T = *SK++ ^ ((X << 28) | (X >> 4));         \
    Y ^= SB7[ (T      ) & 0x3F ] ^              \
         SB5[ (T >>  8) & 0x3F ] ^              \
         SB3[ (T >> 16) & 0x3F ] ^              \
         SB1[ (T >> 24) & 0x3F ];               \
}

Definition at line 271 of file des.c.

Referenced by des3_crypt_ecb(), and des_crypt_ecb().

#define GET_ULONG_BE ( n,
b,
 ) 
Value:
{                                                       \
    (n) = ( (unsigned long) (b)[(i)    ] << 24 )        \
        | ( (unsigned long) (b)[(i) + 1] << 16 )        \
        | ( (unsigned long) (b)[(i) + 2] <<  8 )        \
        | ( (unsigned long) (b)[(i) + 3]       );       \
}

Definition at line 39 of file des.c.

Referenced by des3_crypt_ecb(), des_crypt_ecb(), des_setkey(), sha1_process(), and sha2_process().

#define PUT_ULONG_BE ( n,
b,
 ) 
Value:
{                                                       \
    (b)[(i)    ] = (unsigned char) ( (n) >> 24 );       \
    (b)[(i) + 1] = (unsigned char) ( (n) >> 16 );       \
    (b)[(i) + 2] = (unsigned char) ( (n) >>  8 );       \
    (b)[(i) + 3] = (unsigned char) ( (n)       );       \
}

Definition at line 49 of file des.c.

Referenced by des3_crypt_ecb(), des_crypt_ecb(), sha1_finish(), and sha2_finish().

#define SWAP ( a,
 )     { unsigned long t = a; a = b; b = t; t = 0; }

Definition at line 286 of file des.c.

Referenced by des_setkey_dec().


Function Documentation

void des3_crypt_cbc ( des3_context ctx,
int  mode,
int  length,
unsigned char  iv[8],
unsigned char *  input,
unsigned char *  output 
)

3DES-CBC buffer encryption/decryption

Parameters:
ctx 3DES context
mode DES_ENCRYPT or DES_DECRYPT
length length of the input data
iv initialization vector (updated after use)
input buffer holding the input data
output buffer holding the output data

Definition at line 593 of file des.c.

References des3_crypt_ecb(), and DES_ENCRYPT.

Referenced by des_self_test(), main(), ssl_decrypt_buf(), ssl_encrypt_buf(), and x509_des3_decrypt().

void des3_crypt_ecb ( des3_context ctx,
unsigned char  input[8],
unsigned char  output[8] 
)

3DES-ECB block encryption/decryption

Parameters:
ctx 3DES context
input 64-bit input block
output 64-bit output block

Definition at line 552 of file des.c.

References DES_FP, DES_IP, DES_ROUND, GET_ULONG_BE, PUT_ULONG_BE, and des3_context::sk.

Referenced by des3_crypt_cbc(), and des_self_test().

static void des3_set2key ( unsigned long  esk[96],
unsigned long  dsk[96],
unsigned char  key[16] 
) [static]

Definition at line 381 of file des.c.

References des_setkey().

Referenced by des3_set2key_dec(), and des3_set2key_enc().

void des3_set2key_dec ( des3_context ctx,
unsigned char  key[16] 
)

Triple-DES key schedule (112-bit, decryption).

Parameters:
ctx 3DES context to be initialized
key 16-byte secret key

Definition at line 420 of file des.c.

References des3_set2key(), and des3_context::sk.

Referenced by des_self_test().

void des3_set2key_enc ( des3_context ctx,
unsigned char  key[16] 
)

Triple-DES key schedule (112-bit, encryption).

Parameters:
ctx 3DES context to be initialized
key 16-byte secret key

Definition at line 409 of file des.c.

References des3_set2key(), and des3_context::sk.

Referenced by des_self_test().

static void des3_set3key ( unsigned long  esk[96],
unsigned long  dsk[96],
unsigned char  key[24] 
) [static]

Definition at line 428 of file des.c.

References des_setkey().

Referenced by des3_set3key_dec(), and des3_set3key_enc().

void des3_set3key_dec ( des3_context ctx,
unsigned char  key[24] 
)

Triple-DES key schedule (168-bit, decryption).

Parameters:
ctx 3DES context to be initialized
key 24-byte secret key

Definition at line 465 of file des.c.

References des3_set3key(), and des3_context::sk.

Referenced by des_self_test(), ssl_derive_keys(), and x509_des3_decrypt().

void des3_set3key_enc ( des3_context ctx,
unsigned char  key[24] 
)

Triple-DES key schedule (168-bit, encryption).

Parameters:
ctx 3DES context to be initialized
key 24-byte secret key

Definition at line 454 of file des.c.

References des3_set3key(), and des3_context::sk.

Referenced by des_self_test(), main(), and ssl_derive_keys().

void des_crypt_cbc ( des_context ctx,
int  mode,
int  length,
unsigned char  iv[8],
unsigned char *  input,
unsigned char *  output 
)

DES-CBC buffer encryption/decryption.

Parameters:
ctx DES context
mode DES_ENCRYPT or DES_DECRYPT
length length of the input data
iv initialization vector (updated after use)
input buffer holding the input data
output buffer holding the output data

Definition at line 505 of file des.c.

References des_crypt_ecb(), and DES_ENCRYPT.

Referenced by des_self_test(), and main().

void des_crypt_ecb ( des_context ctx,
unsigned char  input[8],
unsigned char  output[8] 
)

DES-ECB block encryption/decryption.

Parameters:
ctx DES context
input 64-bit input block
output 64-bit output block

Definition at line 476 of file des.c.

References DES_FP, DES_IP, DES_ROUND, GET_ULONG_BE, PUT_ULONG_BE, and des_context::sk.

Referenced by des_crypt_cbc(), and des_self_test().

int des_self_test ( int  verbose  ) 
static void des_setkey ( unsigned long  SK[32],
unsigned char  key[8] 
) [static]

Definition at line 288 of file des.c.

References GET_ULONG_BE, LHs, and RHs.

Referenced by des3_set2key(), des3_set3key(), des_setkey_dec(), and des_setkey_enc().

void des_setkey_dec ( des_context ctx,
unsigned char  key[8] 
)

DES key schedule (56-bit, decryption).

Parameters:
ctx DES context to be initialized
key 8-byte secret key

Definition at line 368 of file des.c.

References des_setkey(), des_context::sk, and SWAP.

Referenced by des_self_test().

void des_setkey_enc ( des_context ctx,
unsigned char  key[8] 
)

DES key schedule (56-bit, encryption).

Parameters:
ctx DES context to be initialized
key 8-byte secret key

Definition at line 360 of file des.c.

References des_setkey(), and des_context::sk.

Referenced by des_self_test(), and main().


Variable Documentation

const unsigned char des3_test_buf[8] [static]
Initial value:
{
    0x4E, 0x6F, 0x77, 0x20, 0x69, 0x73, 0x20, 0x74
}

Definition at line 658 of file des.c.

Referenced by des_self_test().

const unsigned char des3_test_cbc_dec[3][8] [static]
Initial value:
{
    { 0x12, 0x9F, 0x40, 0xB9, 0xD2, 0x00, 0x56, 0xB3 },
    { 0x47, 0x0E, 0xFC, 0x9A, 0x6B, 0x8E, 0xE3, 0x93 },
    { 0xC5, 0xCE, 0xCF, 0x63, 0xEC, 0xEC, 0x51, 0x4C }
}

Definition at line 677 of file des.c.

Referenced by des_self_test().

const unsigned char des3_test_cbc_enc[3][8] [static]
Initial value:
{
    { 0x54, 0xF1, 0x5A, 0xF6, 0xEB, 0xE3, 0xA4, 0xB4 },
    { 0x35, 0x76, 0x11, 0x56, 0x5F, 0xA1, 0x8E, 0x4D },
    { 0xCB, 0x19, 0x1F, 0x85, 0xD1, 0xED, 0x84, 0x39 }
}

Definition at line 684 of file des.c.

Referenced by des_self_test().

const unsigned char des3_test_ecb_dec[3][8] [static]
Initial value:
{
    { 0xCD, 0xD6, 0x4F, 0x2F, 0x94, 0x27, 0xC1, 0x5D },
    { 0x69, 0x96, 0xC8, 0xFA, 0x47, 0xA2, 0xAB, 0xEB },
    { 0x83, 0x25, 0x39, 0x76, 0x44, 0x09, 0x1A, 0x0A }
}

Definition at line 663 of file des.c.

Referenced by des_self_test().

const unsigned char des3_test_ecb_enc[3][8] [static]
Initial value:
{
    { 0x6A, 0x2A, 0x19, 0xF4, 0x1E, 0xCA, 0x85, 0x4B },
    { 0x03, 0xE6, 0x9F, 0x5B, 0xFA, 0x58, 0xEB, 0x42 },
    { 0xDD, 0x17, 0xE8, 0xB8, 0xB4, 0x37, 0xD2, 0x32 }
}

Definition at line 670 of file des.c.

Referenced by des_self_test().

const unsigned char des3_test_iv[8] [static]
Initial value:
{
    0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF,
}

Definition at line 653 of file des.c.

Referenced by des_self_test().

const unsigned char des3_test_keys[24] [static]
Initial value:
{
    0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
    0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0x01,
    0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0x01, 0x23
}

Definition at line 646 of file des.c.

Referenced by des_self_test().

const unsigned long LHs[16] [static]
Initial value:
{
    0x00000000, 0x00000001, 0x00000100, 0x00000101,
    0x00010000, 0x00010001, 0x00010100, 0x00010101,
    0x01000000, 0x01000001, 0x01000100, 0x01000101,
    0x01010000, 0x01010001, 0x01010100, 0x01010101
}

Definition at line 224 of file des.c.

Referenced by des_setkey().

const unsigned long RHs[16] [static]
Initial value:
{
    0x00000000, 0x01000000, 0x00010000, 0x01010000,
    0x00000100, 0x01000100, 0x00010100, 0x01010100,
    0x00000001, 0x01000001, 0x00010001, 0x01010001,
    0x00000101, 0x01000101, 0x00010101, 0x01010101,
}

Definition at line 232 of file des.c.

Referenced by des_setkey().

const unsigned long SB1[64] [static]
Initial value:
{
    0x01010400, 0x00000000, 0x00010000, 0x01010404,
    0x01010004, 0x00010404, 0x00000004, 0x00010000,
    0x00000400, 0x01010400, 0x01010404, 0x00000400,
    0x01000404, 0x01010004, 0x01000000, 0x00000004,
    0x00000404, 0x01000400, 0x01000400, 0x00010400,
    0x00010400, 0x01010000, 0x01010000, 0x01000404,
    0x00010004, 0x01000004, 0x01000004, 0x00010004,
    0x00000000, 0x00000404, 0x00010404, 0x01000000,
    0x00010000, 0x01010404, 0x00000004, 0x01010000,
    0x01010400, 0x01000000, 0x01000000, 0x00000400,
    0x01010004, 0x00010000, 0x00010400, 0x01000004,
    0x00000400, 0x00000004, 0x01000404, 0x00010404,
    0x01010404, 0x00010004, 0x01010000, 0x01000404,
    0x01000004, 0x00000404, 0x00010404, 0x01010400,
    0x00000404, 0x01000400, 0x01000400, 0x00000000,
    0x00010004, 0x00010400, 0x00000000, 0x01010004
}

Definition at line 61 of file des.c.

const unsigned long SB2[64] [static]
Initial value:
{
    0x80108020, 0x80008000, 0x00008000, 0x00108020,
    0x00100000, 0x00000020, 0x80100020, 0x80008020,
    0x80000020, 0x80108020, 0x80108000, 0x80000000,
    0x80008000, 0x00100000, 0x00000020, 0x80100020,
    0x00108000, 0x00100020, 0x80008020, 0x00000000,
    0x80000000, 0x00008000, 0x00108020, 0x80100000,
    0x00100020, 0x80000020, 0x00000000, 0x00108000,
    0x00008020, 0x80108000, 0x80100000, 0x00008020,
    0x00000000, 0x00108020, 0x80100020, 0x00100000,
    0x80008020, 0x80100000, 0x80108000, 0x00008000,
    0x80100000, 0x80008000, 0x00000020, 0x80108020,
    0x00108020, 0x00000020, 0x00008000, 0x80000000,
    0x00008020, 0x80108000, 0x00100000, 0x80000020,
    0x00100020, 0x80008020, 0x80000020, 0x00100020,
    0x00108000, 0x00000000, 0x80008000, 0x00008020,
    0x80000000, 0x80100020, 0x80108020, 0x00108000
}

Definition at line 81 of file des.c.

const unsigned long SB3[64] [static]
Initial value:
{
    0x00000208, 0x08020200, 0x00000000, 0x08020008,
    0x08000200, 0x00000000, 0x00020208, 0x08000200,
    0x00020008, 0x08000008, 0x08000008, 0x00020000,
    0x08020208, 0x00020008, 0x08020000, 0x00000208,
    0x08000000, 0x00000008, 0x08020200, 0x00000200,
    0x00020200, 0x08020000, 0x08020008, 0x00020208,
    0x08000208, 0x00020200, 0x00020000, 0x08000208,
    0x00000008, 0x08020208, 0x00000200, 0x08000000,
    0x08020200, 0x08000000, 0x00020008, 0x00000208,
    0x00020000, 0x08020200, 0x08000200, 0x00000000,
    0x00000200, 0x00020008, 0x08020208, 0x08000200,
    0x08000008, 0x00000200, 0x00000000, 0x08020008,
    0x08000208, 0x00020000, 0x08000000, 0x08020208,
    0x00000008, 0x00020208, 0x00020200, 0x08000008,
    0x08020000, 0x08000208, 0x00000208, 0x08020000,
    0x00020208, 0x00000008, 0x08020008, 0x00020200
}

Definition at line 101 of file des.c.

const unsigned long SB4[64] [static]
Initial value:
{
    0x00802001, 0x00002081, 0x00002081, 0x00000080,
    0x00802080, 0x00800081, 0x00800001, 0x00002001,
    0x00000000, 0x00802000, 0x00802000, 0x00802081,
    0x00000081, 0x00000000, 0x00800080, 0x00800001,
    0x00000001, 0x00002000, 0x00800000, 0x00802001,
    0x00000080, 0x00800000, 0x00002001, 0x00002080,
    0x00800081, 0x00000001, 0x00002080, 0x00800080,
    0x00002000, 0x00802080, 0x00802081, 0x00000081,
    0x00800080, 0x00800001, 0x00802000, 0x00802081,
    0x00000081, 0x00000000, 0x00000000, 0x00802000,
    0x00002080, 0x00800080, 0x00800081, 0x00000001,
    0x00802001, 0x00002081, 0x00002081, 0x00000080,
    0x00802081, 0x00000081, 0x00000001, 0x00002000,
    0x00800001, 0x00002001, 0x00802080, 0x00800081,
    0x00002001, 0x00002080, 0x00800000, 0x00802001,
    0x00000080, 0x00800000, 0x00002000, 0x00802080
}

Definition at line 121 of file des.c.

const unsigned long SB5[64] [static]
Initial value:
{
    0x00000100, 0x02080100, 0x02080000, 0x42000100,
    0x00080000, 0x00000100, 0x40000000, 0x02080000,
    0x40080100, 0x00080000, 0x02000100, 0x40080100,
    0x42000100, 0x42080000, 0x00080100, 0x40000000,
    0x02000000, 0x40080000, 0x40080000, 0x00000000,
    0x40000100, 0x42080100, 0x42080100, 0x02000100,
    0x42080000, 0x40000100, 0x00000000, 0x42000000,
    0x02080100, 0x02000000, 0x42000000, 0x00080100,
    0x00080000, 0x42000100, 0x00000100, 0x02000000,
    0x40000000, 0x02080000, 0x42000100, 0x40080100,
    0x02000100, 0x40000000, 0x42080000, 0x02080100,
    0x40080100, 0x00000100, 0x02000000, 0x42080000,
    0x42080100, 0x00080100, 0x42000000, 0x42080100,
    0x02080000, 0x00000000, 0x40080000, 0x42000000,
    0x00080100, 0x02000100, 0x40000100, 0x00080000,
    0x00000000, 0x40080000, 0x02080100, 0x40000100
}

Definition at line 141 of file des.c.

const unsigned long SB6[64] [static]
Initial value:
{
    0x20000010, 0x20400000, 0x00004000, 0x20404010,
    0x20400000, 0x00000010, 0x20404010, 0x00400000,
    0x20004000, 0x00404010, 0x00400000, 0x20000010,
    0x00400010, 0x20004000, 0x20000000, 0x00004010,
    0x00000000, 0x00400010, 0x20004010, 0x00004000,
    0x00404000, 0x20004010, 0x00000010, 0x20400010,
    0x20400010, 0x00000000, 0x00404010, 0x20404000,
    0x00004010, 0x00404000, 0x20404000, 0x20000000,
    0x20004000, 0x00000010, 0x20400010, 0x00404000,
    0x20404010, 0x00400000, 0x00004010, 0x20000010,
    0x00400000, 0x20004000, 0x20000000, 0x00004010,
    0x20000010, 0x20404010, 0x00404000, 0x20400000,
    0x00404010, 0x20404000, 0x00000000, 0x20400010,
    0x00000010, 0x00004000, 0x20400000, 0x00404010,
    0x00004000, 0x00400010, 0x20004010, 0x00000000,
    0x20404000, 0x20000000, 0x00400010, 0x20004010
}

Definition at line 161 of file des.c.

const unsigned long SB7[64] [static]
Initial value:
{
    0x00200000, 0x04200002, 0x04000802, 0x00000000,
    0x00000800, 0x04000802, 0x00200802, 0x04200800,
    0x04200802, 0x00200000, 0x00000000, 0x04000002,
    0x00000002, 0x04000000, 0x04200002, 0x00000802,
    0x04000800, 0x00200802, 0x00200002, 0x04000800,
    0x04000002, 0x04200000, 0x04200800, 0x00200002,
    0x04200000, 0x00000800, 0x00000802, 0x04200802,
    0x00200800, 0x00000002, 0x04000000, 0x00200800,
    0x04000000, 0x00200800, 0x00200000, 0x04000802,
    0x04000802, 0x04200002, 0x04200002, 0x00000002,
    0x00200002, 0x04000000, 0x04000800, 0x00200000,
    0x04200800, 0x00000802, 0x00200802, 0x04200800,
    0x00000802, 0x04000002, 0x04200802, 0x04200000,
    0x00200800, 0x00000000, 0x00000002, 0x04200802,
    0x00000000, 0x00200802, 0x04200000, 0x00000800,
    0x04000002, 0x04000800, 0x00000800, 0x00200002
}

Definition at line 181 of file des.c.

const unsigned long SB8[64] [static]
Initial value:
{
    0x10001040, 0x00001000, 0x00040000, 0x10041040,
    0x10000000, 0x10001040, 0x00000040, 0x10000000,
    0x00040040, 0x10040000, 0x10041040, 0x00041000,
    0x10041000, 0x00041040, 0x00001000, 0x00000040,
    0x10040000, 0x10000040, 0x10001000, 0x00001040,
    0x00041000, 0x00040040, 0x10040040, 0x10041000,
    0x00001040, 0x00000000, 0x00000000, 0x10040040,
    0x10000040, 0x10001000, 0x00041040, 0x00040000,
    0x00041040, 0x00040000, 0x10041000, 0x00001000,
    0x00000040, 0x10040040, 0x00001000, 0x00041040,
    0x10001000, 0x00000040, 0x10000040, 0x10040000,
    0x10040040, 0x10000000, 0x00040000, 0x10001040,
    0x00000000, 0x10041040, 0x00040040, 0x10000040,
    0x10040000, 0x10001000, 0x10001040, 0x00000000,
    0x10041040, 0x00041000, 0x00041000, 0x00001040,
    0x00001040, 0x00040040, 0x10000000, 0x10041000
}

Definition at line 201 of file des.c.

Generated on Tue Dec 28 15:15:29 2010 for Mobile-C by  doxygen 1.6.3