3
$\begingroup$

The password manager I use lets me choose an algorithm from the list below in order to encrypt my password database:

Microsoft Base Cryptographic Provider v1.0:

  • RC2-128
  • RC4-128
  • DES-56
  • 3DES TWO KEY-112
  • 3DES-168

Microsoft Enhanced Cryptographic Provider v1.0:

  • RC2-128
  • RC4-128
  • DES-56
  • 3DES TWO KEY-112
  • 3DES-168

Microsoft Enhanced RSA And AES Cryptographic Provider:

  • RC2-128
  • RC4-128
  • DES-56
  • 3DES TWO KEY-112
  • 3DES-168
  • AES-128
  • AES-192
  • AES-256

Microsoft RSA SChannel Cryptographic Provider:

  • AES-128
  • AES-256
  • RC2-128
  • RC4-128
  • DES-56
  • 3DES TWO KEY-112
  • 3DES-168

Microsoft Strong Cryptographic Provider:

  • RC2-128
  • RC4-128
  • DES-56
  • 3DES TWO KEY-112
  • 3DES-168

The default value is RC4 with the key length of 128 bits from Microsoft Strong Cryptographic Provider.

Now I have two questions:

  1. Which algorithm is the most secure?
  2. Does the algorithm provider matter?

Edit:

@mikeazo♦: I use Kaspersky Password Manager v5.(Unluckily, I don't have enough reputation to leave a comment!)

$\endgroup$
  • 2
    $\begingroup$ Of the listed ciphers there are obvious ones not to use. RC2, RC4, DES. I wouldn't even use the two key 3DES variants. That pretty much leaves you with AES-(128,192,256) or 3DES-168. From there, to answer the question we would need a lot more information about how the cipher is used (what mode of encryption), how much data is being encrypted, how is integrity protected? $\endgroup$ – mikeazo Oct 21 '15 at 15:28
  • 3
    $\begingroup$ AES is the way to go. While 3DES ought to be fine as well, it fails worse if they've done something stupid like using ECB mode. However, much more important is how key derivation from the master password is done. $\endgroup$ – otus Oct 21 '15 at 15:55
  • 1
    $\begingroup$ @Programmer.zip and SecuritySeeker, you appear to have multiple accounts here. That is why you can't comment as you should always be able to comment on posts that you started. To get your accounts merged go here. $\endgroup$ – mikeazo Oct 21 '15 at 15:57
  • $\begingroup$ The provider can matter. For example, maybe one provider has worked really hard to eliminate side channel attacks. That one may be more secure. I've never done the analysis on the specific providers you mention, so I can't really say. $\endgroup$ – mikeazo Oct 21 '15 at 15:59
  • 1
    $\begingroup$ I would recommend you consider using a different software package. This one is providing too many options, most of them are questionable, and some (OMG DES-56) are outright insecure. You should really prefer a password manager written by people who have done their homework and taken the responsibility to make choices like these correctly, not wash their hands off of it and endanger their users who don't know how to choose correctly. $\endgroup$ – Luis Casillas Jun 8 '17 at 20:44
3
$\begingroup$

The number denotes the size of the key used - for a given algorithm, the larger the key, the more secure it is - hence AES-256 is better than AES-192 is better than AES-128.

The key size is measured in bits - so in terms of its protection against a brute force attack (attacker tries all possible keys) a 256 bit password is not twice as hard to break as a 128 bit password, it is 34000000000000000000000000000000000000 times as hard.

But there are other ways to attack encryption - exploiting mathemetical flaws/coincidences in the algorithm. Although 3DES uses 3 56 bit keys, the effective key size is only around 120 bits. But it is still considered better than RC2-128.

Which algorithm is the most secure?

Of those you have listed, AES-256

Does the algorithm provider matter?

No. In effect, it is just a list of available algorithms. But you do need to ensure the algorithm is available anywhere you want to decode the data.

| improve this answer | |
$\endgroup$
2
$\begingroup$

AES-256 is the strongest of them all. 3DES-168 is the strongest (and satisfying if correctly used) among the ones available in all cryptoproviders, which might be a good idea if compatibility with old versions of OSes is an issue (and the software allows to change).

But the matter is moot. What limits security is more likely to be :

  • the integrity of the environment in which the software is run: OS; key-logger (software or hardware); camera or microphone to tap the master password;
  • the master password's strength, combined with the entropy/key stretching used by the software to turn master password into a key of the algorithm;
  • goof or backdoor in the software or cryptoprovider.

Because of the later point, choice of cryptoprovider might matter, but who knows which is safest.. and again that's moot compared to the first and second bullet.

| improve this answer | |
$\endgroup$

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.