函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\crypto\des.c Create Date:2022-07-27 07:44:57
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Decryption key expansion* No weak key checking is performed, as this is only used by triple DES

函数原型:static void dkey(u32 *pe, const u8 *k)

返回类型:void

参数:

类型参数名称
u32 *pe
const u8 *k
718  pt等于pc2
720  d等于k[4]
720  d与等于0x0e
720  d左移等于4位
720  d或等于k[0]按位与0x1e
720  d等于Lookup tables for key expansion [d]
721  c等于k[5]
721  c与等于0x0e
721  c左移等于4位
721  c或等于k[1]按位与0x1e
721  c等于Lookup tables for key expansion [c]
722  b等于k[6]
722  b与等于0x0e
722  b左移等于4位
722  b或等于k[2]按位与0x1e
722  b等于Lookup tables for key expansion [b]
723  a等于k[7]
723  a与等于0x0e
723  a左移等于4位
723  a或等于k[3]按位与0x1e
723  a等于Lookup tables for key expansion [a]
725  pe[0 * 2]等于DES_PC2(a, b, c, d)
725  d等于rs[d]
726  pe[1 * 2]等于DES_PC2(d, a, b, c)
726  c等于rs[c]
726  b等于rs[b]
727  pe[2 * 2]等于DES_PC2(b, c, d, a)
727  a等于rs[a]
727  d等于rs[d]
728  pe[3 * 2]等于DES_PC2(d, a, b, c)
728  c等于rs[c]
728  b等于rs[b]
729  pe[4 * 2]等于DES_PC2(b, c, d, a)
729  a等于rs[a]
729  d等于rs[d]
730  pe[5 * 2]等于DES_PC2(d, a, b, c)
730  c等于rs[c]
730  b等于rs[b]
731  pe[6 * 2]等于DES_PC2(b, c, d, a)
731  a等于rs[a]
731  d等于rs[d]
732  pe[7 * 2]等于DES_PC2(d, a, b, c)
732  c等于rs[c]
733  pe[8 * 2]等于DES_PC2(c, d, a, b)
733  b等于rs[b]
733  a等于rs[a]
734  pe[9 * 2]等于DES_PC2(a, b, c, d)
734  d等于rs[d]
734  c等于rs[c]
735  pe[10 * 2]等于DES_PC2(c, d, a, b)
735  b等于rs[b]
735  a等于rs[a]
736  pe[11 * 2]等于DES_PC2(a, b, c, d)
736  d等于rs[d]
736  c等于rs[c]
737  pe[12 * 2]等于DES_PC2(c, d, a, b)
737  b等于rs[b]
737  a等于rs[a]
738  pe[13 * 2]等于DES_PC2(a, b, c, d)
738  d等于rs[d]
738  c等于rs[c]
739  pe[14 * 2]等于DES_PC2(c, d, a, b)
739  b等于rs[b]
740  pe[15 * 2]等于DES_PC2(b, c, d, a)
743  pt加等于512
745  d等于k[0]
745  d与等于0xe0
745  d右移等于4位
745  d或等于k[4]按位与0xf0
745  d等于Lookup tables for key expansion [d + 1]
746  c等于k[1]
746  c与等于0xe0
746  c右移等于4位
746  c或等于k[5]按位与0xf0
746  c等于Lookup tables for key expansion [c + 1]
747  b等于k[2]
747  b与等于0xe0
747  b右移等于4位
747  b或等于k[6]按位与0xf0
747  b等于Lookup tables for key expansion [b + 1]
748  a等于k[3]
748  a与等于0xe0
748  a右移等于4位
748  a或等于k[7]按位与0xf0
748  a等于Lookup tables for key expansion [a + 1]
750  pe[0 * 2 + 1]等于DES_PC2(a, b, c, d)
750  d等于rs[d]
751  pe[1 * 2 + 1]等于DES_PC2(d, a, b, c)
751  c等于rs[c]
751  b等于rs[b]
752  pe[2 * 2 + 1]等于DES_PC2(b, c, d, a)
752  a等于rs[a]
752  d等于rs[d]
753  pe[3 * 2 + 1]等于DES_PC2(d, a, b, c)
753  c等于rs[c]
753  b等于rs[b]
754  pe[4 * 2 + 1]等于DES_PC2(b, c, d, a)
754  a等于rs[a]
754  d等于rs[d]
755  pe[5 * 2 + 1]等于DES_PC2(d, a, b, c)
755  c等于rs[c]
755  b等于rs[b]
756  pe[6 * 2 + 1]等于DES_PC2(b, c, d, a)
756  a等于rs[a]
756  d等于rs[d]
757  pe[7 * 2 + 1]等于DES_PC2(d, a, b, c)
757  c等于rs[c]
758  pe[8 * 2 + 1]等于DES_PC2(c, d, a, b)
758  b等于rs[b]
758  a等于rs[a]
759  pe[9 * 2 + 1]等于DES_PC2(a, b, c, d)
759  d等于rs[d]
759  c等于rs[c]
760  pe[10 * 2 + 1]等于DES_PC2(c, d, a, b)
760  b等于rs[b]
760  a等于rs[a]
761  pe[11 * 2 + 1]等于DES_PC2(a, b, c, d)
761  d等于rs[d]
761  c等于rs[c]
762  pe[12 * 2 + 1]等于DES_PC2(c, d, a, b)
762  b等于rs[b]
762  a等于rs[a]
763  pe[13 * 2 + 1]等于DES_PC2(a, b, c, d)
763  d等于rs[d]
763  c等于rs[c]
764  pe[14 * 2 + 1]等于DES_PC2(c, d, a, b)
764  b等于rs[b]
765  pe[15 * 2 + 1]等于DES_PC2(b, c, d, a)
768 d小于16循环
769  a等于pe[2 * d]
770  b等于pe[2 * d + 1]
771  c等于a按位异或b
772  c与等于0xffff0000
773  a异或等于c
774  b异或等于c
775  ROL(b, 18)
776  pe[2 * d]等于a
777  pe[2 * d + 1]等于b
调用者
名称描述
des3_ede_expand_key