2012-11-01 8 views
0

나는 C에서 원격 백업 프로젝트를 진행 중이다. 데이터를 보내고 압축하고 데이터를 암호화하려고한다.압축 및 암호화 ... 먼저 적용 할 항목은 무엇입니까?

그러나 먼저 압축하거나 암호화할지 혼란 스럽습니다.

더 좋을 것인가요? :

  1. 는 데이터를 압축 한 후이

또한 내가 압축 ZLIB을 사용하기 위하여려고하고 압축 다음은

  • 암호화 데이터를 암호화합니다. 그리고 어떤 암호화 lib를 사용할 지 궁금합니다 ... 어떤 사람들은 libgcrypt가 좋다라고 말합니다. 좋은 암호화 라이브러리 (매우 사용하기 편리함)에 대한 제안은 감사 할 것입니다. :)

    또는 두 가지 작업을 수행하는 것이 있습니까?

    감사합니다.

  • 답변

    9

    암호화하기 전에 압축해야합니다.

    좋은 암호화 알고리즘을 사용하면 잘 압축되지 않는 임의의 유사 데이터가 생성됩니다.

    +0

    통찰력과 속도면에서 +1. 나는 거의 당신을 때렸다! – slashingweapon

    +1

    소스 데이터의 알려진 압축 헤더가 파일의 알려진 지점에있는 경우 알려진 일반 텍스트 공격에 취약합니다. –

    +0

    감사합니다. C의 좋은 라이브러리는 암호화와 암호 해독을 알고 있습니까? – Sam

    -3

    쓰기 쉽고 이해하기 쉽고 사용하기 쉬운 알고리즘은 blowfish입니다. 몇 가지 코드에서이 링크에 몇 가지 구현이 있습니다.

    AES/DES와 거의 같은 보안 수준입니다. 즉, 거의 깨지기 쉽습니다. 모든 암호와 마찬가지로 진정한 취약점은 귀하와 귀하의 사용자가 될 것입니다!

    +0

    사실이 아닙니다. Blowfish는 AES의 보안 수준에 근접한 곳이 없으며 DES는 키 크기가 매우 작기 때문에 효과적으로 손상됩니다. 블로우 피시는 64 비트 블록 크기를 사용하기 때문에 모드에 관계없이 생일 패러독스는 (2^32 * 8) = 32GB 데이터 이후에 정보 유출을 시작한다고 알려줍니다. – mfanto

    +0

    그리고 암호로 "passwd"를 사용하거나 PS3의 펌웨어에 개인 키를 포함 시키면 똑같이 안전합니다. 암호에 대한 문제는 일반적으로 사람들이 생각하는 것입니다 - 가장 인상적인 음향 스펙 루틴을 가진 라이브러리를 사용합니다 –

    +0

    예, 복어는 갈 길입니다 (저자는 Bruce Schneier입니다!).그러나 그것을 사용하는 방법은 모두 다 : 암호화 공격에 대한 충분한 강도를 보장하기 위해 올바른 블록 암호 모드를 사용해야합니다. –