Encrypting/Decrypting messages with Elliptic Curves in Arduino
That is a public/private key algorithm. As it is a quite slow operation (takes 1 second to perform each of the calculations on the AVR), it is usually used to exchange secret encryption keys between two systems or cryptographically "sign" data. In key exchange, it is used so that each device must only know it's own private key and the public key of the other device to calculate the same shared secret. This shared secret can then be used as encryption key to a faster symmetrical encryption algorithm used to actually encrypt and decrypt data. So basically, it is not an encryption algorithm itself, just an algorithm used to exchange encryption keys. This kind of reads in the uECC library header as well.