Niespodzianki podczas weryfikacji podpisów post-kwantowych na MacBooku przez @nuggimane Migracja do kryptografii post-kwantowej wpływa na wydajność w różny sposób, w zależności od sprzętu, oprogramowania, firmware'u i zastosowania. W tym poście migrujemy system Rust z podatnego na kwanty EdDSA do post-kwantowego ML-DSA i mierzymy wydajność na MacBooku Air z 2020 roku z procesorem M1. Chociaż wyniki z tej konkretnej konfiguracji nie przełożą się na każdą maszynę, historia powinna pomóc w dostrzeganiu przypadków brzegowych w twoich własnych migracjach. Migracja systemu Rust z Ed25519 do ML-DSA-44 System Rust, który migrowaliśmy, weryfikował podpisy Ed25519 (specyficzna wersja schematu podpisu EdDSA) w transakcjach blockchain. ML-DSA-44 jest jednym z najbardziej wydajnych pod względem weryfikacji schematów podpisów post-kwantowych zatwierdzonych przez NIST, a raporty pokazują, że może być szybszy niż Ed25519 w weryfikacji. Dlatego wybraliśmy ML-DSA-44 do migracji. Mieliśmy nadzieję, że ten ruch doda bezpieczeństwa post-kwantowego i przyniesie wzrost wydajności, przy czym ML-DSA-44 zajmuje około 23% mniej czasu niż Ed25519 na weryfikację. Kratka używana dla Ed25519 w tym systemie to kratka ed25519-dalek od dalek cryptography. Niestety, ich doskonała kratka zostanie kiedyś zlikwidowana przez komputery kwantowe, więc biorąc pod uwagę nasze wcześniejsze ustalenia dotyczące stanu kryptografii post-kwantowej w Rust, postanowiliśmy zastąpić ją ml-dsa od RustCrypto. Zaczęliśmy od ustawienia dwóch początkowych benchmarków, aby porównać wydajność verify_key.verify na podpisach generowanych przez każdy z schematów... Aby kontynuować czytanie, sprawdź odpowiedź poniżej 👇👇👇