| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.101.0/docs/apis/_sources/otp_protocol_0.rst.txt |
.. index:: single: otp_protocol .. _otp_protocol/0:
.. rst-class:: right
protocol
otp_protocolProtocol for HOTP and TOTP generation and verification as specified in RFC 4226 and RFC 6238.
| Availability:
| logtalk_load(otp(loader))
| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-07-14
| Compilation flags:
| static
| Dependencies: | (none)
| Remarks: | (none)
| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: hotp/5 .. _otp_protocol/0::hotp/5:
hotp/5 ^^^^^^^^^^
Computes an HOTP value for the given hash object, secret, moving counter, and number of digits. The secret can be either a raw byte list or a Base32 wrapper term of the form base32(atom(Atom)), base32(chars(Chars)), or base32(codes(Codes)).
| Compilation flags:
| static
| Template:
| hotp(Hash,Secret,Counter,Digits,OTP)
| Mode and number of proofs:
| hotp(+object_identifier,+term,+integer,+integer,--atom) - one
.. index:: totp/5 .. _otp_protocol/0::totp/5:
totp/5 ^^^^^^^^^^
Computes a TOTP value using the standard 30-second time step and Unix epoch T0 = 0 for the given hash object, secret, Unix time, and number of digits.
| Compilation flags:
| static
| Template:
| totp(Hash,Secret,UnixTime,Digits,OTP)
| Mode and number of proofs:
| totp(+object_identifier,+term,+integer,+integer,--atom) - one
.. index:: hotp_verify/7 .. _otp_protocol/0::hotp_verify/7:
hotp_verify/7 ^^^^^^^^^^^^^^^^^
Verifies an HOTP value by searching from the given counter through the bounded forward counter window. Returns the matched counter on success.
| Compilation flags:
| static
| Template:
| hotp_verify(Hash,Secret,Counter,Window,Digits,OTP,MatchedCounter)
| Mode and number of proofs:
| hotp_verify(+object_identifier,+term,+integer,+integer,+integer,+atom,--integer) - zero_or_one_or_error
.. index:: totp_verify/7 .. _otp_protocol/0::totp_verify/7:
totp_verify/7 ^^^^^^^^^^^^^^^^^
Verifies a TOTP value by searching within the bounded symmetric time-step window around the current time step. Returns the matched time step on success.
| Compilation flags:
| static
| Template:
| totp_verify(Hash,Secret,UnixTime,Window,Digits,OTP,MatchedTimeStep)
| Mode and number of proofs:
| totp_verify(+object_identifier,+term,+integer,+integer,+integer,+atom,--integer) - zero_or_one_or_error
(none)
(none)
(none)
.. seealso::
:ref:`hmac_protocol <hmac_protocol/0>`