본문 바로가기

암호

DES 암호 [Crypto] DES : Data Encryption Standard 1970년대, 안전한 암호의 이용에 대한 요구가 증가했습니다. 1, 2차 세계대전이 끝난 이후 암호 시스템을 민간인도 사용할 수 있게 해달라고 요구가 생기게 됩니다. 1973년 5월, NBS(National Bureau of Standars)는 NSA(National Security Agency)와 협의 후 표준 암호알고리즘을 공모하기로 결정합니다. 그 공모 결과로는 적합한 할고리즘이 없었습니다. 1974년 8월, 2차 공모를 진행하고 IBM에서 자사의 Lucifer를 기반으로 개선된 암호알고리즘을 제출하게 됩니다. Lucifer는 Feistel이 개발한 암호알고리즘입니다. 1975년 3월 표준 암호알고리즘이 결정되고 그 알고리즘은 DES 입니다. .. 더보기
암호의 해독 [Crypto] 해독이란 암호화, 복호화 키를 모르는 상태로 평문 또는 키에 대한 정보를 찾는 것입니다. 세상에는 여러 암호가 존재하고 이러한 암호들은 알고리즘을 공개하여 여러 학자들 에게 검증을 받고 알려질수록 더욱 안전한 암호로 검증될 수 있습니다. 개인이 만든 암호 알고리즘을 공개하지 않은 상태로 '이건 정말 안전하다.' 라고 말하기는 불가능 합니다. 특정 데이터를 암호화를 한다는 것 자체가 제 3자에게 알려지지 않고 특정 사용자들에게만 데이터를 볼 수 있게 한다는 뜻입니다. 하지만 해킹에 대한 공격자는 존재하고 공격자들은 어떤 방법을 사용하더라도 본인이 원하는 정보를 얻으려고 할 것입니다. 여러 학자들이 검증하지 않은 암호에 경우 암호화를 만든 개발자가 절대적으로 안전하다고 생각해도 취약점, 새로운 접근 방법이 .. 더보기
Visual Cryptography [Crypto] M. Naor 와 A. shamir 가 1994년에 개발한 시각적 암호 시스템입니다. 그림이나 텍스트 등 시각적인 정보를 암호화하는 용도로 사용됩니다. - 위와 같은 그림이나 텍스트를 하나로 합치게 되면 아래와 같은 새로운 형태의 그림이 완성됩니다. - 본인이 숨기고 싶은 하나의 그림을 Visual Crytography로 암호화 시 2개의 그림으로 생성이 되며 필요할 때 하나로 합쳐 볼 수 있는 암호화입니다. - 위의 그림과 같이 픽셀을 나누는 형태로 암호화를 하여 2개의 그림이 생성됩니다. 더보기
스트림암호와 블록암호 [Crypto] 현대 암호로 넘어오게 되면서 암호화의 단위는 알파벳이 아닌 bit단위로 바뀌게 됩니다. 가장큰 이유는 컴퓨터에 대한 보급과 대부분의 통신이 컴퓨터로 이루어지게 되면서 네트워크를 이용한 통신 때의 위험성과 보관된 데이터에 대한 권한이 없는 사용자로 부터 안전하게 보관하기 위해서 등 여러 이유로 암호화를 진행하게 되고 그렇기에 bit단위로 암호화를 하게됩니다. 그 중 해당 bit를 어떻게 나누어 암호화를 하는가 애서 두가지로 나뉘게 됩니다. 바로 스트림암호와 블록암호 입니다. 이번 포스팅에서는 두 가지 방식에 대해 설명을 진행하겠습니다. - 먼저 스트림 암호입니다. 스트림 암호는 암호문과 키의 길이가 동일하여 각각의 암호문과 키값을 이용하여 암호화를 진행합니다. 이러한 스트림 암호의 특징은 평문과 키의 길이.. 더보기
Feistel 암호 시스템 [Crypto] 1973년, IBM의 Horst Feistel에 의해 개발되었습니다. 흔히 Feistel network 라고도 합니다. Feistel network는 IBM의 Lucifer 암호시스템에 처음 적용되었습니다. 유명한 DES 암호의 전신입니다. Lucifer는 Shannon의 이론을 적용한 암호 시스템입니다. Shannon의 이론은 '환자와 전치를 반복적용하면 평문의 통계적 특성이나, 키와 관계가 나타나지 않아 안전하다.' 라는 이론입니다. 여기서 통계적 특성이란 영어는 자주 사용되는 알파벳 배열이 있습니다. the, to, a 등 여러 배열이 있는데 해당 배열에 대한 통계를 내어 특정 알파벳의 배열이 자주 사용됨을 이용한 특성입니다. 아래는 통계적 특성의 예시 입니다. - Feistel 암호 시스템 Luc.. 더보기
Affine 암호 [Crypto] 근대 암호 중 하나인 Affine 암호입니다. 해당 압호는 Shift 암호를 개선한 형태라고는 하지만 Shift 암호보다 약합니다. 해당 암호의 원리를 알기전에 Shift 암호에 대해 간단히 설명하겠습니다. - Shift 암호는 시저 암호의 발전된 형태입니다. 시저암호는 단순히 알파벳에 +3 형태였습니다. 즉 [abc]라는 평문을 상대방에게 암호화하여 전달하게 되면 [def]가 됩니다. 그럼 해당 암호문을 받은 상대방은 알파벳에 -3을 해주면 [abc]라는 평문을 알 수 있게됩니다. 즉 키값이 3입니다. shift 암호는 고정된 키값 3이 아닌 유동적인 여러 키값을 사용이 가능합니다. 하지만 알파벳의 개수는 26개 즉 키값을 여러개를 사용하여도 키값이 26이 되면 원래의 평문이 출력되게 됩니다. 이는 m.. 더보기
Pigpen 암호 [Crypto] 근대 암호 중 암호문을 알파벳으로 구성하지 않고 심볼로 구성하는 경우도 있습니다. 그 중 하나가 Pigpen 암호입니다. 기하학적 단순 대체 암호라고도 불리는 Pigpen 암호는 알파벳 26자에 대한 심볼을 만들에 심볼을 이용한 암호문을 생성합니다. - 해당 심볼들을 이용한 암호문은 아래와 같습니다. 더보기
정보보호 역사(근대 암호) [Crypto] - 근대 암호에서도 환자와 전치를 사용한 암호 방식이 사용됩니다. - Vigenere Cipher는 고대암호인 시저 암호의 확장판입니다. 시저 암호가 무조건 알파벳 3칸 앞으로 미는 형태여서 키값이 '3'였다면 Vigenere 는 고정된 3이 아닌 암호화하는 사용자 가 원하는 키값으로 변경을 할 수 있습니다. 오늘은 5칸을 밀겠다. 내일 7칸을 밀겠다. 이런식으로 임의로 바꿀 수 있게 됩니다. 하지만 알파벳은 총 26개 최대 키값은 25까지 밖에 안되기 때문에 25번의 시도만 하면 암호를 해독할 수 있게 됩니다. - 2차 세계대전 당시에 사용했던 에니그마 역시 근대 암호화기계 입니다. 애니그마의 작동원리는 알파벳을 입력할 수 있는 자판이 있고 해당 자판 내부에 회전자와 여러 기계적, 전기적 하부체제로 이.. 더보기