포스팅 썸네일 이미지

Crypto

공개키 암호에 대한 이모저모 (1) - based on 소인수분해

공개키 암호에 대한 이모저모 (1) RSA, Rabin 이번에는 공개키 암호화에 대해서 몇 가지 알아봅시다. 시험공부를 위한 암기만 했더니 다시 보니깐 이름만 어디서 본 거같고 아무고토 알 수 없습니다... 너무 깊게까지는 안들어가고, 전반적으로 무엇인지 알 수 있을 정도로만 정리하도록 하겠습니다. 0. 공개키 암호 정말정말 간단하게 설명하고 넘어갈게요. 공개키암호 보다는 비대칭키 암호라는 단어를 더 좋아해서, 이걸로 설명하겠습니다. 비대칭키, 즉 암호화/복호화를 하는 키는 2개이며, 하나는 공개, 하나는 비공개로 하여 암호화/복호화하는 과정입니다. 이 키들을 각각 공개/비공개키라고 합니다. 일단 각 키는 보통 수학적 문제에 기반하여 생성합니다. 그래서 키의 생성 과정은 비공개키를 통해 공개키를 만들어 ..

2021.07.08 게시됨

 포스팅 썸네일 이미지

Crypto

base64 encoding 알아보기 (좀 필요 이상으로 많이)

base64 encoding 알아보기 (좀 필요 이상으로 많이) 1. 개요 base64 encoding 기법은 CTF부터 시작해서 실생활에서도 정말 많이 사용되는 encoding 기법 중 하나입니다. 사실 현실은 온라인으로도 툴이 너무 잘되어있어서, 걍 원리고 뭐고 걍 일단 집어넣어보는 정도인 것 같습니다. 이번 글에서는 진짜 얘가 뭔지, 왜 필요한지, 어떤 과정으로 이루어지는지 봅시다. 그러면 일단 base64부분을 알아보기 전에, encoding부터 알아봅시다. Encoding 문자 인코딩(영어: character encoding), 줄여서 인코딩은 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것을 말한다. source : https://ko.wikipedia.org/wik..

2021.07.07 게시됨

 포스팅 썸네일 이미지

Crypto

[RSA] RSA 공격법

RSA 공격법 CTF에서 크립토문제로 생각보다 자주 출제되는 RSA 이다. 크게 분류하면 적절하지 못한 소수를 택한 경우 / 구조상 문제로 나뉜다. 0. 개인키 유출 p, q, ϕ(n), d 중 단 하나라도 노출된다면 나머지 키들을 모두 획득할 수 있다. 방법은 확장된 유클리드 호제법을 사용하면 간단하게 구할 수 있다. 이론은 이전글 참고 : dokhakdubini.tistory.com/288 [RSA] 이론적인 접근으로 RSA 이론적인 접근으로 이번에 다뤄볼 암호체계는 RSA입니다. 0. 배경지식-공개키 암호 시스템 RSA 알고리즘을 이해하기 위해서 기본적으로 공개키 암호 시스템에 대해서 가볍게나마 훑어보겠습니 dokhakdubini.tistory.com 1. 소인수분해 n을 소인수분해 할 수 있다면 ..

2020.09.27 게시됨

 포스팅 썸네일 이미지

Crypto

[RSA] 이론적인 접근으로

RSA 이론적인 접근으로 이번에 다뤄볼 암호체계는 RSA입니다. 0. 배경지식-공개키 암호 시스템 RSA 알고리즘을 이해하기 위해서 기본적으로 공개키 암호 시스템에 대해서 가볍게나마 훑어보겠습니다. 읽어보고 아직 잘 모르겠다 싶은 부분이 있다면 따로 더 공부를 한 뒤에 읽는걸 추천드립니다. = 공개키 암호 시스템 = 비대칭키 암호 시스템이라고도 합니다. 개인적으로 비대칭키 암호 시스템이라고 알고있는 것이 직관적인 이해를 돕는 것 같습니다. 암호화, 복호화에 사용되는 키가 서로 다른 암호 시스템이고, 암호화키를 공개합니다. (왜 공개키 암호/비대칭키 암호인지 알겠죠?) 대칭키 암호화 비교했을 때 엄청나게 많은 연산량을 필요로 하기 때문에 보통 키 분배 문제 해결을 위해 사용됩니다. 더불어 많은 연산량 덕분..

2020.09.26 게시됨

 포스팅 썸네일 이미지

Crypto

Pollard's Rho에 대하여

Ⅰ. Pollard’s Rho에 대하여 Pollard’s Rho는 공개키 암호알고리즘에서 가장 많이 사용되는 계산 문제 중 하나인 인수분해 문제를 해결하기 위한 알고리즘 중 하나이다. Pollard’s Rho 알고리즘은 보통 10자리 이하의 수에 대한 수인수분해에 최적으로 알려져있는 알고리즘이다. Pollard’s Rho에서 사용되는 이론은 다음과 같다. 1. 두 정수 x와 y는 다음과 같은 경우에 mod n에 대하여 합동이다. 1) 그들의 차가 n의 배수이다. 2) 각 숫자가 n으로 나누었을 때 같은 나머지를 갖는다. 2. GCD(Greatest Common Divisor), 즉 최대공약수는 각각 숫자들을 나누는 인수 중 가장 큰 숫자이다. 3. Birthday Paradox(생일 역설), 즉 두 사람..

2020.09.09 게시됨

 포스팅 썸네일 이미지

Crypto

[AES] 이론적인 접근으로

AES Advanced Encryption System 이론적으로 AES에 대해 다뤄보고자합니다. 다음글은 코딩적인 접근으로 해보자 합니다. 1. AES의 등장배경 원래는 DES라는 암호체계를 사용하고있었지만, $2^{56}$개의 키에대해서 전사적 공격이 가능해 취약한 알고리즘이 되었습니다. (보통 $2^{60}$보다 작은 케이스로 전수조사가 가능하면, 그닥 안전하지 않은 알고리즘으로 분류합니다.) 물론 그 약점을 피하기위한 Triple DES같은 알고리즘이 많았지만, 효율적이지않아 결국 새로운 암호체계가 필요했습니다. 따라서 AES공모를 하게되었고, 다음과 같은 요구사항을 충족해야했습니다. - 블록의 크기는 128비트 -대칭키 암호이며 세 종류의 키(128, 192, 256비트)를 사용할 수 있어야 함..

2020.04.11 게시됨