I *highly* recommend that you read Bruce Schneier's book "PRACTICAL 
CRYPTOGRAPHY" for reasons of how and why to set up a secure channel, 
etc., and why you don't want to roll your own.

--andy


Oleg wrote:
> Thank you for your answers. Could you verify the following scenario:
>
> We generate pair of keys: private and public, for example using RSA.
> After that we incorporate public key to client application and private
> to server. If client wants to login, it calculate hash of password and
> send it to server. Server verify this hash with one that he has in
> database. If hashes are equal, authentication successfull. After that
> client send to server random generated text. Server sign this text
> using his private key and send it back to client. Client verify
> signature using public key. If everything is right, client "knows"
> that he talks with "right" server. After that server and client begin
> DH for generating session key. Server and client will use generated
> session key for encryption and decryption of transmitted data.
>
> Is everything OK in this scenarion or not?
>
> On Aug 17, 11:43 am, Parch <[EMAIL PROTECTED]> wrote:
>   
>> Sorry, I guess I overlooked something - if you've got a limited set of
>> servers, then you don't need a trusted third party to verify the
>> identities of 'new servers' that your application wishes to talk to;
>> you can build the certification into the client application instead.
>>
>> On Aug 17, 5:35 pm, Parch <[EMAIL PROTECTED]> wrote:
>>
>>
>>
>>     
>>> If what you want to know is how to prevent man-in-the-middle attacks,
>>> then I think this article might be helpful:
>>>       
>>> http://www-128.ibm.com/developerworks/linux/library/l-openssl2.html?c...
>>>       
>>> The essential point to remember is you have to be able to prove you
>>> are communicating with a particular person/server (otherwise they
>>> could be anyone). In general this requires there to be someone else
>>> you trust -- which may or may not suit your application.
>>>       
>>> On Aug 17, 2:34 am, Oleg <[EMAIL PROTECTED]> wrote:
>>>       
>>>> Good day.
>>>>         
>>>> We have client-server. Each client use password for authentication,
>>>> server has hashes of passwords. After successfull authentication
>>>> client and server transmits some data.
>>>>         
>>>> We need to encrypt transmitting data. As I understand, reading this
>>>> list, we need to generate session key and encrypt data, using this
>>>> key. I found that DH - one of algorithms for session key generation.
>>>> But it unsecure for the man-in-the-middle attack. Could we somehow use
>>>> password hash to rise the security?
>>>>         
>>>> I would be very much obliged to you if you will give me some
>>>> directions to google.- Hide quoted text -
>>>>         
>> - Show quoted text -
>>     
>
>
> >
>   


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [EMAIL PROTECTED]
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---

Reply via email to