Я пишу фреймворк для генерации и валидации лицензионных кодов на основе эллиптической цифровой подписи (ECDSA, elliptic curve digital signature algorithm). Преимущество эллиптической криптографии в том, что она позволяет получить короткие лицензионные коды при хорошей защищенности.
Для Windows есть несколько коммерческих продуктов с короткими ключами (AsProtect SKE1, который я использую в BlogJet, и ExeCryptor2). Для Mac OS X почти ничего нет. Есть опен-сорсный AquaticPrime, который я использую в Mémoires, но он по умолчанию работает с файлами и использует RSA, отчего получаются длиннющие ключи.
Сейчас EllipticLicense может создавать ключи типа таких:
Licensed to: John Doe License key: HQYRV-OZFNZ-M3L7B-WA644-CXLG4-D7IRD-QZ6FY-GJGTO-MEXEG
Это при эллиптической кривой над 112-битным полем простых чисел (secp112r1). 160-битная версия ECDSA по крипотостойкости примерно эквивалентна 1024-битной DSA.
Демонстрация работы GUI EllipticLicense Developer:
Проект опен-сорсный (MIT-лицензия), скоро будет доступен на GitHub'е. Я использую OpenSSL 0.9.8 для криптографии.
Фреймворку понадобится хорошая порка, потому что ошибки в таком деле могут иметь плохие последствия, поэтому мне нужны люди для peer review кода (чуть больше 200 строчек, Objective-C). Пишите на dmitry@sellme.ru если сможете помочь.
1 Кстати, AsProtect был куплен StarForce, они зажрались и стали брать деньги за несуществующую поддержку раз в год, за что могут спокойно засунуть AsProtect в свою ass. Никому не рекомендую этот продукт и эту дебильную организацию.
2 2008-04-01: Мне сказали, что ExeCryptor уже мертв.
