Comments (5)
from kyber.
It is fine when you compile it. I am trying to debug code step by step in CLion. Did you try it ? Here are the steps which I follow:
1-) Download algorithm from the page : https://csrc.nist.gov/Projects/post-quantum-cryptography/selected-algorithms-2022
2-) Open Folder in CLion.
3-) Select Algorithm Implementation Type
4-) Go kyber512 or kyber1024
5-) Open PQCgenKAT_kem.c in CLion IDE.
6-) Open Terminal in CLion.
7-) Run "make" command in kyber512 directory
6-) Click Run ico next to the main function at line 26. Then select debug.
I am getting same error when I try to Build (ctrl +f9) or Debug my project.
How did you debug your project in your development cycle?
from kyber.
Sorry for missing some details.
If you want to debug your project. You need below steps:
1-) Create CMakeList.txt
2-) Include it into your project folder.
3-) Open your project folder with CLion.
4-) Select CMake project in "Open or Import Project" window
5-) Make sure related configurations are generated in "Open Project Wizard" window.
Related configurations means that Build Type, Toolchain, Generator, CMake Options etc.
6-) CLion will generate debug options.
Dear @cryptojedi , Could you please share me how do you debug your project in your development cycle? Do you want to add specific cases for above steps?
My CMakeList.txt:
cmake_minimum_required(VERSION 3.12)
project(PQCgenKAT_kem C)
set(CMAKE_C_STANDARD 11)
# Set the source files and headers
set(SOURCES
cbd.c
fips202.c
indcpa.c
kem.c
ntt.c
poly.c
polyvec.c
PQCgenKAT_kem.c
reduce.c
rng.c
verify.c
symmetric-shake.c
)
set(HEADERS
api.h
cbd.h
fips202.h
indcpa.h
ntt.h
params.h
poly.h
polyvec.h
reduce.h
rng.h
verify.h
symmetric.h
)
# Add the executable target
add_executable(PQCgenKAT_kem ${SOURCES} ${HEADERS})
# Set compiler flags
target_compile_options(PQCgenKAT_kem PRIVATE -O3 -march=native -fomit-frame-pointer)
# Link the necessary libraries
target_link_libraries(PQCgenKAT_kem crypto)
from kyber.
I'm using a combination of printf-debugging and gdb. I have never used CLion and I'm afraid I cannot offer help here.
from kyber.
Thank you.
Wish you enjoy work.
from kyber.
Related Issues (20)
- Where is the python script that compute the failure probability of Kyber? HOT 1
- how to know the decryption is not the real message HOT 1
- Load shared library by using module ctypes of python HOT 1
- Error when running `cd kyber/ref && make shared` HOT 1
- Is montgomery calculation is necessary? HOT 4
- Why NTT and INTT use the same zeta array only with different order? and Why signed number is used not unsigned number? HOT 1
- macOS - issue for implementation - "This header is only meant to be used on x86 and x64 architecture" HOT 1
- Configuring error during "hashes"
- the result of test_speed seems like some problem
- Possibly oversized cmp buffer in crypto_kem_dec standard branch
- Why the result of barrett_reduce is in {-(q-1)/2,...,(q-1)/2} congruent to a modulo q? HOT 3
- avx2 build question
- .gitignore symbolic link
- main fails to compile
- About the plaintext length of CPAPKE HOT 1
- Out of bound check in NTT/INTT HOT 2
- randombytes_custom_algorithm supporrt HOT 2
- about the correctness of the sk parameter in KAT
- Kyber Ref dead code ? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kyber.