On May 19, 2014, at 3:06 AM, Devarshi Kulshreshtha 
<devarshi.bluec...@gmail.com> wrote:

> 5. Used - wrapSymmetricKey:keyRef: method defined in SecKeyWrapper
> class (CryptoExercise example) for encryption, and passed key obtained
> from step 3 and data to encrypt obtained from step 4 to it

I think you’re misusing wrapSymmetricKey. The NSData you pass into it is not 
the message itself; it’s a raw symmetric key. The idea is that you create a 
symmetric key at random (probably 32 bytes for an AES-256 key), wrap (encrypt) 
that key using the recipient’s public key, encrypt your actual message using 
the symmetric key, and then send both the wrapped key and the encrypted message 
to the recipient.

> Problem: getting error - too much data for RSA block

Yup. RSA can only encrypt a block of the same size as its key, so if you’re 
using RSA-2048 the maximum block size is 256 bytes. The padding formats used 
with RSA don’t support messages longer than that. In practice, the only things 
RSA encrypts are symmetric keys, never messages.

(If you’re not familiar with concepts like wrapping and padding, you should 
really read a good book on cryptography before proceeding. It’s actually rather 
dangerous to work on this kind of stuff without a solid understanding of the 
principles, because the crypto building blocks can easily be misused to create 
systems that are insecure and easily exploited.)

—Jens
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to