Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CRC64 implementation in @aws-crypto #844

Open
trivikr opened this issue Aug 13, 2024 · 2 comments
Open

CRC64 implementation in @aws-crypto #844

trivikr opened this issue Aug 13, 2024 · 2 comments

Comments

@trivikr
Copy link
Member

trivikr commented Aug 13, 2024

Is your feature request related to a problem? Please describe.

The AWS SDK for JavaScript (v3) has a new requirement for using CRC64 checksum algorithm.

For CRC32, the JS SDK v3 currently uses the implementations provided by Crypto:

We would like to use CRC64 implementation from @aws-crypto/crc64.

Describe the solution you'd like

The CRC64 implementation is provided in @aws-crypto/crc64

Describe alternatives you've considered

  • Use CRC64 implementation from userland, if one is available
  • Implement CRC64 in @aws-sdk/crc64
  • Investigate CRC64 implementation in provided by aws-crt
@trivikr
Copy link
Member Author

trivikr commented Aug 13, 2024

Specification of CRC64 implementation that we're looking for http://www.ross.net/crc/download/crc_v3.txt

The Rocksoft (NVME) 64-bit CRC model parameters are as follows:

    Poly: 0xAD93D23594C93659
    Initial value: 0xFFFFFFFFFFFFFFFF
    Reflected Input: True
    Reflected Output: True
    Xor Final: 0xFFFFFFFFFFFFFFFF

@trivikr
Copy link
Member Author

trivikr commented Aug 14, 2024

CRC64 rocksoft implementation in Linux

https://github.com/torvalds/linux/blob/master/lib/crc64-rocksoft.c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant