40 #include "../VirgilByteArray.h"
41 #include "VirgilPythiaBlindResult.h"
42 #include "VirgilPythiaContext.h"
43 #include "VirgilPythiaTransformationKeyPair.h"
44 #include "VirgilPythiaProveResult.h"
45 #include "VirgilPythiaTransformResult.h"
VirgilPythiaProveResult prove(const VirgilByteArray &transformedPassword, const VirgilByteArray &blindedPassword, const VirgilByteArray &transformedTweak, const VirgilPythiaTransformationKeyPair &transformationKeyPair)
Generates proof that server possesses secret values that were used to transform password.
VirgilPythiaBlindResult blind(const VirgilByteArray &password)
Blinds password.
This class encapsulates Pythia initialization routine.
Definition: VirgilPythiaContext.h:59
This class provides PYTHIA cryptographic functions and primitives.
Definition: VirgilPythia.h:59
VirgilPythiaTransformationKeyPair computeTransformationKeyPair(const VirgilByteArray &transformationKeyID, const VirgilByteArray &pythiaSecret, const VirgilByteArray &pythiaScopeSecret)
Computes transformation private and public key.
Handles result of the method VirgilPythia::blind().
Definition: VirgilPythiaBlindResult.h:50
VirgilByteArray updateDeblindedWithToken(const VirgilByteArray &deblindedPassword, const VirgilByteArray &passwordUpdateToken)
Updates previously stored deblindedPassword with passwordUpdateToken.
std::vector< unsigned char > VirgilByteArray
This type represents a sequence of bytes.
Definition: VirgilByteArray.h:50
VirgilPythiaTransformResult transform(const VirgilByteArray &blindedPassword, const VirgilByteArray &tweak, const VirgilByteArray &transformationPrivateKey)
Transforms blinded password using the private key, generated from pythiaSecret + pythiaScopeSecret.
VirgilByteArray getPasswordUpdateToken(const VirgilByteArray &previousTransformationPrivateKey, const VirgilByteArray &newTransformationPrivateKey)
Computes update token.
VirgilByteArray deblind(const VirgilByteArray &transformedPassword, const VirgilByteArray &blindingSecret)
Deblinds transformedPassword value with previously returned blindingSecret from blind().
Handles result of the method VirgilPythia::prove().
Definition: VirgilPythiaProveResult.h:50
bool verify(const VirgilByteArray &transformedPassword, const VirgilByteArray &blindedPassword, const VirgilByteArray &tweak, const VirgilByteArray &transformationPublicKey, const VirgilByteArray &proofValueC, const VirgilByteArray &proofValueU)
Verifies the output of transform().