You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: readme.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,11 +18,11 @@ Current version: `v3.0.1`
18
18
19
19
The Advanced Encryption Standard (AES), also known by its original name Rijndael is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST).
20
20
21
-
This implementation currently supports Electronic codebook mode with support for **128/192/256bit keys** and option for **multithreading** for large file encryption. Python bindings generation for the AES library is also supported for easy usage of the AES Library with python scripts.
21
+
This implementation currently supports Electronic Codebook (ECB) mode with 128/192/256-bit keys and support for multi-threading for large file processing. Python bindings generation for the AES library is also supported for easy usage of the AES Library with python scripts.
22
22
23
23
### Speed benchmark
24
24
25
-
Encrypts/Decrypts 3.71 GB data in ~18 seconds on 2.90 GHz Hexa-Core Intel® Core™ i5-10400.
25
+
Encrypts/Decrypts 3.71 GB data in ~18 seconds on a 2.90 GHz Hexa-Core Intel® Core™ i5-10400 CPU.
# Test disabled; use -DENABLE_TESTING=ON to build test cases executable. Not building python bindings by default, use -DPYTHON_BINDINGS_GEN=ON if required.
44
44
```
45
45
46
-
After generating the build files the target can be build using the build tools supported by the current platform. (`make` for Unix systems, `Visual Studio` for Windows and `Xcode` for MacOS)
46
+
After generating the build files the target can be build using the build tools supported by the current platform. (`make` for Unix systems, `Visual Studio` for Windows and `Xcode` for macOS)
47
47
48
48
49
49
### AES Methods (API)
@@ -135,9 +135,9 @@ int main() {
135
135
}
136
136
```
137
137
138
-
### Large file encryption API with multi-threaded file IO
138
+
####Large file encryption API with multi-threaded file IO
139
139
140
-
For example usage please refer to:[`process_file.cpp`](https://github.com/TonyJosi97/aes/blob/master/src/process_file.cpp) file
140
+
For example usage please refer to [`process_file.cpp`](https://github.com/TonyJosi97/aes/blob/master/src/process_file.cpp) file
141
141
142
142
### Example usage of the python bindings module
143
143
@@ -173,7 +173,7 @@ if __name__ == "__main__":
173
173
2. 9, 11 or 13 rounds:
174
174
1.`SubBytes` – a non-linear substitution step where each byte is replaced with another according to a lookup table.
175
175
2.`ShiftRows` – a transposition step where the last three rows of the state are shifted cyclically a certain number of steps.
176
-
3.`MixColumns` – a linear mixing operation which operates on the columns of the state, combining the four bytes in each column.
176
+
3.`MixColumns` – a linear mixing operation that operates on the columns of the state, combining the four bytes in each column.
177
177
4.`AddRoundKey`
178
178
3. Final round (making 10, 12 or 14 rounds in total):
179
179
1.`SubBytes`
@@ -184,17 +184,17 @@ if __name__ == "__main__":
184
184
185
185
#### v3.0 Update Notes
186
186
187
-
* Added python bindings for the aes library for file encryption/decryption
188
-
* Changed file IO to use basic_stream lib of C++ instead of open() to fix a bug arising from incorrect calculation of file size for larger files
187
+
* Added python bindings for the AES library for file encryption/decryption
188
+
* Changed file IO to use basic_stream lib of C++ instead of open() to fix a bug arising from the incorrect calculation of file size for larger files
189
189
* Changed plain enums to enum classes
190
190
* Changed iteration variable type to size_t to support larger files
191
-
* Added D_CRT_SECURE_NO_WARNINGS option to cmake file if target platform is MSVC to avoid error/warning about fopen() in Visual Studio
192
-
* Removed warnings associated with string lib header not used in the aes lib.
191
+
* Added D_CRT_SECURE_NO_WARNINGS option to cmake file if the target platform is MSVC to avoid error/warning about fopen() in Visual Studio
192
+
* Removed warnings associated with string lib header not used in the AES lib.
193
193
194
194
#### To Do:
195
-
* Use pointer based XOR operation instead of loop - individual bytes & XOR
195
+
* Use pointer based XOR operation instead of a loop - individual bytes & XOR
0 commit comments