static void Main(string[] args) { var config = new ResolverConfig(); var servise = config.CreateServiceProvider().GetService <IExportDataService>(); servise.Run(); }
private static void Main(string[] args) { Options options = new Options(); Parser.Default.ParseArguments <Options>(args) .WithParsed(opt => { options = opt; }); var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile($"{options.ConfigFile}") .Build(); var curve = SetupCurve(config); var serviceProvider = ResolverConfig.CreateServiceProvider(); var ecdsa = serviceProvider.GetService <IDigitalSignature>(); Console.Clear(); if (options.PrintPoints) { PrintPoints(curve); } var dh = new DiffieHellman(curve); var alice = dh.GenerateKeyPair(); var bob = dh.GenerateKeyPair(); Console.WriteLine(); Console.WriteLine($"G = {curve.G}{Environment.NewLine}"); Console.WriteLine($"Alice's public and private keys:{Environment.NewLine}{alice.privateKey}{Environment.NewLine}{alice.publicKey}{Environment.NewLine}"); Console.WriteLine($"Bob's public and private keys:{Environment.NewLine}{bob.privateKey}{Environment.NewLine}{bob.publicKey}{Environment.NewLine}"); Console.WriteLine($"{Environment.NewLine}Alice's key: {dh.GetSharedkey(alice.privateKey, bob.publicKey)} {Environment.NewLine}Bob's key: {dh.GetSharedkey(bob.privateKey, alice.publicKey)}"); string message = "Hello world!"; var keys = ecdsa.GenerateKeyPair(); Console.WriteLine($"{Environment.NewLine}ECDSA"); Console.WriteLine($"Message: {message}"); Console.WriteLine($"Public key: {keys.publicKey}"); Console.WriteLine($"Private key: {keys.privateKey}"); var signature = ecdsa.Sign(message, keys.privateKey); Console.WriteLine($"{Environment.NewLine}Signature:{Environment.NewLine}r = {signature.r}, s = {signature.s}"); //signature.r++; string verification = ecdsa.Verify(message, signature, keys.publicKey) ? "Signature matches!" : "Signature does not match!"; Console.WriteLine(verification); }