Ed25519/Ed25519 Tests/EdPointTests.cs
2020-01-07 00:36:18 +01:00

40 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Numerics;
using System.Text;
using Ed25519;
using NUnit.Framework;
namespace Ed25519_Tests
{
public sealed class EdPointTests
{
[Test]
public void TestScalMul01()
{
var point = new EdPoint
{
X = new BigInteger(1_000_000_000_000d),
Y = new BigInteger(1_024),
};
var scalar = new BigInteger(10_000);
var result = point.ScalarMul(scalar);
Assert.That(result.X, Is.EqualTo(BigInteger.Parse("21818314728053983532520901163316227408567979942776402561242051297393768362536")));
Assert.That(result.Y, Is.EqualTo(BigInteger.Parse("22622610217554165211892652042645278972766880794387244645923515142420844725944")));
}
[Test]
public void TestExpMod01()
{
var number = new BigInteger(10_000d);
var exponent = new BigInteger(10d);
var modulo = new BigInteger(105d);
var result = number.ExpMod(exponent, modulo);
Assert.That(result, Is.EqualTo(new BigInteger(25d)));
}
}
}