Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Possible symmetric cipher enhancements

Ouverte
#183 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
rust
Domaine
cryptography

Piste de recherche

This is a menu of possible cipher enhancements rather than one scoped task: CFB1, OFB, non-96-bit GCM IVs, short GCM tags, alternative CCM formatting, and GMAC/CMAC. A newcomer should first pick one unchecked item, such as OFB, then read the existing Cfb, Cfb8, and CTR implementations and their tests to see how stream-cipher traits are wired. Done means that one mode implements the relevant traits and passes test vectors from SP 800-38A; AES-XTS is already checked off.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Possible additional modes or features for symmetric ciphers:

  • CFB1, the s = 1 segment size (SP 800-38A Appendix F.3.1-F.3.6). Its segment is a single bit, so unlike [Cfb] and [Cfb8] it does not fit a byte-oriented API at all: a message is a bit string whose length need not be a multiple of 8, which this crate has no type for.
  • OFB, the one remaining mode of SP 800-38A. It is a keystream mode and, like CFB, CFB8 and CTR, would implement [StreamCipherEncryptor] / [StreamCipherDecryptor].
  • AES-XTS: https://csrc.nist.gov/pubs/sp/800/38/e/final used primarily in full-disk-encryption systems.
  • GCM with a nonce other than 96 bits (SP 800-38D Algorithm 4 step 2's len(IV) != 96 branch, which derives J0 by GHASHing the IV). Sec 5.2.1.1 recommends restricting support to 96 bits, and [Gcm] does.
  • GCM with a 32- or 64-bit tag (Sec 5.2.1.2, Appendix C). Those need the controlling protocol to bound packet sizes and invocation counts, which this crate cannot enforce.
  • CCM with a formatting function other than Appendix A's. SP 800-38C Sec 5.4 allows alternatives and says "Alternative formatting functions may be developed in the future"; Appendix A's is the only one that exists in practice and the only one [CcmPacket] implements.
  • Add GMAC and CMAC as top-level [`MAC']'s -- note that these behave differently to generic [MAC]s since they require both a key and a (non-zero) IV. Perhaps we could fake that by having the "key" hold both the actual key and the IV?
Langage dominant
Rust
Étoiles
25
Forks
18
Merge moyen
56 min
PR mergées (30 j)
1

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de bcgit/bc-rust

Toutes les issues de bcgit/bc-rust

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.