package org.eclipse.team.internal.ccvs.ssh;

/*
 * (c) Copyright IBM Corp. 2000, 2001.
 * All Rights Reserved.
 */
public class Blowfish extends Cipher {
	private int[] P = new int[18];
	private int[][] S = new int[4][256];

	private int lastEncipherXL = 0;
	private int lastEncipherXR = 0;
	private int lastDecipherXL = 0;
	private int lastDecipherXR = 0;

	private final static int[] INIT_DATA =
		{
			0x243f6a88,
			0x85a308d3,
			0x13198a2e,
			0x03707344,
			0xa4093822,
			0x299f31d0,
			0x082efa98,
			0xec4e6c89,
			0x452821e6,
			0x38d01377,
			0xbe5466cf,
			0x34e90c6c,
			0xc0ac29b7,
			0xc97c50dd,
			0x3f84d5b5,
			0xb5470917,
			0x9216d5d9,
			0x8979fb1b,
			0xd1310ba6,
			0x98dfb5ac,
			0x2ffd72db,
			0xd01adfb7,
			0xb8e1afed,
			0x6a267e96,
			0xba7c9045,
			0xf12c7f99,
			0x24a19947,
			0xb3916cf7,
			0x0801f2e2,
			0x858efc16,
			0x636920d8,
			0x71574e69,
			0xa458fea3,
			0xf4933d7e,
			0x0d95748f,
			0x728eb658,
			0x718bcd58,
			0x82154aee,
			0x7b54a41d,
			0xc25a59b5,
			0x9c30d539,
			0x2af26013,
			0xc5d1b023,
			0x286085f0,
			0xca417918,
			0xb8db38ef,
			0x8e79dcb0,
			0x603a180e,
			0x6c9e0e8b,
			0xb01e8a3e,
			0xd71577c1,
			0xbd314b27,
			0x78af2fda,
			0x55605c60,
			0xe65525f3,
			0xaa55ab94,
			0x57489862,
			0x63e81440,
			0x55ca396a,
			0x2aab10b6,
			0xb4cc5c34,
			0x1141e8ce,
			0xa15486af,
			0x7c72e993,
			0xb3ee1411,
			0x636fbc2a,
			0x2ba9c55d,
			0x741831f6,
			0xce5c3e16,
			0x9b87931e,
			0xafd6ba33,
			0x6c24cf5c,
			0x7a325381,
			0x28958677,
			0x3b8f4898,
			0x6b4bb9af,
			0xc4bfe81b,
			0x66282193,
			0x61d809cc,
			0xfb21a991,
			0x487cac60,
			0x5dec8032,
			0xef845d5d,
			0xe98575b1,
			0xdc262302,
			0xeb651b88,
			0x23893e81,
			0xd396acc5,
			0x0f6d6ff3,
			0x83f44239,
			0x2e0b4482,
			0xa4842004,
			0x69c8f04a,
			0x9e1f9b5e,
			0x21c66842,
			0xf6e96c9a,
			0x670c9c61,
			0xabd388f0,
			0x6a51a0d2,
			0xd8542f68,
			0x960fa728,
			0xab5133a3,
			0x6eef0b6c,
			0x137a3be4,
			0xba3bf050,
			0x7efb2a98,
			0xa1f1651d,
			0x39af0176,
			0x66ca593e,
			0x82430e88,
			0x8cee8619,
			0x456f9fb4,
			0x7d84a5c3,
			0x3b8b5ebe,
			0xe06f75d8,
			0x85c12073,
			0x401a449f,
			0x56c16aa6,
			0x4ed3aa62,
			0x363f7706,
			0x1bfedf72,
			0x429b023d,
			0x37d0d724,
			0xd00a1248,
			0xdb0fead3,
			0x49f1c09b,
			0x075372c9,
			0x80991b7b,
			0x25d479d8,
			0xf6e8def7,
			0xe3fe501a,
			0xb6794c3b,
			0x976ce0bd,
			0x04c006ba,
			0xc1a94fb6,
			0x409f60c4,
			0x5e5c9ec2,
			0x196a2463,
			0x68fb6faf,
			0x3e6c53b5,
			0x1339b2eb,
			0x3b52ec6f,
			0x6dfc511f,
			0x9b30952c,
			0xcc814544,
			0xaf5ebd09,
			0xbee3d004,
			0xde334afd,
			0x660f2807,
			0x192e4bb3,
			0xc0cba857,
			0x45c8740f,
			0xd20b5f39,
			0xb9d3fbdb,
			0x5579c0bd,
			0x1a60320a,
			0xd6a100c6,
			0x402c7279,
			0x679f25fe,
			0xfb1fa3cc,
			0x8ea5e9f8,
			0xdb3222f8,
			0x3c7516df,
			0xfd616b15,
			0x2f501ec8,
			0xad0552ab,
			0x323db5fa,
			0xfd238760,
			0x53317b48,
			0x3e00df82,
			0x9e5c57bb,
			0xca6f8ca0,
			0x1a87562e,
			0xdf1769db,
			0xd542a8f6,
			0x287effc3,
			0xac6732c6,
			0x8c4f5573,
			0x695b27b0,
			0xbbca58c8,
			0xe1ffa35d,
			0xb8f011a0,
			0x10fa3d98,
			0xfd2183b8,
			0x4afcb56c,
			0x2dd1d35b,
			0x9a53e479,
			0xb6f84565,
			0xd28e49bc,
			0x4bfb9790,
			0xe1ddf2da,
			0xa4cb7e33,
			0x62fb1341,
			0xcee4c6e8,
			0xef20cada,
			0x36774c01,
			0xd07e9efe,
			0x2bf11fb4,
			0x95dbda4d,
			0xae909198,
			0xeaad8e71,
			0x6b93d5a0,
			0xd08ed1d0,
			0xafc725e0,
			0x8e3c5b2f,
			0x8e7594b7,
			0x8ff6e2fb,
			0xf2122b64,
			0x8888b812,
			0x900df01c,
			0x4fad5ea0,
			0x688fc31c,
			0xd1cff191,
			0xb3a8c1ad,
			0x2f2f2218,
			0xbe0e1777,
			0xea752dfe,
			0x8b021fa1,
			0xe5a0cc0f,
			0xb56f74e8,
			0x18acf3d6,
			0xce89e299,
			0xb4a84fe0,
			0xfd13e0b7,
			0x7cc43b81,
			0xd2ada8d9,
			0x165fa266,
			0x80957705,
			0x93cc7314,
			0x211a1477,
			0xe6ad2065,
			0x77b5fa86,
			0xc75442f5,
			0xfb9d35cf,
			0xebcdaf0c,
			0x7b3e89a0,
			0xd6411bd3,
			0xae1e7e49,
			0x00250e2d,
			0x2071b35e,
			0x226800bb,
			0x57b8e0af,
			0x2464369b,
			0xf009b91e,
			0x5563911d,
			0x59dfa6aa,
			0x78c14389,
			0xd95a537f,
			0x207d5ba2,
			0x02e5b9c5,
			0x83260376,
			0x6295cfa9,
			0x11c81968,
			0x4e734a41,
			0xb3472dca,
			0x7b14a94a,
			0x1b510052,
			0x9a532915,
			0xd60f573f,
			0xbc9bc6e4,
			0x2b60a476,
			0x81e67400,
			0x08ba6fb5,
			0x571be91f,
			0xf296ec6b,
			0x2a0dd915,
			0xb6636521,
			0xe7b9f9b6,
			0xff34052e,
			0xc5855664,
			0x53b02d5d,
			0xa99f8fa1,
			0x08ba4799,
			0x6e85076a,
			0x4b7a70e9,
			0xb5b32944,
			0xdb75092e,
			0xc4192623,
			0xad6ea6b0,
			0x49a7df7d,
			0x9cee60b8,
			0x8fedb266,
			0xecaa8c71,
			0x699a17ff,
			0x5664526c,
			0xc2b19ee1,
			0x193602a5,
			0x75094c29,
			0xa0591340,
			0xe4183a3e,
			0x3f54989a,
			0x5b429d65,
			0x6b8fe4d6,
			0x99f73fd6,
			0xa1d29c07,
			0xefe830f5,
			0x4d2d38e6,
			0xf0255dc1,
			0x4cdd2086,
			0x8470eb26,
			0x6382e9c6,
			0x021ecc5e,
			0x09686b3f,
			0x3ebaefc9,
			0x3c971814,
			0x6b6a70a1,
			0x687f3584,
			0x52a0e286,
			0xb79c5305,
			0xaa500737,
			0x3e07841c,
			0x7fdeae5c,
			0x8e7d44ec,
			0x5716f2b8,
			0xb03ada37,
			0xf0500c0d,
			0xf01c1f04,
			0x0200b3ff,
			0xae0cf51a,
			0x3cb574b2,
			0x25837a58,
			0xdc0921bd,
			0xd19113f9,
			0x7ca92ff6,
			0x94324773,
			0x22f54701,
			0x3ae5e581,
			0x37c2dadc,
			0xc8b57634,
			0x9af3dda7,
			0xa9446146,
			0x0fd0030e,
			0xecc8c73e,
			0xa4751e41,
			0xe238cd99,
			0x3bea0e2f,
			0x3280bba1,
			0x183eb331,
			0x4e548b38,
			0x4f6db908,
			0x6f420d03,
			0xf60a04bf,
			0x2cb81290,
			0x24977c79,
			0x5679b072,
			0xbcaf89af,
			0xde9a771f,
			0xd9930810,
			0xb38bae12,
			0xdccf3f2e,
			0x5512721f,
			0x2e6b7124,
			0x501adde6,
			0x9f84cd87,
			0x7a584718,
			0x7408da17,
			0xbc9f9abc,
			0xe94b7d8c,
			0xec7aec3a,
			0xdb851dfa,
			0x63094366,
			0xc464c3d2,
			0xef1c1847,
			0x3215d908,
			0xdd433b37,
			0x24c2ba16,
			0x12a14d43,
			0x2a65c451,
			0x50940002,
			0x133ae4dd,
			0x71dff89e,
			0x10314e55,
			0x81ac77d6,
			0x5f11199b,
			0x043556f1,
			0xd7a3c76b,
			0x3c11183b,
			0x5924a509,
			0xf28fe6ed,
			0x97f1fbfa,
			0x9ebabf2c,
			0x1e153c6e,
			0x86e34570,
			0xeae96fb1,
			0x860e5e0a,
			0x5a3e2ab3,
			0x771fe71c,
			0x4e3d06fa,
			0x2965dcb9,
			0x99e71d0f,
			0x803e89d6,
			0x5266c825,
			0x2e4cc978,
			0x9c10b36a,
			0xc6150eba,
			0x94e2ea78,
			0xa5fc3c53,
			0x1e0a2df4,
			0xf2f74ea7,
			0x361d2b3d,
			0x1939260f,
			0x19c27960,
			0x5223a708,
			0xf71312b6,
			0xebadfe6e,
			0xeac31f66,
			0xe3bc4595,
			0xa67bc883,
			0xb17f37d1,
			0x018cff28,
			0xc332ddef,
			0xbe6c5aa5,
			0x65582185,
			0x68ab9802,
			0xeecea50f,
			0xdb2f953b,
			0x2aef7dad,
			0x5b6e2f84,
			0x1521b628,
			0x29076170,
			0xecdd4775,
			0x619f1510,
			0x13cca830,
			0xeb61bd96,
			0x0334fe1e,
			0xaa0363cf,
			0xb5735c90,
			0x4c70a239,
			0xd59e9e0b,
			0xcbaade14,
			0xeecc86bc,
			0x60622ca7,
			0x9cab5cab,
			0xb2f3846e,
			0x648b1eaf,
			0x19bdf0ca,
			0xa02369b9,
			0x655abb50,
			0x40685a32,
			0x3c2ab4b3,
			0x319ee9d5,
			0xc021b8f7,
			0x9b540b19,
			0x875fa099,
			0x95f7997e,
			0x623d7da8,
			0xf837889a,
			0x97e32d77,
			0x11ed935f,
			0x16681281,
			0x0e358829,
			0xc7e61fd6,
			0x96dedfa1,
			0x7858ba99,
			0x57f584a5,
			0x1b227263,
			0x9b83c3ff,
			0x1ac24696,
			0xcdb30aeb,
			0x532e3054,
			0x8fd948e4,
			0x6dbc3128,
			0x58ebf2ef,
			0x34c6ffea,
			0xfe28ed61,
			0xee7c3c73,
			0x5d4a14d9,
			0xe864b7e3,
			0x42105d14,
			0x203e13e0,
			0x45eee2b6,
			0xa3aaabea,
			0xdb6c4f15,
			0xfacb4fd0,
			0xc742f442,
			0xef6abbb5,
			0x654f3b1d,
			0x41cd2105,
			0xd81e799e,
			0x86854dc7,
			0xe44b476a,
			0x3d816250,
			0xcf62a1f2,
			0x5b8d2646,
			0xfc8883a0,
			0xc1c7b6a3,
			0x7f1524c3,
			0x69cb7492,
			0x47848a0b,
			0x5692b285,
			0x095bbf00,
			0xad19489d,
			0x1462b174,
			0x23820e00,
			0x58428d2a,
			0x0c55f5ea,
			0x1dadf43e,
			0x233f7061,
			0x3372f092,
			0x8d937e41,
			0xd65fecf1,
			0x6c223bdb,
			0x7cde3759,
			0xcbee7460,
			0x4085f2a7,
			0xce77326e,
			0xa6078084,
			0x19f8509e,
			0xe8efd855,
			0x61d99735,
			0xa969a7aa,
			0xc50c06c2,
			0x5a04abfc,
			0x800bcadc,
			0x9e447a2e,
			0xc3453484,
			0xfdd56705,
			0x0e1e9ec9,
			0xdb73dbd3,
			0x105588cd,
			0x675fda79,
			0xe3674340,
			0xc5c43465,
			0x713e38d8,
			0x3d28f89e,
			0xf16dff20,
			0x153e21e7,
			0x8fb03d4a,
			0xe6e39f2b,
			0xdb83adf7,
			0xe93d5a68,
			0x948140f7,
			0xf64c261c,
			0x94692934,
			0x411520f7,
			0x7602d4f7,
			0xbcf46b2e,
			0xd4a20068,
			0xd4082471,
			0x3320f46a,
			0x43b7d4b7,
			0x500061af,
			0x1e39f62e,
			0x97244546,
			0x14214f74,
			0xbf8b8840,
			0x4d95fc1d,
			0x96b591af,
			0x70f4ddd3,
			0x66a02f45,
			0xbfbc09ec,
			0x03bd9785,
			0x7fac6dd0,
			0x31cb8504,
			0x96eb27b3,
			0x55fd3941,
			0xda2547e6,
			0xabca0a9a,
			0x28507825,
			0x530429f4,
			0x0a2c86da,
			0xe9b66dfb,
			0x68dc1462,
			0xd7486900,
			0x680ec0a4,
			0x27a18dee,
			0x4f3ffea2,
			0xe887ad8c,
			0xb58ce006,
			0x7af4d6b6,
			0xaace1e7c,
			0xd3375fec,
			0xce78a399,
			0x406b2a42,
			0x20fe9e35,
			0xd9f385b9,
			0xee39d7ab,
			0x3b124e8b,
			0x1dc9faf7,
			0x4b6d1856,
			0x26a36631,
			0xeae397b2,
			0x3a6efa74,
			0xdd5b4332,
			0x6841e7f7,
			0xca7820fb,
			0xfb0af54e,
			0xd8feb397,
			0x454056ac,
			0xba489527,
			0x55533a3a,
			0x20838d87,
			0xfe6ba9b7,
			0xd096954b,
			0x55a867bc,
			0xa1159a58,
			0xcca92963,
			0x99e1db33,
			0xa62a4a56,
			0x3f3125f9,
			0x5ef47e1c,
			0x9029317c,
			0xfdf8e802,
			0x04272f70,
			0x80bb155c,
			0x05282ce3,
			0x95c11548,
			0xe4c66d22,
			0x48c1133f,
			0xc70f86dc,
			0x07f9c9ee,
			0x41041f0f,
			0x404779a4,
			0x5d886e17,
			0x325f51eb,
			0xd59bc0d1,
			0xf2bcc18f,
			0x41113564,
			0x257b7834,
			0x602a9c60,
			0xdff8e8a3,
			0x1f636c1b,
			0x0e12b4c2,
			0x02e1329e,
			0xaf664fd1,
			0xcad18115,
			0x6b2395e0,
			0x333e92e1,
			0x3b240b62,
			0xeebeb922,
			0x85b2a20e,
			0xe6ba0d99,
			0xde720c8c,
			0x2da2f728,
			0xd0127845,
			0x95b794fd,
			0x647d0862,
			0xe7ccf5f0,
			0x5449a36f,
			0x877d48fa,
			0xc39dfd27,
			0xf33e8d1e,
			0x0a476341,
			0x992eff74,
			0x3a6f6eab,
			0xf4f8fd37,
			0xa812dc60,
			0xa1ebddf8,
			0x991be14c,
			0xdb6e6b0d,
			0xc67b5510,
			0x6d672c37,
			0x2765d43b,
			0xdcd0e804,
			0xf1290dc7,
			0xcc00ffa3,
			0xb5390f92,
			0x690fed0b,
			0x667b9ffb,
			0xcedb7d9c,
			0xa091cf0b,
			0xd9155ea3,
			0xbb132f88,
			0x515bad24,
			0x7b9479bf,
			0x763bd6eb,
			0x37392eb3,
			0xcc115979,
			0x8026e297,
			0xf42e312d,
			0x6842ada7,
			0xc66a2b3b,
			0x12754ccc,
			0x782ef11c,
			0x6a124237,
			0xb79251e7,
			0x06a1bbe6,
			0x4bfb6350,
			0x1a6b1018,
			0x11caedfa,
			0x3d25bdd8,
			0xe2e1c3c9,
			0x44421659,
			0x0a121386,
			0xd90cec6e,
			0xd5abea2a,
			0x64af674e,
			0xda86a85f,
			0xbebfe988,
			0x64e4c3fe,
			0x9dbc8057,
			0xf0f7c086,
			0x60787bf8,
			0x6003604d,
			0xd1fd8346,
			0xf6381fb0,
			0x7745ae04,
			0xd736fccc,
			0x83426b33,
			0xf01eab71,
			0xb0804187,
			0x3c005e5f,
			0x77a057be,
			0xbde8ae24,
			0x55464299,
			0xbf582e61,
			0x4e58f48f,
			0xf2ddfda2,
			0xf474ef38,
			0x8789bdc2,
			0x5366f9c3,
			0xc8b38e74,
			0xb475f255,
			0x46fcd9b9,
			0x7aeb2661,
			0x8b1ddf84,
			0x846a0e79,
			0x915f95e2,
			0x466e598e,
			0x20b45770,
			0x8cd55591,
			0xc902de4c,
			0xb90bace1,
			0xbb8205d0,
			0x11a86248,
			0x7574a99e,
			0xb77f19b6,
			0xe0a9dc09,
			0x662d09a1,
			0xc4324633,
			0xe85a1f02,
			0x09f0be8c,
			0x4a99a025,
			0x1d6efe10,
			0x1ab93d1d,
			0x0ba5a4df,
			0xa186f20f,
			0x2868f169,
			0xdcb7da83,
			0x573906fe,
			0xa1e2ce9b,
			0x4fcd7f52,
			0x50115e01,
			0xa70683fa,
			0xa002b5c4,
			0x0de6d027,
			0x9af88c27,
			0x773f8641,
			0xc3604c06,
			0x61a806b5,
			0xf0177a28,
			0xc0f586e0,
			0x006058aa,
			0x30dc7d62,
			0x11e69ed7,
			0x2338ea63,
			0x53c2dd94,
			0xc2c21634,
			0xbbcbee56,
			0x90bcb6de,
			0xebfc7da1,
			0xce591d76,
			0x6f05e409,
			0x4b7c0188,
			0x39720a3d,
			0x7c927c24,
			0x86e3725f,
			0x724d9db9,
			0x1ac15bb4,
			0xd39eb8fc,
			0xed545578,
			0x08fca5b5,
			0xd83d7cd3,
			0x4dad0fc4,
			0x1e50ef5e,
			0xb161e6f8,
			0xa28514d9,
			0x6c51133c,
			0x6fd5c7e7,
			0x56e14ec4,
			0x362abfce,
			0xddc6c837,
			0xd79a3234,
			0x92638212,
			0x670efa8e,
			0x406000e0,
			0x3a39ce37,
			0xd3faf5cf,
			0xabc27737,
			0x5ac52d1b,
			0x5cb0679e,
			0x4fa33742,
			0xd3822740,
			0x99bc9bbe,
			0xd5118e9d,
			0xbf0f7315,
			0xd62d1c7e,
			0xc700c47b,
			0xb78c1b6b,
			0x21a19045,
			0xb26eb1be,
			0x6a366eb4,
			0x5748ab2f,
			0xbc946e79,
			0xc6a376d2,
			0x6549c2c8,
			0x530ff8ee,
			0x468dde7d,
			0xd5730a1d,
			0x4cd04dc6,
			0x2939bbdb,
			0xa9ba4650,
			0xac9526e8,
			0xbe5ee304,
			0xa1fad5f0,
			0x6a2d519a,
			0x63ef8ce2,
			0x9a86ee22,
			0xc089c2b8,
			0x43242ef6,
			0xa51e03aa,
			0x9cf2d0a4,
			0x83c061ba,
			0x9be96a4d,
			0x8fe51550,
			0xba645bd6,
			0x2826a2f9,
			0xa73a3ae1,
			0x4ba99586,
			0xef5562e9,
			0xc72fefd3,
			0xf752f7da,
			0x3f046f69,
			0x77fa0a59,
			0x80e4a915,
			0x87b08601,
			0x9b09e6ad,
			0x3b3ee593,
			0xe990fd5a,
			0x9e34d797,
			0x2cf0b7d9,
			0x022b8b51,
			0x96d5ac3a,
			0x017da67d,
			0xd1cf3ed6,
			0x7c7d2d28,
			0x1f9f25cf,
			0xadf2b89b,
			0x5ad6b472,
			0x5a88f54c,
			0xe029ac71,
			0xe019a5e6,
			0x47b0acfd,
			0xed93fa9b,
			0xe8d3c48d,
			0x283b57cc,
			0xf8d56629,
			0x79132e28,
			0x785f0191,
			0xed756055,
			0xf7960e44,
			0xe3d35e8c,
			0x15056dd4,
			0x88f46dba,
			0x03a16125,
			0x0564f0bd,
			0xc3eb9e15,
			0x3c9057a2,
			0x97271aec,
			0xa93a072a,
			0x1b3f6d9b,
			0x1e6321f5,
			0xf59c66fb,
			0x26dcf319,
			0x7533d928,
			0xb155fdf5,
			0x03563482,
			0x8aba3cbb,
			0x28517711,
			0xc20ad9f8,
			0xabcc5167,
			0xccad925f,
			0x4de81751,
			0x3830dc8e,
			0x379d5862,
			0x9320f991,
			0xea7a90c2,
			0xfb3e7bce,
			0x5121ce64,
			0x774fbe32,
			0xa8b6e37e,
			0xc3293d46,
			0x48de5369,
			0x6413e680,
			0xa2ae0810,
			0xdd6db224,
			0x69852dfd,
			0x09072166,
			0xb39a460a,
			0x6445c0dd,
			0x586cdecf,
			0x1c20c8ae,
			0x5bbef7dd,
			0x1b588d40,
			0xccd2017f,
			0x6bb4e3bb,
			0xdda26a7e,
			0x3a59ff45,
			0x3e350a44,
			0xbcb4cdd5,
			0x72eacea8,
			0xfa6484bb,
			0x8d6612ae,
			0xbf3c6f47,
			0xd29be463,
			0x542f5d9e,
			0xaec2771b,
			0xf64e6370,
			0x740e0d8d,
			0xe75b1357,
			0xf8721671,
			0xaf537d5d,
			0x4040cb08,
			0x4eb4e2cc,
			0x34d2466a,
			0x0115af84,
			0xe1b00428,
			0x95983a1d,
			0x06b89fb4,
			0xce6ea048,
			0x6f3f3b82,
			0x3520ab82,
			0x011a1d4b,
			0x277227f8,
			0x611560b1,
			0xe7933fdc,
			0xbb3a792b,
			0x344525bd,
			0xa08839e1,
			0x51ce794b,
			0x2f32c9b7,
			0xa01fbac9,
			0xe01cc87e,
			0xbcc7d1f6,
			0xcf0111c3,
			0xa1e8aac7,
			0x1a908749,
			0xd44fbd9a,
			0xd0dadecb,
			0xd50ada38,
			0x0339c32a,
			0xc6913667,
			0x8df9317c,
			0xe0b12b4f,
			0xf79e59b7,
			0x43f5bb3a,
			0xf2d519ff,
			0x27d9459c,
			0xbf97222c,
			0x15e6fc2a,
			0x0f91fc71,
			0x9b941525,
			0xfae59361,
			0xceb69ceb,
			0xc2a86459,
			0x12baa8d1,
			0xb6c1075e,
			0xe3056a0c,
			0x10d25065,
			0xcb03a442,
			0xe0ec6e0e,
			0x1698db3b,
			0x4c98a0be,
			0x3278e964,
			0x9f1f9532,
			0xe0d392df,
			0xd3a0342b,
			0x8971f21e,
			0x1b0a7441,
			0x4ba3348c,
			0xc5be7120,
			0xc37632d8,
			0xdf359f8d,
			0x9b992f2e,
			0xe60b6f47,
			0x0fe3f11d,
			0xe54cda54,
			0x1edad891,
			0xce6279cf,
			0xcd3e7e6f,
			0x1618b166,
			0xfd2c1d05,
			0x848fd2c5,
			0xf6fb2299,
			0xf523f357,
			0xa6327623,
			0x93a83531,
			0x56cccd02,
			0xacf08162,
			0x5a75ebb5,
			0x6e163697,
			0x88d273cc,
			0xde966292,
			0x81b949d0,
			0x4c50901b,
			0x71c65614,
			0xe6c6c7bd,
			0x327a140a,
			0x45e1d006,
			0xc3f27b9a,
			0xc9aa53fd,
			0x62a80f00,
			0xbb25bfe2,
			0x35bdd2f6,
			0x71126905,
			0xb2040222,
			0xb6cbcf7c,
			0xcd769c2b,
			0x53113ec0,
			0x1640e3d3,
			0x38abbd60,
			0x2547adf0,
			0xba38209c,
			0xf746ce76,
			0x77afa1c5,
			0x20756060,
			0x85cbfe4e,
			0x8ae88dd8,
			0x7aaaf9b0,
			0x4cf9aa7e,
			0x1948c25c,
			0x02fb8a8c,
			0x01c36ae4,
			0xd6ebe1f9,
			0x90d4f869,
			0xa65cdea0,
			0x3f09252d,
			0xc208e69f,
			0xb74e6132,
			0xce77e25b,
			0x578fdfe3,
			0x3ac372e6 };
public void decipher(byte[] src, int srcOff, byte[] dst, int dstOff, int len) {
	int xL = lastDecipherXL;
	int xR = lastDecipherXR;

	int dataXL;
	int dataXR;

	int[] xLxR = new int[2];

	for (int i = 0; i < len; i = i + 8) {
		dataXL = (src[srcOff + i] & 0xff) | ((src[srcOff + i + 1] & 0xff) << 8) | ((src[srcOff + i + 2] & 0xff) << 16) | ((src[srcOff + i + 3] & 0xff) << 24);
		dataXR = (src[srcOff + i + 4] & 0xff) | ((src[srcOff + i + 5] & 0xff) << 8) | ((src[srcOff + i + 6] & 0xff) << 16) | ((src[srcOff + i + 7] & 0xff) << 24);

		decipher(dataXL, dataXR, xLxR);

		xL ^= xLxR[0];
		xR ^= xLxR[1];

		dst[dstOff + i] = (byte) (xL & 0xff);
		dst[dstOff + i + 1] = (byte) ((xL >> 8) & 0xff);
		dst[dstOff + i + 2] = (byte) ((xL >> 16) & 0xff);
		dst[dstOff + i + 3] = (byte) ((xL >> 24) & 0xff);
		dst[dstOff + i + 4] = (byte) (xR & 0xff);
		dst[dstOff + i + 5] = (byte) ((xR >> 8) & 0xff);
		dst[dstOff + i + 6] = (byte) ((xR >> 16) & 0xff);
		dst[dstOff + i + 7] = (byte) ((xR >> 24) & 0xff);

		xL = dataXL;
		xR = dataXR;
	}

	lastDecipherXL = xL;
	lastDecipherXR = xR;
}
private void decipher(int xL, int xR, int[] xLxR) {
	xL ^= P[17];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[16];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[15];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[14];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[13];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[12];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[11];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[10];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[9];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[8];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[7];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[6];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[5];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[4];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[3];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[2];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[1];
	xR ^= P[0];

	xLxR[0] = xR;
	xLxR[1] = xL;
}
public void encipher(byte[] src, int srcOff, byte[] dst, int dstOff, int len) {
	int xL = lastEncipherXL;
	int xR = lastEncipherXR;

	int[] xLxR = new int[2];

	for (int i = 0; i < len; i = i + 8) {
		xL ^= (src[srcOff + i] & 0xff) | ((src[srcOff + i + 1] & 0xff) << 8) | ((src[srcOff + i + 2] & 0xff) << 16) | ((src[srcOff + i + 3] & 0xff) << 24);
		xR ^= (src[srcOff + i + 4] & 0xff) | ((src[srcOff + i + 5] & 0xff) << 8) | ((src[srcOff + i + 6] & 0xff) << 16) | ((src[srcOff + i + 7] & 0xff) << 24);

		encipher(xL, xR, xLxR);

		xL = xLxR[0];
		xR = xLxR[1];

		dst[dstOff + i] = (byte) (xL & 0xff);
		dst[dstOff + i + 1] = (byte) ((xL >> 8) & 0xff);
		dst[dstOff + i + 2] = (byte) ((xL >> 16) & 0xff);
		dst[dstOff + i + 3] = (byte) ((xL >> 24) & 0xff);
		dst[dstOff + i + 4] = (byte) (xR & 0xff);
		dst[dstOff + i + 5] = (byte) ((xR >> 8) & 0xff);
		dst[dstOff + i + 6] = (byte) ((xR >> 16) & 0xff);
		dst[dstOff + i + 7] = (byte) ((xR >> 24) & 0xff);
	}

	lastEncipherXL = xL;
	lastEncipherXR = xR;
}
private void encipher(int xL, int xR, int[] xLxR) {
	xL ^= P[0];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[1];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[2];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[3];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[4];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[5];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[6];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[7];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[8];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[9];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[10];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[11];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[12];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[13];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[14];
	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[15];
	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[16];
	xR ^= P[17];

	xLxR[0] = xR;
	xLxR[1] = xL;
}
public void setKey(byte key[]) {
	int data = 0;
	int offset = 0;

	for (int i = 0; i < P.length; ++i) {
		P[i] = INIT_DATA[offset++];
	}

	for (int i = 0; i < S.length; ++i) {
		for (int j = 0; j < S[i].length; ++j) {
			S[i][j] = INIT_DATA[offset++];
		}
	}

	offset = 0;
	for (int i = 0; i < P.length; ++i) {
		data = 0;
		for (int k = 0; k < 4; ++k) {
			data = (data << 8) | (key[offset++] & 0xff);
			if (offset >= key.length) {
				offset = 0;
			}
		}
		P[i] = P[i] ^ data;
	}

	int[] lr = new int[] { 0, 0 };
	for (int i = 0; i < P.length; i += 2) {
		encipher(lr[0], lr[1], lr);
		P[i] = lr[0];
		P[i + 1] = lr[1];
	}

	for (int i = 0; i < S.length; ++i) {
		for (int j = 0; j < S[i].length; j += 2) {
			encipher(lr[0], lr[1], lr);
			S[i][j] = lr[0];
			S[i][j + 1] = lr[1];
		}
	}

	lastEncipherXL = 0;
	lastEncipherXR = 0;
	lastDecipherXL = 0;
	lastDecipherXR = 0;
}
}
