diff --git a/README.md b/README.md index a76605e..f45d4b6 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,29 @@ In stage 1 we only encrypt file content, the file name is not encrypted. In the future we are going to encrypt the file name also. + + +
+ +AES-CTR algorithm is show as: https://git.hatter.ink/hatter/simple-rust-tests/src/branch/master/__crypto/aes_ctr_test/src/main.rs + + +Algorithm is shown as below: +```rust +let key = ; +let iv = ; + +let plaintext = ; +let ciphertext = <plaintext.len() bytes>; +let plaintext_block_count = ceil(plaintext / 16); + +for counter in 0..plaintext_block_count { + let iv_and_counter = iv + counter.to_be_bytes(); + let encrytped_iv_and_counter = aes_encrypt(key, iv_and_counter); + + for i in 0..encrytped_iv_and_counter { + ciphertext[counter * 16 + i] = encrytped_iv_and_counter[i] ^ plaintext[counter * 16 + i]; + } +} +``` +