Block "4"
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- rust
- Bereich
- cryptography, security
Rechercherichtung
Start with core::key_material and the private key loaders for the asymmetric key objects; the issue does not name specific files or tests. First inspect how KeyMaterial currently rejects all zero keys and how loaders handle raw key bytes. Done means a standalone entropy check is exposed and applied to the described key types and loaders, with hazardous operations required for keys that fail the chosen threshold.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
As a lesson-learned from the eMudhra event, sometimes a handle, index, string or fill pattern gets stored where a private scalar or
seed belongs yields a valid keypair with a guessable private key.
Our KeyMaterial object already rejects all-zero keys (unless you load it via a do_hazardous_operations() closure). This ticket asks us to do better.
For example, if loading a symmetric key into a full-entropy key type (KeyType::CryptographicRandom, ::Seed, ::MACKey, ::SymmetricCipherKey), then we should require do_hazardous_operations() if more than 50% of bytes are 0x00. Or maybe we could find a really light statistical entropy test and require do_hazardous_operations() if the key has < 1/2 of the entropy that it's supposed to (ie entropy < 1/2 of its length). (Depending on the false-positive rate of the statistical entropy test we find, we can play with "1/2" to reduce the false positive rate)
We want to protect more than just symmetric keys, so whatever entropy test we add should be exposed by core::key_material as a standalone function and also used by the private key loaders of all the asymmetric private key objects to look at the raw bytes of the private key before parsing it into its structured form (ie lattic vector), or integer.
Inspired by:
- Vorherrschende Sprache
- Rust
- Sterne
- 25
- Forks
- 18
- Ø Merge
- 56 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus bcgit/bc-rust
-
Improve docs in FactoriesEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offendocumentation good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
bcgit/bc-rust#161 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue refactor
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
Maintainer antworten meist innerhalb von 1 Tag
-
Implement AES-XTS.Evtl. vergeben @officialfrancismendoza hat das vor 3 Tagen übernommen. Offen
bcgit/bc-rust#184 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
bcgit/bc-rust#183 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
dekobon/big-code-analysis#1729 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
akitaonrails/ai-memory#1888 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
peteonrails/voxtype#941 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
bug priority:medium triage:maintainable
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
ccusage/ccusage#2000 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag