Commit graph

10 commits

Author SHA1 Message Date
Severiano Jaramillo
01be5d24ab Implement BN256's G1 functionality.
- Ported over the BN256's G1 functionality from derohe's bh256.go file.
- Updated CurePoint's toString() method: Create a copy of the object to avoid updating the values of the object when calling toString().
- Used UByteArray in GfP's marshal/unmarshal methods to fix issue with negative numbers.
- Fixed an issue with how the carry is calculated in gfpMul method and added a test to confirm its correct behavior.
- Used UByteArray in Lattice's multi method to avoid issues with negative numbers.
- Added a test to confirm that G1 marshal and unmarshal methods work correctly.
2024-06-01 22:51:01 -07:00
Severiano Jaramillo
9352f82894 Implement GfP6 and GfP12 functionality. 2024-05-27 20:55:54 -07:00
Severiano Jaramillo
df877416ef Fix GfP2 file name 2024-05-15 10:22:58 -07:00
Severiano Jaramillo
ad1d535752 Implement GpF2 and TwistPoint functionality.
- Ported over the GpF2 and TwistPoint functionality form the derohe project to Kotlin.
2024-05-13 21:57:02 -07:00
Severiano Jaramillo
e42a2acc66 Implement CurvePoint functionality
- Ported over the CurvePoint functionality to Kotlin from the derohe project.
- Made minor improvements to how contsants in different classes are defined.
2024-05-12 21:30:52 -07:00
Severiano Jaramillo
8cc60417a8 Implemented Lattice functionality.
- Ported over Lattice functionality from the derohe project.
- Ported over LatticeTest too, to verify that Lattice implementation is correct.
2024-05-12 16:39:06 -07:00
Severiano Jaramillo
ef440c8a9f Fix project package structure 2024-05-05 19:37:56 -07:00
Severiano Jaramillo
6aa5a827ae Implement GfP class and arithmetic.
- Ported over the GfP class functionality from the derohe project to Kotlin.
- Ported over the GfP arithmetic logic too, focusing on the software implementation. We might be able to make these calculations more efficient if we do hardware calculations instead, but that can be left as a future optimization.
- Created GfPTest to confirm that the arithmetic operations were implemented correctly. Hard lesson: Go operator precedence is different than Kotlin.
2024-05-05 15:00:54 -07:00
Severiano Jaramillo
a07805c8cc Remove Cryptography multiplatform library
- Added extension functions to convert BigInteger to hex string, and viceversa.
- Updated Android Gradle Plugin to the latest version.
- Updated AndroidX Activity Compose to the latest stable version.
2024-04-29 17:08:25 -07:00
seven
584008004b Convert to Android-only project (#1)
We were trying to target Android/iOS/Desktop with the same codebase using Kotlin Multiplatform, but that proved to be more complicated than anticipated. We are simplifying the scope of the project a bit by focusing on Android.

Co-authored-by: Severiano Jaramillo <severiano.jaramillo@gmail.com>
Reviewed-on: #1
2024-04-29 22:37:45 +00:00