ssh_kex_dh.h File Reference

Diffie-Hellman key exchange. More...

#include "ssh/ssh.h"

Go to the source code of this file.

Functions

error_t sshSendKexDhInit (SshConnection *connection)
 Send SSH_MSG_KEX_DH_INIT message. More...
 
error_t sshSendKexDhReply (SshConnection *connection)
 Send SSH_MSG_KEX_DH_REPLY message. More...
 
error_t sshFormatKexDhInit (SshConnection *connection, uint8_t *p, size_t *length)
 Format SSH_MSG_KEX_DH_INIT message. More...
 
error_t sshFormatKexDhReply (SshConnection *connection, uint8_t *p, size_t *length)
 Format SSH_MSG_KEX_DH_REPLY message. More...
 
error_t sshParseKexDhInit (SshConnection *connection, const uint8_t *message, size_t length)
 Parse SSH_MSG_KEX_DH_INIT message. More...
 
error_t sshParseKexDhReply (SshConnection *connection, const uint8_t *message, size_t length)
 Parse SSH_MSG_KEX_DH_REPLY message. More...
 
error_t sshParseKexDhMessage (SshConnection *connection, uint8_t type, const uint8_t *message, size_t length)
 Parse Diffie-Hellman specific messages. More...
 
error_t sshComputeDhSharedSecret (SshConnection *connection)
 Diffie-Hellman shared secret calculation. More...
 
error_t sshDigestClientDhPublicKey (SshConnection *connection)
 Update exchange hash with client's ephemeral public key. More...
 

Detailed Description

Diffie-Hellman key exchange.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2019-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneSSH Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.0

Definition in file ssh_kex_dh.h.

Function Documentation

◆ sshComputeDhSharedSecret()

error_t sshComputeDhSharedSecret ( SshConnection connection)

Diffie-Hellman shared secret calculation.

Parameters
[in]connectionPointer to the SSH connection
Returns
Error code

Definition at line 632 of file ssh_kex_dh.c.

◆ sshDigestClientDhPublicKey()

error_t sshDigestClientDhPublicKey ( SshConnection connection)

Update exchange hash with client's ephemeral public key.

Parameters
[in]connectionPointer to the SSH connection
Returns
Error code

Definition at line 662 of file ssh_kex_dh.c.

◆ sshFormatKexDhInit()

error_t sshFormatKexDhInit ( SshConnection connection,
uint8_t *  p,
size_t *  length 
)

Format SSH_MSG_KEX_DH_INIT message.

Parameters
[in]connectionPointer to the SSH connection
[out]pBuffer where to format the message
[out]lengthLength of the resulting message, in bytes
Returns
Error code

Definition at line 185 of file ssh_kex_dh.c.

◆ sshFormatKexDhReply()

error_t sshFormatKexDhReply ( SshConnection connection,
uint8_t *  p,
size_t *  length 
)

Format SSH_MSG_KEX_DH_REPLY message.

Parameters
[in]connectionPointer to the SSH connection
[out]pBuffer where to format the message
[out]lengthLength of the resulting message, in bytes
Returns
Error code

Definition at line 228 of file ssh_kex_dh.c.

◆ sshParseKexDhInit()

error_t sshParseKexDhInit ( SshConnection connection,
const uint8_t *  message,
size_t  length 
)

Parse SSH_MSG_KEX_DH_INIT message.

Parameters
[in]connectionPointer to the SSH connection
[in]messagePointer to message
[in]lengthLength of the message, in bytes
Returns
Error code

Definition at line 322 of file ssh_kex_dh.c.

◆ sshParseKexDhMessage()

error_t sshParseKexDhMessage ( SshConnection connection,
uint8_t  type,
const uint8_t *  message,
size_t  length 
)

Parse Diffie-Hellman specific messages.

Parameters
[in]connectionPointer to the SSH connection
[in]typeSSH message type
[in]messagePointer to message
[in]lengthLength of the message, in bytes
Returns
Error code

Definition at line 574 of file ssh_kex_dh.c.

◆ sshParseKexDhReply()

error_t sshParseKexDhReply ( SshConnection connection,
const uint8_t *  message,
size_t  length 
)

Parse SSH_MSG_KEX_DH_REPLY message.

Parameters
[in]connectionPointer to the SSH connection
[in]messagePointer to message
[in]lengthLength of the message, in bytes
Returns
Error code

Definition at line 410 of file ssh_kex_dh.c.

◆ sshSendKexDhInit()

error_t sshSendKexDhInit ( SshConnection connection)

Send SSH_MSG_KEX_DH_INIT message.

Parameters
[in]connectionPointer to the SSH connection
Returns
Error code

Definition at line 59 of file ssh_kex_dh.c.

◆ sshSendKexDhReply()

error_t sshSendKexDhReply ( SshConnection connection)

Send SSH_MSG_KEX_DH_REPLY message.

Parameters
[in]connectionPointer to the SSH connection
Returns
Error code

Definition at line 125 of file ssh_kex_dh.c.