Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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 31
Archives
Today
Total
관리 메뉴

쟝이의 세상

암호화 알고리즘 본문

수업내용

암호화 알고리즘

zyangee 2024. 8. 26. 22:55

암호화와 복호화의 개념

암호화: 평문을 암호문으로 바꾸는 것
복호화: 암호문을 평문으로 바꾸는 것
 
→ 암호화를 사용하는 이유?
: 악의적인 의도를 가진 해커가 중간에 패킷을 뺏어 데이터의 내용을 확인할 수 있어 해킹의 위험이 있다
 

대칭 암호화 방식

: 암호화 복호화에 사용하는 키가 동일함
→ 암호화 방식에 속도가 빠름, 대용량 Data 암호화에 적합
대표적인 알고리즘: DES, 3DES, AES, SEED, ARIA 등

  • DES 알고리즘
    • 블록 암호 기법 사용 (블록의 단위: 64비트)
    • 평문을 64비트 단위로 암호화 수행 → 64비트 암호화 문서 생성
      (키 길이는 64비트이지만 실제로는 8비트의 패리티 비트가 있어 실제 키 길이 = 56비트)
    • 이때, 암호문은 16번(16라운드)의 반복을 통해 만들어진다.
DES 암호화 알고리즘의 확장 과정 + S-Box 암호화 값 추출
DES의 S-Box

라운드 반복(16라운드)
1) R1 확장: 4bit(1100) → 확장 6bit(1 1100 0)
확장된 R1과 라운드 키를 XOR 연산 후 값 출력
2) S-Box에 6bit를 넣어 암호화된 값 4bit 출력
3) P-Box에서 재배열 후 재배열한 값과 L1을 논리곱(XOR)하여 새로운 R2를 만들어냄
교환: R1을 L2로, 새로운 R2를 L1으로 교환
...
마지막)  최종 치환: L과 R을 결합 → 최종화된 64비트 블럭 생성
최종 치환 테이블을 통해 재배열 됨

 

비대칭 암호화 방식

: 암호화와 복호화에 서로 다른 키 사용
대표적인 알고리즘: RSA, DSA, ECC 등

  • RSA 알고리즘
    • 대규모 소수의 곱셈에 기반한 알고리즘
    • 암호화 하는 키와 복호화 하는 키가 다르다
    • 보안성은 높지만, 대칭키 암호화에 비해 처리 속도가 느리고, 키의 관리와 분배가 복잡함
ex) 
영희가 p=17,159와 q=10,247의 곱을 자신의 N값(17,159 × 10,247 = 175,828,273)으로 정함
--여기서 p와 q는 절대 공개되어서는 안된다.
영희의 공개 키인 N값이 모든 사람에게 공개
영희에게 메시지를 보내고 싶은 사람은 N값을 이용하여 보내는 메시지를 어떤 알고리즘으로 암호화한 후 영희에게 전송

 

해시

  • 정보의 위조, 변조를 확인하기 위한 것, 즉 정보의 무결성을 확인하기 위한 것
  • 암호화는 가능하지만, 복호화는 불가능
    • ex) 비밀번호를 해시 알고리즘으로 암호화하여 해시 값 생성. 생성된 해시 값은 복호화되지 않음
  • 대표적인 알고리즘: MD5, SHA-256 등
평문에 대한 MD5 해시 값