基於OTP的AES資料加密

2021-07-23 06:26:23 字數 559 閱讀 7976

單次有效密碼,即使用一次就失效的密碼,也就說每次使用都是乙個不同的密碼。現在普遍用來作為認證的二次驗證。這種二次驗證的好處是能有效抵禦暴力破解。

要使用這種密碼就得有生產此種密碼的生成方式:

- htop(hmac-based one-time password algorithm) 基於計數器生成密碼

- totp(time-based one-time password algorithm) 基於htop,時間作為計數器

基於aes + totp 的加密向量固定,動態生成密碼(16位)

aestotp(data, iv, key, tm, tmstep, ws) = aes(data, iv, totp(key, tm, tmstep, ws)) = aes(data, iv, aeskey)

時間容錯

為了處理伺服器時間差異和傳輸時間損耗導致的時間不一致,設定時間視窗大小為3,時間步長30秒,這樣就達到了總時間容錯在59秒。我們現在執行的系統是使用的2分鐘的時間步長,將容錯擴充套件到了3分59秒。

總結:簡單有效

基於MFC實現的AES加密解密程式

1 演算法背景及介紹 1.1 背景 高階加密標準 advanced encryption standard,aes 作為傳統對稱加密演算法標準des的替代者,由美國國家標準與技術研究所 nist 於1997年提出徵集該演算法的公告。1999年3月22日,nist從15個候選演算法中公布了5個候選演算...

android 使用Aes加密資料

使用aes加密 本文使用 aes cbc pkcs5padding cbc模式需用到兩個公鑰 加解密 工具類 public classaes128utilscatch exception e 解密 param content param key return public staticstring ...

AES 的加密操作

author vivid param ssrc 加密data param skey 加密金鑰 param ivstr 加密向量 description 加密操作 public static string encrypt string ssrc,string skey,string ivstr thr...