Шифрование обеспечит вам некоторую безопасность.Проблема в том, что вашей программе также придется расшифровывать пароль, что означает, что в нем должен храниться ключ.Это сделает его уязвимым для обратного проектирования.Лучшим подходом является использование односторонней функции (такой как хеш) для пароля и сохранение этого значения хеша.Когда пользователь вводит пароль, вы применяете одностороннюю функцию к паролю и сравниваете результат с сохраненным значением.Таким образом, пароль не может быть скомпрометирован (ну, всегда есть атака по словарю, но это вопрос надежности пароля).
Вместо использования NSUserDefaults, было бы лучше использовать iOS Keychain Services.Его главная цель - надежно хранить учетные данные пользователя.Apple уже сделала всю тяжелую работу за вас.Воспользуйтесь этим.