This document describes TinyECC, a configurable library for elliptic curve cryptography (ECC) operations in wireless sensor networks. TinyECC provides optimizations that can be turned on or off to balance performance, memory usage, and energy efficiency for sensor network applications. The document presents the design of TinyECC, background on ECC, optimizations adopted in TinyECC, implementation details, and an experimental evaluation of TinyECC on different sensor platforms. The evaluation analyzes the impact of individual optimizations and identifies the most computationally efficient and storage efficient configurations of TinyECC.