В этом случае только одна программа может получить доступ к карте. Я не думаю, что вам нужен замок.
Посмотрите библиотеку Bouncy Castle для C #, в ней есть ECDH и ECDSA.
Путем Вы обычно используете ECC для шифрования, при помощи "Эфемерно-статического Diffie-Hellman".
Это прокладывает себе путь:
Получатель может теперь использовать эфемерный открытый ключ и его собственный статический закрытый ключ, чтобы воссоздать симметричный ключ и дешифровать данные.
Можно читать больше в Стандартах для Эффективной Криптографии: SEC 1: раздел Elliptic Curve Cryptography 5.1.3.
Платформа.NET уже включает Diffie-Hellman, который является эллиптической кривой crypto алгоритм. Посмотрите под Системой. Безопасность. Криптография. ECDiffieHellmanCng.