Skip to main content

RSA Pros:

  • Public/Private key based, messages can be exchanged without sharing the private key
    • Clients only need to send their public key, which ensures that the decryption key can't be compromised during the exchange.
  • Single recipient, a message sent to a specific client can only be read by that client
  • Easily revoke client access, to prevent a client from receiving a message all you need to do is not use their public key

RSA Cons:

  • Computationally expensive, RSA is very demanding of the cpuCPU
  • Battery eater, using RSA frequently will drain the battery of mobile devices

AES Pros:

  • Fast/Energy Efficient, most new processors include instruction sets for AES encryption/decryption

AES Cons:

  • Key based-based, requires all clients to know and use the same key
    • If the key is leaked, all future communication with that key is compromised
    • Anybody with the key can read the message, disallowing for messages to be sent to a specific person within the group
    • Unless you have a specific key for each person, no way to remove access for specific people

As fgrieu@fgrieu stated, "hybrid encryption" would be the best choice for your application. Use RSA to exchange an AES key, that way there's no chance for the AES key to be compromised during the exchange, and you benefit from both the speed of AES and the security of RSA.

RSA Pros:

  • Public/Private key based, messages can be exchanged without sharing the private key
    • Clients only need to send their public key, ensures that the decryption key can't be compromised during exchange.
  • Single recipient, a message sent to a specific client can only be read by that client
  • Easily revoke client access, to prevent a client from receiving a message all you need to do is not use their public key

RSA Cons:

  • Computationally expensive, RSA is very demanding of the cpu
  • Battery eater, using RSA frequently will drain the battery of mobile devices

AES Pros:

  • Fast/Energy Efficient, most new processors include instruction sets for AES encryption/decryption

AES Cons:

  • Key based, requires all clients to know and use the same key
    • If the key is leaked, all future communication with that key is compromised
    • Anybody with the key can read the message, disallowing for messages to be sent to a specific person within the group
    • Unless you have a specific key for each person, no way to remove access for specific people

As fgrieu stated, "hybrid encryption" would be the best choice for your application. Use RSA to exchange an AES key, that way there's no chance for the AES key to be compromised during exchange, and you benefit from both the speed of AES and the security of RSA.

RSA Pros:

  • Public/Private key based, messages can be exchanged without sharing the private key
    • Clients only need to send their public key, which ensures that the decryption key can't be compromised during the exchange.
  • Single recipient, a message sent to a specific client can only be read by that client
  • Easily revoke client access, to prevent a client from receiving a message all you need to do is not use their public key

RSA Cons:

  • Computationally expensive, RSA is very demanding of the CPU
  • Battery eater, using RSA frequently will drain the battery of mobile devices

AES Pros:

  • Fast/Energy Efficient, most new processors include instruction sets for AES encryption/decryption

AES Cons:

  • Key-based, requires all clients to know and use the same key
    • If the key is leaked, all future communication with that key is compromised
    • Anybody with the key can read the message, disallowing for messages to be sent to a specific person within the group
    • Unless you have a specific key for each person, no way to remove access for specific people

As @fgrieu stated, "hybrid encryption" would be the best choice for your application. Use RSA to exchange an AES key, that way there's no chance for the AES key to be compromised during the exchange, and you benefit from both the speed of AES and the security of RSA.

Source Link

RSA Pros:

  • Public/Private key based, messages can be exchanged without sharing the private key
    • Clients only need to send their public key, ensures that the decryption key can't be compromised during exchange.
  • Single recipient, a message sent to a specific client can only be read by that client
  • Easily revoke client access, to prevent a client from receiving a message all you need to do is not use their public key

RSA Cons:

  • Computationally expensive, RSA is very demanding of the cpu
  • Battery eater, using RSA frequently will drain the battery of mobile devices

AES Pros:

  • Fast/Energy Efficient, most new processors include instruction sets for AES encryption/decryption

AES Cons:

  • Key based, requires all clients to know and use the same key
    • If the key is leaked, all future communication with that key is compromised
    • Anybody with the key can read the message, disallowing for messages to be sent to a specific person within the group
    • Unless you have a specific key for each person, no way to remove access for specific people

As fgrieu stated, "hybrid encryption" would be the best choice for your application. Use RSA to exchange an AES key, that way there's no chance for the AES key to be compromised during exchange, and you benefit from both the speed of AES and the security of RSA.