What types of algorithms that are capable of signing a message are out there that run on a physical level, e.g. lacking the infrastructure of a standard PC, no memory, processor or motherboard in the traditional sense?

I'm curious whether there are some strong really low level implementations (if these statements don't contradict each other)

  • $\begingroup$ There are some ASICs that do specialized crypto such as SHA or AES but... a computer with no processor is still a computer? $\endgroup$
    – rath
    May 19 '13 at 0:38
  • $\begingroup$ There are also smart cards with integrated circuits. Do they count? $\endgroup$
    – Reid
    May 19 '13 at 1:20

It is well known that you can compute any combinatoric function (and hence, any encryption method) with a sufficient number of NAND gates, and so the answer to your question would appear to be "yes, any algorithm is able to run on a "physical level", without a fancy GUI, multitheaded operating system, memory, processor or even a motherboard".

However, I do notice that in the question title, you mention "Encryption", while in the text, you mention "Signing". Now, we in the cryptographical community use those terms to mean rather different things:

  • Encryption means a method of transforming the data in such a way that someone without the 'key' cannot read it (but someone with the key can).

  • Signing means a method of producing a tag with the data and a 'private key', in such a way that someone with the 'public key' can verify that the data and the tag correspond to each other.

In addition, there is a third option, which we don't call signing, but is sometimes confused with it:

  • A Message Authentication Code (MAC) is a method of producing a tag with the data and a 'key' in such a way that someone else with the 'key' can verify that the data and the tag correspond to each other.

Signatures and MAC do sound similar; the distinction is that with a MAC, the person authenticating the MAC can also generate valid MACs if he wants; with a signature, someone with only the public key cannot generate valid signatures. This is a distinction that sometimes comes in handy, however known signature methods are considerably more expensive than MACs. Because of this, we never use a signature unless we need this additional property.

Now that we have defined the terms, we can get back to your question: is your question about encryption, signature generation or MACs?

Well, in practice, it is quite possible to encrypt data or generate MACs without any processor being involved, and we actually sometimes do it in practice.

When we're talking about generating signatures, well, it's more questionable. Generating a signature is considerably more complex; you could do it without an internal processor (using a pile of NAND gates), however, it's not clear why anyone would choose to. I don't know the internals of every crypto chip that does signatures (or even the internals of everything I've used), but of the ones that I do know, they all have an internal processor involved (at the very least, to orchestrate the signature process)


There are cryptography algorithms for hardware applications with restricted resources such as limited storage, gate count, or power consumption. and as @rath said There are some ASICs that do specialized crypto such as SHA or AES. But:
What is the communication protocol?
Is the communication protocol implemented on the hardware?
Which part of data should be encrypted?
And many other questions about structure and protocol......?
If the protocol is TCP/IP and HTTP header of packets should not be encrypted. And the hardware should separate header and data part. All such processes needs processing on the hardware. SecNet 54 is a hardware that has physical level encryption but building such a hardware can be technically complicated.

  • $\begingroup$ Doesn't really matter, I am whether secure algorithms exist, algorithms that consume as little power as possible to calculate. E.g. a standard calculator would be able to pull it off with its hardware/battery. $\endgroup$
    – Maxim T
    May 19 '13 at 21:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.