Безусловно, вы можете написать программу для безопасного хранения паролей.
Используя AES, вы можете заставить свою программу генерировать ключ AES и хранить этот ключ в защищенной области операционной системы. В WinXP это реестр, зашифрованный с помощью DPAPI. Таким образом, единственный способ получить доступ к ключу - это физический доступ к машине.
Вы должны убедиться, что при создании ключа AES вы делаете это криптографически безопасным способом. Простое использование RAND не сработает и не сгенерирует случайную строку символов.
Open Source имеет очень мало общего с безопасностью (на мой взгляд). Учитывая уровень сложности в инструментах для обратного инжиниринга исходного кода, даже если у вас было решение с закрытым исходным кодом, люди, решившие отследить ваш код, могли бы сделать это.
Ваши усилия лучше расходуются, гарантируя, что вы будете следовать рекомендациям передового опыта при использовании выбранной схемы шифрования. Я бы сказал, что открытый просмотр вашего кода со стороны более крупного сообщества на самом деле сделает ваш код более безопасным; уязвимости и угрозы, скорее всего, будут выявлены раньше, когда большая аудитория просматривает ваш код.