While I know that salt should never be reused, I'm interested in whether it is a significant problem if we only have a small number of hashes for which it is reused.
So let's say we have a table with N
password hashes for which the same salt is used. The salt is unique but it's reused for all the hashes.
Does the table size have an impact on how much security is lost? For example a table holding only one password would obviously have zero security loss, while a table holding 10 passwords would be less secure, but not significantly so.
Does the amount of security loss depend of the size N
, and at what point does a rainbow table become cost effective? At what point does security become seriously compromised? Is it N=10
, or N=100
, or N=1000
?
Edit: Let's also assume that every password is unique in the table. We are not interested in any other kind of security loss except rainbow tables becoming more cost effective.
Edit 2: Let's say we measure computational expense in terms of teraFLOPS per password cracked. Cost-effectiveness really depends on the expected payoff of course, but let's just put an arbitrary value - we consider 1 teraFLOP / password cracked to be cost effective.