Cryptography basic 암호학 개념 / 암호학의특징
암호의 특성
- 기밀성(Confidentiality): 암호화된 내용이 무엇인지 알 수 없어야 함
- 무결성(Integrity): 원본과 확실한 데이터라는 것
- 인증(Authentication): 권한이 있는 사람만 접근할 수 있음

평문(plaintext): 원래 송신자가 전달하려는 원본 메세지
암호문(ciphertext): 송신자와 수신자만 전달 내용을 알 수 있도록 키를 사용해서 알아볼 수 없게 만든 메세지
암호화(encryption): 평문을 암호문으로 바꾸는것
복호화(decryption): 암호문을 평문으로 바꾸는것
키(key): 암복호화에 쓰이는 특정한 값 (자물쇠 열고 잠그는것처럼 키를 사용해서 암복호화를 진행하고 키를 모르면 복호화가 어려움)
암호화(encrypt)와 복호화(decrypt)
암호화를 저 그림으로 설명하자면
ex) hello? 라는 평문이 있다고 치면 암호화키를 통해 Olel?h 이런식으로 알아볼수 없도록 만드는 것이 암호화이고
그 암호문을 해커가 중간에서 평문을 알아볼수 없도록 하는것이 암호화의 궁극적인 목표라고 볼 수 있다.
복호화란 위처럼 암호화키를 통해 평문을 암호화 시켜서 만든 암호문을 복호화 키를 통해 평문으로 만드는것이다 최종적으로 궁극적으로 평문 ex) hello가 특정한 사람만 볼수있도록 , 즉
특정한 사람만 암호화된 암호문을 평문으로 바꿀수있는 복호화 키를 풀수있도록 어떠한 장치를 설정하면 중간에서 해커나 다른 3자가 볼수없게 된다. 이것이 암복호화의 기초이다.
여기서 암호화 키 와 복호화 키가 같은 암호알고리즘을 aes , 암복호화 키가 다른 공개 비대칭키 암호알고리즘을 rsa라고 한다
추가로 des 라고 매우 오래된 대칭키 알고리즘이 있는데 취약해서 잘 사용하지 않는다..
인코딩(Encoding)과 디코딩(Decoding)
인코딩(encoding)은 말 그대로 Code 화 한다는 뜻이다 즉, A의 형태를 코드화 하는것이다
반대로 디코딩(decoding)은 Code에서 A의 모습으로 되돌리는 것이다
인코딩과 암호화는 목적과 성질이 아예 다르다
인코딩은 표현 방법을 코드로 바꾸는 것이고, 암호화는 특정한 사람이외에는 남이 정보를 알아보지 못하게 하는 것이다.
그렇다면 반대로 디코딩과 복호화 과정도 똑같은 이유로 차이가 난다
또, encoding decoding에는
KEY가 존재하지 않는다는 점이 가장 큰 차이이다