양방향 암호화와
단방향 암호화가 있다
양방향에는 대표적으로 AES256 방식 암호화를 많이 쓴다.
단방향에는 SHA256 방식이 있다.
양방향은 암복호화가 가능하지만, 단방향은 암호화한 것을 복호화할 수 없다.
단방향 암호화는 보통 비밀번호 같은 경우에 많이 사용했고,
양방향 암호화는 개인정보 관련된 것에 많이 사용하여 DB에 저장하였다.
전화번호, 이메일, 주민번호 등등...
AES암호화는 대칭키 암호화로 암/복호화 키가 같음
-----------------
대칭키 암호화에는 스트림기반 암호화, 블록기반 암호화가 있다.
스트림기반 암호화는 비트단위로 암호화는 방식.
- 속도가 빠르고 오류 전파 현상이 없다.
- 주로 스트리밍시 사용
- LFSR, MUX generator
ㄴ 선형 되먹임 시프트 레지스터(Linear feedback shift register, LFSR), 피보나치와 갈루아
XOR 방식으로 연산...
ㄴ Multiplexer..
전자회로 방식이네....
블록기반 암호화는 블록 단위로 암호화하는 방식.
- 문자열 단어 하나하나를 블록으로 나누어 암호화
- DES, AES, IDEA, SEED
비대칭키 암호화
- DSA(전자서명), RSA(메세지 암.복호화)
- 대칭키에 비해서는 느리다는 단점
- 키 생성 시 개인키와 공유키가 생성되며 공유키는 공개해도 문제가 되지 않는다.
- 인수분해, 이산대수, 타원곡성 암호화로 나뉨
ㄴ 비대칭키 암호화를 통해 데이터를 주고받은 적이 있었는데,
경력차가 얼마 안 되었을 때 일이라 그런지 별로 효율적이지 않았음
1. 요청과 함께 공개키를 전달하고
2. 상대가 공개키로 암호화한 파일을 전달
3. 받은 파일을 개인키로 복호화
하는 방식.
공개키는 암호화만 가능하고 개인키로만 복호화할 수 있다
깃 인증된 서명을 활용하기 위해 ssh와 gpg를 이용함.
-----------------
단방향 암호화
- Hash를 이용하여 암호화하는 과정
- 암호화는 가능하지만 복호화는 불가능
- 데이터의 진위여부만 필요한 경우
종류로는
MD5, RIPED, SHA
보통 SHA를 이용하는데, 원본값을 그대로 암호화하지 않고
salt 라는 키값을 더해 원본을 추측할 수 없도록 이용한다.
'Study > Tech' 카테고리의 다른 글
| [JAVA] static (0) | 2024.06.19 |
|---|---|
| 정렬의 종류 (0) | 2024.06.06 |
| 자바 컬렉션 종류와 특징 (0) | 2024.06.06 |
| 데이터베이스 정규화 과정 (0) | 2024.06.06 |
| MVC 패턴 (0) | 2024.06.04 |