Я пытался разобраться в криптографических API BouncyCastle для Java. К сожалению, я нахожу, что криптография Java в целом настолько затенена интерфейсами и жаргоном поставщика услуг, что я не могу понять, что же на самом деле делает. Я неоднократно пытался прочитать необходимую документацию, но она просто остается непонятной, вводя много концепций, выходящих далеко за рамки того, что, по моему мнению, необходимо.
Все, что я действительно хочу, это класс, который выполняет следующее:
public class KeyPair {
public byte[] public;
public byte[] private;
}
public class RSACrypto {
public static KeyPair generateRSAKeyPair() { /*implementation*/}
public static byte[] encrypt(byte[] data, byte[] publicKey) { /*impl*/}
public static byte[] decrypt(byte[] encryptedData, byte[] privateKey) { /*impl*/ }
}
Извиняюсь, если это невероятно сложный вопрос, который нужно задать как "все, что я действительно хочу". Любые указатели на то, где можно прочитать о криптографии Java и BouncyCastle, очень приветствуются. Любые обзоры того, как на самом деле устроены криптосистемы Java, крайне приветствуются.