[Cryptography] How to lock registers with GCC?

tpb-crypto at laposte.net tpb-crypto at laposte.net
Mon May 19 20:39:32 EDT 2014


I think I may have bored many of you with my last message in this thread. lol

Regardless of answers, I've kept looking for resources, one fact I found interesting is that MIPS has more registers than ARM, maybe then that would offset the need for debug registers. See this comparative regarding the MIPS-3000 architecture performance by register allocation, page 90, table 1:

http://researchbank.rmit.edu.au/eserv/rmit:2517/n2001000381.pdf

By that comparative, we don't need to use small keys and we could use twofish. Yet for each extra register used to store the key, more operations will be necessary to encrypto/decrypt stuff, thus knocking performance down.


Coming back to the small keys issue. I found this paper that promises good crypto for small keys:

http://www-scf.usc.edu/~adityaav/BE_Project_Paper.pdf

Can you crypto-nerds make an evaluation of that? How much of a compromise in security would we get if we reduced the 112 bit keys to 96 bit keys?

This would be done for MIPS machines, which are the lowest of the low on which we could apply something like a crypto-core. Other architectures would work with other solutions, ie. most ARM 7 CPUs have 6 or more registers that could be used.

Of course we could make things for the latest processors, 64 bits, run twofish and forget it. But then only a fraction of people would benefit from having a crypto-core in their CPUs. Our goal is to make a crypto-core that runs in most machines, even more so in unattended routers and cellphones than servers (which already have options to encrypt memory portions and can run serious PRNGs at little processor cost).


More information about the cryptography mailing list