In adaptive functions like PBKDF2 / bcrypt I often read people refer to "iteration count" and others refer to "work factor", and they seem to be used interchangeably (even though they're not - the latter is used to calculate the former).
I also see this (commodity hardware circa 2019):
- iteration count: e.g.
100,000
- work factor: e.g.
16
or17
, i.e.2^16..2^17
(65536..131072
)
I like the idea of work factor as it's simpler to reason with when coding, e.g. I can "increase the work factor" every year, which means go from 16
to 17
, etc. So it's a base-2 "order of magnitude".
However, what is the "correct" nomenclature?