¡ØS-DES ¾ÏÈ£ ¾Ë°í¸®ÁòÀº 8-ºñÆ® Æò¹® ºí·Ï°ú 10-ºñÆ® Å°¸¦ ÀÔ·ÂÀ¸·Î ÃëÇÏ¿© 8-ºñÆ® ¾ÏÈ£¹® ºí·ÏÀ» Ãâ·ÂÀ¸·Î »ý¼ºÇÑ´Ù.
¡ØS-DES º¹È£ ¾Ë°í¸®ÁòÀº 8-ºñÆ® ¾ÏÈ£¹® ºí·Ï°ú ±× ¾ÏÈ£¹® »ý¼º¿¡ »ç¿ëµÇ¾ú´ø 10-ºñÆ® Å°¸¦ ÀÔ·ÂÀ¸·Î ÃëÇÏ¿© ¿ø·¡ÀÇ 8-ºñÆ® Æò¹® ºí·ÏÀ» Ãâ·ÂÀ¸·Î »ý¼ºÇÑ´Ù.
¡ØS-DESÀÇ ¼³°è °³¿ä¡Ø
¡Ø¾ÏÈ£ ¾Ë°í¸®Áò¿¡ Æ÷ÇԵǴ ´Ù¼¸ °³ÀÇ ÇÔ¼ö¡ØIPÃʱ⠼ø¿ ÇÔ¼öf k1¼ø¿°ú ġȯÀ» Æ÷ÇÔÇÏ°í Å°(K1) ÀԷ¿¡ ÀÇÁ¸ÇÏ¸ç º¹ÀâÇÑ ÇÔ¼öSW(½ºÀ§Ä¡ ÇÔ¼ö)µ¥ÀÌÅÍÀÇ µÎ Àý¹Ý ºÎºÐÀ» »óÈ£ ±³È¯ÇÏ´Â °£´ÜÇÑ ¼ø¿ ÇÔ¼öf k2¼ø¿°ú ġȯÀ» Æ÷ÇÔÇÏ°í Å°(K2) ÀԷ¿¡ ÀÇÁ¸ÇÏ¸ç º¹ÀâÇÑ ÇÔ¼öIP-1Ãʱ⠼ø¿ÀÇ ¿ªÀÎ ¼ø¿ ÇÔ¼ö
¡Ø¾ÏÈ£ ¾Ë°í¸®Áò ÇÔ¼ö ÇÕ¼º Ç¥Çö
IP-1¡£ f k2¡£ SW¡£ f k1¡£ IP
ciphertext = IP-1(f k2(SW(f k1(IP(plaintext)))))
¡Øº¹È£ ¾Ë°í¸®Áò ÇÔ¼ö ÇÕ¼º Ç¥Çö
plaintext = IP-1(f k1(SW(f k2(IP(ciphertext)))))
¡ØK1°ú K2ÀÇ Ç¥Çö
K1 = P8(Shift(P10(key))) , K2 = P8(Shift(Shift(P10(key))))
1. S-DES Å°ÀÇ »ý¼º
¨ç 10-ºñÆ® ¼ø¿(P10)À» Àû¿ëÇÏ¿© ¼ø¿ º¯È¯
¨è ¨çÀÇ °á°ú ÈÄ 5-ºñÆ®¾¿ ÇÑ ÀÚ¸® ¿ÞÂÊÀ̵¿(Shift)
L¡¦(»ý·«)
¨é ¨è¿¡¼ »ý¼ºµÈ 10-ºñÆ® Áß 8-ºñÆ®¸¦ °ñ¶ó
¨ê ¨éÀÇ °á°ú ¼ºêÅ° K1 »ý¼º
¨ë ¨èÀÇ °á°ú ÈÄ 5-ºñÆ®¾¿ µÎ ÀÚ¸® ¿ÞÂÊÀ̵¿(Shift)
¨ì ¨ë¿¡¼ »ý¼ºµÈ 10-ºñÆ® Áß 8-ºñÆ®¸¦ °ñ¶ó ¼ø¿(P8)À» Àû¿ëÇÏ¿© ¼ø¿ º¯È¯
¨í ¨ìÀÇ °á°ú ¼ºêÅ° K2 »ý¼º
|