It is in fact possible to pass a buffer zero-copy to an async add-on. See this issue in Nan discussing how to do it: https://github.com/nodejs/nan/issues/612 Here's the resulting crypto-async module: https://github.com/ronomon/crypto-async