1. I am aware the input and output will work upon binary data, this isn't a
problem for me.
2. I suppose I am not entirely aware of all potential pitfalls.
3. When working with hex data, BN_hex2bn would always segfault. My
assumption was that the object needed to be extended to the proper size
first.

On 6/9/07, Goetz Babin-Ebell <[EMAIL PROTECTED]> wrote:



--On Samstag, Juni 09, 2007 05:03:54 -0400 Richard <[EMAIL PROTECTED]>
wrote:

> Hello! My goal is to write a simple function for use in C programs of
> mine that can encrypt and output strings. This would seem to be an easy
> task at first, only through attempting it have I realized some
> difficulties.

beware: all encryption/decryption functions operate and generate binary
data.
So if you assume the output is a valid C string you will fail...

> My idea was to use the openssl RSA library, build an RSA structure, and
> use RSA_public_encrypt() to do this. I am currently unable to do this
> even with just hardcoded RSA variables.

Do you really want to use RSA for directly encrypting data ?
I hope you are aware of the pitfalls doing this.

> The reason is that I cannot
> initiate a BN with a large value, as it can only start as a word. I
> cannot find a way to expand the BN, except by using BN_set_bits(), which
> seems to me an impractical way to do this. How is this generally done?

There are the following functions available to set a BIGNUM:

BIGNUM *BN_bin2bn(const unsigned char *s,int len,BIGNUM *ret);
int     BN_hex2bn(BIGNUM **a, const char *str);
int     BN_dec2bn(BIGNUM **a, const char *str);
int     BN_asc2bn(BIGNUM **a, const char *str);

At least in recent releases there should be a man page available...

Goetz

--
DMCA: The greed of the few outweights the freedom of the many


Reply via email to