Problemas na autenticação de mensagens em um sistema cli-ser

Olá, estou tendo algumas dúvidas sobre autenticaçao de mensagens em uma aplicação cliente-servidor para troca de mensagens (chat)…
estou utilizando o algoritmo de HASH MD5 para geraçao de hash tanto no cliente como no servidor. funciona da seguinte maneira o cliente envia uma mensagem e o algoritmo de hash gera um hash a parti desta mensagem, e envia para o servidor, o servidor recebe tanto o hash e a mensagem e gera um outro hash a partir da mensagem enviada e compara o hash recebido com o gerado… se forem iguais a mensagem é autenticada e é apresentada na tela…
O problema é o seguinte: Estou fazendo meu TCC (trabalho de conclusao de curso) e o tema eh naturalmente um sistema de troca de mensagens suportada pela assinatura digital, e receio que apenas havendo autenticacao pelo hash nao sera sufuciente, o sistema deveria utilizar algum algoritmo de chave publica para autenticacao de senha, como forma de autenticaçao (tipo algoritmo RSA, ou DSA), porem nao estou conseguindo fazer uma MAC utilizando a mensagem original e a chave publica do destinatário utilizando o DSA, gostaria de saber como poderia realizar a criacao do MAC com a chave publica para que o destinatario possa conferir sua integridade atraves de sua chave privada.

Obrigado,
Octavio Bordin

Da uma olhada no JCE.
Assinatura digital usando PKI, você basicamente criptografa o digest da mensagem com a sua chave privada e o outro lado autentica usando sua chave privada

obrigado louds… vou dar uma olhada la no site da sun e ver o q acho de JCE…
se tiver algum link a mais me ajudaria em muito,
obrigado
sds,
Octavio