密钥推导。豫
yuyan · 65 行 · 4487 字节 · UTF-8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
「:
文言:密钥推导者,以 HMAC 提取再展开,成定长密钥材料也。
汉语:HKDF-SHA256(RFC 5869)。提取 Extract(salt,IKM)=HMAC-SHA256(salt,IKM);盐为空取 32 零字节。展开 Expand(PRK,info,L):T(i)=HMAC-SHA256(PRK, T(i-1)‖info‖i),取前 L 字节。纯豫言,字节以字节串载之。
:」
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「整数操作」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「终端浏览器」之「消息认证」之书。
寻观「终端浏览器」之「散列摘要」之书。
「:文言:取前。汉语:字节串取前 n 字节。:」
「取前」乃化「字节串」而化「整数」而「字节串」也。
「取前」者会「串」而会「n」而
若「等零」于「n」则「空字节串」于「元」
否则「拼接字节串」于(「取前」于「串」于(「减」于「n」于「一」))于(「单字节串」于(「字节串取字节」于「串」于(「减」于「n」于「一」)))
也。
「:文言:转十六累。汉语:字节串逐字节转小写十六,自 i 至 n。:」
「转十六累」乃化「字节串」而化「整数」而化「整数」而化「字符串」而「字符串」也。
「转十六累」者会「bs」而会「i」而会「n」而会「积」而
若「等」于「i」于「n」则「积」
否则
虑「b」者(「字节串取字节」于「bs」于「i」)
而
虑「hi」者(「除以」于「b」于「一六」)
而
虑「lo」者(「减」于「b」于(「乘」于「hi」于「一六」))
而「转十六累」于「bs」于(「加」于「i」于「一」)于「n」于(「字符串拼接」于「积」于(「字符串拼接」于(「取十六符」于「hi」)于(「取十六符」于「lo」)))
也。
「:文言:转十六。汉语:字节串转小写十六进位串。:」
「转十六」乃化「字节串」而「字符串」也。
「转十六」者会「bs」而「转十六累」于「bs」于「零」于(「字节串长度」于「bs」)于『』也。
「:文言:提取。汉语:HKDF-Extract(salt,IKM)=HMAC-SHA256(salt,IKM) 之 32 字节;盐空则 32 零字节。:」
「提取」乃化「字节串」而化「字节串」而「字节串」也。
「提取」者会「salt」而会「IKM」而
虑「salt用」者(若「等零」于(「字节串长度」于「salt」)则「零字」于「三二」否则「salt」)
而「十六转字」于(「消息认证」于「salt用」于「IKM」)
也。
「:文言:展开累。汉语:HKDF-Expand 自第 i 块续,积已含前块。:」
「展开累」乃化「字节串」而化「字节串」而化「整数」而化「整数」而化「字节串」而化「字节串」而「字节串」也。
「展开累」者会「PRK」而会「info」而会「L」而会「i」而会「T前」而会「积」而
若「大于」于(「字节串长度」于「积」)于「L」则「积」
否则
虑「msg」者(「拼接字节串」于(「拼接字节串」于「T前」于「info」)于(「单字节串」于「i」))
而
虑「块」者(「十六转字」于(「消息认证」于「PRK」于「msg」))
而「展开累」于「PRK」于「info」于「L」于(「加」于「i」于「一」)于「块」于(「拼接字节串」于「积」于「块」)
也。
「:文言:展开。汉语:HKDF-Expand(PRK,info,L)。:」
「展开」乃化「字节串」而化「字节串」而化「整数」而「字节串」也。
「展开」者会「PRK」而会「info」而会「L」而
「取前」于(「展开累」于「PRK」于「info」于「L」于「一」于(「空字节串」于「元」)于(「空字节串」于「元」))于「L」
也。
「:文言:密钥推导。汉语:HKDF(SHA-256)(salt,IKM,info,L) = Expand(Extract(salt,IKM), info, L)。:」
「密钥推导」乃化「字节串」而化「字节串」而化「字节串」而化「整数」而「字节串」也。
「密钥推导」者会「salt」而会「IKM」而会「info」而会「L」而
「展开」于(「提取」于「salt」于「IKM」)于「info」于「L」
也。