Ошеломленный и сбитый с толку API-интерфейсами Java Security и BouncyCastle

Я пытался разобраться в 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.


person Zarkonnen    schedule 14.01.2009    source источник
comment
Примечание. Ваши ключи перенесены в API выше. Открытые ключи используются для шифрования, закрытые ключи — для расшифровки.   -  person James Van Huis    schedule 14.01.2009
comment
Арх. Я должен знать это.   -  person Zarkonnen    schedule 16.01.2009


Ответы (2)



person    schedule
comment
Хм, кажется, объект Cipher - это java ... надеялся, что он будет в BC. - person halfbit; 03.07.2012