[½ÇÇà °á°ú]
[ÁÖÀÇ »çÇ×]
1) ¾ÏÈ£ ´ë»ó ¹®ÀÚ¿ÀÇ ¹®ÀÚ¿Í ¾ÏÈ£È key ¹®ÀÚ¿ÀÇ ¹®ÀÚ¸¦ Çϳª¾¿ XOR ÇØ¾ß ÇÔ // C¾ð¾î XOR ¿¬»êÀÚ: ^
2) ¾ÏÈ£È key ¹®ÀÚ¿Àº ¹Ýº¹ÀûÀ¸·Î Àû¿ë (¾ÏÈ£ ´ë»ó ¹®ÀÚ¿Àº ±æ°í ¾ÏÈ£È key ¹®ÀÚ¿Àº ªÀ½À¸·Î)
3) ¾ÏÈ£È, º¹È£ÈµÈ ¹®ÀÚ¿ÀÇ ³¡¿¡ '\0' ³Ö¾îÁÖ¾î¾ß ¹®ÀÚ¿ÀÇ ³¡À» È®ÀÎ °¡´É!!!
4) ¾Æ·¡ µÎ header ÆÄÀÏÀ» »ç¿ëÇØ¾ßÇÔ
5) Å×½ºÆ® ¾ÏÈ£ ´ë»ó ¹®ÀÚ¿ ¹× ¾ÏÈ£È key ¿¹)
* XORCipher() ÇÔ¼ö·Î ±¸ÇöÇÏ´Â °ÍÀÓ
* ÇÔ¼ö±¸ÇöÀÌ ¼Å÷ ÇлýÀº main ÇÔ¼ö¿¡ ¸ðµÎ ±¸Çö ÈÄ ÇÔ¼öÈ ÇÒ °Í!!!
[XOR µ¿ÀÛ]
A ⊕ A = 0
A ⊕ 0 = A
A ⊕ 1 = A'
A: ¾ÏÈ£ ´ë»ó ¹®ÀÚ¿
B: ¾ÏÈ£ key ¹®ÀÚ¿
¾ÏÈ£È: (A ⊕ B) = C (C: ¾ÏÈ£ÈµÈ ¹®ÀÚ¿)
º¹È£È: (C ⊕ B) = A (A: º¹È£ÈµÈ ¹®ÀÚ¿)
¡Ø XOR ´Â ±³È¯¹ýÄ¢, °áÇÕ¹ýÄ¢ÀÌ ¼º¸³ ÇÔ
(C ⊕ B) = (A ⊕ B) ⊕ B = A ⊕ (B ⊕ B) = A ⊕ 0 = A