private void getKeys() {
		try {
			generatedKeys = (List<KeyPair>)((new ObjectInputStream(new FileInputStream(SCRATCH_PATH))).readObject());
		} catch( Exception e ) {
			System.err.println("couldn't get scratch keys: " + e.toString());
			System.out.println("generating keys...");
			
			CryptoUtils c = new CryptoUtils();
			generatedKeys = new LinkedList<KeyPair>();
			for( int i=0; i<200; i++ ) {
				if( (i%100) == 0 ) {
					System.out.println("done " + i);
				}
				
				generatedKeys.add(c.getPair());
			}
			System.out.println("done, writing...");
			try {
				(new ObjectOutputStream(new FileOutputStream(SCRATCH_PATH))).writeObject(generatedKeys);
			} catch (Exception e2 ) {
				e.printStackTrace();
			}
			System.out.println("done");
		}
	}