This is an implementation of the Ed25519 elliptic curve digital signature algorithm using 32-bit integers in C. It can be used as a reference for systems which do not have 64-bit data types, such as programmable logic controllers.
256-bit values are represented using N B-bit pieces, with N=22 and B=12, stored in N 32-bit unsigned integers. This enables multiplication of two sums for EdDSA point addition to be done without reducing the coefficients until the end.
impl.tar.gz - download
src/ - browse files - see impl.h and impl.c, everything else is for testing