====== Algoritmy ======
====== Služby a dostupné implementace ======
==== SSH ====
* Key Exchange
* algoritmus, kterým si klient a server na začátku spojení bezpečně dohodnou společný klíč pro šifrování komunikace
* náhrada Diffie-Hellman
* hrozí harvest now, decrypt later - možnost dešifrování dat zpětně
* **[[https://ntruprime.cr.yp.to/|SNTRUP]]**
* [[https://www.rfc-editor.org/info/rfc9941/|RFC 9941]]
* **[[https://csrc.nist.gov/pubs/fips/203/final|ML-KEM]]**
* [[https://www.rfc-editor.org/info/rfc10042/|RFC 10042]]
* [[https://mikrotik.com/download/changelogs?channelFilter=stable&versionFilter=7.24|RouterOS 7.24]]
* Public Key Algorithms
* algoritmus použitý pro klíče - zajištění autentizace a integrity, tj. ověření odesílatele a nezměněného obsahu zprávy
* náhrada RSA, ECDSA
* k prolomení vyžaduje kvantový počítač nyní
* **[[https://csrc.nist.gov/pubs/fips/204/final|ML-DSA]]**
* [[https://www.ietf.org/archive/id/draft-rpe-ssh-mldsa-03.html|draft-rpe-ssh-mldsa-03]]
* ''mldsa-44'', ''mldsa-65'', ''mldsa-87''
* experimentální podpora v OpenSSH [[https://www.openssh.org/txt/release-10.4|10.4]], [[https://gitlab.com/secsh/pkixssh|PKIX-SSH]]
* Fedora 45/Rawhide
**Dostupnost jednotlivých algoritmů**
^ ^ ''sntrup761x25519-sha512'' | ''mlkem768x25519-sha256'' | ''mlkem768nistp256-sha256'' | ''mlkem1024nistp384-sha384'' | |
| OpenSSH | [[https://www.openssh.org/txt/release-8.5|8.5]] | [[https://www.openssh.org/txt/release-9.9|9.9]] | [[https://www.openssh.org/txt/release-9.9|9.9]] | ✘ | |
| Dropbear | [[https://github.com/mkj/dropbear/releases/tag/DROPBEAR_2025.87|2025.87]] | [[https://github.com/mkj/dropbear/releases/tag/DROPBEAR_2025.87|2025.87]] | ✘ | ✘ | |
| RouterOS | ✘ | [[https://mikrotik.com/download/changelogs?channelFilter=stable&versionFilter=7.24|7.24]] | ✘ | ✘ | |
**Verze OpenSSH v distribucích**
^ | 8.5 | 9.9 |
| Ubuntu | [[https://packages.ubuntu.com/noble/openssh-server|24.04 LTS]] | [[https://packages.ubuntu.com/questing/openssh-server|25.10]] |
| Debian | [[https://packages.debian.org/bookworm/openssh-server|12]] | [[https://packages.debian.org/trixie/openssh-server|13]] |
| RHEL | [[https://bugzilla.redhat.com/show_bug.cgi?id=2070604|9.1]] | [[https://redhat.atlassian.net/browse/RHEL-151499|9.8]] |
| Alpine | [[https://pkgs.alpinelinux.org/package/v3.16/main/x86_64/openssh|v3.16]] | [[https://pkgs.alpinelinux.org/package/v3.21/main/x86_64/openssh|v3.21]] |
| OpenWrt | [[https://github.com/openwrt/packages/pull/20438|22.03.0]] | [[https://github.com/openwrt/packages/pull/25011|24.10]] |
| FreeBSD | [[https://www.freebsd.org/releases/13.2R/relnotes/| 13.2]]/[[https://cgit.freebsd.org/src/commit/?id=676824f5cdf9|14.0]] | [[https://cgit.freebsd.org/src/commit/?id=31dcdee20afc|13.5]]/[[https://cgit.freebsd.org/src/commit/?id=059b786b7db5|14.3]] |
Otestování klienta OpenSSH
$ ssh -Q kex | grep -E 'sntrup|mlkem|mldsa'
Otestování serveru OpenSSH
# sshd -T | grep -i kexalgorithms
Vygenerování klíče OpenSSH
$ ssh-keygen -t mldsa44-ed25519 -f ~/.ssh/[key name]
Nástroj pro otestování SSH obecně včetně enumerace podporovaných algoritmů
$ ssh-audit [host]