728x90
사용자 패스워드를 보관 시
-> 암호화를 진행
-> 대신 암호화를 할때 단방향, 양방향을 고려
-> 단방향(해싱)으로 할시에 복호화가 불가능하고, 속도는 느리지만, 안정성 좋음
-> 양방향으로 살시에 복호화가 가능하고, 속도는 빠르지만, 유출 가능성 있음
단방향
-> 데이터를 완전히 매핑시켜서 완전히 다른 암호화로 변경
-> 다이제스트라고 부름
-> 복호화 불가능
-> salt나 해시함수 여러번 시행을 안하게 되면 동일한 메시지 혹은 비밀번호는 동일한 다이제스트를 가짐
-> 이러한 동일한 다이제스트를 모아둔 테이블을 레인보우 테이블이라고 함
-> 해시 함수 여러번 수행, salt를 하게되면 유출을 어느정도 막을 수 있음
-> Key Streching : 다이제스트 여러번 암호화
-> Salt : 해시 함수를 돌리기전에 임의의 함수를 붙여서 돌리기
-> ex) SHA, MD, HAS, WHIRLPOOL
양방향
-> 대칭키를 이용
-> 대칭키를 하게되면 아는 사람만 복호화 가능
-> 대칭키 방법는 속도는 빠르나, 탈취 가능성이 있음
-> 사람이 많아지면 그만큼 대칭키도 방대하게 늘어남
-> ex) DES, AES, SEED
-> 이걸 해결해주는게 보통 공개키, 개인키
-> 공개키와 개인키를 쌍으로 만들어서 사용
-> 공개키는 공개, 개인키는 개인 소유
-> 키 분배 따로 필요없고, 복호화 가능
728x90
'항해 일지' 카테고리의 다른 글
[항해99 9기] 항해 일지 (4) | 2022.12.23 |
---|---|
트랜스파일러와 번들러 (0) | 2022.12.19 |
Node.js === single-thread || multiple-thread?? (0) | 2022.12.19 |
JWT (0) | 2022.12.19 |
깊은 복사 와 얕은 복사 (0) | 2022.12.19 |