# Digital Signature using symmetric key cryptography

Generally digital signature is a public key cryptography concept.But it needs high overhead. So is there any publication or link available where 'digital signature using symmetric key' has been explained? Can one generate an algorithm combining the public key and private key of RSA algorithm to make it a symmetric key?

-
I don't get your question. What do you mean by symmetric key digital signature? A MAC? Or are you talking about an asymmetric scheme built from symmetric primitives (like hash signatures?) – CodesInChaos Feb 23 '14 at 9:24
It is what MACs are for. They allow you to authenticate a message with a shared secret. Keywords: MAC, HMAC, keyed hash function. – Yolanda Ruiz Feb 23 '14 at 9:42
Read this blog article: blog.cryptographyengineering.com/2014/02/… – izaera Feb 24 '14 at 7:22
In the last part, the paragraph, titled " Indistinguishability Obfuscation" it links a paper which uses obfuscation to turn private crypto into public. I have not read the paper entirely, but they seem to straight into the matter. – izaera Feb 24 '14 at 7:23
"turn private crypto into public" requires black box obfuscation, which is impossible to achieve. Concerning the question: It's not clear what you actually want. If one party should be able to sign and everyone else to verify, then this is public key crypto, you can't achieve this with symmetric schemes. – tylo Feb 24 '14 at 8:52

I have some thoughts about it. If two persons Alice and Bob are sharing secret symmetric key, which known only by them, then if Bob will send to Alice encrypted with key K, message M, it will be enough for proof that M was really created by Bob. Because only Bob knows secret key K, so only he could to encrypt message M with this key. Only one problem for Alice and Bob is how to share key K. So if this problem does not exist, than all public key cryptography would not be needed. But because all conversations between Alice and Bob can be modified by Man in the middle, they have no opportunity to exchange secret key K. And that is why they are using public key cryptography. Bob shared his public key and Alice can use it to proof is received message was created by him.

Regarding your question, you can use symmetric key K for proof that message was created by specific person(for example MAC), but for this you first need to share key. And for this you need to use public key or trusted Key distribution center(which is not as convenience as public key crypto).

-

You may be interested in reading up on the The TESLA Broadcast Authentication Protocol which uses the one-way key chain concept to achieve authentication.

The basic idea of the key chain is to hash a secret key value repeatedly and use the hashes or "keys" in the reverse order for authentication. A simple example would be for Alice to compute

         H(H(H(H(secret key))))


and send this value securely to the Bob. Next, Alice disclose the value of

         H(H(H(secret key))).


Since the hash function, H(.) is assumed to be one-way then any party with knowledge of the pre-image is assumed to be Alice.

The sender uses the most recent value from the one-way chain as a cryptographic key to compute a MAC. Each receiver can verify that the disclosed key is correct (using self-authentication and previously released keys). The authors state that any key of the key chain can serve as a key chain commitment and is similar to a public key of a digital signature

-