2013-04-18 5 views
1

Linux 컴퓨터에서 'ssh-keygen'명령으로 생성 된 RSA 공개/개인 키 쌍이 있습니다. 이 리눅스 컴퓨터에는이 공용 키를 사용하여 문자열을 암호화하는 Ruby 응용 프로그램이 있으며이 개인 키를 사용하여 Windows C#/Net 응용 프로그램에서 문자열의 암호를 해독하려고합니다. 성공하지 못한 Bouncy Castle 라이브러리를 살펴 보았습니다. 모든 예나 팁이 도움이 될 것입니다. 감사!C에서 텍스트를 해독하기 위해 기존 RSA SSH 키 사용 #

+0

SSH의 RSA 키는 세션 데이터를 암호화하거나 세션 키를 교환하지 않고 ID를 확인하기 위해 데이터에 서명하는 용도로만 사용됩니다. 이를 사용하여 데이터를 암호화하는 것이 최선의 방법은 아닙니다. –

답변

-2

ssh 키를 사용해야하는 이유가 있습니까?

모든 RSA 키로 충분합니다. 암호화하려면 RSA 키를 추출해야합니다. 그리고 그 키가 RSA가 아니면, DSA는 서명 전용 알고리즘이므로 아무 것도 암호화 할 수 없습니다. 공개 키에 대한 RFC가 있습니다 : http://www.ietf.org/rfc/rfc4716.txt 정확히 필요한 것은 아닙니다. 그러나 각 부분을 추출하는 방법을 이해하는 데 도움이 될 수 있습니다. base64로 인코딩 된 바이너리 청크이어야합니다.

PuTTY 소스를 사용해보십시오 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html keygen에서 key를 생성하고 변환 할 수 있습니다. 그래서, 당신이 RSA 키를 추출하는 장소를 찾으면. 그런 다음 암호화 라이브러리를 사용하여 키와 데이터를 사용하여 RSA를 계산하십시오. 올바른 키를 사용하면 입력 데이터 + 패딩을 얻을 수 있습니다. 루비 프로그램이 공개 키 또는 비공개 키를 사용했는지 여부에 달려 있습니다. 희망이 도움이됩니다.

+0

오픈 표준을 선호하기 때문에. 내 Ruby 코드 (http://pastebin.com/1djhPRxN)는 완벽하게 두 가지 방식 (암호화 및 암호 해독)으로 작동합니다. 내 C#/Net 코드로 동일한 결과를 얻고 싶습니다. – rebeldevel