Criptografica com Cifra de Hill - VetorXMAtriz

Galera,
Precido desenvolver um algoritmo que implemente uma criptografia de Strings seguindo o metodo da Cifra de Hill. O que acontece é que a chave de criptografia é uma matriz 3X3, isso faz com que eu só possa multiplicar a mesma se for por um vetor de tamanho 3.

Mas a questão é que minha frase a ser criptografada pode ter tamanho “n”.

Como faço para fazer a multiplicação desse vetor de tamanho “n” pela matriz 3X3???
Ou melhor, como faço para dividir esse vetor em partes de 3 elementos, e assim efetuar a multiplicação??

Com o seguinte codigo eu faço a multiplicação, mas somente com 3 digitos

[code]public void Calculo_VetorXMatriz(){
int somatemp=0;

for (int i = 0; i < texto.length(); i++) {
    for (int j = 0; j < texto.length(); j++) {
    somatemp += vet_letrinhas[j]*chave_de_criptografia[i][j];
    }
    letras_multiplicadas[i] = somatemp;
    somatemp = 0;
}

}
[/code]

Na verdade o professor quer q possamos digitar a quantidade de letras q ele solicitar no momento da apresentação do trabalho

A logica é a seguinte:
A chave de criptografia é uma matriz como abaixo:
17 17 5
21 18 21
2 2 19
Eu entro com os lementos: {1, 2, 3}
O metodo faz o seguinte:
171 + 172 + 53
21
1 + 182 + 213
21 + 22 + 19*3

Até ai meu metodo dá certo…
Mas eu não posso digitar somente 3 elementos, ele (o professor) vai mandar a gente digitar trocentos numeros

No aguardo da ajuda dos campeões!!!

Cara não duplique tópicos!

Java Básico!
http://guj.com.br/posts/list/204843.java

vlw