There are the results of my lab works on cryptographic protocols and standards in the summer of 2017.
I realized the following algorithms:
- One-Time Pad
- DES
- AES
- RC4
- RSA
- Hash-Table
- SHA256
- Entropy calculation
- Meet-In-The-Middle attack on 2DES
- Diffie-Hellman key exhange
I used C++ with static library Crypto++ (cryptography algorithms) and MPIR (work with long numbers) for this.
1_OTP:
- ClearConsole using WIN API (System() is evil!): http://www.cplusplus.com/articles/4z18T05o/
- FileExists using WIN API: http://rsdn.org/article/qna/baseserv/fileexist.xml
2_Processes:
- Print process list: http://eax.me/winapi-process-list/
- Set difference beyond 2 map's: http://ru.cppreference.com/w/cpp/algorithm/set_difference
3_DES:
- AES/DES alghs: https://www.cryptopp.com/wiki/Advanced_Encryption_Standard https://www.cryptopp.com/wiki/TripleDES
- ArraySink, ArraySource, Redirector: https://www.cryptopp.com/wiki/ArraySource
6_RSA:
- General description of RSA: https://www.cryptopp.com/wiki/RSA_Encryption_Schemes#RSA_Encryption_Scheme_.28OAEP_and_SHA.29
- Some functions: https://github.com/DF4IAH/xy1en1om/blob/master/Bazaar/tools/encoder/encoder.cpp
7_Hash:
- Some simple hash functions with c++ listings and collision histogram: https://habrahabr.ru/post/219139/
8_SHA256:
- Encryption&Decryption code: http://www.cplusplus.com/forum/beginner/60604/
9_Entropy:
- How to create a Zip file from existing files: https://www.codeproject.com/articles/7530/zip-utils-clean-elegant-simple-c-win
- Convert string to TCHAR*: http://www.cplusplus.com/forum/general/12245/
11_HashTable:
- File attributes list: http://www.vsokovikov.narod.ru/New_MSDN_API/Menage_files/fn_getfileattributes.htm
- How to get attributes of file: http://www.cyberforum.ru/cpp-beginners/thread633547.html
- Convert FILETIME to string: http://rextester.com/DDL72539
- Recursive search: http://eax.me/winapi-file-search/
12_DiffieHellman: