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

New package: CryptographicHashFunctions v0.0.1 #105373

Conversation

JuliaRegistrator
Copy link
Contributor

UUID: 59f36028-7e5a-47c1-b5da-23e00bab95ae
Repo: https://github.com/erich-9/CryptographicHashFunctions.jl.git
Tree: 12724ea5543355dde0ee4ad902e4e7b81079366c

Registrator tree SHA: 17aec322677d9b81cdd6b9b9236b09a3f1374c6a
Copy link
Contributor

Your new package pull request met all of the guidelines for auto-merging and is scheduled to be merged when the mandatory waiting period (3 days) has elapsed.

Since you are registering a new package, please make sure that you have read the package naming guidelines: https://pkgdocs.julialang.org/v1/creating-packages/#Package-naming-guidelines


If you want to prevent this pull request from being auto-merged, simply leave a comment. If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment. You can edit blocking comments, adding [noblock] to them in order to unblock auto-merging.

@stemann
Copy link

stemann commented Apr 22, 2024

What is the scope of this package in relation to the existing packages, e.g. in JuliaCrypto ?

It seems a substantial part of this package is wrappers (which should be named accordingly)?

[noblock]

@erich-9
Copy link

erich-9 commented Apr 22, 2024

Yes, for now it's all wrappers. But isn't this an implementation detail? Why would they require special naming?

The scope is convenience. Recently, I needed fast SHA-3 functions. Since the ones provided by SHA.jl are not particularly fast, I decided to create a package with the same API but with faster implementations. For another motivation see the issue JuliaCrypto/SHA.jl#90.

[noblock]

@erich-9
Copy link

erich-9 commented Apr 28, 2024

@stemann Since your comment is blocking the merge, do you expect me to make any changes?

[noblock]

@stemann
Copy link

stemann commented Apr 28, 2024

I have not looked much at cryptography in Julia, but it seems Nettle.jl and SEAL.jl follow the common practice of having one Julia wrapper package per binary dependency (JLL) - in line with the naming guidelines, point 6: Packages that wrap external libraries or programs should be named after those libraries or programs.

The discussion in JuliaCrypto/SHA.jl#90 (comment) also argues for wrappers in separate packages (e.g. a HACL* wrapper).

This packages wraps two binaries.

CryptographicHashFunctions is a quite general name - hence the question to scope. Is this package or does it strive to be the canonical (pure Julia) interface to cryptographic hash functions?

… there is also already OpenSSL.jl - which probably should wrap OpenSSL JLL: JuliaCrypto/OpenSSH.jl#1

[noblock]

@erich-9
Copy link

erich-9 commented Apr 28, 2024

Is this package or does it strive to be the canonical (pure Julia) interface to cryptographic hash functions?

This place is already taken by SHA.jl I believe. However, it could be a "canonical" interface for fast implementations of these functions. This would be helpful given that SHA.jl doesn't intend to provide hardware-accelerated versions.

Basically this package is the would-be package HashlibAcc.jl mentioned in JuliaCrypto/SHA.jl#90. It wraps (or potentially could also implement itself) the fastest currently available version of each hash function without unnecessarily exposing to the user where this implementation comes from (... probably from OpenSSL, but maybe it's a fall-back from HACL* ...).

@stemann Do you see any way to solve the issue without including the name of wrapped packages? Would another name be okay for you (e.g. FastSHA.jl or AcceleratedSHA.jl or the name HashlibAcc.jl suggested by the SHA.jl maintainers)? Honestly, I would rather stick with the current name but if you think it's necessary I can live with a change.

[noblock]

@stemann
Copy link

stemann commented Apr 30, 2024

I think this has had enough consideration from my side - unblocking my comments.

[noblock]

@JuliaTagBot JuliaTagBot merged commit cc6824b into master Apr 30, 2024
17 checks passed
@JuliaTagBot JuliaTagBot deleted the registrator-cryptographichashfunctions-59f36028-v0.0.1-eb70cb15c6 branch April 30, 2024 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants