For same chunk of data, which one is faster? Public key encryption or digital signature? Confidentiality is not important. I am trying to achieve non-repudiation for the communication.
Thanks!
For same chunk of data, which one is faster? Public key encryption or digital signature? Confidentiality is not important. I am trying to achieve non-repudiation for the communication.
Thanks!
Digital signatures use public key cryptography, so it's not very clear what you're asking. That being said, public key encryption by itself cannot be used for non-repudiation, so you'll always want digital signatures, regardless of which one is faster.
Whatever you use to create a digital signature will actually use a hashing function inside it. The digital certificate itself won't touch the 100 Gig of data, and isn't worth thinking about yet.
What you should care about is the hashing function used to create the hash that the (optional) private key in the certificate will sign. Encryption is probably irrelevant here.
The answer you need is: Use a SHA1 or SHA2 hash over the data.
If you want to see a comparison of various hashing functions, see this. Note that some of those hashing functions listed are insecure for cryptographic purposes and should't be relied upon
Using Public Key(of the receiver) to encrypt the content will NOT GIVE YOU Non-Repudiation. It only gives INTEGRITY of the content that you know ONLY the legitimate receiver can read the content.
If you want Non-Repudiation that Sender cannot REPUDIATE that he did not send the content, then you will have to sign the content using Private Key of the Sender(aka Digital Signature). Therefore sender cannot deny NOT sending the data, since the signature can be verified using the sender's public key.
you will have to sign
you mean sender will have to sign