When using LUKS with Arch Linux, I had some difficulty getting my Yubikey to work for entering the passphrase. I solved this problem once and then promptly forgot the solution, so this time I'm writing it down. The key is that the block and keyboard hooks must be before the autodetect hook:
/etc/mkinitcpio.conf:
[...]
HOOKS="base udev block keyboard autodetect modconf encrypt lvm2 filesystems fsck"
[...]