OTP研究记录

本文介绍了基于事件的HOTP(EventTokens)与基于时间的TOTP(TimeTokens)两种双因素认证技术。详细解释了HOTP的数学定义及其转换为6至8位数的过程,并提到了HMAC算法及异或运算的相关资源。
摘要由CSDN通过智能技术生成

基于事件的 
HOTP (Event Tokens)

和基于时间的 
TOTP (Time Tokens)


以下是 HOTP 加密的一些知识
Let:

  • K be a secret key
  • C be a counter
  • HMAC(K,C) = SHA1(K ⊕ 0x5c5c… ∥ SHA1(K ⊕ 0x3636… ∥ C)) be an HMAC calculated with the SHA-1 cryptographic hash algorithm
  • Truncate be a function that selects 4 bytes from the result of h in a defined manner

Then HOTP(K,C) is mathematically defined by

HOTP(K,C) = Truncate(HMAC(K,C)) & 0x7FFFFFFF

The mask is to disregard the most significant bit to provide better interoperability between processors.

For HOTP to be useful for an individual to input to a system, the result must be converted into a HOTP value, a 6–8 digits number that is implementation dependent.

HOTP-Value = HOTP(K,C) mod 10d, where d is the desired number of digits

HMAC算法
http://biz.chinabyte.com/106/2011106.shtml 

 异或算法:
http://www.cnblogs.com/jiangguanghe/archive/2012/02/20/2360553.html

TOTP的类似,但很不一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值