Understanding-the-code
Overview
In this page we are going to explain/describe the coherence's code, this code is built with the help of:
params.h
It defines (with preprocessor) which algorithms are going to supported
It defines info_log structure to store the log data
It defines params structure to help to parse json data and share it with the functions
coherence.c
In this file is main function. We create a tcp server with libuv, validate the input, create the logs output and send the client's input to be parsed.
main() displays the banner, create the tcp server, starts the event loop and call on_new_connection()
on_new_connection() accepts the clients, calls alloc_buffer() and on_read()
alloc_buffer() creates the buffer to store client's input
on_read() reads data from socket, starts t
if (nread < 0) an error on reading socket data
if (nread >= 0) data is read, creates log info, validate the buffer with ok_buff(),if the buffer isn't ok close the connection, if the buffer is ok sends the input to PARSING() , writes the answer, parse_log cleans the log structure and prints the log.
Further reading
parsing.h
PARSING() parse the json input with Parsingjson() ,and address the algorithm to its functions
parse_log parse the log, basically delete sensitive information like private keys with Clear2json()
Further reading
parse-func.h
In this file we can find functions to validate inputs from json client input.
crypt-argon2.h
Functions to process argon2 requests
Further reading
crypt-block.h
Functions to process block cipher requests
Further reading
crypt-dh.h
Functions to process Diffie-Hellman requests
Further reading
crypt-dsa.h
Functions to process DSA requests
Further reading
crypt-ecc.h
Functions to process Elliptic Curves requests
Further reading
crypt-hash.h
Functions to process HASh requests
Further reading
crypt-mac.h
Functions to process MAC requests
Further reading
[cmac example] (https://www.cryptopp.com/wiki/CMAC)
crypt-ntru.h
Functions to process NTRU requests
Further reading
crypt-oqs.h
Functions to process Post Quantum Algorithms requests
Further reading
crypt-rand.h
Functions to process Rand numbers generation requests
Further reading
crypt-rsa.h
Functions to process RSA requests
Further reading
crypt-stream.h
Functions to process Stream Ciphers requests
Further reading
Last updated