본문 바로가기

암호학5

모듈러 연산 (Modular arithmetic) 암호 알고리즘은 모듈러 연산을 가장 빈번하게 사용하는데, mod m일때, 항상 0 ~ m의 범위를 가지는 값을 결과 값으로 가지게 된다. 만약 음수의 결과 값을 가진다면 절대 값을 취한 값에서 mod를 한 결과를 m을 더하거나 m을 2배, 3배한 값을 더해 0 ~ m의 범위의 결과 값을 가지도록 하면 된다. 모듈러 연산의 예시 17 mod 5 = 2 20 mod 3 = 2 음수일 때 -3 mod 11 = 8 -11 mod 11 = 0 -1 mod 11 =10 모듈러 합동(Modular congruent) 두 a, b의 숫자가 n을 modular한 결과 값이 같다면 모듈러 합동관계(congruent modulo n)이라고 한다. $$ a\ mod\ n\ =\ b\ mod\ n\ $$ $$ a\ ≡\ b\ .. 2019. 4. 13.
기초 암호학(4) - ECC(타원곡선 암호화 알고리즘) 블록체인을 공부하다 보면 자주 접하는 암호화 알고리즘입니다. 암호화 알고리즘RSA 암호방식에 대한 대안으로 1985년에 제안되었습니다. 암호키 길이가 길어지면 보안 강도는 높아지지만 속도가 느려집니다. 하지만, ECC(Elliptic Curve Cryptography)를 사용하면 짧은 키로도 동일한 암호 성능을 가지는데, 이는 컴퓨터 성능이 낮아도 암호 성능을 유지할 수 있게되었습니다. 따라서, 이러한 이유로 RSA를 대체할 차세대 공개키 암호기술로 부상하고 있다. 타원 곡선 암호화(Elliptic Curve) 알고리즘으로 불리며, 이전 포스팅에서 소개했던 공개키 암호화 방식입니다. 타원 곡선의 정의 아래 방정식을 만족하는 x, y의 집합을 곡선 그래프로 나타낸 것을 뜻합니다. $$ y^{2}\ =\ x.. 2019. 4. 13.
기초 암호학(3) - 공개키 암호 (RSA, Diffie-Helmman) 이번 포스팅에서는 대칭키의 키 배분 문제점을 해결한 공개키 암호화 알고리즘을 소개하려고한다. 비대칭 암호(Asymmetric Cryptography)라고도 불리는데, 두 개의 공개키(Public Key), 비밀 키(Private Key)를 사용한다. 공개 키(Public Key) 공개키 암호학 방식에서 키 생성은 Trap door one way function에 기반을 둔다. 한 방향으로 계산이 쉬우나 다른 방향으로의 계산이 어렵다는 것을 이용한 방식이다. 키를 생성하는데 두 가지의 방법이 존재한다. 첫 번째로 소인수분해를 이용한 키 생성 방법이 있다. $$ N\ =\ pq $$ p가 11이고 q가 13일때 N을 구하는 건 간단히 11x13 = 143 간단하게 구할 수 있지만 143을 소수인 p와 q를 .. 2019. 3. 27.
기초 암호학(2) - AES 이번 포스팅에서는 DES 이후 새로운 암호화 표준인 AES에 대해 알아보려한다.1977년에 표준으로 지정된 DES는 오랫동안 암호화의 표준으로 잘 사용되었지만, 1990년대 이르러 기술 발전으로 56bit Key를 사용하는 기존의 암호화 방식인 DES는 더이상 안전하지 않게 되었다.이러한 이유로 DES를 발전시킨 3-DES와 같은 방법도 사용되기는 하였지만 112bit 보안성을 위해서는 Key가 168bit여야 하기 때문에 여전히 보안성이 불충분했다. 그리고 무엇보다 소프트웨어에서 실행 속도가 느리기 때문에 대안이 필요했다. AES (Advanced Encryption Standard)NIST에서 1997년에 AES라는 이름의 표준으로 제정할 것을 발표하였고, AES 암호화 알고리즘의 공모를 받게되었다... 2019. 3. 1.
기초 암호학(1) - DES 블록체인을 공부하면서 dApp을 만들어보고 비트코인이 어떤 방식으로 트랜잭션이 될까라는 부분부터 시작했었다. 그런데 기초 암호학 지식이 없는 상태이다보니 이해하는데 상당한 시간이 걸렸고 수박 겉햛기식으로 학습이 지속되었다.블록체인을 배우면서 만났던 멘토분께서 암호학을 먼저 공부하는 것이 좋다는 말씀을 듣고 공부한 내용들을 정리하였다. DES (Data Encryption Standard)DES는 IBM에서 고안되어 NIST가 미국 표준 암호 알고리즘으로 채택된 대칭 암호화 알고리즘이다. 1998년도에 해독된 암호화 기술이기 때문에, 현재의 일반 컴퓨팅 파워로도 쉽게 뚫린다. 기존에 암호화된 문서를 복호화 하는 용도로만 사용하고 신규 암호화 문서를 생성하는데는 절대로 사용하지 말 것을 권장한다. 개요DES.. 2019. 2. 24.