개념 최대 공약수(GCD)는 가장 높은 공약수입니다. 두 개의 양의 정수(a, b)를 나누는 가장 큰 숫자입니다. **a = 12, b = 8** 의 경우, 우리는 a의 약수 **{1,2,3,4,6,12}**와 b의 약수 **{1,2,4,8}**을 구할 수 있습니다. 이 두 가지를 비교하면 **gcd(a,b) = 4**를 알 수 있습니다. 이제 ...
[Cryptohack] Greatest Common Divisor
[Cryptohack] You either know, XOR you don't
문제 내 비밀키로 암호화 했는데, 당신은 절대 추측할 수 없을 것이다. 플래그 형식과 이 과제에 도움이 될 수 있는 방법을 기억하라. 0e0b213f26041e480b26217f27342e175d0e070a3c5b103e2526217f27342e175d0e077e263451150104 풀이 먼저 플래그 형식인 crypto{}로 XOR ...
[Cryptohack] Favourite Byte
문제 다음 몇 과제에서는 이전에 배운 내용을 사용하여 XOR 퍼즐을 더 풀어볼 것이다. 단일 바이트로 XOR을 사용하여 데이터를 숨겼지만 그 바이트는 비밀이다. 16진수부터 디코딩하는 것을 잊지 마십시오. 73626960647f6b206821204f21254f7d694f7624662065622127234f726927756d 풀이 먼저 byt...
[Cryptohack] XOR Properties
문제 지난 문제에서는 XOR이 비트 수준에서 어떻게 동작하는지 보았다. 이번 문제서는 XOR 작업의 속성을 다루고 플래그를 암호화한 일련의 작업을 무력화하는데 사용할 것이다. 이것이 어떻게 작동하는지에 대한 직관을 얻는 것은 나중에 특히 블록 암호 범주에서 실제 암호 시스템을 공격할 떄 크게 도움이 될 것이다. XOR 연산자를 사용하여 문제를 ...
[Cryptohack] XOR Starter
문제 XOR은 비트가 같으면 0을 반환하고 그렇지 않으면 1을 반하는 비트 연산자이다. 교과서에서 XOR 연산자는 ⊕로 표시되지만, 대부분의 과제와 프로그래밍 언어에서는 caret ^이 대신 사용된다. 더 긴 이진수의 경우 비트별 XOR: 0110 ^ 1010 = 1100이다. 우리는 먼저 정수를 십진법에서 이진법으로 변환함으로써 정수를 XOR할...
[Cryptohack] Bytes and Big Integers
문제 RSA와 같은 암호 시스템은 숫자로 작동하지만 메세지는 문자로 구성된다. 우리가 어떻게 수학적 연산이 적용되도록 메세지를 숫자로 변환해야 할까? 가장 일반적인 방법은 메세지의 ordinal(서수) 바이트를 가져와 16진수로 변환하고 연결하는 것이다. 이는 base-16/hexadecimal number로 해석될 수 있으며, base-10/de...
[Cryptohack] Base64
문제 다른 인코딩 방식중엔 Base64가 있습니다. Base64란 64자의 알파벳을 사용하여 이진 데이터를 ASCII 문자열로 표현하는 것 입니다. Base64 문자열의 한 문자는 6개의 이진 숫자(비트)를 인코딩하므로 Base64의 4개 문자는 3개의 8비트 바이트를 인코딩합니다. Base64는 온라인에서 가장 일반적으로 사용되므로 이미지와 같은...
[Cryptohack] Hex
문제 우리가 암호화할 때, 결과적인 암호문은 일반적으로 출력 가능한 ASCII 문자가 아닌 바이트로 되어있습니다. 암호화된 데이터를 공유하려면 암호화된 데이터를 사용하기 쉽고 휴대하기 쉬운 것으로 인코딩하는 것이 일반적입니다. 16진수는 ASCII 문자열을 나타내는 방식으로 사용될 수 있습니다. 먼저 각 문자는 ASCII 코드 표에 따라 순서 번호...
[Cryptohack] ASCII
문제 ASCII는 0-127 정수를 사용하여 텍스트를 표현할 수 있는 7비트 인코딩 표준입니다. 아래 정수 배열을 사용하여 숫자를 ASCII 문자로 변환하여 플래그를 얻어보세요. [99, 114, 121, 112, 116, 111, 123, 65, 83, 67, 73, 73, 95, 112, 114, 49, 110, 116, 52, 98, 108...
[Pawnyable] Holstein 모듈 분석 및 취약점 발생
LK01(Holstein)을 다루는 글에서는 Kernel Exploit의 기초적인 공격 기법에 대해 배웁니다. LK01을 받지 않으신 분들은 먼저 pawnyable 사이트에서 LK01 파일을 받아주세요. qemu/rootfs.cpio이 파일 시스템입니다. 여기서는 mount 디렉토리를 만들고 거기에 cpio 파일을 해제해주세요. 초기화 처리 확인 우...