Я предполагаю, что вы уже выполнили PBKDF2 с определенными статическими 1000 итераций (что, э-э, на нижнем уровне безопасности), и что два байта проверки ключа были проверены.
Сам AES ничем не отличается, и кажется, что Winzip не использует ничего особенного. Единственное, что немного странно, это то, что счетчик имеет обратный порядок байтов. Это все C-код, поэтому порядок следования байтов определяется платформой, и в основном это означает обратный порядок байтов.
Ничто не запрещает использовать счетчик с прямым порядком байтов для режима CTR, но в 99% случаев это будет обратный порядок байтов. Возможно, вам придется реализовать CTR-LE самостоятельно поверх шифра AES (или AES-ECB, что-то вроде того же).
Также обратите внимание, что стандарт ZIP определяет зашифрованный заголовок, поэтому начало расшифрованного открытого текста не будет содержимым файла.
Точно так же тег аутентификации — это просто HMAC-SHA1-80 поверх зашифрованного текста. HMAC-SHA1-80 — это просто HMAC-SHA-1, из которых используются только 80 бит, то есть половина выходного размера HMAC-SHA-1, обычно крайние левые биты.
Если вы застряли, я бы внимательно посмотрел на код, чтобы проверить, нет ли у вас каких-либо значений в обратном направлении (например, может быть, он использует самые правые байты HMAC, маловероятно, но да).