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

Prototyping NIST CAVS hash sha1 vectors #18

Merged
merged 16 commits into from
Oct 19, 2024
Merged

Conversation

ckormanyos
Copy link
Collaborator

The purpose of this PR is to do the prototyping for standard NIST CAVS test vectors. We start with SHA1. Then begin with the short response vectors and move on to all of SHA1 from there.

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

1 similar comment
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@ckormanyos
Copy link
Collaborator Author

ckormanyos commented Oct 19, 2024

Hi Matt (@mborland) at this very initial juncture, I put in NIST CAVS testing for the short-response vectors in one-shot mode only. Full tests involve also the long response vertors and also testing the vectors in piecewise chunks. Also there is a third form of specified hash testing called Monte Carlo.

Yeah! SHA1 passes the short response vectors and we are off to a good start.

I'll try to finish all three test forms completely for SHA1.

A lot of the code can be templated on the hash type, since the only real thing that changes in the testing is parsing the test file, where there are a few hash-specific details. So ultimately a bunch of the detail stuff can get into generic test headers and each test for each hash will be more straightforward to write.

Let me finish this prototyping on SHA1 and see how it shakes out.

Copy link

codecov bot commented Oct 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (79cbe23) to head (ebfffef).
Report is 17 commits behind head on develop.

Additional details and impacted files
@@            Coverage Diff            @@
##           develop       #18   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           10        12    +2     
  Lines          730       798   +68     
  Branches        92       101    +9     
=========================================
+ Hits           730       798   +68     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

1 similar comment
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

1 similar comment
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@ckormanyos
Copy link
Collaborator Author

OK, so I have the paths for CI, cover, CMake. But I'm still missing drone.

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://18.crypt.prtest2.cppalliance.org/libs/crypt/doc/html/index.html

@ckormanyos
Copy link
Collaborator Author

Hi Matt (@mborland) this PR has only sha1-short-response-vectors done in their entirety. It does, however, set up a preliminary structure for the NIST-CAVS tests and the test vectors.

I'd like to merge this one with your approval. But I'm not sure if the formal matter we discussed offline is actually working yet.

This one is a good start and it's going green.

@ckormanyos ckormanyos merged commit e42f083 into develop Oct 19, 2024
68 checks passed
@ckormanyos ckormanyos deleted the prototype_cavs_sha1 branch October 19, 2024 15:32
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

Successfully merging this pull request may close these issues.

2 participants