I do a "man ciphers" and I see all the cipher suites.
I don't see Diffie Hellman being used with RSA. 

However I do see 

TLS_DH_RSA_WITH_AES_128_CBC_SHA  DH-RSA-AES128-SHA

My guess is that Diffie Hellman is used for key 
agreement and RSA is used for signatures. 

Hope it helps.

regards,
Girish

--- michael Dorrian <[EMAIL PROTECTED]> wrote:

> Not boring at all and thank you for your detailed
> reply. I guess the last part of my question was
> pretty vague. I just wanted to know how the
> diffie-hellman  and RSA public key algorithms work
> together. It seems both are used. But i am not sure
> about exactly how they are used. The diffie hellman
> one is the ephemeral keying one and thats about all
> i know......any help would be great thanks.
> Girish Venkatachalam <[EMAIL PROTECTED]> wrote: 
> Kyle is the best person to explain these things to
> you. However I will make an attempt. Please find
> answers inline.
> 
> --- michael Dorrian wrote:
> 
> > I make a client and server certificate and then
> sign
> > it with the root cert.Are these generated
> > certificates the public keys?
> Yes, certificates are nothing but public keys(in
> this
> case the client and server public keys respectively)
> and some other ancillary information signed by the
> private key of the CA(the root cert's private key in
> your case). 
> 
> Let us take the case of RSA for signing.
> 
> Signing is nothing but the encryption with the
> private
> portion of the RSA keypair of the hash of the
> message
> in question. 
> 
> So in your case, the message consists of the client
> or
> server certificate(public key with ancillary data). 
> 
> So a hash is produced with the above message as
> input.
> SHA1 is the hash algorithm used for that. 
> 
> Once the hash is generated, it is encrypted with the
> CA's private key(root cert in your case). 
> 
> Lo, once you append this RSA encrypted hash, you
> have
> the signature.
> . I can attach small
> > data to an RSA key but usually RSA is not used for
> > actually encrypting the data. Is that right?.
> RSA or for that matter any public key encryption
> scheme is highly computation intensive and also
> unsuitable for messages of arbitrary length. 
> 
> The goal of all public key cryptosystems is either
> key
> exchange or key agreement and of course signing( or
> non repudiation).
> 
> Now if you take any protocol like SSL or ssh ,
> public
> key algorithms are used only for establishing a
> secret
> key between communicating peers, therefore a secret
> key(typically a DES3 or AES key) is encrypted with
> the
> peer's public key and sent across. This is called a
> digital envelope. 
> 
> Since the peer's private key is known only to the
> peer, only the peer can decrypt the secret key and
> hence now secret communications can happen between
> the
> peers.
> 
> This is how SSL works, this is how ssh works, and
> this
> is how most other security protocols would work.
> > A specified cipher suite(e.g sha1 for hashing
> > etc.) is used. This is also where the actual data
> > you send's encryption scheme is also defined. Not
> > really sure about this?.
> SSL RFC defines certain "cipher suites". These are a
> combination of a particular public key algorithm, a
> particular secret key algorithm and mode, and a
> particular HMAC algorithm or a hash algorithm.
> 
> We already saw how the first two are used. The HMAC
> algorithm is used to protect the integrity of the
> transferred messages. i.e, to prevent against
> malicious or accidental tampering of messages. 
> 
> Since hash algorithms like SHA1 or MD5 do not use a
> secret, anybody can modify the message along with
> the
> hash, that is why HMAC in which SHA1 or MD5 is used
> along with a secret key is used for protecting the
> integrity in SSL.
> 
> Well, HMAC is not the only way to do it but ...
> > I also use SSL_OP_EPHEMERAL_RSA and
> > SINGLE_OP_SINGLE_DH_USE So by this i see i use
> > diffie hellman for key exchange and then using RSA
> > encryption for verification. The way this is done
> is
> > very vague. How are both of these used together
> > exactly?. I know how both the diffie hellman and
> RSA
> > algorithms work as public/private keys. I think
> that
> > in this case for verification a crytographic
> > hash(e.g sha1) is made of the generated
> certificates
> > and then this is used to match certs for
> > verification. Also i dont see exactly where my
> > public key and private keys on both the server and
> > client interact to encrypt and decrypt the data.
> Can
> > someone explain this better?.
> Well, I don't know much about what the ephemeral
> options do in SSL but AFAIK the word ephemeral is
> used
> for short lived security associations. So if you use
> an ephemeral key, its lifetime is very short. If I
> understand correctly the way SSL uses ephemeral keys
> is by using the SSL renegotiate option in which
> cipher
> suites are changed on the fly. 
> 
> Again this happens because once a secret channel is
> established, you can always change the secret keys
> used for a new set of messages.
> 
> To answer the second part of the question, public
> and
> private keys really become irrelevant once the SSL
> session is established, since it is practically
> impossible and also unncessary to use them once a
> secret key is established.
> 
> You can try encrypting a large buffer with RSA. Even
> on modern processors, it will take a huge amount of
> time. 
> 
> Again, this is because fundamentally public key
> cryptosystems work very differently from secret key
> cryptosystems.
> 
> Public key cryptosystems use mathematically hard NP
> complete problems like large number factorization or
> discrete log problems(and also elliptic curve
> problems) 
> to encrypt data.
> 
> Whereas secret key cryptosystems are disarmingly
> simple in operation. They simply derive a key
> schedule(in case you are using a block cipher) from
> the secret key and transform input blocks by simple
> EX-OR and other table lookups. 
> 
> Actually it is more than this, but you can think of
> secret key encryption as mere transposition and
> substitution. 
> 
> Also this is what explains why an RSA keysize of
> 2048
> is roughtly equivalent to an AES keysize of 256
> bits. 
> 
> Hope I haven't bored you. 
> 
> regards,
> Girish
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam
> protection around 
> http://mail.yahoo.com 
>
______________________________________________________________________
> OpenSSL Project http://www.openssl.org
> User Support Mailing List openssl-users@openssl.org
> Automated List Manager [EMAIL PROTECTED]
> 
> 
>               
> ---------------------------------
> New Yahoo! Messenger with Voice. Call regular phones
> from your PC for low, low rates.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to