Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
lwc
/
candidates
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
eaa31add
authored
Sep 14, 2020
by
Enrico Pozzobon
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'email-submissions' into master
parents
41412efd
109ff80f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
344 changed files
with
4637 additions
and
198 deletions
+4637
-198
knot/Implementations/crypto_aead/knot128v1/armcortexm_2/api.h
+0
-1
knot/Implementations/crypto_aead/knot128v1/armcortexm_2/auxFormat.c
+112
-0
knot/Implementations/crypto_aead/knot128v1/armcortexm_2/auxFormat.h
+12
-61
knot/Implementations/crypto_aead/knot128v1/armcortexm_2/crypto_aead.h
+9
-17
knot/Implementations/crypto_aead/knot128v1/armcortexm_2/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot128v1/armcortexm_4/api.h
+6
-0
knot/Implementations/crypto_aead/knot128v1/armcortexm_4/auxFormat.c
+70
-0
knot/Implementations/crypto_aead/knot128v1/armcortexm_4/auxFormat.h
+30
-0
knot/Implementations/crypto_aead/knot128v1/armcortexm_4/crypto_aead.h
+10
-0
knot/Implementations/crypto_aead/knot128v1/armcortexm_4/encrypt.c
+138
-0
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/api.h
+6
-0
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/assist.h
+141
-0
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/config.h
+132
-0
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/crypto_aead.h
+26
-0
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/encrypt.c
+107
-0
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/encrypt_core.S
+0
-0
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/knot256.h
+198
-0
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/knot384.h
+220
-0
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/knot512.h
+276
-0
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/permutation.h
+109
-0
knot/Implementations/crypto_aead/knot128v1/avr8_speed/api.h
+6
-0
knot/Implementations/crypto_aead/knot128v1/avr8_speed/assist.h
+87
-0
knot/Implementations/crypto_aead/knot128v1/avr8_speed/config.h
+132
-0
knot/Implementations/crypto_aead/knot128v1/avr8_speed/crypto_aead.h
+26
-0
knot/Implementations/crypto_aead/knot128v1/avr8_speed/encrypt.c
+107
-0
knot/Implementations/crypto_aead/knot128v1/avr8_speed/encrypt_core.S
+0
-0
knot/Implementations/crypto_aead/knot128v1/avr8_speed/knot256.h
+307
-0
knot/Implementations/crypto_aead/knot128v1/avr8_speed/knot384.h
+262
-0
knot/Implementations/crypto_aead/knot128v1/avr8_speed/knot512.h
+0
-0
knot/Implementations/crypto_aead/knot128v1/avr8_speed/permutation.h
+45
-0
knot/Implementations/crypto_aead/knot128v2/armcortexm_2/auxFormat.c
+114
-0
knot/Implementations/crypto_aead/knot128v2/armcortexm_2/auxFormat.h
+98
-119
knot/Implementations/crypto_aead/knot128v2/armcortexm_2/crypto_aead.h
+1
-0
knot/Implementations/crypto_aead/knot128v2/armcortexm_2/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot128v2/armcortexm_4/api.h
+7
-0
knot/Implementations/crypto_aead/knot128v2/armcortexm_4/auxFormat.c
+120
-0
knot/Implementations/crypto_aead/knot128v2/armcortexm_4/auxFormat.h
+58
-0
knot/Implementations/crypto_aead/knot128v2/armcortexm_4/crypto_aead.h
+18
-0
knot/Implementations/crypto_aead/knot128v2/armcortexm_4/encrypt.c
+181
-0
knot/Implementations/crypto_aead/knot128v2/avr8_lowrom/api.h
+6
-0
knot/Implementations/crypto_aead/knot128v2/avr8_lowrom/assist.h
+141
-0
knot/Implementations/crypto_aead/knot128v2/avr8_lowrom/config.h
+132
-0
knot/Implementations/crypto_aead/knot128v2/avr8_lowrom/crypto_aead.h
+26
-0
knot/Implementations/crypto_aead/knot128v2/avr8_lowrom/encrypt.c
+107
-0
knot/Implementations/crypto_aead/knot128v2/avr8_lowrom/encrypt_core.S
+0
-0
knot/Implementations/crypto_aead/knot128v2/avr8_lowrom/knot256.h
+198
-0
knot/Implementations/crypto_aead/knot128v2/avr8_lowrom/knot384.h
+220
-0
knot/Implementations/crypto_aead/knot128v2/avr8_lowrom/knot512.h
+276
-0
knot/Implementations/crypto_aead/knot128v2/avr8_lowrom/permutation.h
+109
-0
knot/Implementations/crypto_aead/knot128v2/avr8_speed/api.h
+6
-0
knot/Implementations/crypto_aead/knot128v2/avr8_speed/assist.h
+87
-0
knot/Implementations/crypto_aead/knot128v2/avr8_speed/config.h
+132
-0
knot/Implementations/crypto_aead/knot128v2/avr8_speed/crypto_aead.h
+26
-0
knot/Implementations/crypto_aead/knot128v2/avr8_speed/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot128v2/avr8_speed/encrypt_core.S
+0
-0
knot/Implementations/crypto_aead/knot128v2/avr8_speed/knot256.h
+0
-0
knot/Implementations/crypto_aead/knot128v2/avr8_speed/knot384.h
+0
-0
knot/Implementations/crypto_aead/knot128v2/avr8_speed/knot512.h
+0
-0
knot/Implementations/crypto_aead/knot128v2/avr8_speed/permutation.h
+0
-0
knot/Implementations/crypto_aead/knot192/armcortexm_2/auxFormat.c
+0
-0
knot/Implementations/crypto_aead/knot192/armcortexm_2/auxFormat.h
+0
-0
knot/Implementations/crypto_aead/knot192/armcortexm_2/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot192/armcortexm_4/api.h
+0
-0
knot/Implementations/crypto_aead/knot192/armcortexm_4/auxFormat.c
+0
-0
knot/Implementations/crypto_aead/knot192/armcortexm_4/auxFormat.h
+0
-0
knot/Implementations/crypto_aead/knot192/armcortexm_4/crypto_aead.h
+0
-0
knot/Implementations/crypto_aead/knot192/armcortexm_4/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_lowrom/api.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_lowrom/assist.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_lowrom/config.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_lowrom/crypto_aead.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_lowrom/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_lowrom/encrypt_core.S
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_lowrom/knot256.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_lowrom/knot384.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_lowrom/knot512.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_lowrom/permutation.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_speed/api.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_speed/assist.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_speed/config.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_speed/crypto_aead.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_speed/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_speed/encrypt_core.S
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_speed/knot256.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_speed/knot384.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_speed/knot512.h
+0
-0
knot/Implementations/crypto_aead/knot192/avr8_speed/permutation.h
+0
-0
knot/Implementations/crypto_aead/knot256/armcortexm_2/auxFormat.c
+0
-0
knot/Implementations/crypto_aead/knot256/armcortexm_2/auxFormat.h
+0
-0
knot/Implementations/crypto_aead/knot256/armcortexm_2/crypto_aead.h
+0
-0
knot/Implementations/crypto_aead/knot256/armcortexm_2/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot256/armcortexm_4/api.h
+0
-0
knot/Implementations/crypto_aead/knot256/armcortexm_4/auxFormat.c
+0
-0
knot/Implementations/crypto_aead/knot256/armcortexm_4/auxFormat.h
+0
-0
knot/Implementations/crypto_aead/knot256/armcortexm_4/crypto_aead.h
+0
-0
knot/Implementations/crypto_aead/knot256/armcortexm_4/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_lowrom/api.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_lowrom/assist.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_lowrom/config.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_lowrom/crypto_aead.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_lowrom/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_lowrom/encrypt_core.S
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_lowrom/knot256.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_lowrom/knot384.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_lowrom/knot512.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_lowrom/permutation.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_speed/api.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_speed/assist.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_speed/config.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_speed/crypto_aead.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_speed/encrypt.c
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_speed/encrypt_core.S
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_speed/knot256.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_speed/knot384.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_speed/knot512.h
+0
-0
knot/Implementations/crypto_aead/knot256/avr8_speed/permutation.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/api.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/assist.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/config.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/crypto_hash.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/encrypt.c
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/encrypt_core.S
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/hash.c
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/knot256.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/knot384.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/knot512.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_lowrom/permutation.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/api.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/assist.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/config.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/crypto_hash.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/encrypt.c
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/encrypt_core.S
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/hash.c
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/knot256.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/knot384.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/knot512.h
+0
-0
knot/Implementations/crypto_hash/knot256v1/avr8_speed/permutation.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/api.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/assist.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/config.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/crypto_hash.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/encrypt.c
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/encrypt_core.S
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/hash.c
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/knot256.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/knot384.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/knot512.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_lowrom/permutation.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/api.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/assist.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/config.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/crypto_hash.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/encrypt.c
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/encrypt_core.S
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/hash.c
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/knot256.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/knot384.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/knot512.h
+0
-0
knot/Implementations/crypto_hash/knot256v2/avr8_speed/permutation.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/api.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/assist.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/config.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/crypto_hash.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/encrypt.c
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/encrypt_core.S
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/hash.c
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/knot256.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/knot384.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/knot512.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_lowrom/permutation.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/api.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/assist.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/config.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/crypto_hash.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/encrypt.c
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/encrypt_core.S
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/hash.c
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/knot256.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/knot384.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/knot512.h
+0
-0
knot/Implementations/crypto_hash/knot384/avr8_speed/permutation.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/api.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/assist.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/config.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/crypto_hash.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/encrypt.c
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/encrypt_core.S
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/hash.c
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/knot256.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/knot384.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/knot512.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_lowrom/permutation.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/api.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/assist.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/config.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/crypto_hash.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/encrypt.c
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/encrypt_core.S
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/hash.c
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/knot256.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/knot384.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/knot512.h
+0
-0
knot/Implementations/crypto_hash/knot512/avr8_speed/permutation.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_lowrom/api.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_lowrom/assist.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_lowrom/crypto_aead.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_lowrom/encrypt.c
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_lowrom/encrypt_core.S
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_lowrom/photon.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_speed/api.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_speed/assist.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_speed/crypto_aead.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_speed/encrypt.c
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_speed/encrypt_core.S
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate128v1/avr8_speed/photon.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_lowrom/api.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_lowrom/assist.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_lowrom/crypto_aead.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_lowrom/encrypt.c
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_lowrom/encrypt_core.S
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_lowrom/photon.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_speed/api.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_speed/assist.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_speed/crypto_aead.h
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_speed/encrypt.c
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_speed/encrypt_core.S
+0
-0
photon-beetle/Implementations/crypto_aead/photonbeetleaead128rate32v1/avr8_speed/photon.h
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_lowrom/api.h
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_lowrom/assist.h
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_lowrom/crypto_hash.h
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_lowrom/encrypt_core.S
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_lowrom/hash.c
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_lowrom/photon.h
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_speed/api.h
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_speed/assist.h
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_speed/crypto_hash.h
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_speed/encrypt_core.S
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_speed/hash.c
+0
-0
photon-beetle/Implementations/crypto_hash/photonbeetlehash256rate32v1/avr8_speed/photon.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/LWC_AEAD_KAT_256_128.txt
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/COPYING
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/api.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/clyde_32bit.c
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/crypto_aead.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/encrypt.c
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/iacaMarks.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/parameters.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/primitives.c
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/primitives.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/s1p.c
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/s1p.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/shadow_32bit.c
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/utils.c
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/opt_c/utils.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/COPYING
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/api.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/crypto_aead.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/encrypt.c
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/parameters.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/primitives.c
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/primitives.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/s1p.c
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/s1p.h
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/utils.c
+0
-0
spook/Implementations/crypto_aead/spook128mu384v2/ref/utils.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/LWC_AEAD_KAT_256_128.txt
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/COPYING
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/api.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/clyde_32bit.c
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/crypto_aead.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/encrypt.c
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/iacaMarks.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/parameters.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/primitives.c
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/primitives.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/s1p.c
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/s1p.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/shadow_32bit.c
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/utils.c
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/opt_c/utils.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/COPYING
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/api.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/crypto_aead.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/encrypt.c
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/parameters.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/primitives.c
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/primitives.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/s1p.c
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/s1p.h
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/utils.c
+0
-0
spook/Implementations/crypto_aead/spook128mu512v2/ref/utils.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/LWC_AEAD_KAT_128_128.txt
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/COPYING
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/api.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/clyde_32bit.c
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/crypto_aead.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/encrypt.c
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/iacaMarks.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/parameters.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/primitives.c
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/primitives.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/s1p.c
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/s1p.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/shadow_32bit.c
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/utils.c
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/opt_c/utils.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/COPYING
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/api.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/crypto_aead.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/encrypt.c
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/parameters.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/primitives.c
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/primitives.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/s1p.c
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/s1p.h
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/utils.c
+0
-0
spook/Implementations/crypto_aead/spook128su384v2/ref/utils.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/LWC_AEAD_KAT_128_128.txt
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/COPYING
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/api.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/clyde_32bit.c
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/crypto_aead.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/encrypt.c
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/iacaMarks.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/parameters.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/primitives.c
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/primitives.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/s1p.c
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/s1p.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/shadow_32bit.c
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/utils.c
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/opt_c/utils.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/COPYING
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/api.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/crypto_aead.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/encrypt.c
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/parameters.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/primitives.c
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/primitives.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/s1p.c
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/s1p.h
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/utils.c
+0
-0
spook/Implementations/crypto_aead/spook128su512v2/ref/utils.h
+0
-0
No files found.
knot/Implementations/crypto_aead/knot128v1/armcortexm_2/api.h
View file @
eaa31add
//k=n=tag=128 b=256 r=64 c=192
#define CRYPTO_KEYBYTES 16 //
#define CRYPTO_NSECBYTES 0
#define CRYPTO_NPUBBYTES 16
...
...
knot/Implementations/crypto_aead/knot128v1/armcortexm_2/auxFormat.c
0 → 100644
View file @
eaa31add
#include"auxFormat.h"
//#define PRINTFormatToU8
#define PRINTU8
unsigned
char
constant6Format
[
52
]
=
{
/*constant6_aead_128v1:*/
0x01
,
0x10
,
0x02
,
0x20
,
0x04
,
0x41
,
0x11
,
0x12
,
0x22
,
0x24
,
0x45
,
0x50
,
0x03
,
0x30
,
0x06
,
0x61
,
0x15
,
0x53
,
0x33
,
0x36
,
0x67
,
0x74
,
0x46
,
0x60
,
0x05
,
0x51
,
0x13
,
0x32
,
0x26
,
0x65
,
0x54
,
0x42
,
0x21
,
0x14
,
0x43
,
0x31
,
0x16
,
0x63
,
0x35
,
0x57
,
0x72
,
0x27
,
0x75
,
0x56
,
0x62
,
0x25
,
0x55
,
0x52
,
0x23
,
0x34
,
0x47
,
0x70
,
};
void
P256
(
unsigned
int
*
s
,
unsigned
char
*
rc
,
unsigned
char
rounds
)
{
unsigned
int
reg1
,
reg2
;
asm
volatile
(
"enc_loop:
\n\t
"
"/*add round const*/
\n\t
"
"ldrb %[reg1], [%[rc]]
\n\t
"
"and %[reg2], %[reg1], 0xf
\n\t
"
"eors %[S_0], %[S_0], %[reg1],LSR #4
\n\t
"
/*s[0] ^= constant6Format[lunNum]>>4;*/
\
"eors %[S_1], %[S_1], %[reg2]
\n\t
"
/*s[1] ^= constant6Format[lunNum] & 0x0f;*/
\
"/*sbox first column*/
\n\t
"
"mvns %[S_0], %[S_0]
\n\t
"
"ands %[reg1], %[S_2], %[S_0]
\n\t
"
"eors %[reg1], %[S_4], %[reg1]
\n\t
"
"orrs %[S_4], %[S_2], %[S_4]
\n\t
"
"eors %[S_0], %[S_6], %[S_0]
\n\t
"
"eors %[S_4], %[S_4], %[S_0]
\n\t
"
"eors %[reg2], %[S_2], %[S_6]
\n\t
"
"eors %[S_6], %[S_6], %[reg1]
\n\t
"
"ands %[S_0], %[reg1],%[S_0]
\n\t
"
"eors %[S_0], %[reg2],%[S_0]
\n\t
"
"ands %[S_2], %[S_4], %[reg2]
\n\t
"
"eors %[S_2], %[reg1], %[S_2]
\n\t
"
"/*sbox first column*/
\n\t
"
"mvns %[S_1], %[S_1]
\n\t
"
"ands %[reg1], %[S_3], %[S_1]
\n\t
"
"eors %[reg1], %[S_5], %[reg1]
\n\t
"
"orrs %[S_5], %[S_3], %[S_5]
\n\t
"
"eors %[S_1], %[S_7], %[S_1]
\n\t
"
"eors %[S_5], %[S_5], %[S_1]
\n\t
"
"eors %[reg2], %[S_3], %[S_7]
\n\t
"
"eors %[S_7], %[S_7], %[reg1]
\n\t
"
"ands %[S_1], %[reg1],%[S_1]
\n\t
"
"eors %[S_1], %[reg2],%[S_1]
\n\t
"
"ands %[S_3], %[S_5], %[reg2]
\n\t
"
"eors %[S_3], %[reg1], %[S_3]
\n\t
"
"/*rotate shift left 1 bit*/
\n\t
"
"mov %[reg1], %[S_3]
\n\t
"
"mov %[S_3], %[S_2] , ROR #31
\n\t
"
"mov %[S_2], %[reg1]
\n\t
"
"/*rotate shift left 8 bits*/
\n\t
"
"mov %[S_4], %[S_4] , ROR #28
\n\t
"
"mov %[S_5], %[S_5] , ROR #28
\n\t
"
"/*rotate shift left 25 bits*/
\n\t
"
"mov %[reg1], %[S_6]
\n\t
"
"mov %[S_6], %[S_7] , ROR #20
\n\t
"
"mov %[S_7], %[reg1] , ROR #19
\n\t
"
"/*loop control*/
\n\t
"
"adds %[rc], %[rc], #1
\n\t
"
"subs %[ro], %[ro], #1
\n\t
"
"bne enc_loop
\n\t
"
/* ----------------------------- */
:
/* output variables - including inputs that are changed */
[
ro
]
"+r"
(
rounds
),[
reg1
]
"=r"
(
reg1
),
[
reg2
]
"=r"
(
reg2
),
[
rc
]
"+r"
(
rc
),
[
S_0
]
"+r"
(
s
[
0
]),
[
S_2
]
"+r"
(
s
[
2
]),
[
S_4
]
"+r"
(
s
[
4
]),
[
S_6
]
"+r"
(
s
[
6
])
,
[
S_1
]
"+r"
(
s
[
1
]),
[
S_3
]
"+r"
(
s
[
3
]),
[
S_5
]
"+r"
(
s
[
5
]),
[
S_7
]
"+r"
(
s
[
7
])
:
/* input variables */
:
/* clobber registers for temporary values */
);
}
void
packFormat
(
u32
*
out
,
const
u8
*
in
)
{
u32
t0
=
U32BIG
(((
u32
*
)
in
)[
0
]);
u32
t1
=
U32BIG
(((
u32
*
)
in
)[
1
]);
u32
r0
,
r1
;
r0
=
(
t0
^
(
t0
>>
1
))
&
0x22222222
,
t0
^=
r0
^
(
r0
<<
1
);
r0
=
(
t0
^
(
t0
>>
2
))
&
0x0C0C0C0C
,
t0
^=
r0
^
(
r0
<<
2
);
r0
=
(
t0
^
(
t0
>>
4
))
&
0x00F000F0
,
t0
^=
r0
^
(
r0
<<
4
);
r0
=
(
t0
^
(
t0
>>
8
))
&
0x0000FF00
,
t0
^=
r0
^
(
r0
<<
8
);
//t0 odd even
r1
=
(
t1
^
(
t1
>>
1
))
&
0x22222222
,
t1
^=
r1
^
(
r1
<<
1
);
r1
=
(
t1
^
(
t1
>>
2
))
&
0x0C0C0C0C
,
t1
^=
r1
^
(
r1
<<
2
);
r1
=
(
t1
^
(
t1
>>
4
))
&
0x00F000F0
,
t1
^=
r1
^
(
r1
<<
4
);
r1
=
(
t1
^
(
t1
>>
8
))
&
0x0000FF00
,
t1
^=
r1
^
(
r1
<<
8
);
//t1 odd even
out
[
0
]
=
(
t1
&
0xFFFF0000
)
|
(
t0
>>
16
);
// t1.odd|t0.odd
out
[
1
]
=
(
t1
<<
16
)
|
(
t0
&
0x0000FFFF
);
// t1.even|t0.even
}
void
unpackFormat
(
u8
*
out
,
u32
*
in
)
{
u32
t
[
2
]
=
{
0
};
t
[
1
]
=
(
in
[
0
]
&
0xFFFF0000
)
|
(
in
[
1
]
>>
16
);
t
[
0
]
=
(
in
[
1
]
&
0x0000FFFF
)
|
(
in
[
0
]
<<
16
);
u32
r0
,
r1
;
r0
=
(
t
[
0
]
^
(
t
[
0
]
>>
8
))
&
0x0000FF00
,
t
[
0
]
^=
r0
^
(
r0
<<
8
);
r0
=
(
t
[
0
]
^
(
t
[
0
]
>>
4
))
&
0x00F000F0
,
t
[
0
]
^=
r0
^
(
r0
<<
4
);
r0
=
(
t
[
0
]
^
(
t
[
0
]
>>
2
))
&
0x0C0C0C0C
,
t
[
0
]
^=
r0
^
(
r0
<<
2
);
r0
=
(
t
[
0
]
^
(
t
[
0
]
>>
1
))
&
0x22222222
,
t
[
0
]
^=
r0
^
(
r0
<<
1
);
r1
=
(
t
[
1
]
^
(
t
[
1
]
>>
8
))
&
0x0000FF00
,
t
[
1
]
^=
r1
^
(
r1
<<
8
);
r1
=
(
t
[
1
]
^
(
t
[
1
]
>>
4
))
&
0x00F000F0
,
t
[
1
]
^=
r1
^
(
r1
<<
4
);
r1
=
(
t
[
1
]
^
(
t
[
1
]
>>
2
))
&
0x0C0C0C0C
,
t
[
1
]
^=
r1
^
(
r1
<<
2
);
r1
=
(
t
[
1
]
^
(
t
[
1
]
>>
1
))
&
0x22222222
,
t
[
1
]
^=
r1
^
(
r1
<<
1
);
memcpy
(
out
,
t
,
8
*
sizeof
(
unsigned
char
));
}
void
getU32Format
(
u32
*
out
,
const
u8
*
in
)
{
u32
r0
,
lo
=
U32BIG
(((
u32
*
)
in
)[
0
]);
r0
=
(
lo
^
(
lo
>>
1
))
&
0x22222222
,
lo
^=
r0
^
(
r0
<<
1
);
r0
=
(
lo
^
(
lo
>>
2
))
&
0x0C0C0C0C
,
lo
^=
r0
^
(
r0
<<
2
);
r0
=
(
lo
^
(
lo
>>
4
))
&
0x00F000F0
,
lo
^=
r0
^
(
r0
<<
4
);
r0
=
(
lo
^
(
lo
>>
8
))
&
0x0000FF00
,
lo
^=
r0
^
(
r0
<<
8
);
*
out
=
lo
;
}
knot/Implementations/crypto_aead/knot128v1/armcortexm_2/auxFormat.h
View file @
eaa31add
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include<malloc.h>
#include"crypto_aead.h"
#include"api.h"
#include"stdio.h"
#include <string.h>
#define U32BIG(x) (x)
#define ARR_SIZE(a) (sizeof((a))/sizeof((a[0])))
#define LOTR32(x,n) (((x)<<(n))|((x)>>(32-(n))))
#define sbox(a, b, c, d, e, f, g, h) \
{
\
t1
=
~
a
;
t2
=
b
&
t1
;
t3
=
c
^
t2
;
h
=
d
^
t3
;
t5
=
b
|
c
;
t6
=
d
^
t1
;
g
=
t5
^
t6
;
t8
=
b
^
d
;
t9
=
t3
&
t6
;
e
=
t8
^
t9
;
t11
=
g
&
t8
;
f
=
t3
^
t11
;
\
}
typedef
unsigned
char
u8
;
typedef
unsigned
int
u32
;
typedef
unsigned
long
long
u64
;
unsigned
char
constant6Format
[
52
];
unsigned
char
constant7Format
[
68
];
#define RATE (64 / 8)
#define PR0_ROUNDS 52
#define PR_ROUNDS 28
#define PRF_ROUNDS 32
#define packFormat(out,in) {\
t1
=
U32BIG
(((
u32
*
)
in
)[
0
]);
\
t2
=
U32BIG
(((
u32
*
)
in
)[
1
]);
\
t3
=
(
t1
^
(
t1
>>
1
))
&
0x22222222
,
t1
^=
t3
^
(
t3
<<
1
);
\
t3
=
(
t1
^
(
t1
>>
2
))
&
0x0C0C0C0C
,
t1
^=
t3
^
(
t3
<<
2
);
\
t3
=
(
t1
^
(
t1
>>
4
))
&
0x00F000F0
,
t1
^=
t3
^
(
t3
<<
4
);
\
t3
=
(
t1
^
(
t1
>>
8
))
&
0x0000FF00
,
t1
^=
t3
^
(
t3
<<
8
);
\
t5
=
(
t2
^
(
t2
>>
1
))
&
0x22222222
,
t2
^=
t5
^
(
t5
<<
1
);
\
t5
=
(
t2
^
(
t2
>>
2
))
&
0x0C0C0C0C
,
t2
^=
t5
^
(
t5
<<
2
);
\
t5
=
(
t2
^
(
t2
>>
4
))
&
0x00F000F0
,
t2
^=
t5
^
(
t5
<<
4
);
\
t5
=
(
t2
^
(
t2
>>
8
))
&
0x0000FF00
,
t2
^=
t5
^
(
t5
<<
8
);
\
out
[
0
]
=
(
t2
&
0xFFFF0000
)
|
(
t1
>>
16
);
\
out
[
1
]
=
(
t2
<<
16
)
|
(
t1
&
0x0000FFFF
);
\
}
#define unpackFormat(out, in) {\
t2
=
(
in
[
0
]
&
0xFFFF0000
)
|
(
in
[
1
]
>>
16
);
\
t1
=
(
in
[
1
]
&
0x0000FFFF
)
|
(
in
[
0
]
<<
16
);
\
t3
=
(
t1
^
(
t1
>>
8
))
&
0x0000FF00
,
t1
^=
t3
^
(
t3
<<
8
);
\
t3
=
(
t1
^
(
t1
>>
4
))
&
0x00F000F0
,
t1
^=
t3
^
(
t3
<<
4
);
\
t3
=
(
t1
^
(
t1
>>
2
))
&
0x0C0C0C0C
,
t1
^=
t3
^
(
t3
<<
2
);
\
t3
=
(
t1
^
(
t1
>>
1
))
&
0x22222222
,
t1
^=
t3
^
(
t3
<<
1
);
\
t5
=
(
t2
^
(
t2
>>
8
))
&
0x0000FF00
,
t2
^=
t5
^
(
t5
<<
8
);
\
t5
=
(
t2
^
(
t2
>>
4
))
&
0x00F000F0
,
t2
^=
t5
^
(
t5
<<
4
);
\
t5
=
(
t2
^
(
t2
>>
2
))
&
0x0C0C0C0C
,
t2
^=
t5
^
(
t5
<<
2
);
\
t5
=
(
t2
^
(
t2
>>
1
))
&
0x22222222
,
t2
^=
t5
^
(
t5
<<
1
);
\
*
((
u64
*
)
out
)
=
((
u64
)
t2
<<
32
|
t1
);
\
}
#define getU32Format(out, in) {\
t1
,
t2
=
U32BIG
(((
u32
*
)
in
)[
0
]);
\
t1
=
(
t2
^
(
t2
>>
1
))
&
0x22222222
,
t2
^=
t1
^
(
t1
<<
1
);
\
t1
=
(
t2
^
(
t2
>>
2
))
&
0x0C0C0C0C
,
t2
^=
t1
^
(
t1
<<
2
);
\
t1
=
(
t2
^
(
t2
>>
4
))
&
0x00F000F0
,
t2
^=
t1
^
(
t1
<<
4
);
\
t1
=
(
t2
^
(
t2
>>
8
))
&
0x0000FF00
,
t2
^=
t1
^
(
t1
<<
8
);
\
*
out
=
t2
;
\
}
#define ROUND256( constant6Format,lunNum) {\
s
[
0
]
^=
constant6Format
[
lunNum
]
>>
4
;
\
s
[
1
]
^=
constant6Format
[
lunNum
]
&
0x0f
;
\
sbox
(
s
[
0
],
s
[
2
],
s
[
4
],
s
[
6
],
s_temp
[
0
],
s_temp
[
2
],
s_temp
[
4
],
s_temp
[
6
]);
\
sbox
(
s
[
1
],
s
[
3
],
s
[
5
],
s
[
7
],
s_temp
[
1
],
s_temp
[
3
],
s_temp
[
5
],
s_temp
[
7
]);
\
s
[
0
]
=
s_temp
[
0
];
\
s
[
1
]
=
s_temp
[
1
];
\
s
[
2
]
=
s_temp
[
3
];
\
s
[
3
]
=
LOTR32
(
s_temp
[
2
],
1
);
\
s
[
4
]
=
LOTR32
(
s_temp
[
4
],
4
);
\
s
[
5
]
=
LOTR32
(
s_temp
[
5
],
4
);
\
s
[
6
]
=
LOTR32
(
s_temp
[
7
],
12
);
\
s
[
7
]
=
LOTR32
(
s_temp
[
6
],
13
);
\
}
void
printfFormat
(
char
name
[],
u32
*
in
);
void
packFormat
(
u32
*
out
,
const
u8
*
in
);
void
unpackFormat
(
u8
*
out
,
u32
*
in
);
void
printU8
(
char
name
[],
u8
var
[],
long
len
,
int
offset
);
knot/Implementations/crypto_aead/knot128v1/armcortexm_2/crypto_aead.h
View file @
eaa31add
int
crypto_aead_encrypt
(
unsigned
char
*
c
,
unsigned
long
long
*
clen
,
const
unsigned
char
*
m
,
unsigned
long
long
mlen
,
const
unsigned
char
*
ad
,
unsigned
long
long
adlen
,
const
unsigned
char
*
nsec
,
const
unsigned
char
*
npub
,
const
unsigned
char
*
k
);
int
crypto_aead_encrypt
(
unsigned
char
*
c
,
unsigned
long
long
*
clen
,
const
unsigned
char
*
m
,
unsigned
long
long
mlen
,
const
unsigned
char
*
ad
,
unsigned
long
long
adlen
,
const
unsigned
char
*
nsec
,
const
unsigned
char
*
npub
,
const
unsigned
char
*
k
);
int
crypto_aead_decrypt
(
unsigned
char
*
m
,
unsigned
long
long
*
mlen
,
unsigned
char
*
nsec
,
const
unsigned
char
*
c
,
unsigned
long
long
clen
,
const
unsigned
char
*
ad
,
unsigned
long
long
adlen
,
const
unsigned
char
*
npub
,
const
unsigned
char
*
k
);
int
crypto_aead_decrypt
(
unsigned
char
*
m
,
unsigned
long
long
*
mlen
,
unsigned
char
*
nsec
,
const
unsigned
char
*
c
,
unsigned
long
long
clen
,
const
unsigned
char
*
ad
,
unsigned
long
long
adlen
,
const
unsigned
char
*
npub
,
const
unsigned
char
*
k
);
knot/Implementations/crypto_aead/knot128v1/armcortexm_2/encrypt.c
View file @
eaa31add
This diff is collapsed.
Click to expand it.
knot/Implementations/crypto_aead/knot128v1/armcortexm_4/api.h
0 → 100644
View file @
eaa31add
#define CRYPTO_KEYBYTES 16 //
#define CRYPTO_NSECBYTES 0
#define CRYPTO_NPUBBYTES 16
#define CRYPTO_ABYTES 16
#define CRYPTO_NOOVERLAP 1
knot/Implementations/crypto_aead/knot128v1/armcortexm_4/auxFormat.c
0 → 100644
View file @
eaa31add
#include"auxFormat.h"
//#define PRINTFormatToU8
#define PRINTU8
unsigned
char
constant6Format
[
52
]
=
{
/*constant6_aead_128v1:*/
0x01
,
0x10
,
0x02
,
0x20
,
0x04
,
0x41
,
0x11
,
0x12
,
0x22
,
0x24
,
0x45
,
0x50
,
0x03
,
0x30
,
0x06
,
0x61
,
0x15
,
0x53
,
0x33
,
0x36
,
0x67
,
0x74
,
0x46
,
0x60
,
0x05
,
0x51
,
0x13
,
0x32
,
0x26
,
0x65
,
0x54
,
0x42
,
0x21
,
0x14
,
0x43
,
0x31
,
0x16
,
0x63
,
0x35
,
0x57
,
0x72
,
0x27
,
0x75
,
0x56
,
0x62
,
0x25
,
0x55
,
0x52
,
0x23
,
0x34
,
0x47
,
0x70
,
};
void
P256
(
unsigned
int
*
s
,
unsigned
char
*
round
,
unsigned
char
lunNum
)
{
u32
s_temp
[
8
]
=
{
0
};
u32
t1
,
t2
,
t3
,
t5
,
t6
,
t8
,
t9
,
t11
;
unsigned
char
i
;
for
(
i
=
0
;
i
<
lunNum
;
i
++
)
{
s
[
0
]
^=
round
[
i
]
>>
4
;
s
[
1
]
^=
round
[
i
]
&
0x0f
;
sbox
(
s
[
0
],
s
[
2
],
s
[
4
],
s
[
6
],
s_temp
[
2
],
s_temp
[
4
],
s_temp
[
6
]);
sbox
(
s
[
1
],
s
[
3
],
s
[
5
],
s
[
7
],
s
[
2
],
s_temp
[
5
],
s_temp
[
7
]);
s
[
3
]
=
LOTR32
(
s_temp
[
2
],
1
);
s
[
4
]
=
LOTR32
(
s_temp
[
4
],
4
);
s
[
5
]
=
LOTR32
(
s_temp
[
5
],
4
);
s
[
6
]
=
LOTR32
(
s_temp
[
7
],
12
);
s
[
7
]
=
LOTR32
(
s_temp
[
6
],
13
);
}
}
void
packFormat
(
u32
*
out
,
const
u8
*
in
)
{
u32
t0
=
U32BIG
(((
u32
*
)
in
)[
0
]);
u32
t1
=
U32BIG
(((
u32
*
)
in
)[
1
]);
u32
r0
,
r1
;
r0
=
(
t0
^
(
t0
>>
1
))
&
0x22222222
,
t0
^=
r0
^
(
r0
<<
1
);
r0
=
(
t0
^
(
t0
>>
2
))
&
0x0C0C0C0C
,
t0
^=
r0
^
(
r0
<<
2
);
r0
=
(
t0
^
(
t0
>>
4
))
&
0x00F000F0
,
t0
^=
r0
^
(
r0
<<
4
);
r0
=
(
t0
^
(
t0
>>
8
))
&
0x0000FF00
,
t0
^=
r0
^
(
r0
<<
8
);
//t0 odd even
r1
=
(
t1
^
(
t1
>>
1
))
&
0x22222222
,
t1
^=
r1
^
(
r1
<<
1
);
r1
=
(
t1
^
(
t1
>>
2
))
&
0x0C0C0C0C
,
t1
^=
r1
^
(
r1
<<
2
);
r1
=
(
t1
^
(
t1
>>
4
))
&
0x00F000F0
,
t1
^=
r1
^
(
r1
<<
4
);
r1
=
(
t1
^
(
t1
>>
8
))
&
0x0000FF00
,
t1
^=
r1
^
(
r1
<<
8
);
//t1 odd even
out
[
0
]
=
(
t1
&
0xFFFF0000
)
|
(
t0
>>
16
);
// t1.odd|t0.odd
out
[
1
]
=
(
t1
<<
16
)
|
(
t0
&
0x0000FFFF
);
// t1.even|t0.even
}
void
unpackFormat
(
u8
*
out
,
u32
*
in
)
{
u32
t
[
2
]
=
{
0
};
t
[
1
]
=
(
in
[
0
]
&
0xFFFF0000
)
|
(
in
[
1
]
>>
16
);
t
[
0
]
=
(
in
[
1
]
&
0x0000FFFF
)
|
(
in
[
0
]
<<
16
);
u32
r0
,
r1
;
r0
=
(
t
[
0
]
^
(
t
[
0
]
>>
8
))
&
0x0000FF00
,
t
[
0
]
^=
r0
^
(
r0
<<
8
);
r0
=
(
t
[
0
]
^
(
t
[
0
]
>>
4
))
&
0x00F000F0
,
t
[
0
]
^=
r0
^
(
r0
<<
4
);
r0
=
(
t
[
0
]
^
(
t
[
0
]
>>
2
))
&
0x0C0C0C0C
,
t
[
0
]
^=
r0
^
(
r0
<<
2
);
r0
=
(
t
[
0
]
^
(
t
[
0
]
>>
1
))
&
0x22222222
,
t
[
0
]
^=
r0
^
(
r0
<<
1
);
r1
=
(
t
[
1
]
^
(
t
[
1
]
>>
8
))
&
0x0000FF00
,
t
[
1
]
^=
r1
^
(
r1
<<
8
);
r1
=
(
t
[
1
]
^
(
t
[
1
]
>>
4
))
&
0x00F000F0
,
t
[
1
]
^=
r1
^
(
r1
<<
4
);
r1
=
(
t
[
1
]
^
(
t
[
1
]
>>
2
))
&
0x0C0C0C0C
,
t
[
1
]
^=
r1
^
(
r1
<<
2
);
r1
=
(
t
[
1
]
^
(
t
[
1
]
>>
1
))
&
0x22222222
,
t
[
1
]
^=
r1
^
(
r1
<<
1
);
memcpy
(
out
,
t
,
8
*
sizeof
(
unsigned
char
));
}
void
getU32Format
(
u32
*
out
,
const
u8
*
in
)
{
u32
r0
,
lo
=
U32BIG
(((
u32
*
)
in
)[
0
]);
r0
=
(
lo
^
(
lo
>>
1
))
&
0x22222222
,
lo
^=
r0
^
(
r0
<<
1
);
r0
=
(
lo
^
(
lo
>>
2
))
&
0x0C0C0C0C
,
lo
^=
r0
^
(
r0
<<
2
);
r0
=
(
lo
^
(
lo
>>
4
))
&
0x00F000F0
,
lo
^=
r0
^
(
r0
<<
4
);
r0
=
(
lo
^
(
lo
>>
8
))
&
0x0000FF00
,
lo
^=
r0
^
(
r0
<<
8
);
*
out
=
lo
;
}
knot/Implementations/crypto_aead/knot128v1/armcortexm_4/auxFormat.h
0 → 100644
View file @
eaa31add
#include<malloc.h>
#include"crypto_aead.h"
#include"api.h"
#include"stdio.h"
#include <string.h>
#define U32BIG(x) (x)
#define ARR_SIZE(a) (sizeof((a))/sizeof((a[0])))
#define LOTR32(x,n) (((x)<<(n))|((x)>>(32-(n))))
typedef
unsigned
char
u8
;
typedef
unsigned
int
u32
;
typedef
unsigned
long
long
u64
;
unsigned
char
constant6Format
[
52
];
unsigned
char
constant7Format
[
68
];
#define RATE (64 / 8)
#define PR0_ROUNDS 52
#define PR_ROUNDS 28
#define PRF_ROUNDS 32
#define sbox(a, b, c, d, f, g, h) \
{
\
t1
=
~
a
;
t2
=
b
&
t1
;
t3
=
c
^
t2
;
h
=
d
^
t3
;
t5
=
b
|
c
;
t6
=
d
^
t1
;
g
=
t5
^
t6
;
t8
=
b
^
d
;
t9
=
t3
&
t6
;
a
=
t8
^
t9
;
t11
=
g
&
t8
;
f
=
t3
^
t11
;
\
}
void
packFormat
(
u32
*
out
,
const
u8
*
in
);
void
unpackFormat
(
u8
*
out
,
u32
*
in
);
knot/Implementations/crypto_aead/knot128v1/armcortexm_4/crypto_aead.h
0 → 100644
View file @
eaa31add
int
crypto_aead_encrypt
(
unsigned
char
*
c
,
unsigned
long
long
*
clen
,
const
unsigned
char
*
m
,
unsigned
long
long
mlen
,
const
unsigned
char
*
ad
,
unsigned
long
long
adlen
,
const
unsigned
char
*
nsec
,
const
unsigned
char
*
npub
,
const
unsigned
char
*
k
);
int
crypto_aead_decrypt
(
unsigned
char
*
m
,
unsigned
long
long
*
mlen
,
unsigned
char
*
nsec
,
const
unsigned
char
*
c
,
unsigned
long
long
clen
,
const
unsigned
char
*
ad
,
unsigned
long
long
adlen
,
const
unsigned
char
*
npub
,
const
unsigned
char
*
k
);
knot/Implementations/crypto_aead/knot128v1/armcortexm_4/encrypt.c
0 → 100644
View file @
eaa31add
#include"auxFormat.h"
void
ProcessAssocData
(
u32
*
s
,
const
u8
*
ad
,
unsigned
long
long
adlen
)
{
u32
dataFormat
[
2
]
=
{
0
};
u8
tempData
[
8
];
if
(
adlen
)
{
while
(
adlen
>=
RATE
)
{
packFormat
(
dataFormat
,
ad
);
s
[
0
]
^=
dataFormat
[
0
];
s
[
1
]
^=
dataFormat
[
1
];
P256
(
s
,
constant6Format
,
PR_ROUNDS
);
adlen
-=
RATE
;
ad
+=
RATE
;
}
memset
(
tempData
,
0
,
sizeof
(
tempData
));
memcpy
(
tempData
,
ad
,
adlen
*
sizeof
(
unsigned
char
));
tempData
[
adlen
]
=
0x01
;
packFormat
(
dataFormat
,
tempData
);
s
[
0
]
^=
dataFormat
[
0
];
s
[
1
]
^=
dataFormat
[
1
];
P256
(
s
,
constant6Format
,
PR_ROUNDS
);
}
s
[
6
]
^=
0x80000000
;
}
void
ProcessPlaintext
(
u32
*
s
,
const
u8
*
m
,
unsigned
long
long
mlen
,
unsigned
char
*
c
)
{
u32
dataFormat
[
2
]
=
{
0
};
u8
tempData
[
8
]
=
{
0
};
if
(
mlen
)
{
while
(
mlen
>=
RATE
)
{
packFormat
(
dataFormat
,
m
);
s
[
0
]
^=
dataFormat
[
0
];
s
[
1
]
^=
dataFormat
[
1
];
unpackFormat
(
c
,
s
);
P256
(
s
,
constant6Format
,
PR_ROUNDS
);
mlen
-=
RATE
;
m
+=
RATE
;
c
+=
RATE
;
}
memset
(
tempData
,
0
,
sizeof
(
tempData
));
memcpy
(
tempData
,
m
,
mlen
*
sizeof
(
unsigned
char
));
tempData
[
mlen
]
=
0x01
;
packFormat
(
dataFormat
,
tempData
);
s
[
0
]
^=
dataFormat
[
0
];
s
[
1
]
^=
dataFormat
[
1
];
unpackFormat
(
tempData
,
s
);
memcpy
(
c
,
tempData
,
mlen
*
sizeof
(
unsigned
char
));
//c+=mlen;
}
}
void
Finalize_GenerateTag
(
u32
*
s
,
unsigned
char
*
c
)
{
P256
(
s
,
constant6Format
,
PRF_ROUNDS
);
// return tag
unpackFormat
(
c
,
s
);
unpackFormat
((
c
+
8
),
(
s
+
2
));
}
void
Initialize
(
u32
*
s
,
const
unsigned
char
*
npub
,
const
unsigned
char
*
k
)
{
packFormat
(
s
,
npub
);
packFormat
(
s
+
2
,
npub
+
8
);
packFormat
(
s
+
4
,
k
);
packFormat
(
s
+
6
,
k
+
8
);
P256
(
s
,
constant6Format
,
PR0_ROUNDS
);
}
void
ProcessCiphertext
(
u32
*
s
,
unsigned
char
*
m
,
const
unsigned
char
*
c
,
unsigned
long
long
clen
)
{
u8
tempU8
[
32
]
=
{
0
},
i
;
u32
dataFormat
[
2
]
=
{
0
};
u32
dataFormat_1
[
2
]
=
{
0
};
if
(
clen
)
{
while
(
clen
>=
RATE
)
{
packFormat
(
dataFormat
,
c
);
dataFormat_1
[
0
]
=
s
[
0
]
^
dataFormat
[
0
];
dataFormat_1
[
1
]
=
s
[
1
]
^
dataFormat
[
1
];
unpackFormat
(
m
,
dataFormat_1
);
s
[
0
]
=
dataFormat
[
0
];
s
[
1
]
=
dataFormat
[
1
];
P256
(
s
,
constant6Format
,
PR_ROUNDS
);
clen
-=
RATE
;
m
+=
RATE
;
c
+=
RATE
;
}
unpackFormat
(
tempU8
,
s
);
for
(
i
=
0
;
i
<
clen
;
++
i
,
++
m
,
++
c
)
{
*
m
=
tempU8
[
i
]
^
*
c
;
tempU8
[
i
]
=
*
c
;
}
tempU8
[
i
]
^=
0x01
;
packFormat
(
s
,
tempU8
);
}
}
int
Finalize_VerifyTag
(
u32
*
s
,
const
unsigned
char
*
c
,
unsigned
char
*
m
,
unsigned
long
long
*
mlen
)
{
u8
tempU8
[
16
]
=
{
0
};
P256
(
s
,
constant6Format
,
PRF_ROUNDS
);
// return tag
unpackFormat
(
tempU8
,
s
);
unpackFormat
((
tempU8
+
8
),
(
s
+
2
));
if
(
memcmp
((
void
*
)
tempU8
,
(
void
*
)
(
c
),
CRYPTO_ABYTES
))
{
memset
(
m
,
0
,
sizeof
(
unsigned
char
)
*
(
*
mlen
));
*
mlen
=
0
;
return
-
1
;
}
return
0
;
}
int
crypto_aead_encrypt
(
unsigned
char
*
c
,
unsigned
long
long
*
clen
,
const
unsigned
char
*
m
,
unsigned
long
long
mlen
,
const
unsigned
char
*
ad
,
unsigned
long
long
adlen
,
const
unsigned
char
*
nsec
,
const
unsigned
char
*
npub
,
const
unsigned
char
*
k
)
{
u32
s
[
8
]
=
{
0
};
*
clen
=
mlen
+
CRYPTO_ABYTES
;
//initialization
Initialize
(
s
,
npub
,
k
);
// process associated data
ProcessAssocData
(
s
,
ad
,
adlen
);
ProcessPlaintext
(
s
,
m
,
mlen
,
c
);
// finalization
Finalize_GenerateTag
(
s
,
c
+
mlen
);
return
0
;
}
int
crypto_aead_decrypt
(
unsigned
char
*
m
,
unsigned
long
long
*
mlen
,
unsigned
char
*
nsec
,
const
unsigned
char
*
c
,
unsigned
long
long
clen
,
const
unsigned
char
*
ad
,
unsigned
long
long
adlen
,
const
unsigned
char
*
npub
,
const
unsigned
char
*
k
)
{
u32
s
[
8
]
=
{
0
};
*
mlen
=
clen
-
CRYPTO_ABYTES
;
if
(
clen
<
CRYPTO_ABYTES
)
return
-
1
;
//initialization
Initialize
(
s
,
npub
,
k
);
// process associated data
ProcessAssocData
(
s
,
ad
,
adlen
);
// process cipher
ProcessCiphertext
(
s
,
m
,
c
,
clen
-
CRYPTO_KEYBYTES
);
// finalization
return
Finalize_VerifyTag
(
s
,
c
+
clen
-
CRYPTO_KEYBYTES
,
m
,
mlen
);
}
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/api.h
0 → 100644
View file @
eaa31add
#define CRYPTO_KEYBYTES 16
#define CRYPTO_NSECBYTES 0
#define CRYPTO_NPUBBYTES 16
#define CRYPTO_ABYTES 16
#define CRYPTO_NOOVERLAP 1
\ No newline at end of file
knot/Implementations/crypto_aead/knot128v1/avr8_lowrom/assist.h
0 → 100644
View file @
eaa31add
;
;
**********************************************
;
*
KNOT
:
a
family
of
bit
-
slice
lightweight
*
;
*
authenticated
encryption
algorithms
*
;
*
and
hash
functions
*
;
*
*
;
*
Assembly
implementation
for
8
-
bit
AVR
CPU
*
;
*
Version
1
.
0
2020
by
KNOT
Team
*
;
**********************************************
;
.
macro
LFSR6_MACRO
bst
rc
,
5
bld
tmp0
,
0
bst
rc
,
4
bld
tmp1
,
0
eor
tmp0
,
tmp1
ror
tmp0
rol
rc
andi
rc
,
0x3F
.
endm
.
macro
LFSR7_MACRO
bst
rc
,
6
bld
tmp0
,
0
bst
rc
,
5
bld
tmp1
,
0
eor
tmp0
,
tmp1
ror
tmp0
rol
rc
andi
rc
,
0x7F
.
endm
.
macro
LFSR8_MACRO
bst
rc
,
7
bld
tmp0
,
0
bst
rc
,
5
bld
tmp1
,
0
eor
tmp0
,
tmp1
bst
rc
,
4
bld
tmp1
,
0
eor
tmp0
,
tmp1
bst
rc
,
3
bld
tmp1
,
0
eor
tmp0
,
tmp1
ror
tmp0
rol
rc
.
endm
.
macro
Sbox
i0
,
i1
,
i2
,
i3
mov
tmp0
,
\
i1
com
\
i0
and
\
i1
,
\
i0
eor
\
i1
,
\
i2
or
\
i2
,
tmp0
eor
\
i0
,
\
i3
eor
\
i2
,
\
i0
eor
tmp0
,
\
i3
and
\
i0
,
\
i1
eor
\
i3
,
\
i1
eor
\
i0
,
tmp0
and
tmp0
,
\
i2
eor
\
i1
,
tmp0
.
endm
.
macro
PUSH_CONFLICT