<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.1" />

IdeaCbcPar

public class IdeaCbcPar : Asn1Encodable
using Org.BouncyCastle.Utilities; using System; namespace Org.BouncyCastle.Asn1.Misc { public class IdeaCbcPar : Asn1Encodable { private readonly Asn1OctetString m_iv; public Asn1OctetString IV => m_iv; public static IdeaCbcPar GetInstance(object o) { if (o == null) return null; IdeaCbcPar ideaCbcPar = o as IdeaCbcPar; if (ideaCbcPar != null) return ideaCbcPar; return new IdeaCbcPar(Asn1Sequence.GetInstance(o)); } public static IdeaCbcPar GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new IdeaCbcPar(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public static IdeaCbcPar GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new IdeaCbcPar(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } private IdeaCbcPar(Asn1Sequence seq) { int count = seq.Count; int sequencePosition = 0; if (count < 0 || count > 1) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); m_iv = Asn1Utilities.ReadOptional(seq, ref sequencePosition, Asn1OctetString.GetOptional); if (sequencePosition != count) throw new ArgumentException("Unexpected elements in sequence", "seq"); } public IdeaCbcPar() : this((byte[])null) { } public IdeaCbcPar(byte[] iv) { m_iv = DerOctetString.FromContentsOptional(iv); } public byte[] GetIV() { return Arrays.Clone(m_iv?.GetOctets()); } public override Asn1Object ToAsn1Object() { if (m_iv != null) return new DerSequence(m_iv); return DerSequence.Empty; } } }