Gostaria de saber como é representado uma chave criptográfica no java, no caso uma chave privada. Há a interface Key que contém o método getEncoded() que retorna um array de bytes, se eu colocar esse array como parâmetro de um construtor BigInteger, irá ser criado um número enorme, pergunta: esse número seria a chave privada? No meu trabalho estamos tendo que implementar um algoritmo de derivação de chaves, a partir de uma dada chave privada, deve-se criar outras chaves derivadas, até aí tudo bem, porém, depois de criado a chave (no caso um outro número imenso) como eu passaria ela para alguma classe/interface que pudesse manuseá-la como PrivateKey, etc? Não consegui bons resultados usando um cast, também não sei se fiz da maneira correta. Por favor, me ajudem…