A computer-implemented authentication method comprising an enrolment step comprising: ∘ receiving fuzzy data from a noisy authentication factor, and fixed authentication data, ∘ generating a secret string independently from said received fuzzy data and said received fixed authentication data, using a random number generator, ∘ deriving metadata from said fuzzy data and said secret string and helper data from a hash of said secret string, a hash descriptor and said metadata, ∘ encrypting said helper data using said fixed authentication data as encryption key; ∘ outputting said encrypted helper data as public data, and an authentication step comprising ∘ receiving said public data output during said enrolment step, further fuzzy data and said fixed authentication data, ∘ decrypting said received public data using said fixed authentication data as decryption key, ∘ recovering said helper data from said decrypted public data, ∘ reproducing said secret string using said further fuzzy data and recovered metadata obtained via said recovered helper data, ∘ validating said reproduced secret string using said recovered helper data, ∘ releasing said reproduced secret string if said validating yields a positive outcome. authentication method comprising an enrolment step comprising: ∘ receiving fuzzy data from a noisy authentication factor, and fixed authentication data, ∘ generating a secret string independently from said received fuzzy data and said received fixed authentication data, using a random number generator, ∘ deriving metadata from said fuzzy data and said secret string and helper data from a hash of said secret string, a hash descriptor and said metadata, ∘ encrypting said helper data using said fixed authentication data as encryption key; ∘ outputting said encrypted helper data as public data, ∘ receiving fuzzy data from a noisy authentication factor, and fixed authentication data, ∘ generating a secret string independently from said received fuzzy data and said received fixed authentication data, using a random number generator, ∘ deriving metadata from said fuzzy data and said secret string and helper data from a hash of said secret string, a hash descriptor and said metadata, ∘ encrypting said helper data using said fixed authentication data as encryption key; ∘ outputting said encrypted helper data as public data, and an authentication step comprising ∘ receiving said public data output during said enrolment step, further fuzzy data and said fixed authentication data, ∘ decrypting said received public data using said fixed authentication data as decryption key, ∘ recovering said helper data from said decrypted public data, ∘ reproducing said secret string using said further fuzzy data and recovered metadata obtained via said recovered helper data, ∘ validating said reproduced secret string using said recovered helper data, ∘ releasing said reproduced secret string if said validating yields a positive outcome. ∘ receiving said public data output during said enrolment step, further fuzzy data and said fixed authentication data, ∘ decrypting said received public data using said fixed authentication data as decryption key, ∘ recovering said helper data from said decrypted public data, ∘ reproducing said secret string using said further fuzzy data and recovered metadata obtained via said recovered helper data, ∘ validating said reproduced secret string using said recovered helper data, ∘ releasing said reproduced secret string if said validating yields a positive outcome.