Comments (3)
In addition, what is the input range?
from kyber.
Hi, if I remember correctly, literature shows that signed arithmetic is faster for this size of modular arithmetic. For example, there are instructions smmulr in Armv7E-M and vpmulhrsw in AVX2. Both of them operate on signed inputs, and there is no unsigned counterparts.
However, I'm not sure if this is the reason for the changes. Maybe others working Kyber already can answer this.
from kyber.
I made an implementation in pure Kotlin. I even added Barrett and Montgomery reductions, but I still don't know why. All my functions work in the unsigned space only. Maybe it's worth it to dig through the commit history.
from kyber.
Related Issues (20)
- 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
- Debugging error PQCgenKAT_kem.c HOT 5
- Configuring error during "hashes"
- the result of test_speed seems like some problem
- Possibly oversized cmp buffer in crypto_kem_dec standard branch
- 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 4
- Constant time fix
- Implementation-defined behaviour in montgomery_reduce() HOT 1
- Resize the buffer size in `gen_matrix` HOT 1
- Why is encapsulation routine not performing "Modulus check" ?
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.