본문 바로가기

Crypto

합동식, 오일러(Euler)함수 [Crypto] · 합동식 - a 와 b 는 mod m 상에서 합동이다 → a ≡ b mod m ex) mod 7 상에서 5와 합동인 수를 모두 쓰면? → [5, 12, 19, ...] · 완전잉여계(Complete Residue System) - 집합 0, 1, ... , m - 1 을 mod m 상에서의 완전잉여계라고 한다. 즉. % m 연산 결과의 집합, m으로 나눈 나머지 집합이다. 'm'을 다 모아둔 숫자를 완전잉여계라고 한다. ex) 11의 완전잉여계 원소 = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 'm'의 원소는 모두 몇 개인가? = m개 · 기약잉여계(Reduced Residue System) - 완전잉여계에서 m과 서로소인 원소의 집합을 기약잉여계라고 한다. * 서로소 : 두 수의 공.. 더보기
Diffie-Hellman Key Exchange(디피헬만 키교환) [Crypto] 1976년, Diffie와 Hellman이 제안한 키교환 방식이며 최초의 공개키 알고리즘입니다. 디피헬만 키교환은 통신망이 안전하지 않다고 가정하고 제안된 방식입니다. 디피헬만 방식은 이산대수 문제가 어렵다는 점을 이용하여 지수승 연산과 로그 연산을 이용한 알고리즘입니다. 대칭키 암호화의 문제점 중 하나인 키교환에 대한 문제를 해결하기 위해 사용할 수 있습니다. - 통신망에서 g, p, y를 알게되어도 x를 계산하는 것은 매우 어려운 문제입니다. (단, p는 매우 큰 소수, g는 원시원소) ˙ 키 교환 순서 * r은 난수입니다. (a = ra, b = rb) - A와 B가 둘만 아는 서로 같은 키를 생성하려고 합니다. 1. 매우 큰 소수 p와 (mod p) 상의 원시원소 g를 선택합니다. 해당 값들은 모.. 더보기
공개키 암호시스템 [Crypto] 1976년에 Diffie와 Hellman이 공개키 암호방식의 가능성을 언급했습니다. 그리고 1977년 Rivest, Shamir, Adleman(MIT)이 최초의 공개키 방식인 RSA를 발표했습니다. 이름에서 알 수 있듯이 만드신 분들 맨 앞글자 입니다. 특징은 mod 연산을 기본으로 하고 있고 비트연산(XOR, Shift 등) 수학적인 연산을 사용하고 대칭키와 다르게 공개키는 비대칭키로 키를 2개 사용합니다. 두 개의 키를 사용하게 되면서 키에 대한 기밀성이 유지되고 비밀키 분배 인증 등에 엄청난 영향을 미치게 됩니다. - 공개키 방식의 오해 · 비밀키 보다 안전하다? 암호방식의 안전성은 1. 키의 길이, 2. 암호해독에 필요한 비용(시간)에 따라 결정됩니다. · 비밀키 암호방식을 대채한다? 오히려, .. 더보기
비밀키 암호시스템 MOO(Modes Of Operation) 비밀키 암호시스템은 운영 모드가 있습니다. 암호화 시스템을 어떻게 운영을 할 것인가에 대한 옵션입니다. 이를 MOO(Modes Of Operation) 이라고 합니다. 대칭형 블록암호 시스템을 운영하는 방법입니다. 비밀키 암호시스템은 평문을 암호화할 시 대응되는 암호문의 길이가 동일하게 됩니다. 이러한 상황을 결정적 암호화라고 하는데 민감한 정보를 숨기는 입장에서 결정적 암호화는 좋지 않습니다. 예를 들어 그림을 암호화 할 때 결정적 암호화 방식은 아래와 같은 상황이 발생하게 됩니다. 그러나 모드를 사용하여 암호화를 진행시 이러한 결정적 암호화를 없애주게 됩니다. 즉 확률적 암호화로 바꾸기 위해 MOO를 사용하는 것입니다. 모드의 종류는 여러가지가 있습니다. 그 중 기본모드인 EBC(Electronic .. 더보기
3(Triple)-DES [Crypto] 3DES를 시작하기 전에 2DES부터 설명합니다. - 2DES 하드웨어와 소프트웨어가 점점 발전하면서 처리속도는 매우 빨라지게 됩니다. 그로인해 안전하다고 생각했던 DES는 점점 해독시간이 짧아지게 되고 DES암호를 대체할 여러 암호화 시스템을 발표하였지만 힘든상황이였습니다. 그 때 'DES암호를 연속으로 2번한다면 해독시간이 두배로 늘어나지 않을까?' 라는 생각을 하게되고 2DES를 만들게 됩니다. 2DES는 이름 그대로 DES암호화를 2번 하는 방식입니다. 서로 다른 키로 중복하여 암호화할 경우 안전성이 높아질 것이라는 의견을 제시했습니다. 암호해독자는 최악의 경우 2^56+56 = 2^112번 시도해야할 것으로 예상한 것입니다. EK1 ▶ EK2 ▶ M 그러나 1997년, Diffie와 Hellma.. 더보기
DES의 특성 [Crypto] - 앞에 포스팅한 DES암호의 암·복호화 과정을 참고해주시기 바랍니다. https://ohs-o.tistory.com/22 DES 암호 [Crypto] DES : Data Encryption Standard 1970년대, 안전한 암호의 이용에 대한 요구가 증가했습니다. 1, 2차 세계대전이 끝난 이후 암호 시스템을 민간인도 사용할 수 있게 해달라고 요구가 생기게 됩니다. 1973년 5월, N.. ohs-o.tistory.com DES암호는 안전하기로 유명하고 그렇기에 여러 학자들이 특성을 찾으려 노력합니다. DES의 특성중 하나는 보수특성(Complementation property)입니다. 보수특성은 '암호문이 어떤 평문과 키 암호문의 보수 이면 해당 암호문을 알 수 있다.' 입니다. - '보수는 수를.. 더보기
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자에게 알려지지 않고 특정 사용자들에게만 데이터를 볼 수 있게 한다는 뜻입니다. 하지만 해킹에 대한 공격자는 존재하고 공격자들은 어떤 방법을 사용하더라도 본인이 원하는 정보를 얻으려고 할 것입니다. 여러 학자들이 검증하지 않은 암호에 경우 암호화를 만든 개발자가 절대적으로 안전하다고 생각해도 취약점, 새로운 접근 방법이 .. 더보기