2013-12-10 5 views
0

파일을 정확하게 암호화하고 해독하는 방법은 중요하지 않습니다. 나는 대용량 문자과 같은 파일로 작동하며, 파일을 얻을 때까지 모든 것이 거의 괜찮습니다. 어떤 크기가 8 바이트로 나누어지지 않습니다. 왜냐하면 나는 알고리즘의 특정 특성 (블록의 크기는 64 비트 여야 함) 때문에 파일을 매 8 바이트마다 암호화하고 디코딩 할 수 있기 때문입니다.인코딩 및 디코딩시 파일을 올바르게 사용하려면 어떻게해야합니까?

그렇다면 예를 들어 .jpg을 만나서 파일 끝 부분에 공백을 추가하기 만하면 결과 파일을 열 수 없습니다. (.txt 파일은 아무 일도 일어나지 않습니다.)

여기로 나가는 방법은 없나요?

알고리즘에 대한 정보가 필요하면 http://en.wikipedia.org/wiki/GOST_(block_cipher).

UPD : 초기 파일을 삭제하거나 이동할 수 있기 때문에 추가 한 바이트 수를 저장할 수 없습니다. 그리고 우리가해야 할 일은 키만 알고 암호화 된 파일을 가지고 있다는 것입니다.

+4

파일이 적절한 크기가 될 때까지 채우기를 추가하고 얼마만큼 채웠는지 기억하십시오. – this

+2

"이니셜을 삭제하거나 이동할 수 있음"이란 무엇을 의미합니까? – Michael

답변

1

패딩이 필요합니까? 가장 좋은 방법은 PKCS#7입니다.

그러나 GOST는 좋지 않으므로 AES-CBC를 사용하는 것이 좋습니다. "python-channel"에 진행중인 비슷한 내용이 있습니다. discussion.

+1

"AES-CBC를 사용하는 것이 더 낫습니다"에 대해 자세히 설명합니까? [Wikipedia] (http://en.wikipedia.org/wiki/GOST_ (block_cipher))에는 다음 진술이 있습니다 (정확한지 확실하지 않음). 2012 년 12 월 현재 GOST (2^{101})에 대한 가장 잘 알려진 공격은 널리 사용되는 Advanced Encryption Standard에서 가장 잘 알려진 공격 (Nicolas Courtois에 의해 지적 된 또 다른 취약점에 기반한 2^{100})과 동등합니다. – Bobrovsky

+0

위키 피 디아를 인용하자면 : "GOST의 공개 된 암호 해독법은 그리 많지 않지만, 겉으로 드러난 언뜻 보면 그것이 안전 해 보인다." "Nicolas Courtois는"심하게 손상된 암호 "라고 불렀다." 암호화는 정말 까다로운 분야입니다. AES는 오늘날 우리가 가장 많이 분석하는 알고리즘이며, 여전히 일부 사람들은 완전히 신뢰하지 않습니다. 완전히 분석되지 않은 것을 어떻게 믿을 수 있습니까? – smeso

+0

또한 당신이 당신을 연결 한 기사를 완전히 읽는다면 왜 그렇게 "좋지"않은지 다른 이유를 찾을 수 있습니다. – smeso