Files
smcryptoutils/SMCryptoUtils/IEasyGmUtils.cs

35 lines
1.6 KiB
C#
Raw Permalink Normal View History

2023-03-02 22:57:29 +08:00
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);
}
}