openssl rsa 암호화 예제

전체 메시지를 암호화할 필요는 없지만 받는 사람이 메시지의 무결성을 보장할 수 있도록 서명하려는 경우 레시피는 암호화와 유사합니다. 주요 차이점은 받는 사람의 인증서로 서명할 수 없으므로 고유한 키와 인증서가 있어야 한다는 것입니다. RSA 알고리즘의 작동 방식 때문에 대용량 파일을 암호화할 수 없습니다. n 비트의 키를 만드는 경우 암호화하려는 파일이 (n 빼11) 비트보다 커서는 안됩니다. RSA 암호의 가장 효과적인 사용은 임의로 생성 된 암호를 암호화 한 다음 대칭 암호화를 사용하여 암호로 파일을 암호화하는 것입니다. 파일이 큰 경우 키 크기 암호화 명령이 실패합니다 : 열립니다 rsautl -encrypt -inkey id_rsa.pub.pem -pubin -in key.bin -out key.bin.enc는 „openssl enc -help“를 사용하여 시스템에서 지원되는 암호 목록을 얻고 인수로 전달합니다. 예를 들어, „-aes256“ 당신은 당신의 원격 특파원이 강력한 SSL 툴킷을 가지고 확신하는 경우, 당신은 트리플 DES와 같은 강력한 암호화 알고리즘을 지정할 수 있습니다 : 오픈 smime 그녀의 cert.pem -encrypt -in my-message.txt 오픈슬 매뉴얼 (오픈슬 맨 페이지), RSA에 대한 검색 그리고 RSA 암호화에 대한 명령이 rsautl임을 알 수 있습니다. 그런 다음 rsautl man 페이지를 읽고 구문을 확인합니다. 이제 메시지를 해독해 보겠습니다! 좋은 소식은 암호화를 이해하면 암호 해독이 매우 유사하다는 것입니다.

마지막으로 수신하는 데이터를 확인하는 것이 중요합니다. 공격자는 전송 중에 데이터를 읽을 수 없지만 데이터 스트림에 무결성이나 신뢰성이 적용되지 않으면 감지 없이 비트를 뒤집을 수 있습니다. 공격자는 포트 443에 대한 SSL 연결이 GET /로 시작하는 웹 페이지 요청일 수 있으며 나머지 암호화를 방해하지 않고 PUT /로 변경하는 비트를 뒤집을 수 있다고 쉽게 추측할 수 있습니다. 무결성에 대한 간단한 접근 방식은 마지막에 MD5 또는 SHA-1 합계를 추가하지만 데이터 신뢰성이 아닌 데이터 무결성만 제공하는 것입니다. 데이터 스트림에 대한 완전한 지식을 가진 사람은 올바른 합계를 생성할 수 있으며, 보다 안전한 접근 방식은 무결성 이외에 데이터 신뢰성을 제공하기 위해 비밀 키에 대한 지식이 필요한 HMAC와 같은 키 해시를 사용하는 것입니다. 첫째, 좋은 암호화를 원한다면 GnuPG를 살펴봐야합니다. 그러나 실험이 어떻게 작동하는지 배우고 싶다면 RSA가 무엇인지 이해해야합니다. RSA는 임의의 문자열을 암호화하도록 설계되지 않았습니다, 그것은 정수를 암호화하는 알고리즘입니다. 특히 0에서 n-1까지의 정수는 n이 공개 키의 계수 값입니다. 1024 비트의 RSA 키에 대해 이야기 할 때, 즉 바이너리에서 계수체를 저장하는 데 1024 비트가 걸린다는 것을 의미합니다.

이것은 이유 중 하나, RSA는 DES 또는 AES와 같은 대칭 키 암호와 함께 사용된다. AES에 대해 임의의 256비트 키를 생성하고 1024비트 RSA 공개 키로 해당 키를 암호화할 수 있습니다. 그런 다음 개인 키에 액세스하는 모든 사용자가 대칭 키를 추출하고 AES로 메시지를 디코딩할 수 있습니다. RSA에 대한 전체 표준은 PKCS #1 열립니다 rsautl [-에서 파일] [-inkey 파일] [-pubin] [-certin] [-서명] [-확인] [-en] crypt】 [-pkcs] [-pkcs] [-ssl] [-hexdump] [-asn1parse] 여기에 RSA를 사용 하 여 파일을 암호화 하기 위해 만든 예제입니다. OpenSSL EVP 기능을 갖춘 대칭 알고리즘에 대한 비대칭 알고리즘 및 AES-128-CBC: 그리고 당신은 그것을 가지고, 간단한 RSA 암호화 및 암호 해독. 네트워크를 통해 공개 키를 보내고, 대칭 암호(아마도 AES)의 도움으로 임의의 크기 메시지를 보내고, 유닉스 사용자와 인증을 수행하고, 안드로이드에서이 모든 일을. 이 작은 자습서에서는 openssl 명령줄을 사용하여 공개 키를 사용하여 파일을 암호화하고 해독하는 방법을 보여 줍니다.