• [잡담 - 기타] AES 암호화에 대해2022.02.08 AM 11:28

게시물 주소 FONT글자 작게하기 글자 키우기

ID 패스워드 DB에 그냥 박아둔거

 

갑자기 수정하고 싶어서

 

암호화에 대해.. 공부... 라고하는 것도 웃기지만

 

어차피 디테일 한거 알 생각없이

 

똑똑한 사림들이 만든 라이브러리 가져와서

 

DB 저장에 AES적용 할려고 함

 

 

 

이때까지 아는 상식으로 키를 만들어 두고

 

문자열 입력해주면 그 키로 암호화 하고

 

다시 키를 이용해서 복호화 함 이정도 였는데

(RSA는 키를 페어로 만드는 정도로 암)

 

 

 

이 때까지 몰랐던게

 

A키에 B문자열을 넣어서 만드는 C결과가

 

A, B가 동일하면 항상 일정 할 줄 알았음

 

역시 현대 기술이 그렇게 허술 할 리가

 

없지 하는 생각이 들었음

댓글 : 6 개
Aes같은 대칭키 암호화는 키와 원본이 같으면 결과도 같은줄 알았는데 아닌가보네요 타임스탬프라도 같이 암호화에 포함시키는 것일까요
같은값 계속 넣어서 루프 시켜보는데 결과에도 키를 넣는 듯 함
IV와 key, 메시지가 동일하면, 항상 동일한 암호문이 나오게 되어있습니다. 아마도 IV를 별도로 입력하지 않으셨다면, 내부적으로 랜덤한 IV 값을 만들어 쓰도록 되어 있을 것 같네요.
추가로, 암호와 같이 복호화 필요가 없고, 사용자 입력이 정확한지 확인만 하는 것이 목적이라면 (주민번호도 동일한 목적), 대칭키보다는 해시와 같은 일방향 함수를 추천합니다. 암호+아이디+랜덤값으로 SHA2 384 bit 이상을 사용하시면 좋고... 보안성을 더 높이시려면 hash 함수의 round 수를 1000회 이상 돌리도록 변경하거나, hash 자체를 수십, 수백번 돌리는 것도 방법입니다. -> 연산 효율은 떨어지지만, 레인보우 테이블과 같이 hash의 보안성을 무력화하는 공격을 방어하거나 지연시킬수있습니다.
그렇군요 좀 더 공부가 필요한 것이겠네요
AES 사용하는 암호화 알고리즘들은. 대부분 세션 key라는 계념을 사용해서.. 같은 원본 값에 대해서 각 세션마다 다른것을 볼수 있으나.. 이 세션이라는것도 결국 유한한 방정식이라 뚫리게 되어 있어요..
그렇군요
친구글 비밀글 댓글 쓰기

user error : Error. B.