Requesting an example
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 25/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- rust
- Ambito
- cryptography, documentation
Direzione di ricerca
Il Cargo.toml dell'issue e il programma Rust che non compila sono i punti di partenza; esamina l'uso di Key, Poly e Nonce di chacha20poly1305 e determina quale esempio dovrebbe essere documentato. Il lavoro è completato quando un esempio di operazione di base e compilabile copre questi tipi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hi! Does anyone have an example of basic operation, that includes a function or struct field containing each relevant type (key, poly, nonce)? Thank you!
Here is my non-compiling attempt:
Cargo.toml:
crypto = { package = "chacha20poly1305", version = "^0.10.1", default-features = false, features = ["rand_core"] }
rand_core = "^0.6.4"
generic-array = "^1.0.0"
Program:
use chacha20poly1305::{
aead::{AeadCore, KeyInit},
ChaCha20Poly1305 as Poly, Nonce
};
use generic_array::GenericArray;
type Key = GenericArray<u8, 12>;
type Nonce2 = GenericArray<u8, 12>;
pub fn make_cipher(rng: &mut Rng) -> (Key, Poly, Nonce) {
let key = Poly::generate_key(rng);
let cipher = Poly::new(&key);
// The nonce is unique per message. 96-bits.
let nonce = Poly::generate_nonce(rng);
(key, cipher, nonce)
}
pub fn encrypt(data: &mut [u8], cipher: &Poly, nonce: &Nonce) {
let ciphertext = cipher.encrypt(&nonce, data).unwrap();
}
pub fn decrypt(data: &mut [u8], cipher: &Poly, nonce: &Nonce) {
let ciphertext = cipher.decrypt(&nonce, data).unwrap();
}
- Lingua principale
- Rust
- Stelle
- 961
- Fork
- 200
- Merge medio
- 2h 50m
- PR unite (30g)
- 3
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di RustCrypto/AEADs
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
RustCrypto/AEADs#864 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
RustCrypto/AEADs#765 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
RustCrypto/AEADs#755 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
RustCrypto/AEADs#706 · 1 commento · 1 reazione ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
RustCrypto/AEADs#660 · 7 commenti ·
Tutte le issue di RustCrypto/AEADs
Issue simili
-
backend::vllm diffusion multimodal
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
lambdaclass/ethrex#7329 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
shadowsocks/shadowsocks-rust#2186 · 1 commento ·
-
[Chore]: Inconsistent wasm-pack binary invocation in justfile breaks cross-platform executionApertaC-bug S-awaiting-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
juspay/hyperswitch#14479 ·
I maintainer di solito rispondono entro 1 giorno