본문 바로가기

공부176

해시 함수(Hash Function) 해시 함수 해시 함수는 임의의 길이를 갖는 임의의 데이터에 대해 고정된 길이의 데이터로 매핑하는 함수를 말한다. 이러한 해시 함수를 적용하여 나온 고정된 길이의 값을 해시값이라고 한다. 보통 그리 복잡하지 않은 알고리즘으로 구현되기 때문에, 상대적으로 CPU, 메모리 같은 시스템 자원을 덜 소모하는 특성이 있다. 같은 입력값에 대해서는 같은 출력값이 보장되며, 이 출력값은 가능한 한 고른 범위에 균일하게 분포하는 특성가이 있다. 위 특성 때문에 다양한 목적에 맞게 설계된 해시 함수가 존재하며, 자료구조, 보안 등 다양한 분야에서 유용히 사용된다. 해시 함수의 질은 입력 영역에서의 해시 충돌 확률로 결정되는데, 해시 충돌의 확률이 높을수록 서로 다른 데이터를 구별하기 어려워지고 검색하는 비용이 증가하게 된.. 2019. 8. 20.
하이브리드 암호시스템 (Hybrid cryptosystem) 하이브리드 암호 시스템 대칭 키 암호를 사용하면 기밀성을 유지한 통신이 가능하지만 키 배송 문제를 해결할 필요가 있으며, 공개 키 암호를 사용하면 키 배송 문제가 해결되지만 대칭 키 암호에 비해 느린 처리 속도와 중간자 공격에 취약하다는 문제가 있다. 하이브리드 암호 시스템은 위 공개 키 방식의 처리 속도 문제를 해결하여 대칭 키 암호와 공개 키 암호의 장점을 살릴 수 있도록 조합한 방법이다. 항목 대칭 키 공개 키 키의 상호관계 암호화 키 = 복호화 키 암호화 키 ≠ 복호화 키 안전한 키 길이 128비트 이상 2048비트 이상 암호화 키 비밀 공개 복호화 키 비밀 비밀 키 전송 여부 필요 불필요 키 개수 N(N-1)/2 2N 암호화 속도 공개 키에 비해 빠름 대칭 키에 비해 느림 경제성 높음 낮다 강점.. 2019. 8. 18.
RSA 암호 RSA 암호 RSA는 공개 키 암호 중 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘이다. RSA라는 이름은 개발자 세 사람의 이름의 첫 글자를 따서 붙여졌다. (Rivest-Shamir-Adleman) RSA 암호화 알고리즘은 1983년에 발명자들이 소속되어 있던 매사추세츠 공과대학교(MIT)에 의해 미국에 특허로 등록되었고, 2000년 9월 21일에 그 특허가 만료되었다. 현재 SSL/TLS에서 가장 많이 사용되는 방식이다. RSA 과정 RSA는 공개 키 암호로 공개 키, 개인 키 두 개의 키를 사용한다. 일반적으로 대부분의 공개 키 방식의 암호는 공개 키로 암호화하고 개인 키로 복호화한다. 하지만 RSA는 이러한 제약 조건이 없다. 즉, 개인 키로 암호화하고 공개 키로 복호화할 수도 .. 2019. 8. 17.
공개 키 암호(public-key cryptography) 2019/08/17 - [Information Security/Cryptography · Cryptology] - RSA 암호 공개 키 암호 암호화/복호화에 같은 키를 사용하는 대칭 키 암호화 방식과 달리, 암호화/복호화에 사용하는 키가 서로 다른 암호화 방식을 의미한다. 공개 키 암호 방식에서는 공개 키와 비밀 키가 존재하며, 공개 키는 누구나 알 수 있지만, 그에 대응하는 비밀 키는 키의 소유자만이 알 수 있어야 한다. 공개 키 암호는 비밀 키 없이는 매우 풀기 어려운 수학적 문제를 바탕으로 기밀성을 유지하기 때문에 키 소유자 이외는 대상에 접근할 수 없다. 공개 키와 비밀 키는 서로 밀접한 수학적 관계가 존재한다. 공개 키 방식은 수학적 문제를 사용하는 알고리즘의 특성 상 기존 대칭 키 암호에 비해.. 2019. 8. 14.
블록 암호 운용 방식 블록 암호 운용 방식 블록 암호를 반복적으로 안전하게 이용하게 하는 절차를 말한다. 가변 길이 데이터를 암호화하기 위해서는 먼저 이들을 단위 블록들로 나누어야 하며, 그 블록들을 어떻게 암호화할지를 정해야 하는데, 이때 블록들의 암호화 방식을 운용 방식으로 부른다. 현대의 일부 운용 방식은 암호화와 인증을 효율적인 방식으로 병합해 놓고 있는데, 이를 인증된 암호 방식(authenticated encryption) 방식으로 부른다. 운용 방식이 일반적으로 대칭형 암호화와 관련하는 것이 일반적이지만 RSA와 같은 공개 키 암호 방식 원칙에도 적용할 수 있다. 초기화 벡터(initialization vector, IV) 첫 블록을 암호화할 때 사용되는 값을 의미한다. 같은 IV가 반복 사용되어서는 안 된다. .. 2019. 8. 6.
키 배송 문제(key distribution problem) 키 배송 문제 대칭 키 암호 사용 시 키를 상대에게 보내지 않으면 수신자는 복호화할 수 없고, 키를 보내면 도청자가 이를 복호화할 수 있는 '키 배송 문제'가 발생할 수 있다. 키 배송 문제 해결방법 키의 사전 배포 사전에 안전한 방법으로 키를 건네주는 방식으로 기본적으로 모든 사용자 사이에 안전한 통로가 필요하다. 사용자가 많은 경우에는 그만큼 많은 키를 관리해야 하는 문제점이 있다. 이 때문에 매우 복잡하고 관리 비용이 많이 지불된다. 공격자가 도중에 가로챌 위험이 존재한다. 키 배포 센터(KDC, key distribution center) 암호 통신이 필요해질 때마다 통신용 키를 키 배포 센터라는 신뢰받는 3자에 의뢰해 개인과 키 배포 센터 사이에서만 키를 사전에 공유하는 방식이다. 사용자가 많아.. 2019. 8. 4.