A method for enabling authentication of a prover in a system comprising said prover and a verifier, said method comprising the steps of: said prover sending a prover identifier and a parent identifier to said verifier, said verifier sending a verifier identifier to said prover, said prover calculating a first common secret by means of a prover polynomial, where an unknown in said prover polynomial is substituted by a result calculated using a function of at least said verifier identifier and a first value of a parameter, said prover calculating a second common secret by means of said prover polynomial, wherein an unknown in said prover polynomial is substituted by a result calculated using a function of at least said verifier identifier and a second value of a parameter, said verifier calculating said first common secret by means of a first verifier polynomial associated with said first value of said parameter, wherein a first unknown in said first verifier polynomial is substituted by said prover identifier and a second unknown in said first verifier polynomial is substituted by said parent identifier, said verifier calculating a second common secret by means of a second verifier polynomial associated with said second value of said parameter, wherein a first unknown in said second verifier polynomial is substituted by said prover identifier and a second unknown in said second verifier polynomial is substituted by said parent identifier, said prover creating a first message by modulating a first core secret with regard to at least said first common secret, said prover creating a second message by modulating said first core secret with said second common secret, said prover sending said first message to said verifier, said prover sending said second message to said verifier, said verifier creating a first candidate for said first core secret by demodulating said first message with said first common secret, said verifier creating a second candidate for said first core secret by demodulating said second message with said second common secret, and said verifier conditionally authenticating said first core secret being said first candidate of said first core secret, said verifier condition comprising at least that a value of said first candidate for said first core secret equals a value of said second candidate for said first core secret. said prover sending a prover identifier and a parent identifier to said verifier, said verifier sending a verifier identifier to said prover, said prover calculating a first common secret by means of a prover polynomial, where an unknown in said prover polynomial is substituted by a result calculated using a function of at least said verifier identifier and a first value of a parameter, said prover calculating a second common secret by means of said prover polynomial, wherein an unknown in said prover polynomial is substituted by a result calculated using a function of at least said verifier identifier and a second value of a parameter, said verifier calculating said first common secret by means of a first verifier polynomial associated with said first value of said parameter, wherein a first unknown in said first verifier polynomial is substituted by said prover identifier and a second unknown in said first verifier polynomial is substituted by said parent identifier, said verifier calculating a second common secret by means of a second verifier polynomial associated with said second value of said parameter, wherein a first unknown in said second verifier polynomial is substituted by said prover identifier and a second unknown in said second verifier polynomial is substituted by said parent identifier, said prover creating a first message by modulating a first core secret with regard to at least said first common secret, said prover creating a second message by modulating said first core secret with said second common secret, said prover sending said first message to said verifier, said prover sending said second message to said verifier, said verifier creating a first candidate for said first core secret by demodulating said first message with said first common secret, said verifier creating a second candidate for said first core secret by demodulating said second message with said second common secret, and said verifier conditionally authenticating said first core secret being said first candidate of said first core secret, said verifier condition comprising at least that a value of said first candidate for said first core secret equals a value of said second candidate for said first core secret.