자주 사용되는 암호화 표현
- 평문(Plain Text): 암호화 전 메세지
- 암호문(Cipher Text): 암호화 된 메세지
- 암호화/복호화 (Encryption / Decryption): 평문/암호문을 암호문/평문으로 변환
- 양방향
- 단방향
- 전자서명
양방향
- 기밀성
- 두 가지 알고리즘으로 분류(대칭형, 비대칭형)
- 평문에서 암호문, 암호문에서 평문으로 암/복호화가 이루어지는 알고리즘.
대칭키 알고리즘
- 암/복호화시 동일한 비밀키를 사용.
Symmetric
,Secret
,Shared
,Session
+ key.
- 기밀성 제공, 무결성/인증/부인방지 보장X.
- 평문보다 작은 크기의 키를 가짐.
- 암호화 방식에 빠른 속도.
- 대용량 데이터(data)암호화에 적합.
Plain Text
Encryption <= Block: 40~256 bit Key, Stream: bit Xor bit
Cipher Text
Decryption <= Block: 40~256 bit Key, Stream: bit XOR bit
Plain Text
Block 암호화
- 키를 블록 단위로 암호화함
- 각 블록은 종류별로 길이 40, 56, 64, 80, 128, 192, 256 비트를 가짐.
-종류
Stream 암호화
- 비트 단위로 암호화
- 무선 환경, 스트리밍 서비스등에 사용.
- 평문, 키 스트림을 XOR연산으로 생성된 암호문으로 암/복호화
P0 = C0 ⊕ S0, P1 = C1 ⊕ S1, P2 = C2 ⊕ S2 ...
P: 100110 ⊕ S: 111001
C = 011111
C ⊕ S
P: 100110
대칭키의 문제점
- 송/수신자가 동일한 키를 가지고 있어 탈취에 취약함.
- 송/수신자의 키가 서로 다를 경우 개수가 늘어나 관리상 어려움.
비대칭키 알고리즘
- 암/복호화는 공개키/개인키를 각 암/복호화에 적용.
- 대칭형 키교환 문제를 해결하기 위한 알고리즘.
- 두개의 키로 암/복호화에 사용하기에 대칭키보다 느림.
- Public Key / 공개키
- Private Key / 비밀(개인)키
- 512, 1024, 2048bit의 큰 길이 사용.
소인수분해
이산대수
타원곡선방정식
해쉬(Hash) 알고리즘
단반향 알고리즘을 이해하기 위해선 그 기초가 되는 해쉬 알고리즘을 이해할 필요가 있습니다.
단반향
- Hashing을 이용한 암호화 방식
- 암호화는 가능하지만 복호화는 불가능함.
- 데이터가 변조되지 않았음을 나타낼 때 사용.
MDC
MAC
ref: ktword,위키/대칭.uname.in,블록암호,스트림암호,veneas