<p>I don't see why not.  Most of what you need to do is just modular arithmetic with big integers (around 2^256).  There's no obstruction to doing this on an 8-bit microprocessor, it just takes a few more instructions.  You might even find some existing code for arbitrary-precision arithmetic.  256 bits is 32 bytes, so 8K of memory seems like plenty.</p>

CC BY-SA 3.0
2013-10-04T19:09:35.863Z
2013-10-04T19:09:35.863Z
Nate Eldredge
<p>We are trying to build a much simpler version of <a href="http://www.bitcointrezor.com/" rel="nofollow">Trezor</a>. We do have an finished PCB design from a previous project and would like to know whether this design can be modified, without changing the processor, to sign Bitcoin transactions. The current processor is a <a href="http://www.ti.com/product/cc2540" rel="nofollow">TI CC2540</a>. Is it possible to get a minimalistic secp256k1 implementation to run on it, or are we just out of luck?</p>

<secp256k1><hardware-wallet>
Can secp256k1 be implemented efficiently on a 8-bit processor and very limited RAM?
cdecker
# Can secp256k1 be implemented efficiently on a 8-bit processor and very limited RAM?

(Asked by: username_0 on 2013-10-03)

We are trying to build a much simpler version of [Trezor](http://www.bitcointrezor.com/). We do have an finished PCB design from a previous project and would like to know whether this design can be modified, without changing the processor, to sign Bitcoin transactions. The current processor is a [TI CC2540](http://www.ti.com/product/cc2540). Is it possible to get a minimalistic secp256k1 implementation to run on it, or are we just out of luck?

**Tags:** secp256k1, hardware-wallet


---

## 1 answers

### Answer by username_1 on 2013-10-04. Score: 2 | Accepted answer

I don't see why not. Most of what you need to do is just modular arithmetic with big integers (around 2^256). There's no obstruction to doing this on an 8-bit microprocessor, it just takes a few more instructions. You might even find some existing code for arbitrary-precision arithmetic. 256 bits is 32 bytes, so 8K of memory seems like plenty.


---

