AES 암호화 질문드립니다.
글쓴이: 류성철@Google / 작성시간: 월, 2019/03/25 - 11:48오전
AES128로 데이터 통신시 통신상대가 무결한지 확인할려고 합니다.
평문 P 와 암호문 C 가 있을 때...
(ㄱ)이라는 모듈이 평문 P를 (ㄷ)으로 보내고
(ㄷ)이라는 모듈은 평문 P를 암호화 하여
(ㄷ)이 (ㄱ)모듈로 암호문 C를 보냅니다.
(ㄱ)에서는 암호문 C를 복호화 하여 평문 P와 동일한지 확인합니다.
이 떄 평문, 암호문은 노출될 위험을 가지고 있습니다.
그러면 암호문 내부의 key값 및 shift가 확인이 가능한가요?
Forums:
음 ..
이론적으로는 가능하지만, 실제로는 안 된다고 보시면 될 것 같네요.
암호키를 알아내려면.. 역으로 계산하는 것은 안 되고..
임의의 키를 생성하고, plaintext 를 암호화 해서, ciphertext 와 맞는지 확인해야 할 텐데..
AES_128 만 하더라도 2^128 개의 키 조합을 테스트해야 합니다.
만약, IV(Initial Vector) 도 따로 설정했다면, 추가로 2^128 개의 IV 도 테스트 해야 합니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
답변감사합니다.
많은 도움이 되었습니다.
ssl 을 찾아 공부해 보시기 바랍니다.
말씀하시는것이 SSL 같네요. 한번 찾아 공부해 보시기 바랍니다.
ssl 보다 보안 단계가 낮지만 세션키라는 방법도 있습니다.
아쉽지만 SSL은 아닙니다.
임베디드 무선 통신에 쓸려고 합니다.
그럼 mbed TLS는 어떠십니까: https:/
그럼 mbed TLS는 어떠십니까: https://tls.mbed.org/
솔직히, 상식적으로 AES128 같은 암호학 프리미티브를 직접 구현한다는 건 대개 말이 안 되는 일입니다.
한 마디 더. 암호문이 평문보다 더 길어지지 않을 수 있는 암호화 방법을 찾으신다면 Ciphertext stealing (CTS)를 알아보세요:
https://en.wikipedia.org/wiki/Ciphertext_stealing
으악. 다른 질문에 올릴 답을 잘못 달았네요.
으악. 다른 질문에 올릴 답을 잘못 달았네요. 신경쓰지 않으셔도 됩니다.
댓글 달기