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