I've seen that a number of key stretching algorithms and they involved increasing the number of operations needed to compute the key(i.e. the number of rounds within a hash function). But, I wonder if these approaches are more secure as they increase the number of operations needed by a constant amount not taking into account the computational resources of the device running the implementation.
Wouldn't it be more secure to have the necessary workload increase as a function of the available computing resources?
Or alternatively, without increasing the number of rounds a small challenge could be solved(i.e. guess 32-bit challenge) and incorporating it in the key?