728x90
반응형
SMALL
1) 양방향 암호화 (복호화 가능)
1-1. 대칭키(비공개키) 암호
- 개념: 같은 키로 암호화·복호화. ( 암호화키 = 복호화키)
- 장점/단점: 빠름, 많은 양 / 키 배포가 어려움.
- 구분
- 스트림 암호:
- 바이트/비트 단위로 연속 처리(1bit 씩)
- RC4 (PPTP, WEP, TKIP)\
- OTPAD
- 블록 암호:
- 고정 크기 블록 단위(2bit 이상 묶음 연산)
- Festel 구조(DES, 3DES)
- SPN 구조(AES)
- 기타(SEED, ARIA)
- 스트림 암호:
- 용도: 대용량 데이터 기밀성(파일/DB/디스크 암호화 등)
1-2. 비대칭키(공개키) 암호
- 개념: 서로 다른 키(공개키/개인키) 사용 (암호화키 != 복호화키)
- 공개키로 암호화 → 개인키로 복호화
- 개인키로 서명 → 공개키로 검증
- 대표 수학적 기반/알고리즘
- 소인수분해: RSA(암호화·서명), Robin
- 이산로그: Diffie–Hellman(Ephemeral 포함, 키 교환 전용), DSA(서명), ElGmal\
- 타원곡선: ECC 계열(ECDH 키 교환, ECDSA 서명) — 짧은 키로 고안전
- 장점/단점: 키 배포 용이 / 속도 느림(대칭보다)
- 실전 패턴: 공개키로 대칭키를 교환하고, 본문은 대칭키로 빠르게 암호화(하이브리드; TLS 등)
2) 단방향 암호화 (복호화 불가) — 해시
- 개념: 임의 길이 입력 → 고정 길이 출력, 역연산 불가
- 대표: SHA-2(SHA-256/512), SHA-3, (비권장: MD5, SHA-1), HAVAL
- 용도: 무결성 검증, 비밀번호 저장
- 비밀번호 저장 베스트 프랙티스
- Salt: 사용자별 임의값 추가로 사전/레인보우 테이블 방어
- 느린 KDF 사용: bcrypt, scrypt, Argon2(권장)
- (선택) Pepper: 서버 비밀값을 추가해 탈취 시 피해 축소
728x90
반응형
LIST