Criptografia com chaves hexadecimal de 64 bits e manipulação e agrupamento de 8 bits

Pessoal… sou novato no fórum e não tenho muita experiencia com o uso de java para trabalhar com bits. Sou bom em questão de orientação à objeto mas não tenho uma base boa de como trabalho com bits e hexadecimal.

Tenho que fazer um programa de criptografia em que eu escolha uma chave hexadecimal de 64 bits e escreva-a em formato binário de 8 bits. Depois tenho que utilizar bits de paridade em cada gruop para ver quais são as chaves válidas.
OBs: Não posso manipular String´s e nem utilizar um vetor para cada posição do byte.

Eu não tenho nem noção de como implementar a idéia… se alguém tiver alguma noção para que eu possa dar continuidade, por favor me ajude.

Não entendi a questão.

Seria pegar 64 bits e criar um hash de 8 bits para checar a chave?

Esqueci de colocar uma parte do problema. Não precisaria de verificação com hash, o bit de paridade a cada grupo de 8 bits faria isso(7 pra dados, 1 pra paridade).
No total fica 8 bits de paridade e 56 pro resto da chave.
Pra cada grupo de 8 bits, fiz o seguinte metodo pra devolver o byte já com bit de paridade ( esse byte que entra por parametro só usa 7 dos bits pra dados).

[code]public byte paridade(byte bloc) {
byte bloco = bloc;
int n1 = 0;
for(int i=0; i<7; i++)
{
if((bloco & 1) == 1)
n1++;
bloco = (byte) (bloco >> 1);
}
byte paridade = ((n1%2)==0)?(byte)0:(byte)1;
bloco = (byte) ((byte) (bloc << 1) + paridade);

	return bloco;	

}[/code]

Valew a intenção, se eu emperrar de novo eu mando mais dúvidas, valew