diff --git a/README.md b/README.md
index 1b3a89d..c04f9ba 100644
--- a/README.md
+++ b/README.md
@@ -4,8 +4,9 @@ A list of potentially unsafe ed25519 signature libraries that allow a public api
Μost of the repositories in our analysis are enlisted in [IANIX :: Things that use Ed25519](https://ianix.com/pub/ed25519-deployment.html).
-Number of impacted libraries: 45
-Number of libraries that fixed the issue after the announcement: 8
+* Number of impacted libraries: 45
+* Number of libraries that fixed the issue after the announcement: 8
+
*last updated: May 04, 2023*
## Proof of Concept implementations that demonstrate this potential exploit:
@@ -52,171 +53,76 @@ Fig 1. An example api misuse in the ed25519-dalek Rust crate.
## Affected libraries
-* C: OpenGNB
-[https://github.com/gnbdev/opengnb/blob/master/libs/ed25519/sign.c#L7](https://github.com/gnbdev/opengnb/blob/master/libs/ed25519/sign.c#L7)
-
-* C: GNU Nettle
-[https://github.com/gnutls/nettle/blob/fe7ae87d1b837e82f7c7968b068bca7d853a4cec/ed25519-sha512-sign.c#L43](https://github.com/gnutls/nettle/blob/fe7ae87d1b837e82f7c7968b068bca7d853a4cec/ed25519-sha512-sign.c#L43)
-
-* ASM/C: iroha-ed25519 (Hyperledger Project)
-[https://github.com/hyperledger/iroha-ed25519/blob/main/lib/ed25519/ref10/ed25519.c#L27](https://github.com/hyperledger/iroha-ed25519/blob/main/lib/ed25519/ref10/ed25519.c#L27)
-and
-[https://github.com/hyperledger/iroha-ed25519/blob/main/lib/ed25519/amd64-64-24k-pic/ed25519.c#L30](https://github.com/hyperledger/iroha-ed25519/blob/main/lib/ed25519/amd64-64-24k-pic/ed25519.c#L30)
-
-* C: ed25519-donna (Andrew Moon)
-[https://github.com/floodyberry/ed25519-donna/blob/master/ed25519.c#L59](https://github.com/floodyberry/ed25519-donna/blob/master/ed25519.c#L59)
-
-* C: ed25519 (Orson Peters)
-[https://github.com/orlp/ed25519/blob/master/src/sign.c#L7](https://github.com/orlp/ed25519/blob/master/src/sign.c#L7)
-
-* C: libbrine (Kevin Smith)
-[https://github.com/kevsmith/libbrine/blob/master/src/ed25519/sign.c#L7](https://github.com/kevsmith/libbrine/blob/master/src/ed25519/sign.c#L7)
-
-* C++: Ed25519 (ArduinoLibs)
-[https://rweather.github.io/arduinolibs/classEd25519.html#a36ecf67b4c5d2d39a31888f56af1f8a5](https://rweather.github.io/arduinolibs/classEd25519.html#a36ecf67b4c5d2d39a31888f56af1f8a5)
-
-* C#: ed25519 (Hans Wolff)
-[https://github.com/hanswolff/ed25519/blob/master/Ed25519/Ed25519.cs#L146](https://github.com/hanswolff/ed25519/blob/master/Ed25519/Ed25519.cs#L146)
-
-* C#: Ed25519 (CryptoManiac)
-[https://github.com/CryptoManiac/Ed25519/blob/972829ac688847895d5105f19ca1e5777131b421/Chaos.NaCl/Internal/Ed25519Ref10/keypair.cs#L7](https://github.com/CryptoManiac/Ed25519/blob/972829ac688847895d5105f19ca1e5777131b421/Chaos.NaCl/Internal/Ed25519Ref10/keypair.cs#L7)
-
-* Dart: ed25519_dart (Oleksii Semeshchuk)
-[https://github.com/semolex/ed25519_dart/blob/master/lib/src/ed25519_dart_base.dart#L200](https://github.com/semolex/ed25519_dart/blob/master/lib/src/ed25519_dart_base.dart#L200)
-
-* Dart: riclava_ed25519 (riclava)
-[https://github.com/riclava/ed25519/blob/master/lib/ed25519.dart#L125](https://github.com/riclava/ed25519/blob/master/lib/ed25519.dart#L125)
-
-* Clojure: ed25519 (Kevin Downey)
-[https://github.com/hiredman/ed25519/blob/master/src/ed25519/core.clj#L168](https://github.com/hiredman/ed25519/blob/master/src/ed25519/core.clj#L168)
-
-* Haskell: hs-scraps (Vincent Hanquez)
-[https://github.com/vincenthz/hs-scraps/blob/master/Crypto/Signature/Ed25519.hs#L115](https://github.com/vincenthz/hs-scraps/blob/master/Crypto/Signature/Ed25519.hs#L115)
-
-* Java: ed25519-java (k3d3)
-[https://github.com/k3d3/ed25519-java/blob/master/ed25519.java#L144](https://github.com/k3d3/ed25519-java/blob/master/ed25519.java#L144)
-
-* Java: ed25519 (Bjorn Arnelid)
-[https://github.com/BjornArnelid/ed25519/blob/master/src/ed25519/application/Ed25519.java#L32](https://github.com/BjornArnelid/ed25519/blob/master/src/ed25519/application/Ed25519.java#L32)
-
-* Java: Punisher.NaCl (Arpan Jati)
-[https://github.com/arpanj/Punisher.NaCl/blob/c9619ca3028b90d0556c0473e4eba1d429a3744c/Punisher.NaCl/src/Punisher/NaCl/Ed25519Operations.java#L72](https://github.com/arpanj/Punisher.NaCl/blob/c9619ca3028b90d0556c0473e4eba1d429a3744c/Punisher.NaCl/src/Punisher/NaCl/Ed25519Operations.java#L72)
-
-* Java: ED25519 (Mick Michalski)
-[https://github.com/michami/ED25519/blob/master/ED25519.java#L60](https://github.com/michami/ED25519/blob/master/ED25519.java#L60)
-
-* Java: vRallev/ECC-25519 (Ralf Wondratschek)
-[https://github.com/vRallev/ECC-25519/blob/master/ECC-25519-Java/src/main/java/net/vrallev/java/ecc/Ecc25519Helper.java#L102](https://github.com/vRallev/ECC-25519/blob/master/ECC-25519-Java/src/main/java/net/vrallev/java/ecc/Ecc25519Helper.java#L102)
-
-* Perl: Crypt::Ed25519 (Marc Lehmann)
-[https://metacpan.org/release/MLEHMANN/Crypt-Ed25519-0.9/view/Ed25519.pm#$signature-=-Crypt::Ed25519::sign-$message,-$public_key,-$private_key](https://metacpan.org/release/MLEHMANN/Crypt-Ed25519-0.9/view/Ed25519.pm#$signature-=-Crypt::Ed25519::sign-$message,-$public_key,-$private_key)
-
-* Python: ed25519.py (Ed25519 authors)
-[https://ed25519.cr.yp.to/python/ed25519.py](https://ed25519.cr.yp.to/python/ed25519.py)
-
-* Python: ed25519 (Python Cryptographic Authority)
-[https://github.com/pyca/ed25519/blob/main/ed25519.py#L243](https://github.com/pyca/ed25519/blob/main/ed25519.py#L243)
+* C
+ * OpenGNB [libs/ed25519/sign.c#L7](https://github.com/gnbdev/opengnb/blob/master/libs/ed25519/sign.c#L7)
+ * GNU Nettle [ed25519-sha512-sign.c#L43](https://github.com/gnutls/nettle/blob/fe7ae87d1b837e82f7c7968b068bca7d853a4cec/ed25519-sha512-sign.c#L43)
+ * ed25519-donna (Andrew Moon) [ed25519.c#L59](https://github.com/floodyberry/ed25519-donna/blob/master/ed25519.c#L59)
+ * ed25519 (Orson Peters) [src/sign.c#L7](https://github.com/orlp/ed25519/blob/master/src/sign.c#L7)
+ * libbrine (Kevin Smith) [src/ed25519/sign.c#L7](https://github.com/kevsmith/libbrine/blob/master/src/ed25519/sign.c#L7)
+ * iroha-ed25519 (includes ASM, Hyperledger Project) [lib/ed25519/ref10/ed25519.c#L27](https://github.com/hyperledger/iroha-ed25519/blob/main/lib/ed25519/ref10/ed25519.c#L27)
+ and [lib/ed25519/amd64-64-24k-pic/ed25519.c#L30](https://github.com/hyperledger/iroha-ed25519/blob/main/lib/ed25519/amd64-64-24k-pic/ed25519.c#L30)
+ * libeddsa (Philipp Lay) [lib/ed25519-sha512.c#L85](https://github.com/phlay/libeddsa/blob/master/lib/ed25519-sha512.c#L85)
+ * ncme/c25519 (Daniel Beer and Nikolas Rösener) [src/edsign.c#L115](https://github.com/ncme/c25519/blob/master/src/edsign.c#L115)
+ * luazen (Phil Leblanc) [src/x25519.c#L508](https://github.com/philanc/luazen/blob/master/src/x25519.c#L508) (*authors modified the function to accept pk instead of the original nacl 64-byte sk which includes pk as the last 32 bytes*)
+ * horse25519 (Yawning Angel) [src/ref10/sign.c#L7](https://github.com/Yawning/horse25519/blob/master/src/ref10/sign.c#L7) *Note: This repo includes a copy of djb's ref10 ed25519 implementation lifted from supercop to avoid pulling in another dependency, but the intention is to provide a standalone executable that does ed25519 vanity keypair generation. While it does use the API in an odd way, this is intentional as it's already doing something extremely exotic and unusual with respect to key generation and the lib is not meant to be used for signing.*
+ * FLD ECC AVX2 (Armando Faz-Hern\'{a}ndez and Julio L\'{o}pez and Ricardo Dahab) [src/sign255.c#L391](https://github.com/armfazh/fld-ecc-vec/blob/master/src/sign255.c#L391)
+* C++
+ * amber (Pelayo Bernedo) [src/group25519.cpp#L1661](https://github.com/bernedogit/amber/blob/master/src/group25519.cpp#L1661)
+ * Ed25519 (ArduinoLibs) [https://rweather.github.io/arduinolibs/classEd25519.html#a36ecf67b4c5d2d39a31888f56af1f8a5](https://rweather.github.io/arduinolibs/classEd25519.html#a36ecf67b4c5d2d39a31888f56af1f8a5)
+* C#
+ * ed25519 (Hans Wolff) [Ed25519/Ed25519.cs#L146](https://github.com/hanswolff/ed25519/blob/master/Ed25519/Ed25519.cs#L146)
+ * Ed25519 (CryptoManiac) [Chaos.NaCl/Internal/Ed25519Ref10/keypair.cs#L7](https://github.com/CryptoManiac/Ed25519/blob/972829ac688847895d5105f19ca1e5777131b421/Chaos.NaCl/Internal/Ed25519Ref10/keypair.cs#L7)
+ * SommerEngineering/Ed25519 (Thorsten Sommer) [Ed25519/Signer.cs#L80](https://github.com/SommerEngineering/Ed25519/blob/master/Ed25519/Signer.cs#L80)
+* Dart
+ * ed25519_dart (Oleksii Semeshchuk) [lib/src/ed25519_dart_base.dart#L200](https://github.com/semolex/ed25519_dart/blob/master/lib/src/ed25519_dart_base.dart#L200)
+ * riclava_ed25519 (riclava) [lib/ed25519.dart#L125](https://github.com/riclava/ed25519/blob/master/lib/ed25519.dart#L125)
+* Haskell
+ * hs-scraps (Vincent Hanquez) [Crypto/Signature/Ed25519.hs#L115](https://github.com/vincenthz/hs-scraps/blob/master/Crypto/Signature/Ed25519.hs#L115)
+ * gen-ed25-keypair [awakesecurity/gen-ed25-keypair](https://github.com/awakesecurity/gen-ed25-keypair)
+* Java
+ * ed25519-java (k3d3) [ed25519.java#L144](https://github.com/k3d3/ed25519-java/blob/master/ed25519.java#L144)
+ * ed25519 (Bjorn Arnelid) [src/ed25519/application/Ed25519.java#L32](https://github.com/BjornArnelid/ed25519/blob/master/src/ed25519/application/Ed25519.java#L32)
+ * Punisher.NaCl (Arpan Jati) [Punisher.NaCl/src/Punisher/NaCl/Ed25519Operations.java#L72](https://github.com/arpanj/Punisher.NaCl/blob/c9619ca3028b90d0556c0473e4eba1d429a3744c/Punisher.NaCl/src/Punisher/NaCl/Ed25519Operations.java#L72)
+ * ED25519 (Mick Michalski) [ED25519.java#L60](https://github.com/michami/ED25519/blob/master/ED25519.java#L60)
+ * vRallev/ECC-25519 (Ralf Wondratschek) [ECC-25519-Java/src/main/java/net/vrallev/java/ecc/Ecc25519Helper.java#L102](https://github.com/vRallev/ECC-25519/blob/master/ECC-25519-Java/src/main/java/net/vrallev/java/ecc/Ecc25519Helper.java#L102)
+* JavaScript / TypeScript
+ * supercop.js (1p6 Flynx) [index.js#L29](https://github.com/1p6/supercop.js/blob/master/index.js#L29)
+ * substack/ed25519-supercop (James Halliday) [index.js#L3](https://github.com/substack/ed25519-supercop/blob/master/index.js#L3)
+ * KinomaJS [xs6/extensions/crypt/crypt_ed25519.js#L92](https://github.com/Kinoma/kinomajs/blob/701879d37e7fe5001420e0053cd60df6b91e4553/xs6/extensions/crypt/crypt_ed25519.js#L92) (*Public key is optional*)
+ * mipher (Marco Paland) [src/x25519.ts#L936](https://github.com/mpaland/mipher/blob/master/src/x25519.ts#L936)
+* Python
+ * ed25519.py (Ed25519 authors) [https://ed25519.cr.yp.to/python/ed25519.py](https://ed25519.cr.yp.to/python/ed25519.py)
+ * ed25519 (Python Cryptographic Authority) [ed25519.py#L243](https://github.com/pyca/ed25519/blob/main/ed25519.py#L243)
(*authors mention it’s unsafe against side channels anyway*)
-
-* Python: python-pure25519 (Brian Warner)
-[https://github.com/warner/python-pure25519/blob/master/pure25519/eddsa.py#L21](https://github.com/warner/python-pure25519/blob/master/pure25519/eddsa.py#L21)
-
-* Python: nmed25519 (naturalmessage)
-[https://github.com/naturalmessage/nmed25519/blob/master/nmed25519.py#L150](https://github.com/naturalmessage/nmed25519/blob/master/nmed25519.py#L150)
-
-* Python: ed25519.py (Shiho Midorikawa)
-[https://gist.github.com/elliptic-shiho/f41fd75cc30646a61d7ad63043fdd56e#file-ed25519-py-L77](https://gist.github.com/elliptic-shiho/f41fd75cc30646a61d7ad63043fdd56e#file-ed25519-py-L77)
-
-* Python: bindings for ed25519-dalek: py-ed25519-bindings
-[https://github.com/polkascan/py-ed25519-bindings/blob/master/src/lib.rs#L111](https://github.com/polkascan/py-ed25519-bindings/blob/master/src/lib.rs#L111)
-
-* Swift: ed25519swift (pebble8888)
-[https://github.com/pebble8888/ed25519swift/blob/master/Ed25519ref/ed25519s.swift#L120](https://github.com/pebble8888/ed25519swift/blob/master/Ed25519ref/ed25519s.swift#L120)
-
-* JS: supercop.js (1p6 Flynx)
-[https://github.com/1p6/supercop.js/blob/master/index.js#L29](https://github.com/1p6/supercop.js/blob/master/index.js#L29)
-
-* JS: substack/ed25519-supercop (James Halliday)
-[https://github.com/substack/ed25519-supercop/blob/master/index.js#L3](https://github.com/substack/ed25519-supercop/blob/master/index.js#L3)
-
-* C: libeddsa (Philipp Lay)
-[https://github.com/phlay/libeddsa/blob/master/lib/ed25519-sha512.c#L85](https://github.com/phlay/libeddsa/blob/master/lib/ed25519-sha512.c#L85)
-
-* C#: SommerEngineering/Ed25519 (Thorsten Sommer)
-[https://github.com/SommerEngineering/Ed25519/blob/master/Ed25519/Signer.cs#L80](https://github.com/SommerEngineering/Ed25519/blob/master/Ed25519/Signer.cs#L80)
-
-* CUDA: ChorusOne/solanity
-[https://github.com/ChorusOne/solanity/blob/master/src/cuda-ecc-ed25519/sign.cu#L10](https://github.com/ChorusOne/solanity/blob/master/src/cuda-ecc-ed25519/sign.cu#L10)
-
-* C: ncme/c25519 (Daniel Beer and Nikolas Rösener)
-[https://github.com/ncme/c25519/blob/master/src/edsign.c#L115](https://github.com/ncme/c25519/blob/master/src/edsign.c#L115)
-
-* C: luazen (Phil Leblanc)
-[https://github.com/philanc/luazen/blob/master/src/x25519.c#L508](https://github.com/philanc/luazen/blob/master/src/x25519.c#L508) (*authors modified the function to accept pk instead of the original nacl 64-byte sk which includes pk as the last 32 bytes*)
-
-* C++: amber (Pelayo Bernedo)
-[https://github.com/bernedogit/amber/blob/master/src/group25519.cpp#L1661](https://github.com/bernedogit/amber/blob/master/src/group25519.cpp#L1661)
-
-* C: FLD ECC AVX2 (Armando Faz-Hern\'{a}ndez and Julio L\'{o}pez and Ricardo Dahab)
-[https://github.com/armfazh/fld-ecc-vec/blob/master/src/sign255.c#L391](https://github.com/armfazh/fld-ecc-vec/blob/master/src/sign255.c#L391)
-
-* Elixir: mwmiller/ed25519_ex (Matt Miller)
-[https://github.com/mwmiller/ed25519_ex/blob/master/lib/ed25519.ex#L146](https://github.com/mwmiller/ed25519_ex/blob/master/lib/ed25519.ex#L146)(*Public key is optional. Per author's comment: if only the secret key is provided, the public key will be derived therefrom. This adds significant overhead*)
-
-* PHP (C wrapper): php-ed25519-ext
-[https://github.com/encedo/php-ed25519-ext/blob/master/ed25519-ext.c#L93](https://github.com/encedo/php-ed25519-ext/blob/master/ed25519-ext.c#L93)
-
-* Nim: niv/ed25519.nim (Bernhard Stöckner)
-[https://github.com/niv/ed25519.nim/blob/master/ed25519.nim#L26](https://github.com/niv/ed25519.nim/blob/master/ed25519.nim#L26)
-
-* Typescript: mipher (Marco Paland)
-[https://github.com/mpaland/mipher/blob/master/src/x25519.ts#L936](https://github.com/mpaland/mipher/blob/master/src/x25519.ts#L936)
-
-* Lua: LuaMonocypher
-[https://github.com/philanc/luamonocypher/blob/main/src/luamonocypher.c#L268](https://github.com/philanc/luamonocypher/blob/main/src/luamonocypher.c#L268)
-
-* Crystal: monocypher.cr
-[https://github.com/konovod/monocypher.cr/blob/master/src/monocypher.cr#L39](https://github.com/konovod/monocypher.cr/blob/master/src/monocypher.cr#L39)
-
-* Python: py_ssh_keygen_ed25519 (Péter Szabó)
-[https://github.com/pts/py_ssh_keygen_ed25519/blob/master/ed25519_compact.py#L128](https://github.com/pts/py_ssh_keygen_ed25519/blob/master/ed25519_compact.py#L128) (*Public key is optional*)
-
-* Javascript: KinomaJS
-[https://github.com/Kinoma/kinomajs/blob/701879d37e7fe5001420e0053cd60df6b91e4553/xs6/extensions/crypt/crypt_ed25519.js#L92](https://github.com/Kinoma/kinomajs/blob/701879d37e7fe5001420e0053cd60df6b91e4553/xs6/extensions/crypt/crypt_ed25519.js#L92) (*Public key is optional*)
-
-* Haskell: gen-ed25-keypair
-[https://github.com/awakesecurity/gen-ed25-keypair](https://github.com/awakesecurity/gen-ed25-keypair)
-
-* C: horse25519 (Yawning Angel)
-[https://github.com/Yawning/horse25519/blob/master/src/ref10/sign.c#L7](https://github.com/Yawning/horse25519/blob/master/src/ref10/sign.c#L7) *Note: This repo includes a copy of djb's ref10 ed25519 implementation lifted from supercop to avoid pulling in another dependency, but the intention is to provide a standalone executable that does ed25519 vanity keypair generation. While it does use the API in an odd way, this is intentional as it's already doing something extremely exotic and unusual with respect to key generation and the lib is not meant to be used for signing.*
+ * python-pure25519 (Brian Warner) [pure25519/eddsa.py#L21](https://github.com/warner/python-pure25519/blob/master/pure25519/eddsa.py#L21)
+ * nmed25519 (naturalmessage) [nmed25519.py#L150](https://github.com/naturalmessage/nmed25519/blob/master/nmed25519.py#L150)
+ * ed25519.py (Shiho Midorikawa) [gist.github.com/elliptic-shiho/f41fd75cc30646a61d7ad63043fdd56e#file-ed25519-py-L77](https://gist.github.com/elliptic-shiho/f41fd75cc30646a61d7ad63043fdd56e#file-ed25519-py-L77)
+ * bindings for ed25519-dalek: py-ed25519-bindings [src/lib.rs#L111](https://github.com/polkascan/py-ed25519-bindings/blob/master/src/lib.rs#L111)
+ * py_ssh_keygen_ed25519 (Péter Szabó) [ed25519_compact.py#L128](https://github.com/pts/py_ssh_keygen_ed25519/blob/master/ed25519_compact.py#L128) (*Public key is optional*)
+* Clojure: ed25519 (Kevin Downey) [src/ed25519/core.clj#L168](https://github.com/hiredman/ed25519/blob/master/src/ed25519/core.clj#L168)
+* Crystal: monocypher.cr [src/monocypher.cr#L39](https://github.com/konovod/monocypher.cr/blob/master/src/monocypher.cr#L39)
+* CUDA: ChorusOne/solanity [src/cuda-ecc-ed25519/sign.cu#L10](https://github.com/ChorusOne/solanity/blob/master/src/cuda-ecc-ed25519/sign.cu#L10)
+* Elixir: mwmiller/ed25519_ex (Matt Miller) [lib/ed25519.ex#L146](https://github.com/mwmiller/ed25519_ex/blob/master/lib/ed25519.ex#L146)(*Public key is optional. Per author's comment: if only the secret key is provided, the public key will be derived therefrom. This adds significant overhead*)
+* Lua: LuaMonocypher [src/luamonocypher.c#L268](https://github.com/philanc/luamonocypher/blob/main/src/luamonocypher.c#L268)
+* Nim: niv/ed25519.nim (Bernhard Stöckner) [ed25519.nim#L26](https://github.com/niv/ed25519.nim/blob/master/ed25519.nim#L26)
+* Perl: Crypt::Ed25519 (Marc Lehmann) [https://metacpan.org/release/MLEHMANN/Crypt-Ed25519-0.9/view/Ed25519.pm#$signature-=-Crypt::Ed25519::sign-$message,-$public_key,-$private_key](https://metacpan.org/release/MLEHMANN/Crypt-Ed25519-0.9/view/Ed25519.pm#$signature-=-Crypt::Ed25519::sign-$message,-$public_key,-$private_key)
+* PHP (C wrapper): php-ed25519-ext [ed25519-ext.c#L93](https://github.com/encedo/php-ed25519-ext/blob/master/ed25519-ext.c#L93)
+* Swift: ed25519swift (pebble8888) [Ed25519ref/ed25519s.swift#L120](https://github.com/pebble8888/ed25519swift/blob/master/Ed25519ref/ed25519s.swift#L120)
## Fixed libraries
-* C: Trezor firmware
-Fixed in this PR: [https://github.com/trezor/trezor-firmware/pull/2349](https://github.com/trezor/trezor-firmware/pull/2349) *(Fix merged on June 27, 2022)*
-
-* Java: ed25519-elisabeth (Jack Grigg)
-Fixed in this commit: [https://github.com/cryptography-cafe/ed25519-elisabeth/commit/49545ce47d550fed807522dff86546c812ccbbac](https://github.com/cryptography-cafe/ed25519-elisabeth/commit/49545ce47d550fed807522dff86546c812ccbbac) *(Fix merged on June 19, 2022)*
-
-* C: Harbour (Viktor Szakats)
-Fixed in this commit: [https://github.com/vszakats/hb/commit/bae610b63d35c6c1793d94a3bf9467c3b1eded18](https://github.com/vszakats/hb/commit/bae610b63d35c6c1793d94a3bf9467c3b1eded18) *(Fix merged on June 30, 2022)*
-
-* Rust/Wasm: polkadot-js/wasm
-Fixed in this PR: [https://github.com/polkadot-js/wasm/pull/381/files](https://github.com/polkadot-js/wasm/pull/381/files) *(Fix merged on July 3, 2022)*
-
-* C: horse25519 (Yawning Angel)
-Fixed in this PR: [https://github.com/Yawning/horse25519/pull/3](https://github.com/Yawning/horse25519/pull/3) *(Fix merged on August 15, 2022)*
-
-* Erlang: erlang-libdecaf
-Fixed in this commit: [https://github.com/potatosalad/erlang-libdecaf/commit/16ba07ea122660e95f6cfa9107e28ed58bada713](https://github.com/potatosalad/erlang-libdecaf/commit/16ba07ea122660e95f6cfa9107e28ed58bada713). Logic addressed in this issue: [ed25519-unsafe-libs/issues/7](https://github.com/MystenLabs/ed25519-unsafe-libs/issues/7) *(Fix merged on August 28, 2022)*
-
-* Rust: ed25519-dalek (Isis Agora Lovecruft)
-Fixed in this PR: [https://github.com/dalek-cryptography/ed25519-dalek/pull/205](https://github.com/dalek-cryptography/ed25519-dalek/pull/205) *(Fix merged on October 22, 2022)*
-
-* C: Monocypher (Loup Vaillant)
-Fixed in this commit: [https://github.com/LoupVaillant/Monocypher/commit/da7b5407d20329f21a53ea993f516fb55e2f5e26](https://github.com/LoupVaillant/Monocypher/commit/da7b5407d20329f21a53ea993f516fb55e2f5e26) *(Fix merged on February 27, 2023)*
+* C
+ * Trezor firmware Fixed in [github.com/trezor/trezor-firmware/pull/2349](https://github.com/trezor/trezor-firmware/pull/2349) *(Fix merged on June 27, 2022)*
+ * Monocypher (Loup Vaillant) Fixed in [github.com/LoupVaillant/Monocypher/commit/da7b5407d20329f21a53ea993f516fb55e2f5e26](https://github.com/LoupVaillant/Monocypher/commit/da7b5407d20329f21a53ea993f516fb55e2f5e26) *(Fix merged on February 27, 2023)*
+ * Harbour (Viktor Szakats) Fixed in [github.com/vszakats/hb/commit/bae610b63d35c6c1793d94a3bf9467c3b1eded18](https://github.com/vszakats/hb/commit/bae610b63d35c6c1793d94a3bf9467c3b1eded18) *(Fix merged on June 30, 2022)*
+ * horse25519 (Yawning Angel) Fixed in [github.com/Yawning/horse25519/pull/3](https://github.com/Yawning/horse25519/pull/3) *(Fix merged on August 15, 2022)*
+* Erlang: erlang-libdecaf Fixed in [github.com/potatosalad/erlang-libdecaf/commit/16ba07ea122660e95f6cfa9107e28ed58bada713](https://github.com/potatosalad/erlang-libdecaf/commit/16ba07ea122660e95f6cfa9107e28ed58bada713). Logic addressed in this issue: [ed25519-unsafe-libs/issues/7](https://github.com/MystenLabs/ed25519-unsafe-libs/issues/7) *(Fix merged on August 28, 2022)*
+* Java: ed25519-elisabeth (Jack Grigg) Fixed in [github.com/cryptography-cafe/ed25519-elisabeth/commit/49545ce47d550fed807522dff86546c812ccbbac](https://github.com/cryptography-cafe/ed25519-elisabeth/commit/49545ce47d550fed807522dff86546c812ccbbac) *(Fix merged on June 19, 2022)*
+* Rust
+ * ed25519-dalek (Isis Agora Lovecruft) Fixed in [github.com/dalek-cryptography/ed25519-dalek/pull/205](https://github.com/dalek-cryptography/ed25519-dalek/pull/205) *(Fix merged on October 22, 2022)*
+ * polkadot-js/wasm Fixed in [github.com/polkadot-js/wasm/pull/381/files](https://github.com/polkadot-js/wasm/pull/381/files) *(Fix merged on July 3, 2022)*
## False Positives (probably safe)
Libraries originally reported as vulnerable, but removed from the list based on community feedback.
-* Go: threshold-ed25519 — Threshold Signatures using Ed25519
-[https://gitlab.com/unit410/threshold-ed25519/-/blob/main/pkg/ed25519.go#L161](https://gitlab.com/unit410/threshold-ed25519/-/blob/main/pkg/ed25519.go#L161) -> see report [https://github.com/MystenLabs/ed25519-unsafe-libs/pull/9](https://github.com/MystenLabs/ed25519-unsafe-libs/pull/9) *(reported on Oct 27, 2022 by nitronit)*
+* Go: threshold-ed25519 — Threshold Signatures using Ed25519
+[https://gitlab.com/unit410/threshold-ed25519/-/blob/main/pkg/ed25519.go#L161](https://gitlab.com/unit410/threshold-ed25519/-/blob/main/pkg/ed25519.go#L161) -> see report [github.com/MystenLabs/ed25519-unsafe-libs/pull/9](https://github.com/MystenLabs/ed25519-unsafe-libs/pull/9) *(reported on Oct 27, 2022 by nitronit)*