GabrielTofvesson 41e8d969ed Refactorings:
* Moved encryption algorithms into a folder
* Sorted networking into separate files

Additions:
* Created Elliptic Curve encryption implementation
* Generalized the key exchange implementation
    - Implemented Diffie-Hellman key exchange
    - Implemented Elliptic Curve Diffie-Hellman key exchange
* Started implementing binary data compressor

Changes:
* Changed NetClient and NetServer to use IKeyExchange for initial AES key exchange instead of RSA (for optimization)
* Adapted TextView implementation to properly support optional borders
* Fed InputView issue caused due to border rendering change
* Fixed and simplified Rectangle computations
* Fixed errant naming in Session layout file
* Fixed errant i18n naming in Session layout file
* Fixed resize background rendering issue in ConsoleController
* Fully implemented ListView (needs testing)
* Updated BankInteractor and server to use ECDH-E with Curve25519

Removals:
* Removed identity verification from NetClient (identities checks should be performed as a layer on top of NetClient/NetServer, not as part of it)
2018-04-09 03:26:00 +02:00

16 lines
310 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Text;
using System.Threading.Tasks;
namespace Common.Cryptography.KeyExchange
{
public interface IKeyExchange
{
byte[] GetPublicKey();
byte[] GetSharedSecret(byte[] pub);
}
}