Apple's Screen Sharing / Remote Desktop (ARD) authentication, part of the RFB/VNC protocol family, mandates classic finite-field Diffie-Hellman for its key exchange — there is no alternative to negotiate into, and Apple controls the protocol, not us. A client that wants to authenticate against ARD has no path other than FFDH.
Our usage: vncdotool/rfb.py (_encryptArd) uses dh.DHParameterNumbers/dh.DHPublicNumbers for exactly this. We're tracking the deprecation on our end (sibson/vncdotool#388).
Following up on #15171, which deprecated FFDH in 50.0.0. @alex noted there:
We weren't planning to migrate to decrepit, just deprecate (for a long time) and then remove.
That thread had no concrete interoperability case on the table. decrepit exists precisely for this: CAST5/SEED/IDEA/Blowfish went there in #6809, and 3DES/ARC4 were kept out of deprecation entirely, "due to their prevalence in existing systems." decrepit's own docs: "algorithms that should not be used unless necessary for backwards compatibility or interoperability with legacy systems."
Given there's no migration target for a protocol that mandates FFDH by spec, please reconsider decrepit as FFDH's eventual home instead of outright removal.
Apple's Screen Sharing / Remote Desktop (ARD) authentication, part of the RFB/VNC protocol family, mandates classic finite-field Diffie-Hellman for its key exchange — there is no alternative to negotiate into, and Apple controls the protocol, not us. A client that wants to authenticate against ARD has no path other than FFDH.
Our usage:
vncdotool/rfb.py(_encryptArd) usesdh.DHParameterNumbers/dh.DHPublicNumbersfor exactly this. We're tracking the deprecation on our end (sibson/vncdotool#388).Following up on #15171, which deprecated FFDH in 50.0.0. @alex noted there:
That thread had no concrete interoperability case on the table.
decrepitexists precisely for this: CAST5/SEED/IDEA/Blowfish went there in #6809, and 3DES/ARC4 were kept out of deprecation entirely, "due to their prevalence in existing systems."decrepit's own docs: "algorithms that should not be used unless necessary for backwards compatibility or interoperability with legacy systems."Given there's no migration target for a protocol that mandates FFDH by spec, please reconsider
decrepitas FFDH's eventual home instead of outright removal.