1# Quick Start Guide - File Encryption Examples
2
3## Build & Run (๋น ๋ฅธ ์์)
4
5```bash
6# ๋ชจ๋ ํ๋ก๊ทธ๋จ ์ปดํ์ผ
7make
8
9# ๋ชจ๋ ํ
์คํธ ์คํ
10make test
11
12# ์ ๋ฆฌ
13make clean
14```
15
16## ๊ฐ๋ณ ์คํ ์์
17
18### 1. XOR ๋ฐ๋ชจ ๋ณด๊ธฐ
19```bash
20gcc -Wall -Wextra -std=c11 simple_xor.c -o simple_xor
21./simple_xor
22```
23
24### 2. ํ์ผ ์ํธํ (๊ธฐ๋ณธ ๋ฒ์ )
25```bash
26gcc -Wall -Wextra -std=c11 file_encrypt.c -o file_encrypt
27
28# ์ฌ์ฉ๋ฒ
29./file_encrypt -e <์
๋ ฅ> <์ถ๋ ฅ> <ํค> # ์ํธํ
30./file_encrypt -d <์
๋ ฅ> <์ถ๋ ฅ> <ํค> # ๋ณตํธํ
31
32# ์์
33echo "Secret data" > secret.txt
34./file_encrypt -e secret.txt secret.enc mypassword
35./file_encrypt -d secret.enc decrypted.txt mypassword
36cat decrypted.txt
37```
38
39### 3. ํ์ผ ์ํธํ v2 (ํค๋ + ๊ฒ์ฆ)
40```bash
41gcc -Wall -Wextra -std=c11 file_encrypt_v2.c -o file_encrypt_v2
42
43# ์ฌ์ฉ๋ฒ
44./file_encrypt_v2 encrypt <์
๋ ฅ> <์ถ๋ ฅ> <๋น๋ฐ๋ฒํธ>
45./file_encrypt_v2 decrypt <์
๋ ฅ> <์ถ๋ ฅ> <๋น๋ฐ๋ฒํธ>
46./file_encrypt_v2 info <์ํธํํ์ผ>
47
48# ์์
49echo "Top secret!" > data.txt
50./file_encrypt_v2 encrypt data.txt data.enc strongpass
51./file_encrypt_v2 info data.enc
52./file_encrypt_v2 decrypt data.enc restored.txt strongpass
53diff data.txt restored.txt # ๋์ผํด์ผ ํจ
54```
55
56## ์ฃผ์ ์ฐจ์ด์
57
58| ๊ธฐ๋ฅ | file_encrypt | file_encrypt_v2 |
59|------|--------------|-----------------|
60| ์ธํฐํ์ด์ค | `-e` / `-d` ์ต์
| `encrypt` / `decrypt` ๋ช
๋ น |
61| ํ์ผ ํค๋ | โ | โ (XENC ๋งค์ง ๋๋ฒ) |
62| ํค ๊ฒ์ฆ | โ | โ (ํด์ ๋น๊ต) |
63| ๋ฉํ๋ฐ์ดํฐ | โ | โ (์๋ณธ ํฌ๊ธฐ, ๋ฒ์ ) |
64| ํ์ผ ์ ๋ณด | โ | โ (`info` ๋ช
๋ น) |
65| ์งํ๋ฅ ํ์ | โ | โ |
66
67## ํ์ต ์์ ์ถ์ฒ
68
691. `simple_xor.c` - XOR ๊ธฐ๋ณธ ์๋ฆฌ ์ดํด
702. `file_encrypt.c` - ํ์ผ I/O ๋ฐ ๊ธฐ๋ณธ ๊ตฌ์กฐ
713. `file_encrypt_v2.c` - ํค๋, ๊ฒ์ฆ, ๊ณ ๊ธ ๊ธฐ๋ฅ
72
73## ๋ณด์ ๊ฒฝ๊ณ
74
75โ ๏ธ **ํ์ต ์ ์ฉ - ์ค์ ๋ณด์ ์ฉ๋๋ก ์ฌ์ฉ ๊ธ์ง**
76
77์ค์ ์ํธํ๊ฐ ํ์ํ ๊ฒฝ์ฐ:
78- `openssl enc -aes-256-cbc -in file -out file.enc`
79- GPG (GNU Privacy Guard)
80- libsodium ๋ผ์ด๋ธ๋ฌ๋ฆฌ