Blinds (i.e. obfuscates) the password.
Turns the password into a pseudo-random string. Blinding is necessary to prevent third-parties form knowing the end user's password.
The user's password.
Computes transformation private and public key.
Input parameters.
Deblinds the transformedPassword
with the previously computed blindingSecret
returned from VirgilPythiaCrypto.blind method.
Input parameters.
Computes the updateToken
based on the old and new transformation private keys.
An updateToken
allows updating existing deblindedPassword
's when rotating the
transformation private key in a way that it will match the original blinded password
when transformed by the new transformation private key.
When doing this, one should also change the pythiaScopeSecret
.
Input parameters.
Generates a cryptographic proof that one is in possession of the secret values that were used to transform the password.
Input parameters.
Transforms blinded password using the private key, generated from pythiaSecret
+
pythiaScopeSecret
.
Input parameters.
Generates new deblindedPassword
by updating the existing one with the updateToken
.
Input parameters.
The new deblindedPassword
Verifies the cryptographic proof that the output of VirgilPythiaCrypto.transform is correct.
Input parameters.
true
if transformed password is correct, otherwise - false
.
Class containing Pythia-related cryptographic operations.