Block "4"
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- rust
- Domínio
- cryptography, security
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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:
- Linguagem predominante
- Rust
- Estrelas
- 25
- Forks
- 18
- Merge médio
- 56min
- PRs com merge (30d)
- 1
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de bcgit/bc-rust
-
Docs refactor: use `#[cfg(doc)]`Talvez já em andamento @Sweesz assumiu hoje. Abertadocumentation good first issue help wanted refactor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Improve docs in FactoriesTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Abertadocumentation good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
bcgit/bc-rust#161 · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
good first issue refactor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Total re-design of Factory?Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
Mantenedores costumam responder em até 1 dia
-
TODO before 1.0.0Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
Mantenedores costumam responder em até 1 dia
Todas as issues de bcgit/bc-rust
Issues semelhantes
-
bug duplicate enhancement priority: low ui
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
storytold/pdfcraft#5594 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
documentation good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
open-jarvis/OpenJarvis#1212 ·
Mantenedores costumam responder em até 4 dias
-
bug good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
CakeRepository/agentshangout#38 ·
Mantenedores costumam responder em até 1 dia