PDA

View Full Version : Entertain Me


JM^3
02-10-2005, 04:56:06
There really needs to be some Sat night posters for me to chat with

JM

JM^3
02-10-2005, 05:02:07
I really am a child of the 90s

JM

Sir Penguin
02-10-2005, 05:21:04
This should keep you occupied.


/** Encryption.java
* Implementation of the DES encryption algorithm in Java.
*
* @author Neil MacMillan
* @date 21.09.05
*/

import java.util.BitSet;

public class Encryption implements DES_Int
{
private byte[] key = null; // 8-byte key
private BitSet key_right; // right-most bits of key
private BitSet key_left; // left-most bits of key
private BitSet block_right; // right-most bits of input
private BitSet block_left; // left-most bits of input

private byte KEY_BITS = 56; // number of bits in key

// initial permutation (split into left/right halves )
// since DES numbers bits starting at 1, we will ignore x[0]
private int[] IP_perm = {
58, 50, 42, 34, 26, 18, 10, 2,
60, 52, 44, 36, 28, 20, 12, 4,
62, 54, 46, 38, 30, 22, 14, 6,
64, 56, 48, 40, 32, 24, 16, 8,
57, 49, 41, 33, 25, 17, 9, 1,
59, 51, 43, 35, 27, 19, 11, 3,
61, 53, 45, 37, 29, 21, 13, 5,
63, 55, 47, 39, 31, 23, 15, 7 };

// final permutation (inverse initial permutation)
private int[] FP_perm = {
40, 8, 48, 16, 56, 24, 64, 32,
39, 7, 47, 15, 55, 23, 63, 31,
38, 6, 46, 14, 54, 22, 62, 30,
37, 5, 45, 13, 53, 21, 61, 29,
36, 4, 44, 12, 52, 20, 60, 28,
35, 3, 43, 11, 51, 19, 59, 27,
34, 2, 42, 10, 50, 18, 58, 26,
33, 1, 41, 9, 49, 17, 57, 25 };

// per-round expansion
private int[] E_perm = {
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 };

// per-round permutation
private int[] P_perm = {
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 };

// note we do use element 0 in the S-Boxes
private int[] S1 = {
14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7,
0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8,
4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0,
15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 };
private int[] S2 = {
15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10,
3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5,
0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15,
13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9 };
private int[] S3 = {
10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8,
13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1,
13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7,
1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12 };
private int[] S4 = {
7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15,
13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9,
10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4,
3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14 };
private int[] S5 = {
2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9,
14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6,
4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14,
11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3 };
private int[] S6 = {
12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11,
10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8,
9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6,
4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13 };
private int[] S7 = {
4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1,
13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6,
1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2,
6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12 };
private int[] S8 = {
13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7,
1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2,
7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8,
2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11 };

//, first, key, permutation
private int[] PC_1_perm = {
// C subkey bits
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,
// D subkey bits
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 };

//, per-round, key, selection, permutation
private int[] PC_2_perm = {
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 };

public void setKey(byte[] key) throws KeyException
{
int i;
BitSet key_full; // all the bits of the key
BitSet perm_key; // the permuted bitset

if (this.key == null) {
this.key = new byte[key.length];
}
if (key.length!=8) {
throw new KeyException("Key length incorrect.");
}

// copy the key bytes into the private key array
for (i=0; i<8; i++) {
if (key[i] == 0) {
throw new KeyException("Key has null byte.");
}
this.key[i] = key[i];
}

// make a bitset of all the key's bits:
key_full = this.bytesToBitSet(this.key);
// permute the key and split it into halves:
perm_key = new BitSet(this.KEY_BITS);
for (i=0; i<this.KEY_BITS; i++) {
perm_key.set(PC_1_perm[i]-1,key_full.get(i));
/* !!!!!!!!!!!!!!!!!!!!!!!
* May have to put initial placer element into arrays above, if
* DES actually requires them to be 1-based. Motherfuckers.
*/
}
}

private BitSet bytesToBitSet(byte[] bytes) {
BitSet bits = new BitSet();
for (int i=0; i<bytes.length*8; i++) {
if ( ( bytes[bytes.length-i/8-1] & ( 1 << (i%8) ) ) > 0 ) {
bits.set(i);
}
}
return bits;
}

private byte[] bitSetToBytes(BitSet bits) {
byte[] bytes = new byte[bits.length() / 8 + 1];
for (int i=0; i<bits.length(); i++) {
if (bits.get(i)) {
bytes[bytes.length - i / 8 - 1] |= 1 << (i % 8);
}
}
return bytes;
}

private void splitBlock(byte[] msg) {
int i;
byte[] half_block = new byte[msg.length/2]; // half the block bytes

// split the input block into a bitset representing its left half
for (i=0; i<msg.length/2; i++) {
half_block[i] = msg[i];
}
this.block_left = this.bytesToBitSet(half_block);
// split the input block again, into its right side.
for (i=4; i<msg.length; i++) {
half_block[i] = msg[i];
}
this.block_right = this.bytesToBitSet(half_block);
}

public byte[] encrypt(byte[] msg) throws KeyException
{
int i;
byte[] output = new byte[8]; // output will be stored here

if (this.key == null) {
throw new KeyException("Key has not been set.");
}
// split the key and input block into bitsets (class attributes key_*
// and block_*).
this.splitBlock(msg);
}

public byte[] decrypt(byte[] msg) throws KeyException
{
//return this.key;
}
}


SP

JM^3
02-10-2005, 05:39:01
but I am working on some other code right now...

I don't want to chat about it as well...

JM

JM^3
02-10-2005, 05:41:58
well, actually chatting about it woudl be ok

not chating about other stuff also

right now I am trying to make sure I understand all about this

JM

HelloKitty
02-10-2005, 06:40:00
You have an internet full of porn. entertain yourself.

JM^3
02-10-2005, 06:58:24
I am trying to cut back...

JM

HelloKitty
02-10-2005, 07:04:22
You should go see Dick Chopp.

JM^3
02-10-2005, 07:16:02
nah, I still hope to create progeny in the future

sometimes I do wish I could turn off my sex drive for a bit though...

JM

JM^3
02-10-2005, 07:18:00
this isn't that fun

what games are you playing now?

joined Venom and comp in SWG yet?

I think I will cancel it.. I haven't played it in ages

JM

Lazarus and the Gimp
02-10-2005, 08:57:34
Those multi-player online games are basically an admission that you've given up on reality.

Kitsuki
02-10-2005, 11:11:52
I had had connection problems with WoW the last couple of days and I realised an hour into extreme misery that I was displaying all the characteristics of an addict.... Cancelling my subscription now...!

devilmunchkin
02-10-2005, 11:43:57
after you've played them for awhile...esp the hard ones..you realize that their reality can suck just as much as the real life

Oerdin
02-10-2005, 11:45:16
Why are so many people up so late? I guess we all have nothing better to do on a Saturday night/Sunday morning.

devilmunchkin
02-10-2005, 12:07:18
was going to research something online for that mmorpg i play..but i made a detour here instead..was up late period because i'm rather nocturnal and got suddenly ill this evening

HelloKitty
03-10-2005, 06:46:33
Originally posted by JM^3
this isn't that fun

what games are you playing now?

joined Venom and comp in SWG yet?

I think I will cancel it.. I haven't played it in ages

JM

No. Won't be on any MMORPGs until late Jan or early Feb. Lots of family crisis combined with travel and Erin unemployed for 7 months and moving to part time in order to travel more to help family (meaning ins etc is out of pocket for both of us) means no booze and if I can't afford booze I certainly am not paying for an online game.

We are broke now since we used the last of our savings and it looks like mid Nov is when we cannot juggle bills and start moving into debt. My old student loans will love the company.

I go back to full time in Jan though (well, thats the plan anyway). I am so happy that it will take us a couple years to just get back to where we were in 2001.

I am playing the Sims 2 again since I used a gift cert to get the new expansion. I sometimes log into guildwars since that is free online play and has the roughtly same depth as WoW.

HelloKitty
03-10-2005, 06:52:43
Originally posted by devilmunchkin
after you've played them for awhile...esp the hard ones..you realize that their reality can suck just as much as the real life

Hard ones? You must be playing one of the old ones then. All the new ones are jokingly easy. Nothing since before SWG has been any real challenge.

Wow is way too dumbed down. EQ2 hasn't figured out if they want to cater to hardcore or "casual" players leaving them in an odd balance situation. COH is stupid simple if you plan out your hero, but fun if you just play for fun, unless youw ant to group and everyone gets pissed because you are not uber. SWG is imo the best of the post FFXI crowd, but it is still far too easy. Etc.

What are you playing? Players are pouring back to EQ1 in record numbers the last couple months as people get bored wih WoW mainly but also GW and EQ2. Enough so they are considering spilitting servers they had to consolidate when EQ2 and WoW came out. This would be a good time for a new player to start. The servers have decent populations, lots of returning old players, the market is saturated with great twink items for cheap, etc.

GW is fun though. Everyone in the world plays on one server. When you go out to adventure an instance of the world is made jsut for you though. You can also hire NPC group members, so even though you cannot solo the game, you don't have to play with other people if you want to do crazy stuff or play for just a little while. The NPCs don't care if you go LD or go talk on the phone. Plus its free!

Wish i could play. About a dozen of my old group have left WoW and EQ2 and returned.