Is there any asymmetric crypto API to allow decrypting a message but not encrypting it?

Discussion in 'ASP .Net Security' started by Andy Chau, Oct 3, 2003.

  1. Andy Chau

    Andy Chau Guest

    I try to use RSA to implement the following scheme but wasn't sucessful.

    Sever encrypt a message using a public key, the client decrpyt the message
    using a private key.

    I don't want the client to be able to encrypt a message.

    However, using the Crypto API I need to pass in both the private and public
    key pairs in order to decrypt the message.
    When the client has both private and public key, it can just use the public
    key to encrypt the message which is what I don't want to allow.

    Does anyone know if there is any asymmetric crypto API to implmenet this
    scheme?

    Thanks very much in advance,

    Andy
     
    Andy Chau, Oct 3, 2003
    #1
    1. Advertisements

  2. I'm not sure I understand what you're asking for. Doesn't everyone have the
    public key? Isn't its public availablility the very essence of asymmetric
    encryption? If you're worried that an arbitrary client might be able to sign
    a plain-text message and spoof the producer's identity, provide a signature.

    --
    Mickey Williams
    Author, "Microsoft Visual C# .NET Core Reference", MS Press
    www.servergeek.com


    "Andy Chau" <> wrote in message
    news:...
    > I try to use RSA to implement the following scheme but wasn't sucessful.
    >
    > Sever encrypt a message using a public key, the client decrpyt the message
    > using a private key.
    >
    > I don't want the client to be able to encrypt a message.
    >
    > However, using the Crypto API I need to pass in both the private and

    public
    > key pairs in order to decrypt the message.
    > When the client has both private and public key, it can just use the

    public
    > key to encrypt the message which is what I don't want to allow.
    >
    > Does anyone know if there is any asymmetric crypto API to implmenet this
    > scheme?
    >
    > Thanks very much in advance,
    >
    > Andy
    >
    >
    >
     
    Mickey Williams, Oct 4, 2003
    #2
    1. Advertisements

  3. "Andy Chau" <> wrote in message news:...
    > I try to use RSA to implement the following scheme but wasn't sucessful.
    >
    > When the client has both private and public key, it can just use the public
    > key to encrypt the message which is what I don't want to allow.


    Using a public key to encrypt a message to the owner of that public key
    is exactly what public key ciphers are MEANT to do! (as well as using
    the corresponding private key to generate digital signatures on behalf of
    the owner of the private key).

    You need to clearly understand this and then think through what you really
    want to do. It is not good security practice to use encryption in ways it
    was not meant to be used .. usually with associated vulernabilities ;-)

    Actually, the fact that some CA issuers publish the public keys of all subscribers
    IMHO is a slight security risk (probably not envisioned when PKI was
    architected) as follows:
    - since anyone with access to public keys of recipients can easily generate encrypted
    messages to any of these recipients, it is possible to send encrypted malicious
    mail which can pass through most mail gateways filters.
    THUS .. DON'T OPEN ANY ENCRYPTED EMAIL UNLESS YOU ARE EXPLICITLY
    EXPECTING IT :)

    Think of it ... encrypted malicious spam .. the next frontier of maluse.

    - Michel Gallant
    Security Visual MVP
    http://pages.istar.ca/~neutron
     
    Michel Gallant, Oct 4, 2003
    #3
  4. "Andy Chau" <> wrote in message
    > When the client has both private and public key, it can just use the

    public
    > key to encrypt the message which is what I don't want to allow.


    With RSA, anyone that has access to the private key can compute the public
    key from that. Hence it is impossible to only give your client access to the
    private key but not to the public key.

    Regards,
    Pieter Philippaerts
    Managed SSL/TLS: http://www.mentalis.org/go.php?sl
     
    Pieter Philippaerts, Oct 4, 2003
    #4
  5. Andy Chau

    Andy Chau Guest

    That is true, but you can say the same for being able to compute the private
    key using the public key.

    I don't exactly need to use RSA if it cannot do the thing I want, I am just
    looking for a asymmetric crypto alg that will fit the following
    requirements:

    1. Have two set of keys, Key-1 and Key2
    2. Person A can use Key-1 to encrypt, but not decrypt
    3. Person B can use Key-2 to decrypt, but not encrypt
    4. It is computationaly impossible to derive Key-1 from Key-2, and vice
    versa

    Thanks in advance

    Andy

    "Pieter Philippaerts" <> wrote in message
    news:ec$...
    > "Andy Chau" <> wrote in message
    > > When the client has both private and public key, it can just use the

    > public
    > > key to encrypt the message which is what I don't want to allow.

    >
    > With RSA, anyone that has access to the private key can compute the public
    > key from that. Hence it is impossible to only give your client access to

    the
    > private key but not to the public key.
    >
    > Regards,
    > Pieter Philippaerts
    > Managed SSL/TLS: http://www.mentalis.org/go.php?sl
    >
    >
     
    Andy Chau, Oct 4, 2003
    #5
  6. "Andy Chau" <> wrote in message news:...
    > That is true, but you can say the same for being able to compute the private
    > key using the public key.


    Not TRUE at all .. when you have the public key, you only have the product
    of the 2 private primes which does not give you the private key (except by
    some massive unrealizable brute force effort).
    With private key, you a priori have the 2 primes, and simply multiply them
    to get the public key ... totally different.
    - Mitch




    > Andy
    >
    > "Pieter Philippaerts" <> wrote in message
    > news:ec$...
    > > "Andy Chau" <> wrote in message
    > > > When the client has both private and public key, it can just use the

    > > public
    > > > key to encrypt the message which is what I don't want to allow.

    > >
    > > With RSA, anyone that has access to the private key can compute the public
    > > key from that. Hence it is impossible to only give your client access to

    > the
    > > private key but not to the public key.
    > >
    > > Regards,
    > > Pieter Philippaerts
    > > Managed SSL/TLS: http://www.mentalis.org/go.php?sl
    > >
    > >

    >
    >
     
    Michel Gallant, Oct 5, 2003
    #6
  7. Andy Chau

    Andy Chau Guest

    Hi Mikey,

    What I want is a scheme to use two set of keys for encryption/decryption.

    I don't exactly need to use RSA if it cannot do the thing I want, I am just
    looking for a asymmetric crypto alg that will fit the following
    requirements:

    1. Have two set of keys, Key-1 and Key2
    2. Person A can use Key-1 to encrypt, but not decrypt
    3. Person B can use Key-2 to decrypt, but not encrypt
    4. It is computationaly impossible to derive Key-1 from Key-2, and vice
    versa

    As Michael pointed out, RSA is not good for this purpose as getting the
    private key enables anyone to compute the public key easily.

    I am wondering if there is such alg out there that can implement this
    scheme.

    Thanks

    Andy

    "Mickey Williams" <my first name at servergeek.com> wrote in message
    news:Od$...
    > I'm not sure I understand what you're asking for. Doesn't everyone have

    the
    > public key? Isn't its public availablility the very essence of asymmetric
    > encryption? If you're worried that an arbitrary client might be able to

    sign
    > a plain-text message and spoof the producer's identity, provide a

    signature.
    >
    > --
    > Mickey Williams
    > Author, "Microsoft Visual C# .NET Core Reference", MS Press
    > www.servergeek.com
    >
    >
    > "Andy Chau" <> wrote in message
    > news:...
    > > I try to use RSA to implement the following scheme but wasn't sucessful.
    > >
    > > Sever encrypt a message using a public key, the client decrpyt the

    message
    > > using a private key.
    > >
    > > I don't want the client to be able to encrypt a message.
    > >
    > > However, using the Crypto API I need to pass in both the private and

    > public
    > > key pairs in order to decrypt the message.
    > > When the client has both private and public key, it can just use the

    > public
    > > key to encrypt the message which is what I don't want to allow.
    > >
    > > Does anyone know if there is any asymmetric crypto API to implmenet this
    > > scheme?
    > >
    > > Thanks very much in advance,
    > >
    > > Andy
    > >
    > >
    > >

    >
    >
     
    Andy Chau, Oct 5, 2003
    #7
  8. Andy Chau

    Andy Chau Guest

    Yes, you are right.

    That's what make RSA impractical for the scheme I am looking for.
    Do you know if there is any other algorithm out there that is more suitable
    for the things I want to do?

    Thanks

    Andy

    "Michel Gallant" <> wrote in message
    news:...
    > "Andy Chau" <> wrote in message

    news:...
    > > That is true, but you can say the same for being able to compute the

    private
    > > key using the public key.

    >
    > Not TRUE at all .. when you have the public key, you only have the product
    > of the 2 private primes which does not give you the private key (except by
    > some massive unrealizable brute force effort).
    > With private key, you a priori have the 2 primes, and simply multiply them
    > to get the public key ... totally different.
    > - Mitch
    >
    >
    >
    >
    > > Andy
    > >
    > > "Pieter Philippaerts" <> wrote in message
    > > news:ec$...
    > > > "Andy Chau" <> wrote in message
    > > > > When the client has both private and public key, it can just use the
    > > > public
    > > > > key to encrypt the message which is what I don't want to allow.
    > > >
    > > > With RSA, anyone that has access to the private key can compute the

    public
    > > > key from that. Hence it is impossible to only give your client access

    to
    > > the
    > > > private key but not to the public key.
    > > >
    > > > Regards,
    > > > Pieter Philippaerts
    > > > Managed SSL/TLS: http://www.mentalis.org/go.php?sl
    > > >
    > > >

    > >
    > >

    >
    >
     
    Andy Chau, Oct 5, 2003
    #8
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Marshall Dudley

    encrypting and decrypting with perl

    Marshall Dudley, Jan 27, 2005, in forum: Perl
    Replies:
    1
    Views:
    836
    Brian McCauley
    Jan 27, 2005
  2. VB Programmer

    Encrypting/Decrypting Connection String

    VB Programmer, Nov 29, 2004, in forum: ASP .Net
    Replies:
    3
    Views:
    7,734
    Sahil Malik
    Nov 30, 2004
  3. Replies:
    35
    Views:
    51,992
    Chris Uppal
    Nov 9, 2005
  4. dfa_geko
    Replies:
    3
    Views:
    446
    dfa_geko
    Apr 6, 2007
  5. Anders
    Replies:
    0
    Views:
    130
    Anders
    Jun 12, 2005
Loading...

Share This Page