40 lines
1.2 KiB
C#
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)));
|
|
}
|
|
}
|
|
}
|