전체 글

Department of Computer Science and Engineering, 21th, Sungkyunkwan University
Cryptography

DES 구현 (C)

#include unsigned static IP[64] = { 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 04, 62, 54, 46, 38, 30, 22, 14, 06, 64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 03, 61, 53, 45, 37, 29, 21, 13, 05, 63, 55, 47, 39, 31, 23, 15, 07 }; unsigned static FP[64] = { 40, 8, 48, 16, 56, 24, 64, 32, 39, 7, 47, 15, 55, 23, 63, 31, 38, 6, 46, 14, 54, ..

Cryptography/Differential Attack (차분 공격)

차분 공격 - 실습

Toy Cipher 를 대상으로 진행한 차분 공격 실습이다. 0. 평문쌍, 암호문쌍 평문쌍 코드 #define CRT_SECURE_NO_WARNINGS #include #include #include int main() { FILE *pA, *pB, *cA, *cB; uint32_t random = 0; uint32_t plain_a = 0x00, plain_b = 0x00; uint32_t cipher_a = 0x00, cipher_b = 0x00; uint32_t a = 0x00; //Write Plaintext pA = fopen("Plaintext_A.txt", "w"); pB = fopen("Plaintext_B.txt", "w"); srand((unsigned)time(NULL)); for (..

Cryptography/Differential Attack (차분 공격)

차분 공격 - 분석

1. 차분공격이란? 차분 공격이란 암호분석 방법의 한 종류이다. 차분이란 말은 말 그대로 차이, 즉 두 값 a, b 를 XOR 한 결과이다. 쉽게 생각해서 0 과 1 은 차이가 "존재"하기 때문에 XOR 한 결과가 1, 그리고 0과 0 혹은 1 과 1 의 차이는 "없음"이므로 XOR 결과가 0이다. 이러한 암호분석 방법의 존재 이유는 단 하나일 것이다. 전사공격보다 나은 방법. 즉 모든 값을 대입하여 원하는 결과를 얻는 무차별 대입 공격 (Brute Force Attack) 보다 더 빠르게, 효율적으로 공격을 수행하기 위해서 등장하였다. 2. 차분분석 차분공격을 진행하기 위한 일련의 과정으로 DDT(Differential Distribution Table)을 작성하는 것, Propagation Ratio..

Pwnable/Techniques

RTL

RTL Return To Library 우선 RTL을 이해하기 전에 PLT와 GOT를 알아야 한다. PLT & GOT PLT (Prodecure Linkage Table) 사용자가 만든 함수 -> plt 참조할 필요 X 외부 라이브러리(stdio, stdlib 등)에서 가져다 쓸 경우 -> plt 참조 쉽게 말해서 외부 참조 함수들이 나열되어 있는 table 임 GOT (Global Offset Table) PLT에 존재하는 함수들의 실제 주소가 담겨있는 table 라이브러리에서 함수를 호출할 때 plt 가 got를 참조 이제 RTL을 어떻게 사용하는지를 알아보자. RTL : Return To Library 보호기법 DEP (Data Execution Prevention) : 데이터 실행 방지 -> 쉘 ..

Lucvs
Lucvs