本文整理汇总了Java中org.bouncycastle.util.Pack.bigEndianToInt方法的典型用法代码示例。如果您正苦于以下问题:Java Pack.bigEndianToInt方法的具体用法?Java Pack.bigEndianToInt怎么用?Java Pack.bigEndianToInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.bouncycastle.util.Pack
的用法示例。
在下文中一共展示了Pack.bigEndianToInt方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: SHA224Digest
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
public SHA224Digest(byte[] encodedState)
{
super(encodedState);
H1 = Pack.bigEndianToInt(encodedState, 16);
H2 = Pack.bigEndianToInt(encodedState, 20);
H3 = Pack.bigEndianToInt(encodedState, 24);
H4 = Pack.bigEndianToInt(encodedState, 28);
H5 = Pack.bigEndianToInt(encodedState, 32);
H6 = Pack.bigEndianToInt(encodedState, 36);
H7 = Pack.bigEndianToInt(encodedState, 40);
H8 = Pack.bigEndianToInt(encodedState, 44);
xOff = Pack.bigEndianToInt(encodedState, 48);
for (int i = 0; i != xOff; i++)
{
X[i] = Pack.bigEndianToInt(encodedState, 52 + (i * 4));
}
}
示例2: SHA1Digest
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
public SHA1Digest(byte[] encodedState)
{
super(encodedState);
H1 = Pack.bigEndianToInt(encodedState, 16);
H2 = Pack.bigEndianToInt(encodedState, 20);
H3 = Pack.bigEndianToInt(encodedState, 24);
H4 = Pack.bigEndianToInt(encodedState, 28);
H5 = Pack.bigEndianToInt(encodedState, 32);
xOff = Pack.bigEndianToInt(encodedState, 36);
for (int i = 0; i != xOff; i++)
{
X[i] = Pack.bigEndianToInt(encodedState, 40 + (i * 4));
}
}
示例3: restoreState
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
protected void restoreState(byte[] encodedState)
{
xBufOff = Pack.bigEndianToInt(encodedState, 8);
System.arraycopy(encodedState, 0, xBuf, 0, xBufOff);
byteCount1 = Pack.bigEndianToLong(encodedState, 12);
byteCount2 = Pack.bigEndianToLong(encodedState, 20);
H1 = Pack.bigEndianToLong(encodedState, 28);
H2 = Pack.bigEndianToLong(encodedState, 36);
H3 = Pack.bigEndianToLong(encodedState, 44);
H4 = Pack.bigEndianToLong(encodedState, 52);
H5 = Pack.bigEndianToLong(encodedState, 60);
H6 = Pack.bigEndianToLong(encodedState, 68);
H7 = Pack.bigEndianToLong(encodedState, 76);
H8 = Pack.bigEndianToLong(encodedState, 84);
wOff = Pack.bigEndianToInt(encodedState, 92);
for (int i = 0; i < wOff; i++)
{
W[i] = Pack.bigEndianToLong(encodedState, 96 + (i * 8));
}
}
示例4: SHA256Digest
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
public SHA256Digest(byte[] encodedState)
{
super(encodedState);
H1 = Pack.bigEndianToInt(encodedState, 16);
H2 = Pack.bigEndianToInt(encodedState, 20);
H3 = Pack.bigEndianToInt(encodedState, 24);
H4 = Pack.bigEndianToInt(encodedState, 28);
H5 = Pack.bigEndianToInt(encodedState, 32);
H6 = Pack.bigEndianToInt(encodedState, 36);
H7 = Pack.bigEndianToInt(encodedState, 40);
H8 = Pack.bigEndianToInt(encodedState, 44);
xOff = Pack.bigEndianToInt(encodedState, 48);
for (int i = 0; i != xOff; i++)
{
X[i] = Pack.bigEndianToInt(encodedState, 52 + (i * 4));
}
}
示例5: CramerShoupCiphertext
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
public CramerShoupCiphertext(byte[] c)
{
int off = 0, s;
byte[] tmp;
s = Pack.bigEndianToInt(c, off);
off += 4;
tmp = Arrays.copyOfRange(c, off, off + s);
off += s;
u1 = new BigInteger(tmp);
s = Pack.bigEndianToInt(c, off);
off += 4;
tmp = Arrays.copyOfRange(c, off, off + s);
off += s;
u2 = new BigInteger(tmp);
s = Pack.bigEndianToInt(c, off);
off += 4;
tmp = Arrays.copyOfRange(c, off, off + s);
off += s;
e = new BigInteger(tmp);
s = Pack.bigEndianToInt(c, off);
off += 4;
tmp = Arrays.copyOfRange(c, off, off + s);
off += s;
v = new BigInteger(tmp);
}
示例6: processBlock
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
public int processBlock(byte[] in, int inOff, byte[] out, int outOff)
throws DataLengthException, IllegalStateException
{
if (rk == null)
{
throw new IllegalStateException("SM4 not initialised");
}
if ((inOff + BLOCK_SIZE) > in.length)
{
throw new DataLengthException("input buffer too short");
}
if ((outOff + BLOCK_SIZE) > out.length)
{
throw new OutputLengthException("output buffer too short");
}
X[0] = Pack.bigEndianToInt(in, inOff);
X[1] = Pack.bigEndianToInt(in, inOff + 4);
X[2] = Pack.bigEndianToInt(in, inOff + 8);
X[3] = Pack.bigEndianToInt(in, inOff + 12);
int i;
for (i = 0; i < 32; i += 4)
{
X[0] = F0(X, rk[i]);
X[1] = F1(X, rk[i + 1]);
X[2] = F2(X, rk[i + 2]);
X[3] = F3(X, rk[i + 3]);
}
R(X, 0);
Pack.intToBigEndian(X[0], out, outOff);
Pack.intToBigEndian(X[1], out, outOff + 4);
Pack.intToBigEndian(X[2], out, outOff + 8);
Pack.intToBigEndian(X[3], out, outOff + 12);
return 16;
}
示例7: encryptBlock
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
/**
* Encrypt one block of plaintext.
*
* @param input the array containing the input data.
* @param inOff offset into the in array the data starts at.
* @param output the array the output data will be copied into.
* @param outOff the offset into the out array the output will start at.
*/
protected void encryptBlock(
byte[] input,
int inOff,
byte[] output,
int outOff)
{
X3 = Pack.bigEndianToInt(input, inOff);
X2 = Pack.bigEndianToInt(input, inOff + 4);
X1 = Pack.bigEndianToInt(input, inOff + 8);
X0 = Pack.bigEndianToInt(input, inOff + 12);
sb0(wKey[0] ^ X0, wKey[1] ^ X1, wKey[2] ^ X2, wKey[3] ^ X3); LT();
sb1(wKey[4] ^ X0, wKey[5] ^ X1, wKey[6] ^ X2, wKey[7] ^ X3); LT();
sb2(wKey[8] ^ X0, wKey[9] ^ X1, wKey[10] ^ X2, wKey[11] ^ X3); LT();
sb3(wKey[12] ^ X0, wKey[13] ^ X1, wKey[14] ^ X2, wKey[15] ^ X3); LT();
sb4(wKey[16] ^ X0, wKey[17] ^ X1, wKey[18] ^ X2, wKey[19] ^ X3); LT();
sb5(wKey[20] ^ X0, wKey[21] ^ X1, wKey[22] ^ X2, wKey[23] ^ X3); LT();
sb6(wKey[24] ^ X0, wKey[25] ^ X1, wKey[26] ^ X2, wKey[27] ^ X3); LT();
sb7(wKey[28] ^ X0, wKey[29] ^ X1, wKey[30] ^ X2, wKey[31] ^ X3); LT();
sb0(wKey[32] ^ X0, wKey[33] ^ X1, wKey[34] ^ X2, wKey[35] ^ X3); LT();
sb1(wKey[36] ^ X0, wKey[37] ^ X1, wKey[38] ^ X2, wKey[39] ^ X3); LT();
sb2(wKey[40] ^ X0, wKey[41] ^ X1, wKey[42] ^ X2, wKey[43] ^ X3); LT();
sb3(wKey[44] ^ X0, wKey[45] ^ X1, wKey[46] ^ X2, wKey[47] ^ X3); LT();
sb4(wKey[48] ^ X0, wKey[49] ^ X1, wKey[50] ^ X2, wKey[51] ^ X3); LT();
sb5(wKey[52] ^ X0, wKey[53] ^ X1, wKey[54] ^ X2, wKey[55] ^ X3); LT();
sb6(wKey[56] ^ X0, wKey[57] ^ X1, wKey[58] ^ X2, wKey[59] ^ X3); LT();
sb7(wKey[60] ^ X0, wKey[61] ^ X1, wKey[62] ^ X2, wKey[63] ^ X3); LT();
sb0(wKey[64] ^ X0, wKey[65] ^ X1, wKey[66] ^ X2, wKey[67] ^ X3); LT();
sb1(wKey[68] ^ X0, wKey[69] ^ X1, wKey[70] ^ X2, wKey[71] ^ X3); LT();
sb2(wKey[72] ^ X0, wKey[73] ^ X1, wKey[74] ^ X2, wKey[75] ^ X3); LT();
sb3(wKey[76] ^ X0, wKey[77] ^ X1, wKey[78] ^ X2, wKey[79] ^ X3); LT();
sb4(wKey[80] ^ X0, wKey[81] ^ X1, wKey[82] ^ X2, wKey[83] ^ X3); LT();
sb5(wKey[84] ^ X0, wKey[85] ^ X1, wKey[86] ^ X2, wKey[87] ^ X3); LT();
sb6(wKey[88] ^ X0, wKey[89] ^ X1, wKey[90] ^ X2, wKey[91] ^ X3); LT();
sb7(wKey[92] ^ X0, wKey[93] ^ X1, wKey[94] ^ X2, wKey[95] ^ X3); LT();
sb0(wKey[96] ^ X0, wKey[97] ^ X1, wKey[98] ^ X2, wKey[99] ^ X3); LT();
sb1(wKey[100] ^ X0, wKey[101] ^ X1, wKey[102] ^ X2, wKey[103] ^ X3); LT();
sb2(wKey[104] ^ X0, wKey[105] ^ X1, wKey[106] ^ X2, wKey[107] ^ X3); LT();
sb3(wKey[108] ^ X0, wKey[109] ^ X1, wKey[110] ^ X2, wKey[111] ^ X3); LT();
sb4(wKey[112] ^ X0, wKey[113] ^ X1, wKey[114] ^ X2, wKey[115] ^ X3); LT();
sb5(wKey[116] ^ X0, wKey[117] ^ X1, wKey[118] ^ X2, wKey[119] ^ X3); LT();
sb6(wKey[120] ^ X0, wKey[121] ^ X1, wKey[122] ^ X2, wKey[123] ^ X3); LT();
sb7(wKey[124] ^ X0, wKey[125] ^ X1, wKey[126] ^ X2, wKey[127] ^ X3);
Pack.intToBigEndian(wKey[131] ^ X3, output, outOff);
Pack.intToBigEndian(wKey[130] ^ X2, output, outOff + 4);
Pack.intToBigEndian(wKey[129] ^ X1, output, outOff + 8);
Pack.intToBigEndian(wKey[128] ^ X0, output, outOff + 12);
}
示例8: readDigestLength
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
private static int readDigestLength(byte[] encodedState)
{
return Pack.bigEndianToInt(encodedState, encodedState.length - 4);
}
示例9: GeneralDigest
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
protected GeneralDigest(byte[] encodedState)
{
System.arraycopy(encodedState, 0, xBuf, 0, xBuf.length);
xBufOff = Pack.bigEndianToInt(encodedState, 4);
byteCount = Pack.bigEndianToLong(encodedState, 8);
}
示例10: asInts
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
public static int[] asInts(byte[] x)
{
int[] z = new int[4];
Pack.bigEndianToInt(x, 0, z);
return z;
}
示例11: asInts
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
public static void asInts(byte[] x, int[] z)
{
Pack.bigEndianToInt(x, 0, z);
}
示例12: expandKey
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
private int[] expandKey(boolean forEncryption, byte[] key)
{
int[] rk = new int[32];
int[] MK = new int[4];
MK[0] = Pack.bigEndianToInt(key, 0);
MK[1] = Pack.bigEndianToInt(key, 4);
MK[2] = Pack.bigEndianToInt(key, 8);
MK[3] = Pack.bigEndianToInt(key, 12);
int i;
int[] K = new int[4];
K[0] = MK[0] ^ FK[0];
K[1] = MK[1] ^ FK[1];
K[2] = MK[2] ^ FK[2];
K[3] = MK[3] ^ FK[3];
if (forEncryption)
{
rk[0] = K[0] ^ T_ap(K[1] ^ K[2] ^ K[3] ^ CK[0]);
rk[1] = K[1] ^ T_ap(K[2] ^ K[3] ^ rk[0] ^ CK[1]);
rk[2] = K[2] ^ T_ap(K[3] ^ rk[0] ^ rk[1] ^ CK[2]);
rk[3] = K[3] ^ T_ap(rk[0] ^ rk[1] ^ rk[2] ^ CK[3]);
for (i = 4; i < 32; i++)
{
rk[i] = rk[i - 4] ^ T_ap(rk[i - 3] ^ rk[i - 2] ^ rk[i - 1] ^ CK[i]);
}
}
else
{
rk[31] = K[0] ^ T_ap(K[1] ^ K[2] ^ K[3] ^ CK[0]);
rk[30] = K[1] ^ T_ap(K[2] ^ K[3] ^ rk[31] ^ CK[1]);
rk[29] = K[2] ^ T_ap(K[3] ^ rk[31] ^ rk[30] ^ CK[2]);
rk[28] = K[3] ^ T_ap(rk[31] ^ rk[30] ^ rk[29] ^ CK[3]);
for (i = 27; i >= 0; i--)
{
rk[i] = rk[i + 4] ^ T_ap(rk[i + 3] ^ rk[i + 2] ^ rk[i + 1] ^ CK[31 - i]);
}
}
return rk;
}