일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- CSRF
- pycrpytodome
- overthewire
- AES
- spoofing
- OverTheWire Bandit Level 1 → Level 2
- weak key
- 암호학
- 웹해킹
- Crypto
- rao
- Bandit Level 1 → Level 2
- bandit
- Hastad
- 시스템해킹
- dns
- Franklin-Reiter Related Message Attack
- RSA
- arp
- return address overflow
- RSA Common Modulas Attack
- Montgomery Reduction
- cryptography
- XSS
- dreamhack
- shellcode
- picoCTF
- redirect
- 드림핵
- Cube Root Attack
- Today
- Total
목록전체 글 (49)
암호(수학) 등.. 공부한 거 잊을거 같아서 만든 블로그
웹 사이트https://www.tutorialspoint.com/cryptography/index.htm 교과서 느낌으로 암호학의 배경이나 암호의 종류와 역할이 영어로 써져있는 웹 사이트. 전반적인 암호 기초 배경 지식을 습득하기에 좋은거 같다. 암호학 이외에도 다양한 분야에 대해서 다룬 글들이 있음. CryptoHack CryptoHack – HomeA free, fun platform to learn about cryptography through solving challenges and cracking insecure code. Can you reach the top of the leaderboard?cryptohack.org암호를 공부할 수 있는 코스 제공과 다양한 문제가 있는 웹 사이트. Cry..
Montgomery Form 위 이미지에 있는 계산 방식은 Montgomery From 이라고 하는 계산방법이다. 몽고메리 폼에서의 a` = aR mod N와 b` = bR mod N을 곱하면 (aR mod N) * (bR mod N) = (abR)R mod N 이고, 이를 몽고메리 폼에 맞게 하기 위해 R^(-1)을 곱해준다. (abR)R*R^(-1) mod N =(abR) mod N 이러한 계산과정은 R^(-1)을 곱하고 N을 나눠야 하기 때문에 느리다. 따라서 아래의 알고리즘을 통하여 구하면 비트 쉬프트 연산을 통하여 구할 수 있다. Montgomery Reduction Algorithm 아래의 수식은 몽고메리 감산 알고리즘으로 T = (aR mod N) * (bR mod N)을 (abR) mod ..
sage -sh 입력 후, pip install pwntools, pip install pycryptodome 을 입력 해주면 된다. sage -sh pip install pwntools pip install pycryptodome 이 외에도 다른 모듈이 사용하고 싶으면 sage -sh 입력후 pip install [module name] 로 설치해주면 된다.
Weak Key Weak Key란 암호가 바람직하지 않은 방식으로 동작하게 만드는 키를 뜻한다. DES의 경우 암복호화를 서로 동일하게 만드는 키가 있으며, 두개의 특정 키를 사용하여 평문을 두번 암호화 하면 평문이 나오는 키도 존재한다. 자세한 내용은 아래 링크 참고 https://en.wikipedia.org/wiki/Weak_key Weak key - Wikipedia From Wikipedia, the free encyclopedia In cryptography, a weak key is a key, which, used with a specific cipher, makes the cipher behave in some undesirable way. Weak keys usually represen..
Franklin-Reiter Related Message Attack Franklin-Reiter Related Message Attack 은 두 개의 관련된 메세지에 대하여 동일한 RSA 키로 암호화 된 값을 알 때, 관련된 메세지의 값을 알 수 있는 공격이다. M이라는 메세지와 관련된 메세지인 M1, M2 메세지의 암호화 값인 C1, C2를 알고 있으면 M값을 구할 수 있다. 두 방정식 f1, f2는 X = M 일 경우 0을 값으로 가진다. ( f1(M) = f2(M) = 0 ) 즉, X-M 을 공통 인수로 가지게 되어 gcd 알고리즘을 통해 f1, f2의 공통 인수 X-M을 구할 수 있으며, 구해진 인수 X-M의 상수항 -M에 N을 더함으로 M을 구하게 된다. RSA의 공개키 e가 3일 경우 공통 ..
Hastad's Broadcast Attack 동일한 평문 M을 동일한 공개지수 e 를 사용하여 서로 다른 N값을 이용하여 암호화 한 값 C 알고 있을 때, 평문을 알아낼 수 있는 공격이다. (C, N 쌍이 e 크기 이상 만큼 필요하다.) 식의 크기를 줄이기 위해 공개 지수인 e의 값을 3이라 생각하고 하겠다. 아래의 C1, C2, C3, N1, N2, N3 를 알고 있다고 하자. 그러면 중국인의 나머지 정리 (CRT) 를 이용하여 M^3 mod N1 * N2 * N3 (M3 < N1 * N2 * N3) 의 값을 알아 낼 수 있다. 중국인의 나머지 정리를 이용하여 M^3를 구해보자. 위와 같이 M^3 mod N1 * N2 * N3 를 구할 수 있으며 M^3 < N1 * N2 * N3 이므로 이는 M^3 ..
RSA Cube Root Attack RSA의 공개 지수 e의 값이 3일때 시도할 수 있는 공격이다. C를 암호문, P를 평문이라 했을 때, 위 이미지와 같이 평문 P를 N과 C를 이용하여 세제곱근으로 식을 표현할 수 있다. 암호문 C와 N의 값을 알고 있고, e=3일 때, P^3 N인 경우, C + NK 에서 K에 정수를 대입하여 세제곱근이 정수가 나올때 까지 반복한다. 정수가 나오면 이는 평문 P의 값이다. P^3 > N 이므로 K의 값은 P^3을 N으로 나누었을 때의 몫이 0 이상의 정수이므로 0, 1, 2, .... 의 정수가 된다. 따라서 K의 값을 0부터 계속 1씩 증가하여 반복해 세제곱근..
RSA Common Modulus Attack 동일한 모듈러 값으로 각기 다른 공개지수 e1, e2 ( gcd(e1, e2) = 1 인 ) 를 사용하여 암호화 한 암호문의 평문을 알아내는 공격이다. 아래와 같이 평문 M이 있을 때, 각기 다른 공개지수 e1, e2로 암호화 한 값을 C1, C2라 하자. 확장 유클리드 알고리즘은 필요하다면 아래 페이지를 참고하자. 확장 유클리드 알고리즘 (Extended Euclidean Algorithm) 유클리드 알고리즘 유클리드 알고리즘이란? 유클리드 알고리즘이란 두 정수의 최대 공약수를 효율적으로 구하는 방법으로써 다음과 같은 정리를 이용한다, a = bp + r (0 0 else print(result[2] + result[1] heahgo.tistory.com ..