Here's what you do. Set up three 28-byte arrays: e, x, and xe. Read your secret key into e. Read a public base, or someone else's public key, into x. Then
nistp224(xe,x,e);will leave your public key, or your shared secret, in xe. That's it!
The nistp224 library isn't a 1.5-megabyte monster that won't fit inside anything smaller than a browser. Version 0.75 of nistp224.a is only 58662 bytes on a Pentium III, 82840 bytes on an UltraSPARC, etc.