From e31daa191a4e9ec3c082bc1838512bf58c40e171 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Sun, 22 Dec 2024 02:00:37 +0100 Subject: [PATCH] added totp --- manual.pdf | Bin 59260 -> 65196 bytes src/misc.typ | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/manual.pdf b/manual.pdf index c16fb56f178b8afb3199210703aafa6a6b16def0..5ab4cafacee57febb8d337ac3c2833a767da58bb 100644 GIT binary patch delta 43219 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 F{{syDLEiuX diff --git a/src/misc.typ b/src/misc.typ index 3a9178d..df51f3e 100644 --- a/src/misc.typ +++ b/src/misc.typ @@ -1,7 +1,8 @@ #import "utils.typ": xor-bytes #import "sha.typ": sha1 #import "md.typ": md4 -#import "utils.typ": utf8-to-utf16le +#import "utils.typ": utf8-to-utf16le, z-fill +#import "base.typ": b32-decode #let _compute-block-sized-key(key, hash-func: sha1, block-size: 64) = { if key.len() > block-size { @@ -15,6 +16,18 @@ return key } +#let _extract31(value) = { + let bytes = array(value) + let i = bytes.last().bit-and(0xf) + let selected-bytes = ( + bytes.at(i).bit-and(0x7f), + bytes.at(i+1), + bytes.at(i+2), + bytes.at(i+3) + ) + return selected-bytes.fold(0, (a, b) => a.bit-lshift(8).bit-or(b)) +} + /// Hash-based Message Authentication Code /// ```example /// #bytes-to-hex(hmac("Key", "Hello World!")) @@ -56,4 +69,50 @@ /// -> bytes #let ntlm(password) = { return md4(utf8-to-utf16le(password)) +} + +/// Time-based One-Time Password +/// ```example +/// #let epoch = datetime( +/// year: 1970, month: 1, day: 1, +/// hour: 0, minute: 0, second: 0 +/// ) +/// #let date = datetime( +/// year: 2025, month: 1, day: 4, +/// hour: 12, minute: 53, second: 30 +/// ) +/// #totp( +/// b32-encode(bytes("YOUPI")), +/// (date - epoch).seconds() +/// ) +/// ``` +/// -> str +#let totp( + /// Secret key. Either bytes or a base32-encode value + /// -> str | bytes + secret, + /// Current time (seconds since t0) + /// -> int + time, + /// Time origin + /// -> int + t0: 0, + /// Code duration + /// -> int + period: 30, + /// Code length + /// -> int + digits: 6 +) = { + let secret = if type(secret) == str {b32-decode(secret)} else {secret} + assert(type(secret) == bytes, message: "secret must be a string or bytes, but is " + repr(type(secret))) + + let count = int(calc.div-euclid(time - t0, period)) + let count-bytes = count.to-bytes(endian: "big", size: 8) + + let digest = hmac(secret, count-bytes) + let hotp = _extract31(digest) + let code = calc.rem(hotp, calc.pow(10, digits)) + + return z-fill(str(code), digits) } \ No newline at end of file