package org.bouncycastle.crypto.engines; import org.bouncycastle.crypto.BlockCipher; import org.bouncycastle.crypto.CipherParameters; import org.bouncycastle.crypto.DataLengthException; import org.bouncycastle.crypto.params.KeyParameter; import org.bouncycastle.crypto.params.TweakableBlockCipherParameters; /* loaded from: classes6.dex */ public class ThreefishEngine implements BlockCipher { public static final int BLOCKSIZE_1024 = 1024; public static final int BLOCKSIZE_256 = 256; public static final int BLOCKSIZE_512 = 512; private static final long C_240 = 2004413935125273122L; private static final int MAX_ROUNDS = 80; private static final int ROUNDS_1024 = 80; private static final int ROUNDS_256 = 72; private static final int ROUNDS_512 = 72; private static final int TWEAK_SIZE_BYTES = 16; private static final int TWEAK_SIZE_WORDS = 2; private int blocksizeBytes; private int blocksizeWords; private ThreefishCipher cipher; private long[] currentBlock; private boolean forEncryption; private long[] kw; private long[] t; private static int[] MOD9 = new int[80]; private static int[] MOD17 = new int[80]; private static int[] MOD5 = new int[80]; private static int[] MOD3 = new int[80]; static long rotlXor(long j, int i, long j2) { return ((j << i) | (j >>> (-i))) ^ j2; } static long xorRotr(long j, int i, long j2) { long j3 = j ^ j2; return (j3 >>> i) | (j3 << (-i)); } @Override // org.bouncycastle.crypto.BlockCipher public void reset() { } public int processBlock(long[] jArr, long[] jArr2) throws DataLengthException, IllegalStateException { long[] jArr3 = this.kw; int i = this.blocksizeWords; if (jArr3[i] == 0) { throw new IllegalStateException("Threefish engine not initialised"); } if (jArr.length != i) { throw new DataLengthException("Input buffer too short"); } if (jArr2.length != i) { throw new DataLengthException("Output buffer too short"); } if (this.forEncryption) { this.cipher.encryptBlock(jArr, jArr2); } else { this.cipher.decryptBlock(jArr, jArr2); } return this.blocksizeWords; } @Override // org.bouncycastle.crypto.BlockCipher public int processBlock(byte[] bArr, int i, byte[] bArr2, int i2) throws DataLengthException, IllegalStateException { int i3 = this.blocksizeBytes; if (i2 + i3 > bArr2.length) { throw new DataLengthException("Output buffer too short"); } if (i3 + i > bArr.length) { throw new DataLengthException("Input buffer too short"); } int i4 = 0; for (int i5 = 0; i5 < this.blocksizeBytes; i5 += 8) { this.currentBlock[i5 >> 3] = bytesToWord(bArr, i + i5); } long[] jArr = this.currentBlock; processBlock(jArr, jArr); while (true) { int i6 = this.blocksizeBytes; if (i4 >= i6) { return i6; } wordToBytes(this.currentBlock[i4 >> 3], bArr2, i2 + i4); i4 += 8; } } public void init(boolean z, long[] jArr, long[] jArr2) { this.forEncryption = z; if (jArr != null) { setKey(jArr); } if (jArr2 != null) { setTweak(jArr2); } } @Override // org.bouncycastle.crypto.BlockCipher public void init(boolean z, CipherParameters cipherParameters) throws IllegalArgumentException { byte[] key; byte[] bArr; long[] jArr; long[] jArr2 = null; if (cipherParameters instanceof TweakableBlockCipherParameters) { TweakableBlockCipherParameters tweakableBlockCipherParameters = (TweakableBlockCipherParameters) cipherParameters; key = tweakableBlockCipherParameters.getKey().getKey(); bArr = tweakableBlockCipherParameters.getTweak(); } else { if (!(cipherParameters instanceof KeyParameter)) { StringBuilder sb = new StringBuilder("Invalid parameter passed to Threefish init - "); sb.append(cipherParameters.getClass().getName()); throw new IllegalArgumentException(sb.toString()); } key = ((KeyParameter) cipherParameters).getKey(); bArr = null; } if (key == null) { jArr = null; } else { if (key.length != this.blocksizeBytes) { StringBuilder sb2 = new StringBuilder("Threefish key must be same size as block ("); sb2.append(this.blocksizeBytes); sb2.append(" bytes)"); throw new IllegalArgumentException(sb2.toString()); } int i = this.blocksizeWords; jArr = new long[i]; for (int i2 = 0; i2 < i; i2++) { jArr[i2] = bytesToWord(key, i2 << 3); } } if (bArr != null) { if (bArr.length != 16) { throw new IllegalArgumentException("Threefish tweak must be 16 bytes"); } jArr2 = new long[]{bytesToWord(bArr, 0), bytesToWord(bArr, 8)}; } init(z, jArr, jArr2); } @Override // org.bouncycastle.crypto.BlockCipher public int getBlockSize() { return this.blocksizeBytes; } @Override // org.bouncycastle.crypto.BlockCipher public String getAlgorithmName() { StringBuilder sb = new StringBuilder("Threefish-"); sb.append(this.blocksizeBytes << 3); return sb.toString(); } public static void wordToBytes(long j, byte[] bArr, int i) { if (i + 8 > bArr.length) { throw new IllegalArgumentException(); } bArr[i] = (byte) j; bArr[i + 1] = (byte) (j >> 8); bArr[i + 2] = (byte) (j >> 16); bArr[i + 3] = (byte) (j >> 24); bArr[i + 4] = (byte) (j >> 32); bArr[i + 5] = (byte) (j >> 40); bArr[i + 6] = (byte) (j >> 48); bArr[i + 7] = (byte) (j >> 56); } private void setTweak(long[] jArr) { if (jArr.length != 2) { throw new IllegalArgumentException("Tweak must be 2 words."); } long[] jArr2 = this.t; long j = jArr[0]; jArr2[0] = j; long j2 = jArr[1]; jArr2[1] = j2; jArr2[2] = j ^ j2; jArr2[3] = j; jArr2[4] = j2; } private void setKey(long[] jArr) { if (jArr.length != this.blocksizeWords) { StringBuilder sb = new StringBuilder("Threefish key must be same size as block ("); sb.append(this.blocksizeWords); sb.append(" words)"); throw new IllegalArgumentException(sb.toString()); } long j = C_240; int i = 0; while (true) { int i2 = this.blocksizeWords; if (i >= i2) { long[] jArr2 = this.kw; jArr2[i2] = j; System.arraycopy(jArr2, 0, jArr2, i2 + 1, i2); return; } else { long[] jArr3 = this.kw; long j2 = jArr[i]; jArr3[i] = j2; j ^= j2; i++; } } } public static long bytesToWord(byte[] bArr, int i) { if (i + 8 > bArr.length) { throw new IllegalArgumentException(); } return (bArr[i] & 255) | ((bArr[i + 1] & 255) << 8) | ((bArr[i + 2] & 255) << 16) | ((bArr[i + 3] & 255) << 24) | ((bArr[i + 4] & 255) << 32) | ((bArr[i + 5] & 255) << 40) | ((bArr[i + 6] & 255) << 48) | ((bArr[i + 7] & 255) << 56); } /* loaded from: classes6.dex */ static final class Threefish1024Cipher extends ThreefishCipher { private static final int ROTATION_0_0 = 24; private static final int ROTATION_0_1 = 13; private static final int ROTATION_0_2 = 8; private static final int ROTATION_0_3 = 47; private static final int ROTATION_0_4 = 8; private static final int ROTATION_0_5 = 17; private static final int ROTATION_0_6 = 22; private static final int ROTATION_0_7 = 37; private static final int ROTATION_1_0 = 38; private static final int ROTATION_1_1 = 19; private static final int ROTATION_1_2 = 10; private static final int ROTATION_1_3 = 55; private static final int ROTATION_1_4 = 49; private static final int ROTATION_1_5 = 18; private static final int ROTATION_1_6 = 23; private static final int ROTATION_1_7 = 52; private static final int ROTATION_2_0 = 33; private static final int ROTATION_2_1 = 4; private static final int ROTATION_2_2 = 51; private static final int ROTATION_2_3 = 13; private static final int ROTATION_2_4 = 34; private static final int ROTATION_2_5 = 41; private static final int ROTATION_2_6 = 59; private static final int ROTATION_2_7 = 17; private static final int ROTATION_3_0 = 5; private static final int ROTATION_3_1 = 20; private static final int ROTATION_3_2 = 48; private static final int ROTATION_3_3 = 41; private static final int ROTATION_3_4 = 47; private static final int ROTATION_3_5 = 28; private static final int ROTATION_3_6 = 16; private static final int ROTATION_3_7 = 25; private static final int ROTATION_4_0 = 41; private static final int ROTATION_4_1 = 9; private static final int ROTATION_4_2 = 37; private static final int ROTATION_4_3 = 31; private static final int ROTATION_4_4 = 12; private static final int ROTATION_4_5 = 47; private static final int ROTATION_4_6 = 44; private static final int ROTATION_4_7 = 30; private static final int ROTATION_5_0 = 16; private static final int ROTATION_5_1 = 34; private static final int ROTATION_5_2 = 56; private static final int ROTATION_5_3 = 51; private static final int ROTATION_5_4 = 4; private static final int ROTATION_5_5 = 53; private static final int ROTATION_5_6 = 42; private static final int ROTATION_5_7 = 41; private static final int ROTATION_6_0 = 31; private static final int ROTATION_6_1 = 44; private static final int ROTATION_6_2 = 47; private static final int ROTATION_6_3 = 46; private static final int ROTATION_6_4 = 19; private static final int ROTATION_6_5 = 42; private static final int ROTATION_6_6 = 44; private static final int ROTATION_6_7 = 25; private static final int ROTATION_7_0 = 9; private static final int ROTATION_7_1 = 48; private static final int ROTATION_7_2 = 35; private static final int ROTATION_7_3 = 52; private static final int ROTATION_7_4 = 23; private static final int ROTATION_7_5 = 31; private static final int ROTATION_7_6 = 37; private static final int ROTATION_7_7 = 20; @Override // org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher final void encryptBlock(long[] jArr, long[] jArr2) { long[] jArr3 = this.kw; long[] jArr4 = this.t; int[] iArr = ThreefishEngine.MOD17; int[] iArr2 = ThreefishEngine.MOD3; if (jArr3.length != 33) { throw new IllegalArgumentException(); } if (jArr4.length != 5) { throw new IllegalArgumentException(); } long j = jArr[0]; int i = 1; long j2 = jArr[1]; long j3 = jArr[2]; long j4 = jArr[3]; long j5 = jArr[4]; long j6 = jArr[5]; long j7 = jArr[6]; long j8 = jArr[7]; long j9 = jArr[8]; long j10 = jArr[9]; long j11 = jArr[10]; long j12 = jArr[11]; long j13 = jArr[12]; long j14 = jArr[13]; long j15 = jArr[14]; long j16 = jArr[15]; long j17 = j + jArr3[0]; long j18 = j2 + jArr3[1]; long j19 = j3 + jArr3[2]; long j20 = jArr3[3]; long j21 = j5 + jArr3[4]; long j22 = jArr3[5]; long j23 = j7 + jArr3[6]; long j24 = jArr3[7]; long j25 = j9 + jArr3[8]; long j26 = jArr3[9]; long j27 = j11 + jArr3[10]; long j28 = jArr3[11]; long j29 = j13 + jArr3[12]; long j30 = jArr3[13]; long j31 = jArr4[0]; long j32 = j15 + jArr3[14] + jArr4[1]; long j33 = j4 + j20; long j34 = j6 + j22; long j35 = j8 + j24; long j36 = j10 + j26; long j37 = j12 + j28; long j38 = j14 + j30 + j31; long j39 = j16 + jArr3[15]; while (i < 20) { int i2 = iArr[i]; int i3 = iArr2[i]; long j40 = j17 + j18; long rotlXor = ThreefishEngine.rotlXor(j18, 24, j40); long j41 = j19 + j33; long rotlXor2 = ThreefishEngine.rotlXor(j33, 13, j41); long[] jArr5 = jArr3; int[] iArr3 = iArr; int[] iArr4 = iArr2; long j42 = j34; long j43 = j21 + j42; long rotlXor3 = ThreefishEngine.rotlXor(j42, 8, j43); int i4 = i; long j44 = j35; long j45 = j23 + j44; long rotlXor4 = ThreefishEngine.rotlXor(j44, 47, j45); long[] jArr6 = jArr4; long j46 = j36; long j47 = j25 + j46; long rotlXor5 = ThreefishEngine.rotlXor(j46, 8, j47); long j48 = j37; long j49 = j27 + j48; long rotlXor6 = ThreefishEngine.rotlXor(j48, 17, j49); long j50 = j38; long j51 = j29 + j50; long rotlXor7 = ThreefishEngine.rotlXor(j50, 22, j51); long j52 = j39; long j53 = j32 + j52; long rotlXor8 = ThreefishEngine.rotlXor(j52, 37, j53); long j54 = j40 + rotlXor5; long rotlXor9 = ThreefishEngine.rotlXor(rotlXor5, 38, j54); long j55 = j41 + rotlXor7; long rotlXor10 = ThreefishEngine.rotlXor(rotlXor7, 19, j55); long j56 = j45 + rotlXor6; long rotlXor11 = ThreefishEngine.rotlXor(rotlXor6, 10, j56); long j57 = j43 + rotlXor8; long rotlXor12 = ThreefishEngine.rotlXor(rotlXor8, 55, j57); long j58 = j49 + rotlXor4; long rotlXor13 = ThreefishEngine.rotlXor(rotlXor4, 49, j58); long j59 = j51 + rotlXor2; long rotlXor14 = ThreefishEngine.rotlXor(rotlXor2, 18, j59); long j60 = j53 + rotlXor3; long rotlXor15 = ThreefishEngine.rotlXor(rotlXor3, 23, j60); long j61 = j47 + rotlXor; long rotlXor16 = ThreefishEngine.rotlXor(rotlXor, 52, j61); long j62 = j54 + rotlXor13; long rotlXor17 = ThreefishEngine.rotlXor(rotlXor13, 33, j62); long j63 = j55 + rotlXor15; long rotlXor18 = ThreefishEngine.rotlXor(rotlXor15, 4, j63); long j64 = j57 + rotlXor14; long rotlXor19 = ThreefishEngine.rotlXor(rotlXor14, 51, j64); long j65 = j56 + rotlXor16; long rotlXor20 = ThreefishEngine.rotlXor(rotlXor16, 13, j65); long j66 = j59 + rotlXor12; long rotlXor21 = ThreefishEngine.rotlXor(rotlXor12, 34, j66); long j67 = j60 + rotlXor10; long rotlXor22 = ThreefishEngine.rotlXor(rotlXor10, 41, j67); long j68 = j61 + rotlXor11; long rotlXor23 = ThreefishEngine.rotlXor(rotlXor11, 59, j68); long j69 = j58 + rotlXor9; long rotlXor24 = ThreefishEngine.rotlXor(rotlXor9, 17, j69); long j70 = j62 + rotlXor21; long rotlXor25 = ThreefishEngine.rotlXor(rotlXor21, 5, j70); long j71 = j63 + rotlXor23; long rotlXor26 = ThreefishEngine.rotlXor(rotlXor23, 20, j71); long j72 = j65 + rotlXor22; long rotlXor27 = ThreefishEngine.rotlXor(rotlXor22, 48, j72); long j73 = j64 + rotlXor24; long rotlXor28 = ThreefishEngine.rotlXor(rotlXor24, 41, j73); long j74 = j67 + rotlXor20; long rotlXor29 = ThreefishEngine.rotlXor(rotlXor20, 47, j74); long j75 = j68 + rotlXor18; long rotlXor30 = ThreefishEngine.rotlXor(rotlXor18, 28, j75); long j76 = j69 + rotlXor19; long rotlXor31 = ThreefishEngine.rotlXor(rotlXor19, 16, j76); long j77 = j66 + rotlXor17; long rotlXor32 = ThreefishEngine.rotlXor(rotlXor17, 25, j77); long j78 = jArr5[i2]; int i5 = i2 + 1; long j79 = rotlXor29 + jArr5[i5]; int i6 = i2 + 2; long j80 = jArr5[i6]; int i7 = i2 + 3; long j81 = rotlXor31 + jArr5[i7]; int i8 = i2 + 4; long j82 = jArr5[i8]; int i9 = i2 + 5; long j83 = rotlXor30 + jArr5[i9]; int i10 = i2 + 6; long j84 = jArr5[i10]; int i11 = i2 + 7; long j85 = rotlXor32 + jArr5[i11]; int i12 = i2 + 8; long j86 = jArr5[i12]; int i13 = i2 + 9; long j87 = rotlXor28 + jArr5[i13]; int i14 = i2 + 10; long j88 = jArr5[i14]; int i15 = i2 + 11; long j89 = rotlXor26 + jArr5[i15]; int i16 = i2 + 12; long j90 = jArr5[i16]; int i17 = i2 + 13; long j91 = rotlXor27 + jArr5[i17] + jArr6[i3]; int i18 = i2 + 14; long j92 = jArr5[i18]; int i19 = i3 + 1; long j93 = jArr6[i19]; int i20 = i2 + 15; long j94 = i4; long j95 = rotlXor25 + jArr5[i20] + j94; long j96 = j70 + j78 + j79; long rotlXor33 = ThreefishEngine.rotlXor(j79, 41, j96); long j97 = j71 + j80 + j81; long rotlXor34 = ThreefishEngine.rotlXor(j81, 9, j97); long j98 = j73 + j82 + j83; long rotlXor35 = ThreefishEngine.rotlXor(j83, 37, j98); long j99 = j72 + j84 + j85; long rotlXor36 = ThreefishEngine.rotlXor(j85, 31, j99); long j100 = j75 + j86 + j87; long rotlXor37 = ThreefishEngine.rotlXor(j87, 12, j100); long j101 = j76 + j88 + j89; long rotlXor38 = ThreefishEngine.rotlXor(j89, 47, j101); long j102 = j77 + j90 + j91; long rotlXor39 = ThreefishEngine.rotlXor(j91, 44, j102); long j103 = j74 + j92 + j93 + j95; long rotlXor40 = ThreefishEngine.rotlXor(j95, 30, j103); long j104 = j96 + rotlXor37; long rotlXor41 = ThreefishEngine.rotlXor(rotlXor37, 16, j104); long j105 = j97 + rotlXor39; long rotlXor42 = ThreefishEngine.rotlXor(rotlXor39, 34, j105); long j106 = j99 + rotlXor38; long rotlXor43 = ThreefishEngine.rotlXor(rotlXor38, 56, j106); long j107 = j98 + rotlXor40; long rotlXor44 = ThreefishEngine.rotlXor(rotlXor40, 51, j107); long j108 = j101 + rotlXor36; long rotlXor45 = ThreefishEngine.rotlXor(rotlXor36, 4, j108); long j109 = j102 + rotlXor34; long rotlXor46 = ThreefishEngine.rotlXor(rotlXor34, 53, j109); long j110 = j103 + rotlXor35; long rotlXor47 = ThreefishEngine.rotlXor(rotlXor35, 42, j110); long j111 = j100 + rotlXor33; long rotlXor48 = ThreefishEngine.rotlXor(rotlXor33, 41, j111); long j112 = j104 + rotlXor45; long rotlXor49 = ThreefishEngine.rotlXor(rotlXor45, 31, j112); long j113 = j105 + rotlXor47; long rotlXor50 = ThreefishEngine.rotlXor(rotlXor47, 44, j113); long j114 = j107 + rotlXor46; long rotlXor51 = ThreefishEngine.rotlXor(rotlXor46, 47, j114); long j115 = j106 + rotlXor48; long rotlXor52 = ThreefishEngine.rotlXor(rotlXor48, 46, j115); long j116 = j109 + rotlXor44; long rotlXor53 = ThreefishEngine.rotlXor(rotlXor44, 19, j116); long j117 = j110 + rotlXor42; long rotlXor54 = ThreefishEngine.rotlXor(rotlXor42, 42, j117); long j118 = j111 + rotlXor43; long rotlXor55 = ThreefishEngine.rotlXor(rotlXor43, 44, j118); long j119 = j108 + rotlXor41; long rotlXor56 = ThreefishEngine.rotlXor(rotlXor41, 25, j119); long j120 = j112 + rotlXor53; long rotlXor57 = ThreefishEngine.rotlXor(rotlXor53, 9, j120); long j121 = j113 + rotlXor55; long rotlXor58 = ThreefishEngine.rotlXor(rotlXor55, 48, j121); long j122 = j115 + rotlXor54; long rotlXor59 = ThreefishEngine.rotlXor(rotlXor54, 35, j122); long j123 = j114 + rotlXor56; long rotlXor60 = ThreefishEngine.rotlXor(rotlXor56, 52, j123); long j124 = j117 + rotlXor52; long rotlXor61 = ThreefishEngine.rotlXor(rotlXor52, 23, j124); long j125 = j118 + rotlXor50; long rotlXor62 = ThreefishEngine.rotlXor(rotlXor50, 31, j125); long j126 = j119 + rotlXor51; long rotlXor63 = ThreefishEngine.rotlXor(rotlXor51, 37, j126); long j127 = j116 + rotlXor49; long rotlXor64 = ThreefishEngine.rotlXor(rotlXor49, 20, j127); long j128 = jArr5[i5]; long j129 = jArr5[i6]; long j130 = jArr5[i7]; long j131 = jArr5[i8]; long j132 = jArr5[i9]; long j133 = jArr5[i10]; long j134 = jArr5[i11]; j35 = rotlXor64 + jArr5[i12]; long j135 = jArr5[i13]; long j136 = rotlXor60 + jArr5[i14]; long j137 = j126 + jArr5[i15]; j37 = rotlXor58 + jArr5[i16]; long j138 = jArr5[i17] + j127; long j139 = rotlXor59 + jArr5[i18] + jArr6[i19]; long j140 = jArr5[i20] + jArr6[i3 + 2] + j124; j39 = rotlXor57 + jArr5[i2 + 16] + j94 + 1; j23 = j122 + j134; long j141 = j132 + j123; long j142 = rotlXor63 + j131; j38 = j139; j32 = j140; j36 = j136; j34 = rotlXor62 + j133; i = i4 + 2; j17 = j128 + j120; jArr3 = jArr5; j29 = j138; iArr = iArr3; jArr4 = jArr6; iArr2 = iArr4; j33 = j142; j25 = j125 + j135; j18 = rotlXor61 + j129; j27 = j137; j19 = j121 + j130; j21 = j141; } jArr2[0] = j17; jArr2[1] = j18; jArr2[2] = j19; jArr2[3] = j33; jArr2[4] = j21; jArr2[5] = j34; jArr2[6] = j23; jArr2[7] = j35; jArr2[8] = j25; jArr2[9] = j36; jArr2[10] = j27; jArr2[11] = j37; jArr2[12] = j29; jArr2[13] = j38; jArr2[14] = j32; jArr2[15] = j39; } @Override // org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher final void decryptBlock(long[] jArr, long[] jArr2) { long[] jArr3 = this.kw; long[] jArr4 = this.t; int[] iArr = ThreefishEngine.MOD17; int[] iArr2 = ThreefishEngine.MOD3; if (jArr3.length != 33) { throw new IllegalArgumentException(); } if (jArr4.length != 5) { throw new IllegalArgumentException(); } long j = jArr[0]; long j2 = jArr[1]; long j3 = jArr[2]; long j4 = jArr[3]; long j5 = jArr[4]; long j6 = jArr[5]; long j7 = jArr[6]; long j8 = jArr[7]; long j9 = jArr[8]; long j10 = jArr[9]; long j11 = jArr[10]; long j12 = jArr[11]; long j13 = jArr[12]; long j14 = jArr[13]; long j15 = jArr[14]; long j16 = jArr[15]; int i = 19; while (i > 0) { int i2 = iArr[i]; int i3 = iArr2[i]; int i4 = i2 + 1; long j17 = j - jArr3[i4]; int i5 = i2 + 2; long j18 = jArr3[i5]; int i6 = i2 + 3; long j19 = j3 - jArr3[i6]; int i7 = i2 + 4; long j20 = jArr3[i7]; int i8 = i2 + 5; long j21 = j5 - jArr3[i8]; int i9 = i2 + 6; long j22 = jArr3[i9]; int i10 = i2 + 7; long j23 = j7 - jArr3[i10]; int i11 = i2 + 8; long j24 = jArr3[i11]; int i12 = i2 + 9; int i13 = i; long j25 = j9 - jArr3[i12]; int i14 = i2 + 10; long j26 = jArr3[i14]; int i15 = i2 + 11; int[] iArr3 = iArr; int[] iArr4 = iArr2; long j27 = j11 - jArr3[i15]; int i16 = i2 + 12; long j28 = jArr3[i16]; int i17 = i2 + 13; long j29 = j13 - jArr3[i17]; int i18 = i2 + 14; long j30 = jArr3[i18]; int i19 = i3 + 1; long j31 = jArr4[i19]; int i20 = i2 + 15; long j32 = j15 - (jArr3[i20] + jArr4[i3 + 2]); long j33 = jArr3[i2 + 16]; long[] jArr5 = jArr4; long[] jArr6 = jArr3; long j34 = i13; long xorRotr = ThreefishEngine.xorRotr(j16 - ((j33 + j34) + 1), 9, j17); long j35 = j17 - xorRotr; long xorRotr2 = ThreefishEngine.xorRotr(j12 - j28, 48, j19); long j36 = j19 - xorRotr2; long xorRotr3 = ThreefishEngine.xorRotr(j14 - (j30 + j31), 35, j23); long j37 = j23 - xorRotr3; long xorRotr4 = ThreefishEngine.xorRotr(j10 - j26, 52, j21); long j38 = j21 - xorRotr4; long xorRotr5 = ThreefishEngine.xorRotr(j2 - j18, 23, j32); long j39 = j32 - xorRotr5; long xorRotr6 = ThreefishEngine.xorRotr(j6 - j22, 31, j25); long j40 = j25 - xorRotr6; long xorRotr7 = ThreefishEngine.xorRotr(j4 - j20, 37, j27); long j41 = j27 - xorRotr7; long xorRotr8 = ThreefishEngine.xorRotr(j8 - j24, 20, j29); long j42 = j29 - xorRotr8; long xorRotr9 = ThreefishEngine.xorRotr(xorRotr8, 31, j35); long j43 = j35 - xorRotr9; long xorRotr10 = ThreefishEngine.xorRotr(xorRotr6, 44, j36); long j44 = j36 - xorRotr10; long xorRotr11 = ThreefishEngine.xorRotr(xorRotr7, 47, j38); long j45 = j38 - xorRotr11; long xorRotr12 = ThreefishEngine.xorRotr(xorRotr5, 46, j37); long j46 = j37 - xorRotr12; long xorRotr13 = ThreefishEngine.xorRotr(xorRotr, 19, j42); long j47 = j42 - xorRotr13; long xorRotr14 = ThreefishEngine.xorRotr(xorRotr3, 42, j39); long j48 = j39 - xorRotr14; long xorRotr15 = ThreefishEngine.xorRotr(xorRotr2, 44, j40); long j49 = j40 - xorRotr15; long xorRotr16 = ThreefishEngine.xorRotr(xorRotr4, 25, j41); long j50 = j41 - xorRotr16; long xorRotr17 = ThreefishEngine.xorRotr(xorRotr16, 16, j43); long j51 = j43 - xorRotr17; long xorRotr18 = ThreefishEngine.xorRotr(xorRotr14, 34, j44); long j52 = j44 - xorRotr18; long xorRotr19 = ThreefishEngine.xorRotr(xorRotr15, 56, j46); long j53 = j46 - xorRotr19; long xorRotr20 = ThreefishEngine.xorRotr(xorRotr13, 51, j45); long j54 = j45 - xorRotr20; long xorRotr21 = ThreefishEngine.xorRotr(xorRotr9, 4, j50); long j55 = j50 - xorRotr21; long xorRotr22 = ThreefishEngine.xorRotr(xorRotr11, 53, j47); long j56 = j47 - xorRotr22; long xorRotr23 = ThreefishEngine.xorRotr(xorRotr10, 42, j48); long j57 = j48 - xorRotr23; long xorRotr24 = ThreefishEngine.xorRotr(xorRotr12, 41, j49); long j58 = j49 - xorRotr24; long xorRotr25 = ThreefishEngine.xorRotr(xorRotr24, 41, j51); long xorRotr26 = ThreefishEngine.xorRotr(xorRotr22, 9, j52); long xorRotr27 = ThreefishEngine.xorRotr(xorRotr23, 37, j54); long xorRotr28 = ThreefishEngine.xorRotr(xorRotr21, 31, j53); long xorRotr29 = ThreefishEngine.xorRotr(xorRotr17, 12, j58); long xorRotr30 = ThreefishEngine.xorRotr(xorRotr19, 47, j55); long xorRotr31 = ThreefishEngine.xorRotr(xorRotr18, 44, j56); long xorRotr32 = ThreefishEngine.xorRotr(xorRotr20, 30, j57); long j59 = (j51 - xorRotr25) - jArr6[i2]; long j60 = jArr6[i4]; long j61 = (j52 - xorRotr26) - jArr6[i5]; long j62 = jArr6[i6]; long j63 = (j54 - xorRotr27) - jArr6[i7]; long j64 = jArr6[i8]; long j65 = (j53 - xorRotr28) - jArr6[i9]; long j66 = jArr6[i10]; long j67 = (j58 - xorRotr29) - jArr6[i11]; long j68 = jArr6[i12]; long j69 = (j55 - xorRotr30) - jArr6[i14]; long j70 = jArr6[i15]; long j71 = (j56 - xorRotr31) - jArr6[i16]; long j72 = jArr6[i17]; long j73 = jArr5[i3]; long j74 = (j57 - xorRotr32) - (jArr6[i18] + jArr5[i19]); long xorRotr33 = ThreefishEngine.xorRotr(xorRotr32 - (jArr6[i20] + j34), 5, j59); long j75 = j59 - xorRotr33; long xorRotr34 = ThreefishEngine.xorRotr(xorRotr30 - j70, 20, j61); long j76 = j61 - xorRotr34; long xorRotr35 = ThreefishEngine.xorRotr(xorRotr31 - (j72 + j73), 48, j65); long j77 = j65 - xorRotr35; long xorRotr36 = ThreefishEngine.xorRotr(xorRotr29 - j68, 41, j63); long j78 = j63 - xorRotr36; long xorRotr37 = ThreefishEngine.xorRotr(xorRotr25 - j60, 47, j74); long j79 = j74 - xorRotr37; long xorRotr38 = ThreefishEngine.xorRotr(xorRotr27 - j64, 28, j67); long j80 = j67 - xorRotr38; long xorRotr39 = ThreefishEngine.xorRotr(xorRotr26 - j62, 16, j69); long j81 = j69 - xorRotr39; long xorRotr40 = ThreefishEngine.xorRotr(xorRotr28 - j66, 25, j71); long j82 = j71 - xorRotr40; long xorRotr41 = ThreefishEngine.xorRotr(xorRotr40, 33, j75); long j83 = j75 - xorRotr41; long xorRotr42 = ThreefishEngine.xorRotr(xorRotr38, 4, j76); long j84 = j76 - xorRotr42; long xorRotr43 = ThreefishEngine.xorRotr(xorRotr39, 51, j78); long j85 = j78 - xorRotr43; long xorRotr44 = ThreefishEngine.xorRotr(xorRotr37, 13, j77); long j86 = j77 - xorRotr44; long xorRotr45 = ThreefishEngine.xorRotr(xorRotr33, 34, j82); long j87 = j82 - xorRotr45; long xorRotr46 = ThreefishEngine.xorRotr(xorRotr35, 41, j79); long j88 = j79 - xorRotr46; long xorRotr47 = ThreefishEngine.xorRotr(xorRotr34, 59, j80); long j89 = j80 - xorRotr47; long xorRotr48 = ThreefishEngine.xorRotr(xorRotr36, 17, j81); long j90 = j81 - xorRotr48; long xorRotr49 = ThreefishEngine.xorRotr(xorRotr48, 38, j83); long j91 = j83 - xorRotr49; long xorRotr50 = ThreefishEngine.xorRotr(xorRotr46, 19, j84); long j92 = j84 - xorRotr50; long xorRotr51 = ThreefishEngine.xorRotr(xorRotr47, 10, j86); long j93 = j86 - xorRotr51; long xorRotr52 = ThreefishEngine.xorRotr(xorRotr45, 55, j85); long j94 = j85 - xorRotr52; long xorRotr53 = ThreefishEngine.xorRotr(xorRotr41, 49, j90); long j95 = j90 - xorRotr53; long xorRotr54 = ThreefishEngine.xorRotr(xorRotr43, 18, j87); long j96 = j87 - xorRotr54; long xorRotr55 = ThreefishEngine.xorRotr(xorRotr42, 23, j88); long j97 = j88 - xorRotr55; long xorRotr56 = ThreefishEngine.xorRotr(xorRotr44, 52, j89); long j98 = j89 - xorRotr56; long xorRotr57 = ThreefishEngine.xorRotr(xorRotr56, 24, j91); long xorRotr58 = ThreefishEngine.xorRotr(xorRotr54, 13, j92); long j99 = j92 - xorRotr58; long xorRotr59 = ThreefishEngine.xorRotr(xorRotr55, 8, j94); long xorRotr60 = ThreefishEngine.xorRotr(xorRotr53, 47, j93); long xorRotr61 = ThreefishEngine.xorRotr(xorRotr49, 8, j98); j12 = ThreefishEngine.xorRotr(xorRotr51, 17, j95); long xorRotr62 = ThreefishEngine.xorRotr(xorRotr50, 22, j96); j16 = ThreefishEngine.xorRotr(xorRotr52, 37, j97); j15 = j97 - j16; j13 = j96 - xorRotr62; i = i13 - 2; j11 = j95 - j12; j7 = j93 - xorRotr60; j10 = xorRotr61; j3 = j99; j4 = xorRotr58; jArr3 = jArr6; j5 = j94 - xorRotr59; j14 = xorRotr62; j = j91 - xorRotr57; j2 = xorRotr57; j6 = xorRotr59; j8 = xorRotr60; iArr2 = iArr4; j9 = j98 - xorRotr61; iArr = iArr3; jArr4 = jArr5; } long[] jArr7 = jArr3; long[] jArr8 = jArr4; long j100 = jArr7[0]; long j101 = jArr7[1]; long j102 = jArr7[2]; long j103 = jArr7[3]; long j104 = jArr7[4]; long j105 = jArr7[5]; long j106 = jArr7[6]; long j107 = jArr7[7]; long j108 = jArr7[8]; long j109 = jArr7[9]; long j110 = jArr7[10]; long j111 = jArr7[11]; long j112 = jArr7[12]; long j113 = jArr7[13]; long j114 = jArr8[0]; long j115 = jArr7[14]; long j116 = jArr8[1]; long j117 = jArr7[15]; jArr2[0] = j - j100; jArr2[1] = j2 - j101; jArr2[2] = j3 - j102; jArr2[3] = j4 - j103; jArr2[4] = j5 - j104; jArr2[5] = j6 - j105; jArr2[6] = j7 - j106; jArr2[7] = j8 - j107; jArr2[8] = j9 - j108; jArr2[9] = j10 - j109; jArr2[10] = j11 - j110; jArr2[11] = j12 - j111; jArr2[12] = j13 - j112; jArr2[13] = j14 - (j113 + j114); jArr2[14] = j15 - (j115 + j116); jArr2[15] = j16 - j117; } public Threefish1024Cipher(long[] jArr, long[] jArr2) { super(jArr, jArr2); } } /* loaded from: classes6.dex */ static final class Threefish256Cipher extends ThreefishCipher { private static final int ROTATION_0_0 = 14; private static final int ROTATION_0_1 = 16; private static final int ROTATION_1_0 = 52; private static final int ROTATION_1_1 = 57; private static final int ROTATION_2_0 = 23; private static final int ROTATION_2_1 = 40; private static final int ROTATION_3_0 = 5; private static final int ROTATION_3_1 = 37; private static final int ROTATION_4_0 = 25; private static final int ROTATION_4_1 = 33; private static final int ROTATION_5_0 = 46; private static final int ROTATION_5_1 = 12; private static final int ROTATION_6_0 = 58; private static final int ROTATION_6_1 = 22; private static final int ROTATION_7_0 = 32; private static final int ROTATION_7_1 = 32; @Override // org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher final void encryptBlock(long[] jArr, long[] jArr2) { long[] jArr3 = this.kw; long[] jArr4 = this.t; int[] iArr = ThreefishEngine.MOD5; int[] iArr2 = ThreefishEngine.MOD3; if (jArr3.length != 9) { throw new IllegalArgumentException(); } if (jArr4.length != 5) { throw new IllegalArgumentException(); } long j = jArr[0]; long j2 = jArr[1]; long j3 = jArr[2]; long j4 = jArr[3]; long j5 = j + jArr3[0]; long j6 = j2 + jArr3[1] + jArr4[0]; long j7 = j3 + jArr3[2] + jArr4[1]; int i = 1; long j8 = j4 + jArr3[3]; while (i < 18) { int i2 = iArr[i]; int i3 = iArr2[i]; long j9 = j5 + j6; long rotlXor = ThreefishEngine.rotlXor(j6, 14, j9); long j10 = j7 + j8; long rotlXor2 = ThreefishEngine.rotlXor(j8, 16, j10); long j11 = j9 + rotlXor2; long rotlXor3 = ThreefishEngine.rotlXor(rotlXor2, 52, j11); long j12 = j10 + rotlXor; long rotlXor4 = ThreefishEngine.rotlXor(rotlXor, 57, j12); long j13 = j11 + rotlXor4; long rotlXor5 = ThreefishEngine.rotlXor(rotlXor4, 23, j13); long j14 = j12 + rotlXor3; long rotlXor6 = ThreefishEngine.rotlXor(rotlXor3, 40, j14); long j15 = j13 + rotlXor6; long rotlXor7 = ThreefishEngine.rotlXor(rotlXor6, 5, j15); long j16 = j14 + rotlXor5; long rotlXor8 = ThreefishEngine.rotlXor(rotlXor5, 37, j16); long j17 = jArr3[i2]; int i4 = i2 + 1; long j18 = rotlXor8 + jArr3[i4] + jArr4[i3]; int i5 = i2 + 2; long j19 = jArr3[i5]; int i6 = i3 + 1; long j20 = jArr4[i6]; int i7 = i2 + 3; int[] iArr3 = iArr; long j21 = i; long j22 = rotlXor7 + jArr3[i7] + j21; long j23 = j15 + j17 + j18; long rotlXor9 = ThreefishEngine.rotlXor(j18, 25, j23); long j24 = j16 + j19 + j20 + j22; long rotlXor10 = ThreefishEngine.rotlXor(j22, 33, j24); long j25 = j23 + rotlXor10; long rotlXor11 = ThreefishEngine.rotlXor(rotlXor10, 46, j25); long j26 = j24 + rotlXor9; long rotlXor12 = ThreefishEngine.rotlXor(rotlXor9, 12, j26); long j27 = j25 + rotlXor12; long rotlXor13 = ThreefishEngine.rotlXor(rotlXor12, 58, j27); long j28 = j26 + rotlXor11; long rotlXor14 = ThreefishEngine.rotlXor(rotlXor11, 22, j28); long j29 = j27 + rotlXor14; long rotlXor15 = ThreefishEngine.rotlXor(rotlXor14, 32, j29); long j30 = j28 + rotlXor13; long rotlXor16 = ThreefishEngine.rotlXor(rotlXor13, 32, j30); j5 = j29 + jArr3[i4]; j6 = rotlXor16 + jArr3[i5] + jArr4[i6]; j7 = j30 + jArr3[i7] + jArr4[i3 + 2]; j8 = rotlXor15 + jArr3[i2 + 4] + j21 + 1; i += 2; iArr = iArr3; iArr2 = iArr2; } jArr2[0] = j5; jArr2[1] = j6; jArr2[2] = j7; jArr2[3] = j8; } @Override // org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher final void decryptBlock(long[] jArr, long[] jArr2) { long[] jArr3 = this.kw; long[] jArr4 = this.t; int[] iArr = ThreefishEngine.MOD5; int[] iArr2 = ThreefishEngine.MOD3; if (jArr3.length != 9) { throw new IllegalArgumentException(); } if (jArr4.length != 5) { throw new IllegalArgumentException(); } boolean z = false; long j = jArr[0]; long j2 = jArr[1]; long j3 = jArr[2]; long j4 = jArr[3]; int i = 17; while (i > 0) { int i2 = iArr[i]; int i3 = iArr2[i]; int i4 = i2 + 1; long j5 = j - jArr3[i4]; int i5 = i2 + 2; long j6 = jArr3[i5]; int i6 = i3 + 1; long j7 = jArr4[i6]; int i7 = i2 + 3; long j8 = j3 - (jArr3[i7] + jArr4[i3 + 2]); long j9 = i; long xorRotr = ThreefishEngine.xorRotr(j4 - ((jArr3[i2 + 4] + j9) + 1), 32, j5); long j10 = j5 - xorRotr; long j11 = j2 - (j6 + j7); int[] iArr3 = iArr; long xorRotr2 = ThreefishEngine.xorRotr(j11, 32, j8); long j12 = j8 - xorRotr2; long xorRotr3 = ThreefishEngine.xorRotr(xorRotr2, 58, j10); long j13 = j10 - xorRotr3; long xorRotr4 = ThreefishEngine.xorRotr(xorRotr, 22, j12); long j14 = j12 - xorRotr4; long xorRotr5 = ThreefishEngine.xorRotr(xorRotr4, 46, j13); long j15 = j13 - xorRotr5; long xorRotr6 = ThreefishEngine.xorRotr(xorRotr3, 12, j14); long j16 = j14 - xorRotr6; long xorRotr7 = ThreefishEngine.xorRotr(xorRotr6, 25, j15); long xorRotr8 = ThreefishEngine.xorRotr(xorRotr5, 33, j16); long j17 = (j15 - xorRotr7) - jArr3[i2]; long j18 = jArr3[i4]; long j19 = jArr4[i3]; long j20 = (j16 - xorRotr8) - (jArr3[i5] + jArr4[i6]); long xorRotr9 = ThreefishEngine.xorRotr(xorRotr8 - (jArr3[i7] + j9), 5, j17); long j21 = j17 - xorRotr9; long xorRotr10 = ThreefishEngine.xorRotr(xorRotr7 - (j18 + j19), 37, j20); long j22 = j20 - xorRotr10; long xorRotr11 = ThreefishEngine.xorRotr(xorRotr10, 23, j21); long j23 = j21 - xorRotr11; long xorRotr12 = ThreefishEngine.xorRotr(xorRotr9, 40, j22); long j24 = j22 - xorRotr12; long xorRotr13 = ThreefishEngine.xorRotr(xorRotr12, 52, j23); long j25 = j23 - xorRotr13; long xorRotr14 = ThreefishEngine.xorRotr(xorRotr11, 57, j24); long j26 = j24 - xorRotr14; j2 = ThreefishEngine.xorRotr(xorRotr14, 14, j25); j = j25 - j2; j4 = ThreefishEngine.xorRotr(xorRotr13, 16, j26); j3 = j26 - j4; i -= 2; iArr = iArr3; iArr2 = iArr2; z = false; } boolean z2 = z; long j27 = jArr3[z2 ? 1 : 0]; long j28 = jArr3[1]; long j29 = jArr4[z2 ? 1 : 0]; long j30 = jArr3[2]; long j31 = jArr4[1]; long j32 = jArr3[3]; jArr2[z2 ? 1 : 0] = j - j27; jArr2[1] = j2 - (j28 + j29); jArr2[2] = j3 - (j30 + j31); jArr2[3] = j4 - j32; } public Threefish256Cipher(long[] jArr, long[] jArr2) { super(jArr, jArr2); } } /* loaded from: classes6.dex */ static final class Threefish512Cipher extends ThreefishCipher { private static final int ROTATION_0_0 = 46; private static final int ROTATION_0_1 = 36; private static final int ROTATION_0_2 = 19; private static final int ROTATION_0_3 = 37; private static final int ROTATION_1_0 = 33; private static final int ROTATION_1_1 = 27; private static final int ROTATION_1_2 = 14; private static final int ROTATION_1_3 = 42; private static final int ROTATION_2_0 = 17; private static final int ROTATION_2_1 = 49; private static final int ROTATION_2_2 = 36; private static final int ROTATION_2_3 = 39; private static final int ROTATION_3_0 = 44; private static final int ROTATION_3_1 = 9; private static final int ROTATION_3_2 = 54; private static final int ROTATION_3_3 = 56; private static final int ROTATION_4_0 = 39; private static final int ROTATION_4_1 = 30; private static final int ROTATION_4_2 = 34; private static final int ROTATION_4_3 = 24; private static final int ROTATION_5_0 = 13; private static final int ROTATION_5_1 = 50; private static final int ROTATION_5_2 = 10; private static final int ROTATION_5_3 = 17; private static final int ROTATION_6_0 = 25; private static final int ROTATION_6_1 = 29; private static final int ROTATION_6_2 = 39; private static final int ROTATION_6_3 = 43; private static final int ROTATION_7_0 = 8; private static final int ROTATION_7_1 = 35; private static final int ROTATION_7_2 = 56; private static final int ROTATION_7_3 = 22; @Override // org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher public final void encryptBlock(long[] jArr, long[] jArr2) { long[] jArr3 = this.kw; long[] jArr4 = this.t; int[] iArr = ThreefishEngine.MOD9; int[] iArr2 = ThreefishEngine.MOD3; if (jArr3.length != 17) { throw new IllegalArgumentException(); } if (jArr4.length != 5) { throw new IllegalArgumentException(); } long j = jArr[0]; long j2 = jArr[1]; long j3 = jArr[2]; long j4 = jArr[3]; long j5 = jArr[4]; long j6 = jArr[5]; long j7 = jArr[6]; long j8 = jArr[7]; long j9 = j + jArr3[0]; long j10 = j2 + jArr3[1]; long j11 = j3 + jArr3[2]; long j12 = jArr3[3]; long j13 = j5 + jArr3[4]; long j14 = jArr3[5]; long j15 = jArr4[0]; long j16 = j7 + jArr3[6] + jArr4[1]; int i = 1; long j17 = j4 + j12; long j18 = j6 + j14 + j15; long j19 = j8 + jArr3[7]; while (i < 18) { int i2 = iArr[i]; int i3 = iArr2[i]; long j20 = j9 + j10; long rotlXor = ThreefishEngine.rotlXor(j10, 46, j20); long j21 = j11 + j17; long rotlXor2 = ThreefishEngine.rotlXor(j17, 36, j21); long j22 = j18; int[] iArr3 = iArr; long j23 = j13 + j22; long rotlXor3 = ThreefishEngine.rotlXor(j22, 19, j23); long[] jArr5 = jArr3; long j24 = j19; long j25 = j16 + j24; long rotlXor4 = ThreefishEngine.rotlXor(j24, 37, j25); int i4 = i; long j26 = j21 + rotlXor; long rotlXor5 = ThreefishEngine.rotlXor(rotlXor, 33, j26); long j27 = j23 + rotlXor4; long rotlXor6 = ThreefishEngine.rotlXor(rotlXor4, 27, j27); long j28 = j25 + rotlXor3; long rotlXor7 = ThreefishEngine.rotlXor(rotlXor3, 14, j28); long j29 = j20 + rotlXor2; long rotlXor8 = ThreefishEngine.rotlXor(rotlXor2, 42, j29); long j30 = j27 + rotlXor5; long rotlXor9 = ThreefishEngine.rotlXor(rotlXor5, 17, j30); long j31 = j28 + rotlXor8; long rotlXor10 = ThreefishEngine.rotlXor(rotlXor8, 49, j31); long j32 = j29 + rotlXor7; long rotlXor11 = ThreefishEngine.rotlXor(rotlXor7, 36, j32); long j33 = j26 + rotlXor6; long rotlXor12 = ThreefishEngine.rotlXor(rotlXor6, 39, j33); long j34 = j31 + rotlXor9; long rotlXor13 = ThreefishEngine.rotlXor(rotlXor9, 44, j34); long j35 = j32 + rotlXor12; long rotlXor14 = ThreefishEngine.rotlXor(rotlXor12, 9, j35); long j36 = j33 + rotlXor11; long rotlXor15 = ThreefishEngine.rotlXor(rotlXor11, 54, j36); long j37 = j30 + rotlXor10; long rotlXor16 = ThreefishEngine.rotlXor(rotlXor10, 56, j37); long j38 = jArr5[i2]; int i5 = i2 + 1; long j39 = rotlXor13 + jArr5[i5]; int i6 = i2 + 2; long j40 = jArr5[i6]; int i7 = i2 + 3; long j41 = rotlXor16 + jArr5[i7]; int i8 = i2 + 4; long j42 = jArr5[i8]; int i9 = i2 + 5; long j43 = rotlXor15 + jArr5[i9] + jArr4[i3]; int i10 = i2 + 6; long j44 = jArr5[i10]; int i11 = i3 + 1; long j45 = jArr4[i11]; int i12 = i2 + 7; long j46 = i4; long j47 = rotlXor14 + jArr5[i12] + j46; long j48 = j35 + j38 + j39; long rotlXor17 = ThreefishEngine.rotlXor(j39, 39, j48); long j49 = j36 + j40 + j41; long rotlXor18 = ThreefishEngine.rotlXor(j41, 30, j49); long j50 = j37 + j42 + j43; long rotlXor19 = ThreefishEngine.rotlXor(j43, 34, j50); long j51 = j34 + j44 + j45 + j47; long rotlXor20 = ThreefishEngine.rotlXor(j47, 24, j51); long j52 = j49 + rotlXor17; long rotlXor21 = ThreefishEngine.rotlXor(rotlXor17, 13, j52); long j53 = j50 + rotlXor20; long rotlXor22 = ThreefishEngine.rotlXor(rotlXor20, 50, j53); long j54 = j51 + rotlXor19; long rotlXor23 = ThreefishEngine.rotlXor(rotlXor19, 10, j54); long j55 = j48 + rotlXor18; long rotlXor24 = ThreefishEngine.rotlXor(rotlXor18, 17, j55); long j56 = j53 + rotlXor21; long rotlXor25 = ThreefishEngine.rotlXor(rotlXor21, 25, j56); long j57 = j54 + rotlXor24; long rotlXor26 = ThreefishEngine.rotlXor(rotlXor24, 29, j57); long j58 = j55 + rotlXor23; long rotlXor27 = ThreefishEngine.rotlXor(rotlXor23, 39, j58); long j59 = j52 + rotlXor22; long rotlXor28 = ThreefishEngine.rotlXor(rotlXor22, 43, j59); long j60 = j57 + rotlXor25; long rotlXor29 = ThreefishEngine.rotlXor(rotlXor25, 8, j60); long j61 = j58 + rotlXor28; long rotlXor30 = ThreefishEngine.rotlXor(rotlXor28, 35, j61); long j62 = j59 + rotlXor27; long rotlXor31 = ThreefishEngine.rotlXor(rotlXor27, 56, j62); long j63 = j56 + rotlXor26; long rotlXor32 = ThreefishEngine.rotlXor(rotlXor26, 22, j63); long j64 = jArr5[i5]; j10 = rotlXor29 + jArr5[i6]; long j65 = jArr5[i7]; long j66 = rotlXor32 + jArr5[i8]; long j67 = jArr5[i9]; long j68 = rotlXor31 + jArr5[i10] + jArr4[i11]; long j69 = j60 + jArr5[i12] + jArr4[i3 + 2]; long j70 = j62 + j65; j19 = rotlXor30 + jArr5[i2 + 8] + j46 + 1; j13 = j63 + j67; j16 = j69; j18 = j68; iArr2 = iArr2; iArr = iArr3; j17 = j66; jArr3 = jArr5; i = i4 + 2; j11 = j70; j9 = j61 + j64; } jArr2[0] = j9; jArr2[1] = j10; jArr2[2] = j11; jArr2[3] = j17; jArr2[4] = j13; jArr2[5] = j18; jArr2[6] = j16; jArr2[7] = j19; } @Override // org.bouncycastle.crypto.engines.ThreefishEngine.ThreefishCipher public final void decryptBlock(long[] jArr, long[] jArr2) { long[] jArr3 = this.kw; long[] jArr4 = this.t; int[] iArr = ThreefishEngine.MOD9; int[] iArr2 = ThreefishEngine.MOD3; if (jArr3.length != 17) { throw new IllegalArgumentException(); } if (jArr4.length != 5) { throw new IllegalArgumentException(); } boolean z = false; long j = jArr[0]; long j2 = jArr[1]; long j3 = jArr[2]; long j4 = jArr[3]; long j5 = jArr[4]; long j6 = jArr[5]; long j7 = jArr[6]; long j8 = jArr[7]; int i = 17; while (i > 0) { int i2 = iArr[i]; int i3 = iArr2[i]; int i4 = i2 + 1; long j9 = j - jArr3[i4]; int i5 = i2 + 2; long j10 = jArr3[i5]; int i6 = i2 + 3; long j11 = j3 - jArr3[i6]; int i7 = i2 + 4; long j12 = jArr3[i7]; int i8 = i2 + 5; long j13 = j5 - jArr3[i8]; int i9 = i2 + 6; long j14 = jArr3[i9]; int i10 = i3 + 1; long j15 = jArr4[i10]; int i11 = i2 + 7; long j16 = j7 - (jArr3[i11] + jArr4[i3 + 2]); long j17 = jArr3[i2 + 8]; int[] iArr3 = iArr; int[] iArr4 = iArr2; long j18 = i; long xorRotr = ThreefishEngine.xorRotr(j2 - j10, 8, j16); long j19 = j16 - xorRotr; long xorRotr2 = ThreefishEngine.xorRotr(j8 - ((j17 + j18) + 1), 35, j9); long j20 = j9 - xorRotr2; long[] jArr5 = jArr3; long xorRotr3 = ThreefishEngine.xorRotr(j6 - (j14 + j15), 56, j11); long j21 = j11 - xorRotr3; long xorRotr4 = ThreefishEngine.xorRotr(j4 - j12, 22, j13); long j22 = j13 - xorRotr4; long xorRotr5 = ThreefishEngine.xorRotr(xorRotr, 25, j22); long j23 = j22 - xorRotr5; long xorRotr6 = ThreefishEngine.xorRotr(xorRotr4, 29, j19); long j24 = j19 - xorRotr6; long xorRotr7 = ThreefishEngine.xorRotr(xorRotr3, 39, j20); long j25 = j20 - xorRotr7; int i12 = i; long xorRotr8 = ThreefishEngine.xorRotr(xorRotr2, 43, j21); long j26 = j21 - xorRotr8; long xorRotr9 = ThreefishEngine.xorRotr(xorRotr5, 13, j26); long j27 = j26 - xorRotr9; long xorRotr10 = ThreefishEngine.xorRotr(xorRotr8, 50, j23); long j28 = j23 - xorRotr10; long xorRotr11 = ThreefishEngine.xorRotr(xorRotr7, 10, j24); long j29 = j24 - xorRotr11; long xorRotr12 = ThreefishEngine.xorRotr(xorRotr6, 17, j25); long j30 = j25 - xorRotr12; long xorRotr13 = ThreefishEngine.xorRotr(xorRotr9, 39, j30); long xorRotr14 = ThreefishEngine.xorRotr(xorRotr12, 30, j27); long xorRotr15 = ThreefishEngine.xorRotr(xorRotr11, 34, j28); long[] jArr6 = jArr4; long xorRotr16 = ThreefishEngine.xorRotr(xorRotr10, 24, j29); long j31 = (j30 - xorRotr13) - jArr5[i2]; long j32 = jArr5[i4]; long j33 = (j27 - xorRotr14) - jArr5[i5]; long j34 = jArr5[i6]; long j35 = (j28 - xorRotr15) - jArr5[i7]; long j36 = jArr5[i8]; long j37 = jArr6[i3]; long j38 = (j29 - xorRotr16) - (jArr5[i9] + jArr6[i10]); long j39 = jArr5[i11]; long xorRotr17 = ThreefishEngine.xorRotr(xorRotr13 - j32, 44, j38); long j40 = j38 - xorRotr17; long xorRotr18 = ThreefishEngine.xorRotr(xorRotr16 - (j39 + j18), 9, j31); long j41 = j31 - xorRotr18; long xorRotr19 = ThreefishEngine.xorRotr(xorRotr15 - (j36 + j37), 54, j33); long j42 = j33 - xorRotr19; long xorRotr20 = ThreefishEngine.xorRotr(xorRotr14 - j34, 56, j35); long j43 = j35 - xorRotr20; long xorRotr21 = ThreefishEngine.xorRotr(xorRotr17, 17, j43); long j44 = j43 - xorRotr21; long xorRotr22 = ThreefishEngine.xorRotr(xorRotr20, 49, j40); long j45 = j40 - xorRotr22; long xorRotr23 = ThreefishEngine.xorRotr(xorRotr19, 36, j41); long j46 = j41 - xorRotr23; long xorRotr24 = ThreefishEngine.xorRotr(xorRotr18, 39, j42); long j47 = j42 - xorRotr24; long xorRotr25 = ThreefishEngine.xorRotr(xorRotr21, 33, j47); long j48 = j47 - xorRotr25; long xorRotr26 = ThreefishEngine.xorRotr(xorRotr24, 27, j44); long j49 = j44 - xorRotr26; long xorRotr27 = ThreefishEngine.xorRotr(xorRotr23, 14, j45); long j50 = j45 - xorRotr27; long xorRotr28 = ThreefishEngine.xorRotr(xorRotr22, 42, j46); long j51 = j46 - xorRotr28; long xorRotr29 = ThreefishEngine.xorRotr(xorRotr25, 46, j51); long xorRotr30 = ThreefishEngine.xorRotr(xorRotr28, 36, j48); j6 = ThreefishEngine.xorRotr(xorRotr27, 19, j49); long j52 = j49 - j6; j8 = ThreefishEngine.xorRotr(xorRotr26, 37, j50); j7 = j50 - j8; long j53 = j48 - xorRotr30; i = i12 - 2; j = j51 - xorRotr29; j3 = j53; j4 = xorRotr30; j2 = xorRotr29; jArr4 = jArr6; iArr = iArr3; iArr2 = iArr4; z = false; j5 = j52; jArr3 = jArr5; } long[] jArr7 = jArr3; long[] jArr8 = jArr4; boolean z2 = z; long j54 = jArr7[z2 ? 1 : 0]; long j55 = jArr7[1]; long j56 = jArr7[2]; long j57 = jArr7[3]; long j58 = jArr7[4]; long j59 = jArr7[5]; long j60 = jArr8[z2 ? 1 : 0]; long j61 = jArr7[6]; long j62 = jArr8[1]; long j63 = jArr7[7]; jArr2[z2 ? 1 : 0] = j - j54; jArr2[1] = j2 - j55; jArr2[2] = j3 - j56; jArr2[3] = j4 - j57; jArr2[4] = j5 - j58; jArr2[5] = j6 - (j59 + j60); jArr2[6] = j7 - (j61 + j62); jArr2[7] = j8 - j63; } protected Threefish512Cipher(long[] jArr, long[] jArr2) { super(jArr, jArr2); } } /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes6.dex */ public static abstract class ThreefishCipher { protected final long[] kw; protected final long[] t; abstract void decryptBlock(long[] jArr, long[] jArr2); abstract void encryptBlock(long[] jArr, long[] jArr2); protected ThreefishCipher(long[] jArr, long[] jArr2) { this.kw = jArr; this.t = jArr2; } } public ThreefishEngine(int i) { ThreefishCipher threefish256Cipher; long[] jArr = new long[5]; this.t = jArr; int i2 = i / 8; this.blocksizeBytes = i2; int i3 = i2 / 8; this.blocksizeWords = i3; this.currentBlock = new long[i3]; long[] jArr2 = new long[(i3 << 1) + 1]; this.kw = jArr2; if (i == 256) { threefish256Cipher = new Threefish256Cipher(jArr2, jArr); } else if (i == 512) { threefish256Cipher = new Threefish512Cipher(jArr2, jArr); } else { if (i != 1024) { throw new IllegalArgumentException("Invalid blocksize - Threefish is defined with block size of 256, 512, or 1024 bits"); } threefish256Cipher = new Threefish1024Cipher(jArr2, jArr); } this.cipher = threefish256Cipher; } static { int i = 0; while (true) { int[] iArr = MOD9; if (i >= iArr.length) { return; } MOD17[i] = i % 17; iArr[i] = i % 9; MOD5[i] = i % 5; MOD3[i] = i % 3; i++; } } }