마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

AES256 암호화 결과물 사이즈가 원본보다 확연히 작습니다.

0 추천
1만글자 정도로 이루어진 JSON 데이터가 있습니다.

그런데 이 문자열에 AES256을 이용하여 암호화를 하면

약 30글자정도의 문자열로 치환됩니다.

 

그러면 통신간 실제 넘겨주는 데이터의 크기는 위 30글자만 통신되는게 맞는걸로알고있는데

주위에서 'length가 줄어든다고 데이터 자체가 줄어드는건 아니다, AES256은 압축 알고리즘이 아니기때문에

데이터가 커졌으면 커졌지 작아지진 않는다' 라고 합니다.

 

이해가 가지 않아서 문의드립니다. 1만글자짜리 데이터를 AES256암호화를 적용하면 30글자로 줄어드는데

실제 HTTP 통신할때 드는 부하가 1만글자에서 30글자로 줄어든게 아닌가요?

다시 복호화를 하면 원래사이즈를 되찾기에 현재

압축알고리즘을 따로 적용하지 않고 AES256 암호화와 압축효과를 함께 보기위해 사용하고있는데

 

제가 잘못알고있는건지 도움좀 부탁드립니다.
음무 (17,820 포인트) 님이 2015년 6월 16일 질문

2개의 답변

+1 추천
 
채택된 답변
잘 못 아신것입니다.

AES의 경우 대칭키라 원본과 암호화 된 데이터의 길이가 최소한 같아야 하며, 패딩이 들어갈 경우, 최고 패딩 사이즈 만큼 늘어나야 정상입니다.

아무래도 통신 시 전송되는 데이터를 줄이기 위해

 

 AES연산한 결과를 SHA-1, MD5등의  HASH  연산을 하셨던지,

루프 등으로  AES 연산을 256bit씩  반복 수행 하여 줄어든 것으로 생각하신 듯 합니다.
익명사용자 님이 2015년 6월 16일 답변
음무님이 2015년 6월 17일 채택됨
+1 추천
이상한데요.

AES256으로 암호화한 결과물을 가지고 다시 복호화 해서 동일한 값이 나오는지는 확인해보셨는지요?

아무래도 이상합니다.

AES256이면 키값만 하더라도 32byte 즉 32자인데요?
컴러기 (22,230 포인트) 님이 2015년 6월 16일 답변
...