AES256으로 암호문을 만들때 매번 같은 암호문이 나오게 하는건 어려운가요?

artcow의 이미지

제곧내입니다

thinxs의 이미지

정확히 어떤 게 필요한 건가요? 같은 평문과 같은 키, IV, Operation mode를 사용했을 때 암호화할 때마다 결과가 달라진다는 건가요?

artcow의 이미지

넵 맞습니다. 모든 조건이 동일할때 abc라는 평문을 암호화 해서 qwe라는 암호문을 만들어냈다고 할때 abc의 암호문은 언제나 qwe기 나왔으면 좋겠어서요.
예를 들면 해싱을 한것 처럼요

ymir의 이미지

plaintext, block cipher, key, iv, operation mode 가 동일하면, 항상 같은 ciphertext 가 나옵니다.
말 그대로 알고리즘에 정해진 공식대로 돌아가는 건데, ciphertext 가 다르게 나올 수가 없죠.
그게 다르게 나온다는 얘기는 주어진 입력이 달라졌거나, 암호 알고리즘이 잘못 구현된 것입니다.

test vector 검증이 바로, abc 의 암호문은 항상 qwe 가 나온다는 것을 이용하여..
암호 알고리즘이 제대로 구현되었는지 검증하는 방식입니다.

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

artcow의 이미지

감사합니다 iv값이 항상 같다고 생각했는데 아니었더군요 iv값 고정 하는 방삭으로 처리 했습니다 :)

tyhan의 이미지

ecb 모드를 쓰면 될것 같은데..

추가로, 같은 암호문이 다르게 나오는건 여러가지 이유가 있는데,
어떻게 사용하셔서 그렇게 나오는지 모르겠네요.
사실 보안상 매번 바뀌는것이 좋습니다.

artcow의 이미지

답변 감사합니다 iv값을 초기화 해주는 부분을 좀 수정했더니 잘 됩니다:) 해싱함수의 보조 개념으로 사용 할 목적이라 매번 같은 값이 나와야 했습니다