Не рубиновая библиотека, но ... возможно, бесплатный вариант.
Если ваше приложение работает в Windows, вы можете использовать библиотеку DotNetZip через новый интерфейс COM. Он выполняет файлы, защищенные паролем, либо Zip-шифрование (слабое), либо WinZip-совместимое AES-шифрование.
DotNetZip бесплатен.
Если о Windows не может быть и речи, возможна другая возможность. DotNetZip работает и в Mono. Я не знаю, существуют ли механизмы интеграции Ruby-to-Mono, позволяющие вам звонить из Ruby в Mono на других платформах, но если они существуют, они также могут позволить вам вызывать DotNetZip.