Based on the description of SRP, it seems that it would be possible for a client application to cache the hashed password
x and reuse it for subsequent authentifications. The actual password
p doesn't seem to be used for anything but calculating
x on the client side.
In addition to the most obvious advantages of SRP over "regular" client- or server-side hashing (no dictionary attacks possible even on weak passwords), are the following assumptions true?
The server doesn't have to store passwords or password-equivalent data. If the server storage is compromised, an adversary using that information will be unable to impersonate a client after the incident.
The client also doesn't have to store the password or equivalent data: The hashed password can optionally be stored as an authentication token for use without user interaction; alternatively, it can be discarded and recomputed from the salt
sand the user-provided password