mirror of
https://github.com/autc04/Retro68.git
synced 2025-02-25 22:29:38 +00:00
102 lines
2.8 KiB
C++
102 lines
2.8 KiB
C++
|
|
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
|
|
|
|
#ifndef __gnu_javax_crypto_cipher_Twofish__
|
|
#define __gnu_javax_crypto_cipher_Twofish__
|
|
|
|
#pragma interface
|
|
|
|
#include <gnu/javax/crypto/cipher/BaseCipher.h>
|
|
#include <gcj/array.h>
|
|
|
|
extern "Java"
|
|
{
|
|
namespace gnu
|
|
{
|
|
namespace javax
|
|
{
|
|
namespace crypto
|
|
{
|
|
namespace cipher
|
|
{
|
|
class Twofish;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
class gnu::javax::crypto::cipher::Twofish : public ::gnu::javax::crypto::cipher::BaseCipher
|
|
{
|
|
|
|
static jint LFSR1(jint);
|
|
static jint LFSR2(jint);
|
|
static jint Mx_X(jint);
|
|
static jint Mx_Y(jint);
|
|
public:
|
|
Twofish();
|
|
private:
|
|
static jint b0(jint);
|
|
static jint b1(jint);
|
|
static jint b2(jint);
|
|
static jint b3(jint);
|
|
static jint RS_MDS_Encode(jint, jint);
|
|
static jint RS_rem(jint);
|
|
static jint F32(jint, jint, JArray< jint > *);
|
|
static jint Fe32(JArray< jint > *, jint, jint);
|
|
static jint _b(jint, jint);
|
|
public:
|
|
::java::lang::Object * clone();
|
|
::java::util::Iterator * blockSizes();
|
|
::java::util::Iterator * keySizes();
|
|
::java::lang::Object * makeKey(JArray< jbyte > *, jint);
|
|
void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
|
|
void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
|
|
jboolean selfTest();
|
|
private:
|
|
static ::java::util::logging::Logger * log;
|
|
static const jint DEFAULT_BLOCK_SIZE = 16;
|
|
static const jint DEFAULT_KEY_SIZE = 16;
|
|
static const jint MAX_ROUNDS = 16;
|
|
static const jint ROUNDS = 16;
|
|
static const jint INPUT_WHITEN = 0;
|
|
static const jint OUTPUT_WHITEN = 4;
|
|
static const jint ROUND_SUBKEYS = 8;
|
|
static const jint SK_STEP = 33686018;
|
|
static const jint SK_BUMP = 16843009;
|
|
static const jint SK_ROTL = 9;
|
|
static JArray< ::java::lang::String * > * Pm;
|
|
static JArray< JArray< jbyte > * > * P;
|
|
static const jint P_00 = 1;
|
|
static const jint P_01 = 0;
|
|
static const jint P_02 = 0;
|
|
static const jint P_03 = 1;
|
|
static const jint P_04 = 1;
|
|
static const jint P_10 = 0;
|
|
static const jint P_11 = 0;
|
|
static const jint P_12 = 1;
|
|
static const jint P_13 = 1;
|
|
static const jint P_14 = 0;
|
|
static const jint P_20 = 1;
|
|
static const jint P_21 = 1;
|
|
static const jint P_22 = 0;
|
|
static const jint P_23 = 0;
|
|
static const jint P_24 = 0;
|
|
static const jint P_30 = 0;
|
|
static const jint P_31 = 1;
|
|
static const jint P_32 = 1;
|
|
static const jint P_33 = 0;
|
|
static const jint P_34 = 1;
|
|
static const jint GF256_FDBK_2 = 180;
|
|
static const jint GF256_FDBK_4 = 90;
|
|
static JArray< JArray< jint > * > * MDS;
|
|
static const jint RS_GF_FDBK = 333;
|
|
static JArray< jbyte > * KAT_KEY;
|
|
static JArray< jbyte > * KAT_CT;
|
|
static ::java::lang::Boolean * valid;
|
|
public:
|
|
static ::java::lang::Class class$;
|
|
};
|
|
|
|
#endif // __gnu_javax_crypto_cipher_Twofish__
|