1 !sum
2 - go: LeadingZeros
3 commutative: false
4 documentation: !string |-
5 // NAME counts the leading zeros of each element in x.
6 - go: AESEncryptOneRound
7 commutative: false
8 documentation: !string |-
9 // NAME performs a series of operations in AES cipher algorithm defined in FIPS 197.
10 // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
11 // y is the chunk of w array in use.
12 // result = AddRoundKey(MixColumns(ShiftRows(SubBytes(x))), y)
13 - go: AESEncryptLastRound
14 commutative: false
15 documentation: !string |-
16 // NAME performs a series of operations in AES cipher algorithm defined in FIPS 197.
17 // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
18 // y is the chunk of w array in use.
19 // result = AddRoundKey((ShiftRows(SubBytes(x))), y)
20 - go: AESRoundKeyGenAssist
21 commutative: false
22 documentation: !string |-
23 // NAME performs some components of KeyExpansion in AES cipher algorithm defined in FIPS 197.
24 // x is an array of AES words, but only x[0] and x[2] are used.
25 // r is a value from the Rcon constant array.
26 // result[0] = XOR(SubWord(RotWord(x[0])), r)
27 // result[1] = SubWord(x[1])
28 // result[2] = XOR(SubWord(RotWord(x[2])), r)
29 // result[3] = SubWord(x[3])
30 - go: AESDecryptOneRound
31 commutative: false
32 documentation: !string |-
33 // NAME performs a series of operations in AES cipher algorithm defined in FIPS 197.
34 // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
35 // y is the chunk of dw array in use.
36 // result = AddRoundKey(InvMixColumns(InvShiftRows(InvSubBytes(x))), y)
37 - go: AESDecryptLastRound
38 commutative: false
39 documentation: !string |-
40 // NAME performs a series of operations in AES cipher algorithm defined in FIPS 197.
41 // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
42 // y is the chunk of dw array in use.
43 // result = AddRoundKey(InvShiftRows(InvSubBytes(x)), y)
44 - go: AESInvMixColumns
45 commutative: false
46 documentation: !string |-
47 // NAME performs the InvMixColumns operation in AES cipher algorithm defined in FIPS 197.
48 // x is the chunk of w array in use.
49 // result = InvMixColumns(x)
50 - go: SHA1FourRounds
51 commutative: false
52 documentation: !string |-
53 // NAME performs 4 rounds of B loop in SHA1 algorithm defined in FIPS 180-4.
54 // x contains the state variables a, b, c and d from upper to lower order.
55 // y contains the W array elements (with the state variable e added to the upper element) from upper to lower order.
56 // result = the state variables a', b', c', d' updated after 4 rounds.
57 // constant = 0 for the first 20 rounds of the loop, 1 for the next 20 rounds of the loop..., 3 for the last 20 rounds of the loop.
58 - go: SHA1NextE
59 commutative: false
60 documentation: !string |-
61 // NAME calculates the state variable e' updated after 4 rounds in SHA1 algorithm defined in FIPS 180-4.
62 // x contains the state variable a (before the 4 rounds), placed in the upper element.
63 // y is the elements of W array for next 4 rounds from upper to lower order.
64 // result = the elements of the W array for the next 4 rounds, with the updated state variable e' added to the upper element,
65 // from upper to lower order.
66 // For the last round of the loop, you can specify zero for y to obtain the e' value itself, or better off specifying H4:0:0:0
67 // for y to get e' added to H4. (Note that the value of e' is computed only from x, and values of y don't affect the
68 // computation of the value of e'.)
69 - go: SHA1Message1
70 commutative: false
71 documentation: !string |-
72 // NAME does the XORing of 1 in SHA1 algorithm defined in FIPS 180-4.
73 // x = {W3, W2, W1, W0}
74 // y = {0, 0, W5, W4}
75 // result = {W3^W5, W2^W4, W1^W3, W0^W2}.
76 - go: SHA1Message2
77 commutative: false
78 documentation: !string |-
79 // NAME does the calculation of 3 and 4 in SHA1 algorithm defined in FIPS 180-4.
80 // x = result of 2.
81 // y = {W15, W14, W13}
82 // result = {W19, W18, W17, W16}
83 - go: SHA256TwoRounds
84 commutative: false
85 documentation: !string |-
86 // NAME does 2 rounds of B loop to calculate updated state variables in SHA1 algorithm defined in FIPS 180-4.
87 // x = {h, g, d, c}
88 // y = {f, e, b, a}
89 // z = {W0+K0, W1+K1}
90 // result = {f', e', b', a'}
91 // The K array is a 64-DWORD constant array defined in page 11 of FIPS 180-4. Each element of the K array is to be added to
92 // the corresponding element of the W array to make the input data z.
93 // The updated state variables c', d', g', h' are not returned by this instruction, because they are equal to the input data
94 // y (the state variables a, b, e, f before the 2 rounds).
95 - go: SHA256Message1
96 commutative: false
97 documentation: !string |-
98 // NAME does the sigma and addtion of 1 in SHA1 algorithm defined in FIPS 180-4.
99 // x = {W0, W1, W2, W3}
100 // y = {W4, 0, 0, 0}
101 // result = {W0+σ(W1), W1+σ(W2), W2+σ(W3), W3+σ(W4)}
102 - go: SHA256Message2
103 commutative: false
104 documentation: !string |-
105 // NAME does the sigma and addition of 3 in SHA1 algorithm defined in FIPS 180-4.
106 // x = result of 2
107 // y = {0, 0, W14, W15}
108 // result = {W16, W17, W18, W19}
View as plain text