3 ms·
At what point does it make sense to have a separate crypto-core / offload-engine? You could provide all of the isolation and funky instructions that you want w
by akuma73 12y ago
At what point does it make sense to have a separate crypto-core / offload-engine?
You could provide all of the isolation and funky instructions that you want without affecting the general purpose CPU. It may also be more efficient as it is a special purpose processor.
- SoftwareMaven 12y agoThose certainly exist and are used frequently in systems that require very high performance encryption, but what DJB is trying to do is ubiquitize encryption capability. A massive first step was taken when AES instructions were added to Intel CPUs, but more could be done. The advantage of having it be ubiquitous in the CPU is overall cost is reduced and the ability to utilize encryption in more and more places is increased since users aren't stuck waiting.
- oofabz 12y agoCrypto coprocessors have been available for many years. I have one of these in my ancient router: http://soekris.com/products/vpn14x1.html http://soekris.com/products/vpn14x1.html I doubt they will ever become ubiquitous. For most people CPU crypto will always be good enough and saving a few dollars is more important. Otherwise you would already own one.
- throwaway_yy2Di 12y agoI imagine this would only be more expensive in die area and cost, because you'd duplicate existing circuits. For example, one of djb's suggestions is to reuse the existing floating-point unit for crypto: to make small changes, exposing the functionality of the internal, 53-bit integer multiplier that's a component of the 64-bit floating point multiplier. There's already eight of these in each core (with AVX, since 2011), costing a formidable number of transistors. Creating a new crypto unit, either in the CPU or a coprocessor, would duplicate much of them. As djb emphasizes in the article, if it's too expensive it might not make sense for Intel to implement it.
- jph 12y ago> At what point does it make sense to have a separate crypto-core / offload-engine? When you're building servers that need to specialize in encryption. The separate chips are often called "cryptoprocessors". https://en.wikipedia.org/wiki/Secure_cryptoprocessor https://en.wikipedia.org/wiki/Secure_cryptoprocessor An example of commercialized cryptoprocessors: http://www.tiempo-ic.com/products/ip-cores/cryptoprocessors.html http://www.tiempo-ic.com/products/ip-cores/cryptoprocessors.... What DJB is asking (IMHO) is for improvements to general-purpose processors, for example the processor you already have in your laptop.