양반향, 단반향

이동현·2023년 4월 11일
0

코드 캠프 블로그

목록 보기
25/50

암호화의 종류

암호화의 종류는 여러 가지가 있다.
둘 다 암호화 기법이지만 Hash는 단방향 암호화 기법이고 Encryption은 양방향 암호화 기법입니다.

  • 양방향 암호화 : 암호화와 복호화과정을 통해 송 ・ 수신 간 주고받는 메시지를 안전하게 암호화하고 평문으로 복호화하는 과정.
  • 단방향 암호화 : 해싱(Hashing)을 이용한 암호화 방식으로 양방향과는 다른 개념으로, 평문을 암호문으로 암호화는 가능하지만 암호문을 평문으로 복호화 하는 것은 불가능.

단방향 암호화는 해시라고도 부르며 다대일 관계로 복호화를 불가능하게 만든다.
그이후 해시로도 부족해 해쉬결과에 salt를 붙혀 해쉬를 계속 만들어 원본을 찾지 못하게 끔 만들었다. => 무차별 대입공격(Brute Force attack), 키 스트레칭

  • Key Stretching(키-스트레칭)
    개발자가 횟수를 정해서 Hash 함수를 돌리는 방법으로 패스워드를 저장할 때 가장 쉽게 생각 할 수 있는 방법입니다.

  • Salt(솔트)
    해시함수를 돌리기 전에 원문에 임의의 문자열을 덧붙이는 것을 말합니다. 의미 그대로 원문에 임의의 문자열을 붙이는 의미의 소금친다(Salting)이라고 생각하면 됩니다.

이것을 bcrypt라는 라이브 모듈을 다운받이 이용할 수 있게 된다.2에 10승번 키스트레칭한 결과이다!

yarn add bcrypt yarn add --dev @types/bcrypt

0개의 댓글