2,250 karma · joined October 16, 2011
This page lists some numbers for different PQ signature algorithms: https://blog.cloudflare.com/another-look-at-pq-signatures/#t... Right now the NIST has selected three different ones (ML-DSA, SLH-DSA, and Falcon a.k.a. FN-DSA) which each have different trade-offs.
SLH-DSA is slow and requires a large amount of data for signatures, however it's considered the most secure of the algorithms (since it's based on the well-understood security properties of symmetric hash algorithms) so it was selected primarily as a "backup" in case the other two algorithms are both broken (which may be possible as they're both based on the same mathematical structure).
ML-DSA and Falcon are both fairly fast (within an order of magnitude of Ed25519, the X25519 curve signature algorithm), but both require significantly larger keys (41x/28x) and signatures (38x/10x) compared to Ed25519. Falcon has the additional constraint that achieving the listed performance in that table requires a hardware FPU that implements IEEE-754 with constant-time double-precision math. CPUs that do not have such an FPU will need to fall back to software emulation of the required floating point math (most phone, desktop, and server CPUs have such an FPU but many embedded CPUs and microcontrollers do not).
The net result is that TLS handshakes with PQ signatures and key exchange may balloon to high single- or double-digit kilobytes in size, which will be especially impactful for users on marginal connections (and may break some "middle boxes" https://blog.cloudflare.com/nist-post-quantum-surprise/#dili...).
Those first three are "enterprise" or B2B applications, where the person buying the software is almost never one of the people actually using the software. This disconnect means that the person making the buying decision cannot meaningfully judge the quality of any given piece of software they are evaluating beyond a surface level (where slick demos can paper over huge quality issues) since they do not know how it is actually used or what problems the actual users regularly encounter.
Edit: Checking Wikipedia to verify my information, I found out that Nissan actually sold a lithium-battery EV in 1997 to comply with the same 90s CARB zero-emissions vehicle mandate that gave us the GM EV-1: https://en.wikipedia.org/wiki/Nissan_R%27nessa#Nissan_Altra
"Are you saying that if I'm using Rust in the Linux kernel, I can use any Rust library, including ones written with the assumption they will be running in userspace? If not, how does that not fracture the community?"
"Are you saying that if I'm using C++ in an embedded environment without runtime type information and exceptions, I can use any C++ library, including ones written with the assumption they can use RTTI/exceptions? If not, how does that not fracture the community?"
You can make this argument about a lot of languages and particular subsets/restrictions on them that are needed in specific circumstances. If you need to write GC-free code in D you can do it. Yes, it restricts what parts of the library ecosystem you can use, but that's not different from any other langauge that has wide adoption in a wide variety of applications. It turns out that in reality most applications don't need to be GC-free (the massive preponderance of GC languages is indicative of this) and GC makes them much easier and safer to write.
I think most people in the D community are tired of people (especially outsiders) constantly rehashing discussions about GC. It was a much more salient topic before the core language supported no-GC mode, but now that it does it's up to individuals to decide what the cost/benefit analysis is for writing GC vs no-GC code (including the availability of third-party libraries in each mode).
[1] https://support.mozilla.org/en-US/kb/firefox-users-windows-7... [2] https://support.google.com/chrome/a/answer/7100626
[1] https://github.com/bbenchoff/MacSSL [2] https://wiki.mozilla.org/Security/Server_Side_TLS
[1] https://www.youtube.com/watch?v=PnpX8d8zRIA&list=PLv0jwu7G_D...
In 2023 a 4K scan of a theatrical print was uploaded to Youtube and despite the slightly rough state of the print it remains the best quality you can view the film today. There's even a pinned comment under the video from the original director thanking the person who uploaded it to Youtube for preserving their film!
Anyways, I went to see if there was an official DVD release of it, and there was but several of the episodes were sourced from off-air TV recordings from reruns in the 1980s because those were the only copies the distributor could find! They were originally planning to release the set without them but asked fans if they could source copies which is how they ended up with those recordings. I didn't end up purchasing it because even the episodes where they had a better quality source weren't mastered particularly well to the point where several reviews said they were borderline unwatchable due to the image getting crushed into murky darkness thanks to the noir lighting and DVD MPEG-2 compression.
struct test {
int my_int;
int *my_ptr;
test() : my_int(0), my_ptr(NULL) {}
};[1] https://security-tracker.debian.org/tracker/source-package/o...
Here's a video demonstrating how to do a full setup (calibration) on a vintage color CRT (timestamp 16:02 for the start of the procedure): https://youtu.be/Oeylkj1vap8?t=962