2013-02-21 2 views
0

알고리즘이 AES 인 경우 이미 파일이 암호화되었는지 알 수있는 방법이 있습니까?AES로 암호화 된 파일입니까?

암호를 해독 했으므로 정보를 해독하거나 암호화하면 문제가되지 않습니다. 그러나 암호화되지 않은 파일의 암호를 해독하려고하면 모든 데이터가 손실됩니다. 두 번 암호화하면 이중 암호화가됩니다. 이중 암호화는 되돌릴 수 있지만 암호화가 두 번 수행되었음을 알아야합니다.

프로그래밍 방식으로 결정할 수있는 방법이 있습니까?

Java에서이 작업을 수행하고 있습니다.

+0

원본과 일치하지 않으므로 암호화 된 것입니다. –

+0

데이터 해독을 시도한 이유는 무엇입니까? – Eric

+0

보안 영역에 대한 좋은 정보가 있습니다. @security.stackexchange.com/questions/3989/how-to-determine-what-type-of-encoding-encryption-has-been-used – Steve101

답변

2

AES로 암호화 된 것이 있는지 확인할 방법이 없습니다. 서명을 남기지 않습니다. 포인트의 일부입니다. 바이트 단위의 데이터 길이가 16의 배수인지 테스트하여 AES 또는 다른 128 비트 블록 암호로 암호화 된 것으로 추측 할 수 있지만 마지막 블록에서 패딩을 사용하여 128 비트 블록 암호를 제안합니다.

+0

나는 그것이 추적을 떠나지 않는다는 것에 실망한다고 말할 수 없다. – SyntaxRules

1

암호화되지 않은 파일 형식. 암호화되지 않은 파일에 특정 파일 헤더가있는 경우 해당 헤더를 검색 할 수 있습니다. 파일을 찾으면 파일이 암호화되지 않습니다. 파일을 찾지 못하면 파일을 암호화 할 수 있습니다.

암호화되지 않은 파일에 특정 파일 헤더가없는 경우 ... 운이 좋지 않은 경우

1

외부 프로그램을 사용할 수 있다면 openssl을 사용하여 데이터 암호 해독을 시도 할 수 있습니다. 암호화되지 않은 데이터에 비어 있지 않은 비밀번호를 제공하는 한 "잘못된 매직 번호"오류와 함께 반환됩니다. openssl이 해당 메시지를 생성하는 방법을 정확히 알지 못합니다 (코드에서 그렇게 할 수 있다면).하지만 시작일뿐입니다.

$ openssl enc -d -aes-256-cbc -in /Applications/Wireshark.app/Contents/MacOS/Wireshark 
enter aes-256-cbc decryption password: 
bad magic number 

또 다른 방법은 소금을 파일의 처음 8 개 문자를 확인 "Salted__"이며, 다음과 같은 8 자들이하는 것 (암호화에는 OpenSSL 바이너리는 기본적으로 수행 있지만 해제 할 수있는 소금에 절인 된 제공) .

0000000 : 5361 6c74 6564 5f5f 70d6 3655 ae12 58de Salted__p.6U..X.

관련 문제