Here and there and read a lot of articles and blog posts titled "Difference Between Symmetric Cryptography and Asymmetric Cryptography". But inside of them they are answered "What is Symmetric Cryptography? What is Asymmetric Cryptography?" only.
My question is:
- In a war between Symmetric algorithms and Asymmetric algorithms for a project, which one is the winner? (Two algorithm with equal bits of security).
And yes, I know that it depends on the project conditions. The problem is that my colleague's interest to Asymmetric algorithms is an unfounded sense of mind only (Maybe because of the tremendous difference between key-length and calculation times).
So, I explain to different requirements in our project, and I hope you can convince us that which one is better for which case:
There are two entities. A customer and a Seller. Both have their own Smart Cards. Reading and Writing on Customer's card by the desktop application is allowed only if the Seller has his/hes smart card connected to that computer.
Ok, this is my requirement:
There must be a mechanism for Customer card to detect existence of Seller card. I have to option.
1- A Symmetric Key is loaded on both cards. They exchange two random challenges between each other and from the response, detect existence or absence of the other card.
2- Customer or Seller card has loaded with a their private keys that the related public keys are available inside the other card "Only". Each one generate a challenge inside and encrypt it with other entity public key and then sent it to other card. That card decrypt it with its own private key and re-encrypt it with public key of challenge sender and sent the result to it and ....
We need to have an encrypted communication between PC and Cards?
Please choose better choice for all cases:
Case1: Only Req1 is needed.
Case2: Only Req2 is needed.
Case3: Both Req1 and Req2 is needed.
Simply, I appreciate you if let me know their use cases. I mean which cases Asymmetric is better and which cases Symmetric is better?
As a side question, in view of can you please sort AES128, AES192, AES256, RSA1024, RSA2048, ECC160, ECC224, ECC256, ECC384 based on calculation time/speed and security strength? (A did a google search, and found this page comparing approximate strength)