티스토리 뷰
인코딩(Encoding)
주어진 입력에 대한 모든 변환
Ex) 문자열을 뒤집는 함수 X가 있을 때 x -> y를 ABCD에 적용하면 DCBA가 나온다.
암호화(Encryption)
출력을 얻기 위해 입력 값과 키를 모두 지정하는 특정한 유형의 인코딩이다.
키를 이용하면 나중에 누가 출력해서 입력을 얻는 함수를 호출할 수 있는지 선택할 수 있다.
암호화를 함수로 나타낸 가장 간단한 형식은 다음과 같다.
(x, k) -> y
x : 입력값, k : 키, y : 암호화 결과
(y,k) -> x 역함수 복호화(Reverse Function Decryption)도 있음.
알려진 함수에 키를 이용해 출력에서 입력을 얻을 때 사용
이때 암호화에 쓰는 키와 복호화에 쓰는 키가 같으면 일반적으로 대칭 키라고 부름.
암호화 ((x,k1) -> y) 및 복호화 ((y, k2) -> x) 에 다른 키를 쓰면 비대칭 키(Asymmetric Key)로 암호화가 수행된다고 말함.
(k1, k2) : 키 쌍(Key Pair)
k1 : 공개 키(Public Key)
k2 : 개인 키(Private Key)라고 함.
개인 키 소유자는 데이터를 복호화할 수 있음.
해싱(Hashing)
함수가 한 방향으로만 작동하는 특정한 유형의 인코딩
해싱 함수의 출력 y에서 입력을 얻을 수 없음.
그러나 출력 y가 입력 x에 해당하는지 확인할 수 있는 방법이 반드시 있어야 하므로 해시는 인코딩과 일치를 위한 한 쌍의 함수로 봄.
x -> y 해싱 함수라면 함수 (x,y) -> boolean 도 있다는 말
때때로 해싱 함수는 입력에 임의의 값을 추가할 수도 있는데, (x, k) -> y 이 값을 솔트(Salt)라고 함.
함수를 더욱 강하게 만등ㄹ어 결과에서 입력을 얻는 역함수의 적용 난도를 높일 때 사용함.
- Total
- Today
- Yesterday
- ORM
- 이코테
- hackerrank challenges
- 정보처리산업기사
- 해커랭크 자바 챌린지
- BAEKJOON
- 챌린지
- 해커랭크
- 22 정보처리산업기사
- Java
- 해커랭크 챌린지
- 코드
- 디버깅
- Spring Security
- 해커랭크 자바
- 정보처리 산업기사
- 나동빈
- JPA
- MSA
- 자바의 정석
- queue
- challenges
- hackerrank
- 소스코드
- 정보처리산업기사 공부법
- 22 정보처리 산업기사
- 강의
- 그리디
- 백준
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |