Class StandardSm2Engine
java.lang.Object
cn.sinozg.applet.common.core.model.StandardSm2Engine
- Since:
- 2024-12-03 13:55
- Author:
- xieyubin
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate final org.bouncycastle.crypto.Digestprivate org.bouncycastle.crypto.params.ECKeyParametersprivate org.bouncycastle.crypto.params.ECDomainParametersprivate booleanprivate final org.bouncycastle.crypto.engines.SM2Engine.Modeprivate SecureRandom -
Constructor Summary
ConstructorsConstructorDescriptionStandardSm2Engine(org.bouncycastle.crypto.Digest digest) StandardSm2Engine(org.bouncycastle.crypto.Digest digest, org.bouncycastle.crypto.engines.SM2Engine.Mode mode) StandardSm2Engine(org.bouncycastle.crypto.engines.SM2Engine.Mode mode) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddFieldElement(org.bouncycastle.crypto.Digest digest, org.bouncycastle.math.ec.ECFieldElement v) private byte[]convertToAsn1(org.bouncycastle.math.ec.ECPoint c1P, byte[] c2, byte[] c3) protected org.bouncycastle.math.ec.ECMultiplierprivate byte[]decrypt(byte[] in, int inOff, int inLen) 解密private byte[]encrypt(byte[] in, int inOff, int inLen) 加密intgetOutputSize(int inputLen) voidinit(boolean forEncryption, org.bouncycastle.crypto.CipherParameters param) private voidkdf(org.bouncycastle.crypto.Digest digest, org.bouncycastle.math.ec.ECPoint c1, byte[] encData) private BigIntegernextK()private booleannotEncrypted(byte[] encData, byte[] in, int inOff) byte[]processBlock(byte[] in, int inOff, int inLen) private voidxor(byte[] data, byte[] kdfOut, int dOff, int dRemaining)
-
Field Details
-
digest
private final org.bouncycastle.crypto.Digest digest -
mode
private final org.bouncycastle.crypto.engines.SM2Engine.Mode mode -
forEncryption
private boolean forEncryption -
ecKey
private org.bouncycastle.crypto.params.ECKeyParameters ecKey -
ecParams
private org.bouncycastle.crypto.params.ECDomainParameters ecParams -
curveLength
private int curveLength -
random
-
-
Constructor Details
-
StandardSm2Engine
public StandardSm2Engine() -
StandardSm2Engine
public StandardSm2Engine(org.bouncycastle.crypto.engines.SM2Engine.Mode mode) -
StandardSm2Engine
public StandardSm2Engine(org.bouncycastle.crypto.Digest digest) -
StandardSm2Engine
public StandardSm2Engine(org.bouncycastle.crypto.Digest digest, org.bouncycastle.crypto.engines.SM2Engine.Mode mode)
-
-
Method Details
-
init
public void init(boolean forEncryption, org.bouncycastle.crypto.CipherParameters param) -
processBlock
public byte[] processBlock(byte[] in, int inOff, int inLen) throws org.bouncycastle.crypto.InvalidCipherTextException - Throws:
org.bouncycastle.crypto.InvalidCipherTextException
-
getOutputSize
public int getOutputSize(int inputLen) -
createBasePointMultiplier
protected org.bouncycastle.math.ec.ECMultiplier createBasePointMultiplier() -
encrypt
private byte[] encrypt(byte[] in, int inOff, int inLen) 加密- Parameters:
in-inOff-inLen-- Returns:
-
decrypt
private byte[] decrypt(byte[] in, int inOff, int inLen) throws org.bouncycastle.crypto.InvalidCipherTextException 解密- Parameters:
in-inOff-inLen-- Returns:
- Throws:
org.bouncycastle.crypto.InvalidCipherTextException
-
notEncrypted
private boolean notEncrypted(byte[] encData, byte[] in, int inOff) -
kdf
private void kdf(org.bouncycastle.crypto.Digest digest, org.bouncycastle.math.ec.ECPoint c1, byte[] encData) -
xor
private void xor(byte[] data, byte[] kdfOut, int dOff, int dRemaining) -
nextK
-
addFieldElement
private void addFieldElement(org.bouncycastle.crypto.Digest digest, org.bouncycastle.math.ec.ECFieldElement v) -
convertToAsn1
private byte[] convertToAsn1(org.bouncycastle.math.ec.ECPoint c1P, byte[] c2, byte[] c3)
-