암호화 알고리즘들

주로 사용되는 sha, aes 등의 암호화, 해시 알고리즘들을 대충 정리해보겠다.
상세한 로직은 말도 안될 정도로 복잡하기 때문에, 그냥 개략만 쓴다.



SHA(Secure Hash Algorithm)

1993년 미국 NSA에서 개발한 해시 암호화 알고리즘이다. 글자가 하나만 바뀌어도 천차만별로 바뀌는 녀석이다.
그리고 일방적인 암호화라. 복호화가 사실상 불가능하다.

현재 주로 쓰이는 버전은 sha의 2버전이다.
0버전, 1버전은 결함이 많아서 퇴출된 상태다.

sha2에선 224, 256, 384, 512 비트 버전을 사용할 수 있으며, 비트가 커질수록 연산량은 늘지만 뚫릴 가능성은 낮아진다.



AES(Advanced Encryption Standard)

2001년 미국 표준 기술 연구소(NIST)에서 만든 알고리즘이다.

이건 키만 있다면 복호화가 가능하다.

128, 192, 256 비트 버전을 사용할 수 있다.



bcrypt

1999년에 Niels Provos와 David Mazieres가 발표한 알고리즘이다.

일방향 암호화라 복호화가 불가능하다.



MD5(비권장)

로널드 라이베스트라는 사람이 만든 좀 묵은 일방향 해시 암호화 알고리즘이다.
DB같은거 설정 보면 이걸로 돼있는게 많더라.

취약점도 많고 뚫리기가 아주 쉽다고 알려져서 이거보단 sha를 쓰는 것이 권장되는 편이다.


많이 쓰이는게 또 뭐가 있지...?
생각나는 대로 추가하도록 하겠다.