35 lines
1.6 KiB
C#
35 lines
1.6 KiB
C#
using Org.BouncyCastle.Crypto;
|
|
using Org.BouncyCastle.Crypto.Parameters;
|
|
using Org.BouncyCastle.Math;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace SMCryptoUtils
|
|
{
|
|
public interface IEasyGmUtils
|
|
{
|
|
BigInteger fromUnsignedByteArray(byte[] var0, int var1, int var2);
|
|
ECPrivateKeyParameters getPrivatekeyFromD(BigInteger d);
|
|
ECPublicKeyParameters getPublickeyFromXY(BigInteger x, BigInteger y);
|
|
byte[] signSm3WithSm2(byte[] msg, byte[] userId, byte[] privateKeyBytes);
|
|
byte[] signSm3WithSm2Asn1Rs(byte[] msg, byte[] userId, AsymmetricKeyParameter privateKey);
|
|
byte[] sm2Decrypt(byte[] data, AsymmetricKeyParameter key);
|
|
byte[] sm2DecryptOld(byte[] data, AsymmetricKeyParameter key);
|
|
byte[] sm2Encrypt(byte[] data, AsymmetricKeyParameter key);
|
|
byte[] sm2EncryptOld(byte[] data, AsymmetricKeyParameter pubkey);
|
|
byte[] sm3(byte[] bytes);
|
|
byte[] sm4Decrypt(byte[] keyBytes, byte[] cipher);
|
|
byte[] sm4DecryptCBC(byte[] keyBytes, byte[] cipher, byte[] iv, string algo);
|
|
byte[] sm4DecryptECB(byte[] keyBytes, byte[] cipher, string algo);
|
|
byte[] sm4Encrypt(byte[] keyBytes, byte[] plain);
|
|
byte[] sm4EncryptCBC(byte[] keyBytes, byte[] plain, byte[] iv, string algo);
|
|
byte[] sm4EncryptECB(byte[] keyBytes, byte[] plain, string algo);
|
|
bool verifySm3WithSm2(byte[] msg, byte[] userId, byte[] rs, byte[] publicKeyBytes);
|
|
bool verifySm3WithSm2Asn1Rs(byte[] msg, byte[] userId, byte[] sign, AsymmetricKeyParameter publicKey);
|
|
byte[] zeroIv(string algo);
|
|
}
|
|
}
|