디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

개인적으로 알고 있는 암호화에 대해서...

천회장(211.45) 2010.12.31 09:28:27
조회 353 추천 0 댓글 21

아래 잠깐 암호화 질문이 있길래, 도움이 될 지 모르겠지만
개인적으로 알고 있는 것들에 대해서 살짝 글질 해 보겠음.

일단 암/복호화의 종류는 크게 2가지로 나눌 수 있다.
비대칭키 방식, 대칭키 방식

- 비대칭키 방식
암호화 할 때 키와 복호화 할 때 키가 서로 다르다. (서로 다른 키는 보통 공개키, 개인키라고 불리운다)
암복호화 속도가 느리다.
암호화 키 크기보다 큰 사이즈의 데이터는 암호화할 수 없다.
(정확히는 중간에 패딩이 들어가기 때문에 키 보다 더 작은 사이즈만 암호화 가능)
암호화 후 데이터 크기 = 공개키 크기
알고리즘 종류 : RSA, DSA, KSDSA, ECC 등
활용 : 암복호화, 전자서명

참고)
암복호화와 전자서명의 차이는 암호화는 상대방의 공개키로 암호화하고 해당자의 개인키로 복호화하고,
전자서명은 자기의 개인키로 암호화하고 다른 사람이 자신의 공개키로 복호화하고..
이 정도로 생각하면 된다.

전자서명의 경우 데이터를 Hash한 후 개인키로 암호화를 한다.
따라서 전자서명을 검증할 때는, 원본 데이터, 공개키, Hash 알고리즘, 비대칭키 암호화 알고리즘이 필요하다.

- 대칭키 방식
암호화할 때 키와 복호화 할 때 키가 동일하다.
암복호화 속도가 빠르다. (경험상으로는 거대한 파일이 아니면 시간을 무시해도 될 정도임)
암호화할 데이터의 크기에 제한이 없다.
암호화 후 데이터 크기 = (데이터 크기 + 대칭키 크기) / 대칭키 크기 * 대칭키 크기
알고리즘 종류 : DES, 3DES2, 3DES3, AES, SEED 등등등...
활용 : 암복호화


대충 차이는 이 정도이고,
흔히들 말하는 암복호화는 대칭키 방식을 말하는 경우가 많다.
하지만 이 대칭키 방식은 키가 동일하기 때문에
서로 키를 미리 공유하고 있지 않으면
보안에 헛점시 생길 우려가 있다.
이를 보완하는 방법은 대칭키를 랜덤으로 생성하고,
이 대칭키를 상대방의 공개키로 암호화 한 후 전달하여 키를 공유하는 방식을 사용한다.
(이거 말고 다른 방법이 있는데, 그건 제대로 이해를 못해서^^)

이걸 요약하면
1. 대칭키 생성
2. 대칭키로 데이터 암호화, 공개키로 대칭키 암호화
3. 상대방에게 전달
4. 대칭키를 개인키로 복호화
5. 복호화된 대칭키를 이용하여 데이터 복호화

0. 매 세션마다 이렇게 전달하는 것이 가장 적합하지만,
비대칭키 방식의 암복호화가 시간이 많이 소요되기 때문에,
최초 한 번만 대칭키를 전달하고
세션이 유지되는 동안에는 그 대칭키를 이용하여 암복호화를 사용하는 방법도 많이 사용함.


기타)
- Hash
복호화가 불가능한 단방향 함수로, 데이터 특성상 복호화하지 말아야할 데이터에 적용 (보통 패스워드)
알고리즘 : MD5, SHA1, HAS160, SHA160, HMAC 등등..
Hash 적용후 데이터 크기는 알고리즘에 따라 다르지만 알고리즘이 동일하면 그 크기는 항상 동일하다.

- Base64
a~zA~Z0~9+/ 의 64개 ASCII 코드를 사용하여 데이터를 변형하는 방식(= 는 마지막 패딩에만 사용)
암복호화라기 보다는 데이터의 다른 표현이라고 봄
사용하는 이유 : 보통 암호화, Hash등을 적용하면 binary의 형태로 데이터가 나오기 때문에,
이를 Text 형식으로 변형하기 위해서 사용
Base64후 데이터 크기 = (데이터 크기 + 3 / 3) * 4



태클 환영합니다. (__)

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 외모와 달리 술 일절 못 마셔 가장 의외인 스타는? 운영자 24/07/01 - -
229233 휴 오늘은.. [4] 꿀레갤로그로 이동합니다. 11.01.06 62 0
229232 UAC가 병맛이라기 보다는 [11] nRESET갤로그로 이동합니다. 11.01.06 148 0
229231 힘든 하루였다 [2] DMW(125.138) 11.01.06 92 0
229229 게임 오픈의 종결은 이거아님니까? [1] 꿀레갤로그로 이동합니다. 11.01.06 170 0
229228 병특 그런거 하지마라...... [3] 훗쇼갤로그로 이동합니다. 11.01.06 198 0
229226 보픈소스 달팽이 그리기 [2] nRESET갤로그로 이동합니다. 11.01.06 501 1
229225 뭣도 모르고 통신병 썼는데 [11] 1111112(121.164) 11.01.06 208 0
229224 게임 오픈소스 보는법 아는 횽 있나요? [13] 보구미(219.241) 11.01.06 365 0
229221 군대에서 컴퓨터 잘한다고 하면 안되는 이유 [6] 왁스맛치즈갤로그로 이동합니다. 11.01.06 208 0
229220 정전을 깨는 짤 [2] elwlwlwk갤로그로 이동합니다. 11.01.06 137 0
229219 이정도면 죽은거 아님 많이 흥한거임 [1] 꿀레갤로그로 이동합니다. 11.01.06 101 0
229218 컴파일러 관련 지식 배워야 하는거야? [19] ㅉㅉㅉ(24.99) 11.01.06 219 0
229217 D-14 그 날이 곧 다가옵니다. nRESET갤로그로 이동합니다. 11.01.06 103 0
229216 구글이 병특업체로 지정되면 우왕 시바 [8] 왁스맛치즈갤로그로 이동합니다. 11.01.06 194 0
229215 프갤이 주거씀미다 nRESET갤로그로 이동합니다. 11.01.06 49 0
229213 그만하고 자라. [6] new gay[max](183.105) 11.01.05 105 0
229212 다람쥐님 봐주세요 [2] 뇌자알갤로그로 이동합니다. 11.01.05 59 0
229211 갤이 다시 멈춰버렸넹.. [3] BTTTS!갤로그로 이동합니다. 11.01.05 41 0
229210 프갤에서 봤나 솝프갤에서 봤나 [12] 왁스맛치즈갤로그로 이동합니다. 11.01.05 117 0
229208 아.. 디씨에서 좀 찌질거렸는데 벌써 잘 시간이라니... [2] SODmaster갤로그로 이동합니다. 11.01.05 73 1
229206 미 공군처럼 가격대 성능비 최고인 ps3로 해야하는거 아님? [11] 왁스맛치즈갤로그로 이동합니다. 11.01.05 143 0
229205 왜 배고프면 배에서 소리가 나냐 아오 [2] 비우그라갤로그로 이동합니다. 11.01.05 134 0
229204 우리 프갤도 힛갤을 갈수있다니ㅋㅋㅋ [3] 꿀레갤로그로 이동합니다. 11.01.05 105 0
229203 긍데 맥이 유닉스였음여? [5] SODmaster갤로그로 이동합니다. 11.01.05 156 0
229201 쿠다 엔비디아 금융예측모델 머신인가 머시낑이 하는거 [2] 왁스맛치즈갤로그로 이동합니다. 11.01.05 84 0
229199 이제 이런시대도오네여 ㅠ [3] 대마법서오즈갤로그로 이동합니다. 11.01.05 99 0
229198 허엉 잘못했음. [16] BTTTS!갤로그로 이동합니다. 11.01.05 112 0
229197 넥서스 s 국내 발매안한다는데 [6] 왁스맛치즈갤로그로 이동합니다. 11.01.05 173 0
229196 근데 옛날컴터들... [5] SODmaster갤로그로 이동합니다. 11.01.05 73 0
229195 BTTTS! 보세여 내가 2년전에 쓰던 메인컴 인증 ㅇ [6] SIGSEGV갤로그로 이동합니다. 11.01.05 173 0
229194 아래 BTT어쩌고 꼬꼬마 생퀴는 봐라 [18] 훗쇼갤로그로 이동합니다. 11.01.05 174 0
229192 자 모두들 따라함미다. [11] SODmaster갤로그로 이동합니다. 11.01.05 109 0
229191 파이썬으로 증권사 접속... [8] 파이리~갤로그로 이동합니다. 11.01.05 498 0
229190 애플 앱스토어는 게임 받을수 있는데 안드로이드가 안되는 이유가 뭐임? [15] BTTTS!갤로그로 이동합니다. 11.01.05 199 0
229189 개발하는데 무슨 천만원짜리 컴터가 필요해 [12] 왁스맛치즈갤로그로 이동합니다. 11.01.05 175 0
229188 아이폰이고 뭐고 모르겠고... [4] SODmaster갤로그로 이동합니다. 11.01.05 100 0
229187 엑셀 짜증나네 Rei@디씨갤로그로 이동합니다. 11.01.05 52 0
229185 데이터 100만개 정렬속도 테스트 어떻게 하는거임?? [3] BTTTS!갤로그로 이동합니다. 11.01.05 131 0
229184 드뎌 성공했어요 ㅋㅋ 헬로월드 [1] (210.123) 11.01.05 68 0
229182 안드로이드의 부드러움이 ios의 그것을 따라가지 못하는이유가 뭐야? [15] 르하소갤로그로 이동합니다. 11.01.05 177 0
229180 저도 코딩용 컴 사려고 하는데.. ㅋㅋ [4] [성대아싸]갤로그로 이동합니다. 11.01.05 93 0
229179 안드로이드 폰이 많긴한데... [2] SODmaster갤로그로 이동합니다. 11.01.05 55 0
229178 파이썬 C++연동 안되나? [8] 파이리~갤로그로 이동합니다. 11.01.05 615 0
229177 xcode질문인데요~ 업데이트하려면 이전에깔린 xcode를 삭제해야되나요 [1] ㅇㅇㅇ(219.241) 11.01.05 174 0
229176 블베9700쓰는횽 없어? 르하소갤로그로 이동합니다. 11.01.05 52 0
229175 가격 말하니까 날 죽일려고 함. [7] BTTTS!갤로그로 이동합니다. 11.01.05 111 0
229174 스마트폰 뭘 사야하나... [5] SODmaster갤로그로 이동합니다. 11.01.05 98 0
229173 아빠가 프로그래밍 하는데 cpu를 왜 바꾸냐고 하네 [9] BTTTS!갤로그로 이동합니다. 11.01.05 185 0
229172 컴터관련직종에서 개발시 고사양이 필요한 분야는.. [4] 르하소갤로그로 이동합니다. 11.01.05 95 0
229171 %s 써서 문자열을 printf할 때말이야 [7] 두사늬(210.107) 11.01.05 107 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2