[−][src]Module yogcrypt::sm4
An implementation of the SM4 block cipher standard.
Usage
extern crate yogcrypt; use yogcrypt::sm4::{sm4_enc, sm4_dec}; let m = b"ajfkdljfldsjkfsd"; let p_txt = b"1234567890abcdef"; let c_txt = sm4_enc(m, p_txt); let p_txt2 = sm4_dec(m, &c_txt); assert_eq!(p_txt, &p_txt2);
Note
When implementing block cipher modes, one is highly encouraged to use [u32] representation to
avoid frequent conversions. Also, the round keys can be computed only once at the beginning.
Reference
Most variable's name are same as those in the Document written by the Encryption Administration.
Constants
| BLOCK_SIZE | |
| KEY_SIZE | |
| RND_KEY_SIZE |
Functions
| get_sm4_r_k |
Compute round keys from a given key. |
| sm4_dec |
Decrypt |
| sm4_dec_inner |
Core function of sm4 decryption |
| sm4_enc |
Encrypt |
| sm4_enc_inner |
Core function for sm4 encryption |
Type Definitions
| Block | |
| Key |