QUICK_START.md

Download
markdown 81 lines 2.0 KB
 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 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ