feltroid Prime

Results 20 issues of feltroid Prime

This gives ~7x improvement by not using numpy for vectors/matrices, using native python pow function, and using the mds matrix directly instead of matrix multiplication, taking advantage of the small...

22 steps -> 10 steps. - - - This change is [](https://reviewable.io/reviews/starkware-libs/cairo-lang/176)

Hello! reverse endianness of u64 is useful in many cases when dealing with keccak I wanted to implement it based off this https://github.com/starkware-libs/cairo-lang/blob/3a32740d0a743af6f4bfe227d1b5ecab0fc2884b/src/starkware/cairo/common/uint256.cairo#L464-L510 with 3 steps instead of 4 ```...

enhancement

2022/596.pdf

enhancement

Write a verifier in python for Honk proofs based on this repo : https://github.com/Maddiaa0/honk-verifier/tree/master ~~how to :~~ ~~- use garaga's python classes : [PyFelt](https://github.com/keep-starknet-strange/garaga/blob/ 07ad86541e3782940f6495c71ccdce8dfba1f3e4/src/algebra.py#L5) for modular arithmetic operations.~~ ~~-...

enhancement

Hashing to the curve is needed to verify bls signatures. An example of implementation can be found here https://github.com/ConsenSys/gnark-crypto/blob/f93a56c714c4e6266429cac111a004e9eec7daa0/ecc/bls12-381/hash_to_g1.go#L313

enhancement

The canonical signed digit, or Non-Adjacent Form (NAF) is a unique way to represent a binary number with a lower absolute hamming weight, using `digit € {0,1,-1}` as coefficients instead...

The example shown in https://book.cairo-lang.org/ch02-05-control-flow.html?highlight=loop#repetition-with-loops currently demonstrates ``` fn main() { let mut i: usize = 0; loop { if i > 10 { break; } 'again'.print(); i += 1;...

Type: feature
Difficulty: intermediate

Adds the xgcd method for Polynomial to compute extended Euclidean algorithm

# Pull Request type Please check the type of change your PR introduces: - [ ] Bugfix - [ ] Feature - [ ] Code style update (formatting, renaming) -...