protected override unsafe void DisposeUnmanaged()
        {
            base.DisposeUnmanaged();

            if (Handle == null || Handle.IsInvalid)
            {
                return;
            }
            Handle.Dispose();
            Handle = null;
        }
 unsafe internal ElGamalCiphertext(NativeElGamalCiphertext handle)
 {
     Handle = handle;
 }