MCPcopy Create free account
hub / github.com/f0ng/autoDecoder / sm4CalciRK

Method sm4CalciRK

src/com/autoDecoder/util/SM4.java:118–131  ·  view source on GitHub ↗
(long ka)

Source from the content-addressed store, hash-verified

116 }
117
118 private long sm4CalciRK(long ka) {
119 long bb = 0L;
120 long rk = 0L;
121 byte[] a = new byte[4];
122 byte[] b = new byte[4];
123 PUT_ULONG_BE(ka, a, 0);
124 b[0] = sm4Sbox(a[0]);
125 b[1] = sm4Sbox(a[1]);
126 b[2] = sm4Sbox(a[2]);
127 b[3] = sm4Sbox(a[3]);
128 bb = GET_ULONG_BE(b, 0);
129 rk = bb ^ ROTL(bb, 13) ^ ROTL(bb, 23);
130 return rk;
131 }
132
133 private void sm4_setkey(long[] SK, byte[] key) {
134 long[] MK = new long[4];

Callers 1

sm4_setkeyMethod · 0.95

Calls 4

PUT_ULONG_BEMethod · 0.95
sm4SboxMethod · 0.95
GET_ULONG_BEMethod · 0.95
ROTLMethod · 0.95

Tested by

no test coverage detected