#include "cmix.h" #include "message.h" #include "curve25519.h" #include #include int main(int argc, char* argv[]) { struct Api api = get_curve25519_implementation(); struct KeyPair pair1 = api.create_key_pair(); struct KeyPair pair2 = api.create_key_pair(); struct SharedKey sk1 = api.derive_shared_key(pair1, pair2.pub, false); struct SharedKey sk2 = api.derive_shared_key(pair2, pair1.pub, true); if(memcmp(sk1.shared, sk2.shared, sk1.shared_len) != 0) { exit(-1); } else { printf("Yoepie!"); } api.free_key_pair(pair1); api.free_key_pair(pair2); api.free_shared_key(sk1); api.free_shared_key(sk2); // struct CmixBufferImpl buffer_impl = get_cmix_Curve25519_buffer_implementation(); // char* buffer = buffer_impl.allocate_cmix_buffer(3); // int message_size = buffer_impl.message_length(); // for(int i=0; i < 3; i++) { // buffer[i*message_size] = 'h'; // } // for(int i=0; i < 3; i++) { // putc(buffer[i*message_size], stdout); // putc('\n', stdout); // } // buffer_impl.deallocate_cmix_buffer(buffer); return 0; }