1 1.9 christos /* $NetBSD: myproposal.h,v 1.27 2026/04/08 18:58:41 christos Exp $ */ 2 1.27 christos /* $OpenBSD: myproposal.h,v 1.78 2026/02/05 22:05:49 djm Exp $ */ 3 1.1 christos 4 1.1 christos /* 5 1.1 christos * Copyright (c) 2000 Markus Friedl. All rights reserved. 6 1.1 christos * 7 1.1 christos * Redistribution and use in source and binary forms, with or without 8 1.1 christos * modification, are permitted provided that the following conditions 9 1.1 christos * are met: 10 1.1 christos * 1. Redistributions of source code must retain the above copyright 11 1.1 christos * notice, this list of conditions and the following disclaimer. 12 1.1 christos * 2. Redistributions in binary form must reproduce the above copyright 13 1.1 christos * notice, this list of conditions and the following disclaimer in the 14 1.1 christos * documentation and/or other materials provided with the distribution. 15 1.1 christos * 16 1.1 christos * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17 1.1 christos * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18 1.1 christos * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19 1.1 christos * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20 1.1 christos * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21 1.1 christos * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 1.1 christos * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 1.1 christos * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 1.1 christos * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25 1.1 christos * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 1.1 christos */ 27 1.4 christos 28 1.19 christos #define KEX_SERVER_KEX \ 29 1.26 christos "mlkem768x25519-sha256," \ 30 1.25 christos "sntrup761x25519-sha512," \ 31 1.24 christos "sntrup761x25519-sha512 (at) openssh.com," \ 32 1.15 christos "curve25519-sha256," \ 33 1.8 christos "curve25519-sha256 (at) libssh.org," \ 34 1.4 christos "ecdh-sha2-nistp256," \ 35 1.4 christos "ecdh-sha2-nistp384," \ 36 1.26 christos "ecdh-sha2-nistp521" \ 37 1.26 christos 38 1.26 christos #define KEX_CLIENT_KEX KEX_SERVER_KEX "," \ 39 1.14 christos "diffie-hellman-group-exchange-sha256," \ 40 1.14 christos "diffie-hellman-group16-sha512," \ 41 1.19 christos "diffie-hellman-group18-sha512," \ 42 1.20 christos "diffie-hellman-group14-sha256" 43 1.8 christos 44 1.3 adam #define KEX_DEFAULT_PK_ALG \ 45 1.21 christos "ssh-ed25519-cert-v01 (at) openssh.com," \ 46 1.4 christos "ecdsa-sha2-nistp256-cert-v01 (at) openssh.com," \ 47 1.4 christos "ecdsa-sha2-nistp384-cert-v01 (at) openssh.com," \ 48 1.4 christos "ecdsa-sha2-nistp521-cert-v01 (at) openssh.com," \ 49 1.21 christos "sk-ssh-ed25519-cert-v01 (at) openssh.com," \ 50 1.20 christos "sk-ecdsa-sha2-nistp256-cert-v01 (at) openssh.com," \ 51 1.27 christos "webauthn-sk-ecdsa-sha2-nistp256-cert-v01 (at) openssh.com," \ 52 1.18 christos "rsa-sha2-512-cert-v01 (at) openssh.com," \ 53 1.18 christos "rsa-sha2-256-cert-v01 (at) openssh.com," \ 54 1.21 christos "ssh-ed25519," \ 55 1.4 christos "ecdsa-sha2-nistp256," \ 56 1.4 christos "ecdsa-sha2-nistp384," \ 57 1.4 christos "ecdsa-sha2-nistp521," \ 58 1.21 christos "sk-ssh-ed25519 (at) openssh.com," \ 59 1.20 christos "sk-ecdsa-sha2-nistp256 (at) openssh.com," \ 60 1.27 christos "webauthn-sk-ecdsa-sha2-nistp256 (at) openssh.com," \ 61 1.13 christos "rsa-sha2-512," \ 62 1.22 christos "rsa-sha2-256" 63 1.1 christos 64 1.8 christos #define KEX_SERVER_ENCRYPT \ 65 1.11 christos "chacha20-poly1305 (at) openssh.com," \ 66 1.26 christos "aes128-gcm (at) openssh.com,aes256-gcm (at) openssh.com," \ 67 1.26 christos "aes128-ctr,aes192-ctr,aes256-ctr" 68 1.8 christos 69 1.17 christos #define KEX_CLIENT_ENCRYPT KEX_SERVER_ENCRYPT 70 1.2 christos 71 1.8 christos #define KEX_SERVER_MAC \ 72 1.7 christos "umac-64-etm (at) openssh.com," \ 73 1.7 christos "umac-128-etm (at) openssh.com," \ 74 1.7 christos "hmac-sha2-256-etm (at) openssh.com," \ 75 1.7 christos "hmac-sha2-512-etm (at) openssh.com," \ 76 1.8 christos "hmac-sha1-etm (at) openssh.com," \ 77 1.8 christos "umac-64 (at) openssh.com," \ 78 1.8 christos "umac-128 (at) openssh.com," \ 79 1.8 christos "hmac-sha2-256," \ 80 1.8 christos "hmac-sha2-512," \ 81 1.8 christos "hmac-sha1" 82 1.8 christos 83 1.13 christos #define KEX_CLIENT_MAC KEX_SERVER_MAC 84 1.8 christos 85 1.19 christos /* Not a KEX value, but here so all the algorithm defaults are together */ 86 1.19 christos #define SSH_ALLOWED_CA_SIGALGS \ 87 1.21 christos "ssh-ed25519," \ 88 1.19 christos "ecdsa-sha2-nistp256," \ 89 1.19 christos "ecdsa-sha2-nistp384," \ 90 1.19 christos "ecdsa-sha2-nistp521," \ 91 1.21 christos "sk-ssh-ed25519 (at) openssh.com," \ 92 1.20 christos "sk-ecdsa-sha2-nistp256 (at) openssh.com," \ 93 1.27 christos "webauthn-sk-ecdsa-sha2-nistp256 (at) openssh.com," \ 94 1.19 christos "rsa-sha2-512," \ 95 1.20 christos "rsa-sha2-256" 96 1.2 christos 97 1.9 christos #define KEX_CLIENT_ENCRYPT_INCLUDE_NONE KEX_CLIENT_ENCRYPT \ 98 1.9 christos ",none" 99 1.9 christos #define KEX_SERVER_ENCRYPT_INCLUDE_NONE KEX_SERVER_ENCRYPT \ 100 1.9 christos ",none" 101 1.9 christos 102 1.15 christos #define KEX_DEFAULT_COMP "none,zlib (at) openssh.com" 103 1.1 christos #define KEX_DEFAULT_LANG "" 104 1.1 christos 105 1.8 christos #define KEX_CLIENT \ 106 1.8 christos KEX_CLIENT_KEX, \ 107 1.8 christos KEX_DEFAULT_PK_ALG, \ 108 1.9 christos KEX_CLIENT_ENCRYPT_INCLUDE_NONE, \ 109 1.9 christos KEX_CLIENT_ENCRYPT_INCLUDE_NONE, \ 110 1.8 christos KEX_CLIENT_MAC, \ 111 1.8 christos KEX_CLIENT_MAC, \ 112 1.8 christos KEX_DEFAULT_COMP, \ 113 1.8 christos KEX_DEFAULT_COMP, \ 114 1.8 christos KEX_DEFAULT_LANG, \ 115 1.8 christos KEX_DEFAULT_LANG 116 1.1 christos 117 1.8 christos #define KEX_SERVER \ 118 1.8 christos KEX_SERVER_KEX, \ 119 1.8 christos KEX_DEFAULT_PK_ALG, \ 120 1.9 christos KEX_SERVER_ENCRYPT_INCLUDE_NONE, \ 121 1.9 christos KEX_SERVER_ENCRYPT_INCLUDE_NONE, \ 122 1.8 christos KEX_SERVER_MAC, \ 123 1.8 christos KEX_SERVER_MAC, \ 124 1.8 christos KEX_DEFAULT_COMP, \ 125 1.8 christos KEX_DEFAULT_COMP, \ 126 1.8 christos KEX_DEFAULT_LANG, \ 127 1.1 christos KEX_DEFAULT_LANG 128