.NET 응용 프로그램과 임베디드 장치 간의 주요 교환 솔루션을 찾고 있습니다. 두 종점에는 공유 비밀 키가있어 ECD (Elliptic Curve Diffie-Hellman) 알고리즘이 세션의 마스터 비밀을 안전하게 교환하는 데 탁월합니다.ECDiffieHellmanCng 호환 구현이있는 C++ 라이브러리 란 무엇입니까?
ECDH를 구현하고 내장 된 장치에 적합한 좋은 C++ 라이브러리 crypto++이 있습니다. 그러나 ECDH의 구현은 Mirosoft의 ECDiffieHellmanCng 구현과 다릅니다 (FAQ에서 언급 됨). 우리는 .NET 보안 알고리즘과의 호환성을 유지하여 PC 응용 프로그램의 관리 코드 (현재 또는 언젠가 XP를 떨어 뜨릴 때 CNG를 사용할 경우)를 사용할 수 있습니다.
누군가 Microsoft와 호환되는 구현 외에도 다른 사람이 있습니까? 또는 미리 공유 된 키와 함께 사용할 수있는 .NET 코드와 포함 된 C++ 코드 사이에 다른 좋은 키 교환 솔루션이 있습니까?
업데이트 2010 년 1 월 27 일 : ECDH를 사용하여 공유하는 것을보기 전까지 서로 신뢰하지 않는 두 개의 ad-hock 끝점간에 양방향 인증과 키 교환을 수행하려고합니다. 같은 비밀. 이는 공유 암호가 대역 외로 교환되는 Bluetooth 페어링 시나리오와 유사합니다 (단, 장치가 서로 가까이 있지 않을 수도 있음).
당신이 연결하는 FAQ는 피터 Gutmann의 cryptlib에 대한 FAQ입니다 - crypto ++가 아닙니다. –
좋은 수정. FAQ 항목은 동일한 일반적인 cryto 알고리즘의 두 구현이 서로 작동한다고 가정 할 수없는 일반적인주의 사항으로 가장 좋습니다. 나는 누군가가 어떻게되는지 알기를 바라고있다. –