일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- arp
- dns
- bandit
- 드림핵
- spoofing
- RSA
- dreamhack
- 웹해킹
- weak key
- RSA Common Modulas Attack
- 암호학
- pycrpytodome
- Montgomery Reduction
- Crypto
- Cube Root Attack
- return address overflow
- overthewire
- Bandit Level 1 → Level 2
- Franklin-Reiter Related Message Attack
- 시스템해킹
- redirect
- rao
- shellcode
- CSRF
- cryptography
- AES
- picoCTF
- OverTheWire Bandit Level 1 → Level 2
- Hastad
- XSS
- Today
- Total
목록Cryptography (9)
암호(수학) 등.. 공부한 거 잊을거 같아서 만든 블로그
웹 사이트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..
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 ..

ECB (Electronic Code Book) 운영 모드 ECB 운영 모드는 AES 암호화를 그대로 적용한 모드이다. 평문을 블록의 크기 (128 bit) 만큼 나눈 후, 각각의 블록을 동일한 키로 암호화를 한 결과를 합쳐서 암호문을 완성한다. 복호화는 암호화의 역과정이다. ECB 운영 모드의 취약함 ECB 운영 모드는 단순하게 블록만을 암호화 하기 때문에 다른 블록과의 연관성이 없다. 그러한 이유로 ECB는 취약해서 사용되지 않고 있다. 만약 동일한 평문 블록이 있으면 암호화된 평문 블록들 또한 동일한 값을 가지기 때문에 이를 통해 동일한 평문들을 찾을 수도 있을 것이다. 또한 평문 블록들이 동일한 키로 암호화 되어 이를 이용해 평문을 알아낼 수도 있다. 또한 위의 이미지를 보면 가장 왼쪽 이미지를 ..

AES (Advanced Encrytion Standard) AES 암호는 블록암호로 SPN (Substitution Permutation Network) 구조를 가지며, 블록의 크기는 총 128 bit (16 byte) 이고, key의 길이는 128, 192, 256 이 있다. 블록은 평문을 128 bit 씩 나눈 값들을 말하며, 암호화 할 때 블록들을 내부 상태 (state) 라 부르는 각각의 성분이 1 byte 인 4 by 4 행렬로 다루게 된다. 평문 블록의 바이트값이 s0, s1, ~ , s15 순서로 내부 상태에 배치된다. key의 길이에 따라 10, 12, 14개의 라운드를 가지고 있으며 키 스케쥴 함수 (KeyExpansion) 과 4가지의 연산 (AddRoundKey, SubBytes, ..