(long ka)
| 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]; |
no test coverage detected