[Cryptography] Email is unsecurable

Arnold Reinhold agr at me.com
Sun Dec 1 18:14:26 EST 2013


On Nov 27, 2013, at 10:25 PM, Benjamin Kreuter <brk7bx at virginia.edu> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> On Wed, 27 Nov 2013 20:00:31 -0500
> Arnold Reinhold <agr at me.com> wrote:
> 
>> We need to ask the question: what will it take today and in the
>> future to get hardware we can trust?
> 
> The ability to fab our own CPUs in our homes, and to do so using
> minimal computing power (i.e. something you could bootstrap from CMOS
> logic). I would not hold my breath, and this is obviously something
> that only experts would be able to do.  A possible compromise would be
> FPGAs, but only if we had a good way to thwart backdoors (e.g. if we
> could randomize the logic in some way).
> 

There are other ways to get trusted hardware besides bootstrapping from CMOS logic. Old PC and Macs with non-reprogrammable firmware, booting off of CD-Rs, are unlikely to be backdoored. Maybe with some research we could develop tools for auditing firmware in some more modern PCs. Old Blackberries might be modified and reprogrammed to serve as portable secure e-mail/IM devices, exchanging encrypted data with modern smartphones or PC via bluetooth.  Arduino class CPUs have little room for back doors; one could make secure e-mail/IM devices using them that one could carry in a pocket. 
 
I suggested one way to randomize FPGA CPUs in a previous post: scrambling the instruction op codes. Many open source tools are already available that could simplify the task. For example the LatticeMico32 is an open 32-bit microprocessor soft core that runs on FPGAs from several manufacturers.  All its instructions have a 6-bit op code (http://www.milkymist.org/socdoc/lm32_archman.pdf) so inserting a 6-bit look up table into the instruction decode might not be that hard. Note that (2^6)! ~= 2^296, so a secret scrambling of the op codes is unlikely to be brute forced. There are only a few classes of instructions in the Mico32 architecture, so it might also be possible and sufficient to just scramble the op codes within each class, without adding any new circuitry. Full open tool chains are available for this CPU, including GCC and several OSs. Adafruit sells a Mojo FPGA Development Board for $80 that includes a Spartan 6 XC6SLX9 FPGA that is capable of running LatticeMico32.  The XC6SLX9 FPGA itself sells for $18 quantity 1.  

I'm not a hardware expert, but the bits and pieces for creating open trusted crypto hardware seem to be there.  

Arnold Reinhold



More information about the cryptography mailing list