A Dedicated Secure Cryptoprocessor For Librems?

I think it may be an interesting idea to introduce to the Librems.

What I mean is, a dedicated processor for hard-drive encryption methods, especially. When a hard drive is encrypted using something like VeraCrypt it slows down the system immensely, I assume because information must constantly be encrypted/decrypted causing a massive slow-down from all the overhead. It’s especially pronounced when using methods like mine which are cascade combinations of AES Twofish Serpent and Camellia.

I think it’d be nice to have a co-processor inside that can take all this work off of the main CPU - kinda like a GPU does for graphics. That way we hopefully avoid this massive slowdown in the event of hard disk encryption.

If TPM already does this then correct me as I really know little about TPM. I simply thought “Man, encrypted drives sure are slow to do anything from… I wonder if there’s such a thing as an Encryption Processing Unit or EPU?” - then I looked it up and got to “Secure Cryptoprocessor”.

In any case, just thought I’d submit the thought.

2 Likes

Not all librems have TPM. but, all modern cpus have built in crypto processors.

Is this only Intel or also AMD and ARM having equivelants?

From what point onward did they support this? I doubt my laptop with a Sandy Bridge processor has it.

Does it require any kind of special setup process?

It also looks like they only mentioned AES encryption support. I somehow doubt it’ll work for cascades of different ciphers (like AES + Twofish + Serpent).

Intel: Sandy Bridge onwards
AMD: FX (desktop) and Ryzen, Jaguar and Puma (laptop)
ARM: for ARMv8-A (which is what the Librem 5 gets) and presumably onwards

I didn’t see anything there about explicit hardware implementation for other encryption methods, so I imagine that they’d need to be done normally.

EDIT: to clarify, this is being done on the main CPU with some dedicated silicon which should be accessible via user-mode instructions. It’s not a separate processor - think of it as like the floating point “coprocessor” which has basically been part of the main CPU since the 486 days.