|
14 | 14 | #![cfg_attr(feature = "getrandom", doc = "```")] |
15 | 15 | #![cfg_attr(not(feature = "getrandom"), doc = "```ignore")] |
16 | 16 | //! # fn main() -> Result<(), Box<dyn core::error::Error>> { |
| 17 | +//! // NOTE: requires the `getrandom` feature is enabled |
| 18 | +//! |
17 | 19 | //! use ascon_aead128::{ |
18 | | -//! AsconAead128, Key, Nonce, |
19 | | -//! aead::{Aead, KeyInit, AeadCore} |
| 20 | +//! aead::{Aead, Generate, KeyInit, AeadCore}, |
| 21 | +//! AsconAead128, AsconAead128Key, AsconAead128Nonce |
20 | 22 | //! }; |
21 | 23 | //! |
22 | | -//! let key = AsconAead128::generate_key().expect("key generation failure"); |
| 24 | +//! let key = AsconAead128Key::generate(); |
23 | 25 | //! let cipher = AsconAead128::new(&key); |
24 | 26 | //! |
25 | | -//! let nonce = AsconAead128::generate_nonce().expect("generate nonce"); // MUST be unique per message |
26 | | -//! let ciphertext = cipher.encrypt(&nonce, b"plaintext message".as_ref())?; |
27 | | -//! |
28 | | -//! let plaintext = cipher.decrypt(&nonce, ciphertext.as_ref())?; |
29 | | -//! assert_eq!(&plaintext, b"plaintext message"); |
30 | | -//! # Ok(()) |
31 | | -//! # } |
32 | | -//! ``` |
33 | | -//! |
34 | | -//! With randomly sampled keys and nonces (requires `getrandom` feature): |
35 | | -//! |
36 | | -#![cfg_attr(feature = "getrandom", doc = "```")] |
37 | | -#![cfg_attr(not(feature = "getrandom"), doc = "```ignore")] |
38 | | -//! # fn main() -> Result<(), Box<dyn core::error::Error>> { |
39 | | -//! use ascon_aead128::{AsconAead128, aead::{Aead, AeadCore, KeyInit}}; |
40 | | -//! |
41 | | -//! let key = AsconAead128::generate_key().expect("key generation failure"); |
42 | | -//! let cipher = AsconAead128::new(&key); |
43 | | -//! |
44 | | -//! let nonce = AsconAead128::generate_nonce().expect("generate nonce"); // MUST be unique per message |
| 27 | +//! let nonce = AsconAead128Nonce::generate(); // MUST be unique per message |
45 | 28 | //! let ciphertext = cipher.encrypt(&nonce, b"plaintext message".as_ref())?; |
46 | 29 | //! |
47 | 30 | //! let plaintext = cipher.decrypt(&nonce, ciphertext.as_ref())?; |
|
74 | 57 | doc = "```ignore" |
75 | 58 | )] |
76 | 59 | //! # fn main() -> Result<(), Box<dyn core::error::Error>> { |
| 60 | +//! // NOTE: requires the `arrayvec` and `getrandom` features are enabled |
| 61 | +//! |
77 | 62 | //! use ascon_aead128::{ |
78 | | -//! AsconAead128, Key, Nonce, |
79 | | -//! aead::{AeadCore, AeadInOut, KeyInit, arrayvec::ArrayVec} |
| 63 | +//! aead::{AeadCore, AeadInOut, Generate, KeyInit, arrayvec::ArrayVec}, |
| 64 | +//! AsconAead128, AsconAead128Key, AsconAead128Nonce |
80 | 65 | //! }; |
81 | 66 | //! |
82 | | -//! let key = AsconAead128::generate_key().expect("key generation failure"); |
| 67 | +//! let key = AsconAead128Key::generate(); |
83 | 68 | //! let cipher = AsconAead128::new(&key); |
84 | 69 | //! |
85 | | -//! let nonce = AsconAead128::generate_nonce().expect("generate nonce"); // MUST be unique per message |
| 70 | +//! let nonce = AsconAead128Nonce::generate(); // MUST be unique per message |
86 | 71 | //! let mut buffer: ArrayVec<u8, 128> = ArrayVec::new(); // Buffer needs 16-bytes overhead for authentication tag |
87 | 72 | //! buffer.try_extend_from_slice(b"plaintext message").unwrap(); |
88 | 73 | //! |
|
0 commit comments