2012-08-06 2 views
2

Ruby에서 OpenSSL 암호를 사용하여 클라이언트와 서버간에 텍스트를 보내고 IV를 사용하는 것이 좋습니다. 그러나 서버 측에서 암호 해독을 위해 생성 된 IV가 필요할 것입니다. 고객 입장에서. 내 질문은 네트워크를 통해 IV를 보내는 데 문제가 있습니까? 암호에 관한 첫 번째 사실을 알지 못하므로 IV를 사용하여 메시지의 암호를 해독 할 수 있는지 여부는 알 수 없습니다.공용 초기화 벡터?

답변

2

IV는 공개 정보이므로 네트워크를 통해 전송하는 것이 좋습니다. 그러나 CBC 모드를 사용하는 경우 특히 모든 단일 암호화에 대해 암호화 된 무작위 무작위를 사용해야합니다. 이와 같은 상황에서 예측 가능한 IV를 사용하면 특정 종류의 공격에 취약해질 수 있습니다.

Cipher을 처음 사용하고 docs을 살펴본 후 시작하는 데 도움이되는 몇 가지 정보를 추가했습니다. IV에서 올바르게 다루는 몇 가지 모범 사례를 보여줍니다.

2

IV는 동일한 키를 사용하여 두 개의 동일한 일반 텍스트를 암호화하더라도 새 암호화 된 임의의 IV가 모든 암호화에 사용되어야하기 때문에 동일한 암호문을 생성합니다.

IV는 키없이 메시지를 해독하는 데 사용할 수 없으며 안전하게 전송할 필요가 없으므로 암호화 된 메시지와 함께 네트워크를 통해 안전하게 전송할 수 있습니다.