難読化は一方通行でいいんです。原プログラムは普通に書いてデバッグして、リリースのタイミングで原プログラムを難読化したものを公開するわけです。解読プログラムなど必要ありません。
不可読ではなく難読なので、もちろん努力すれば読めますが、そのハードルを上げるのが目的です。
IOCCCは難読化とはベクトルが違うのですが、結果として難読を芸術の域までに高めた作品ばかりになっています。
ほんの一例:
http://www.ioccc.org/1987/hines/hines.c
http://www.ioccc.org/1989/roemer.c
1そうだね プレイ済み