# Functions
Basic Modulus OperationsAddition Modulo prime.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Generic Convert Functions:.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Curve M2:
Function Curve383187 defines the Curve383187 curve specified in: https://safecurves.cr.yp.to/index.html ---
Name: Curve383187 Equation is: y^2 = x^3 + 229969 * x^2 + x Prime field (P) 2^383 - 187 Decimal Form 19701003098197239606139520050071806902539869635232723333974146702122860885748605305707133127442457820403313995153221 Hexadecimal Form 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45
Base-Point Prime Order (Q) 2^380 + 356080847217269887368687156533236720299699248977882517025 Decimal Form 2462625387274654950767440006258975862817483704404090416747124418612574880605944350369924877650606926799392131911201 Hexadecimal Form 0x1000000000000000000000000000000000000000000000000e85a85287a1488acd41ae84b2b7030446f72088b00a0e21
Trace -2848646777738159098949497252265893762397593991823060136386 Cofactor R 8
Curve B Parameter 1 Curve A Parameter 2065150
Base-Point X 5 Hexadecimal Form 0x5 Base-Point Y 4759238150142744228328102229734187233490253962521130945928672202662038422584867624507245060283757321006861735839455 Hexadecimal Form 0x1eebe07dc1871896732b12d5504a32370471965c7a11f2c89865f855ab3cbd7c224e3620c31af3370788457dd5ce46df.
Curve TEC-Standard-2:
Function Curve41417 defines the Curve41417 curve, as specified in: Bernstein et al, "Curve41417: Karatsuba revisited", http://eprint.iacr.org/2014/526.pdf and https://safecurves.cr.yp.to/index.html
Name: Curve41417 Equation is: x^2 + y^2 = 1 + 3617 * x^2 * y^2 Prime field (P) 2^414 - 17 Decimal Form 42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472367 Hexadecimal Form 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef
Base-Point Prime Order (Q) 2^411 - 33364140863755142520810177694098385178984727200411208589594759 Decimal Form 5288447750321988791615322464262168318627237463714249754277190328831105466135348245791335989419337099796002495788978276839289 Hexadecimal Form 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffeb3cc92414cf706022b36f1c0338ad63cf181b0e71a5e106af79
Trace 266913126910041140166481421552787081431877817603289668716758056 Cofactor R 8
Curve A Parameter 1 Curve D Parameter 3617
Base-Point X 17319886477121189177719202498822615443556957307604340815256226171904769976866975908866528699294134494857887698432266169206165 Hexadecimal Form 0x1a334905141443300218c0631c326e5fcd46369f44c03ec7f57ff35498a4ab4d6d6ba111301a73faa8537c64c4fd3812f3cbc595 Base-Point Y 34 Hexadecimal Form 0x22.
No description provided by the author
No description provided by the author
No description provided by the author
TWISTED EDWARDS CURVES DEFINITIONS
Curve TEC-Standard-1:
Function E382 defines the E-382 curve specified in: Aranha et al, "A note on high-security general-purpose elliptic curves", http://eprint.iacr.org/2013/647.pdf , https://safecurves.cr.yp.to/index.html
and more recently in:
"Additional Elliptic Curves for IETF protocols" http://tools.ietf.org/html/draft-ladd-safecurves-02
Name: E382 Equation is: x^2 + y^2 = 1 - 67254 * x^2 * y^2 Prime field (P) 2^382 - 105 Decimal Form 9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576599 Hexadecimal Form 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff97
Base-Point Prime Order (Q) 2^380 - 1030303207694556153926491950732314247062623204330168346855 Decimal Form 2462625387274654950767440006258975862817483704404090416745738034557663054564649171262659326683244604346084081047321 Hexadecimal Form 0xfffffffffffffffffffffffffffffffffffffffffffffffd5fb21f21e95eee17c5e69281b102d2773e27e13fd3c9719
Trace 4121212830778224615705967802929256988250492817320673387316 Cofactor R 4
Curve A Parameter 1 Curve D Parameter -67254
Base-Point X 3914921414754292646847594472454013487047137431784830634731377862923477302047857640522480241298429278603678181725699 Hexadecimal Form 0x196f8dd0eab20391e5f05be96e8d20ae68f840032b0b64352923bab85364841193517dbce8105398ebc0cc9470f79603 Base-Point Y 17 Hexadecimal Form 0x11.
Curve TEC-Standard-4:
Function E521 defines the E-521 curve specified in: Aranha et al, "A note on high-security general-purpose elliptic curves", http://eprint.iacr.org/2013/647.pdf , https://safecurves.cr.yp.to/index.html
and more recently included in: "Additional Elliptic Curves for IETF protocols" http://tools.ietf.org/html/draft-ladd-safecurves-02
Name: E521 Equation is: x^2 + y^2 = 1 - 376014 * x^2 * y^2 Prime field (P) 2^521 - 1 Decimal Form 6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151 Hexadecimal Form 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Base-Point Prime Order (Q) 2^519 - 337554763258501705789107630418782636071904961214051226618635150085779108655765 Decimal Form 1716199415032652428745475199770348304317358825035826352348615864796385795849413675475876651663657849636693659065234142604319282948702542317993421293670108523 Hexadecimal Form 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd15b6c64746fc85f736b8af5e7ec53f04fbd8c4569a8f1f4540ea2435f5180d6b
Trace 1350219053034006823156430521675130544287619844856204906474540600343116434623060 Cofactor R 4
Curve A Parameter 1 Curve D Parameter -376014
Base-Point X 1571054894184995387535939749894317568645297350402905821437625181152304994381188529632591196067604100772673927915114267193389905003276673749012051148356041324 Hexadecimal Form 0x752cb45c48648b189df90cb2296b2878a3bfd9f42fc6c818ec8bf3c9c0c6203913f6ecc5ccc72434b1ae949d568fc99c6059d0fb13364838aa302a940a2f19ba6c Base-Point Y 12 Hexadecimal Form 0xc.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Curve TEC-Standard-3:
Function Goldilocks defines the Ed448-Goldilocks curve, as specified in: Bernstein et al, "Ed448-Goldilocks, a new elliptic curve", https://eprint.iacr.org/2015/625.pdf and https://safecurves.cr.yp.to/index.html
Name: Goldilocks Equation is: x^2 + y^2 = 1 - 39081 * x^2 * y^2 Prime field (P) 2^448 - 2^224 - 1 Decimal Form 726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018365439 Hexadecimal Form 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Base-Point Prime Order (Q) 2^446 - 13818066809895115352007386748515426880336692474882178609894547503885 Decimal Form 181709681073901722637330951972001133588410340171829515070372549795146003961539585716195755291692375963310293709091662304773755859649779 Hexadecimal Form 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3
Trace 28312320572429821613362531907042076847709625476988141958474579766324 Cofactor R 4
Curve A Parameter 1 Curve D Parameter -39081
Base-Point X 117812161263436946737282484343310064665180535357016373416879082147939404277809514858788439644911793978499419995990477371552926308078495 Hexadecimal Form 0x297ea0ea2692ff1b4faff46098453a6a26adf733245f065c3c59d0709cecfa96147eaaf3932d94c63d96c170033f4ba0c7f0de840aed939f Base-Point Y 19 Hexadecimal Form 0x13.
Part I - Converting a Hash to a big.Int
.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
====================================================================================================================== Novel never before used Twisted Edwards Curves
Curve TEC-Novel-0000:
Function LittleOne defines an elliptic curve of Cofactor 4 over a small prime field of 997, used for testing and observing purposes.
MONTGOMERY CURVES DEFINITIONS
Curve M1:
Function M383 defines the M-383 curve specified in: Aranha et al, "A note on high-security general-purpose elliptic curves", http://eprint.iacr.org/2013/647.pdf and https://safecurves.cr.yp.to/index.html
Name: M383 Equation is: y^2 = x^3 + 2065150 * x^2 + x Prime field (P) 2^383 - 187 Decimal Form 19701003098197239606139520050071806902539869635232723333974146702122860885748605305707133127442457820403313995153221 Hexadecimal Form 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45
Base-Point Prime Order (Q) 2^380 + 166236275931373516105219794935542153308039234455761613271 Decimal Form 2462625387274654950767440006258975862817483704404090416746934574041288984234680883008327183083615266784870011007447 Hexadecimal Form 0x10000000000000000000000000000000000000000000000006c79673ac36ba6e7a32576f7b1b249e46bbc225be9071d7
Trace -1329890207450988128841758359484337226464313875646092906354 Cofactor R 8
Curve B Parameter 1 Curve A Parameter 2065150
Base-Point X 12 Hexadecimal Form 0xc Base-Point Y 4737623401891753997660546300375902576839617167257703725630389791524463565757299203154901655432096558642117242906494 Hexadecimal Form 0x1ec7ed04aaf834af310e304b2da0f328e7c165f0e8988abd3992861290f617aa1f1b2e7d0b6e332e969991b62555e77e.
Curve M3:
Function M511 defines the M-511 curve specified in: Aranha et al, "A note on high-security general-purpose elliptic curves", http://eprint.iacr.org/2013/647.pdf and https://safecurves.cr.yp.to/index.html
Name: M511 Equation is: y^2 = x^3 + 530438 * x^2 + x Prime field (P) 2^511 - 187 Decimal Form 6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503041861 Hexadecimal Form 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45
Base-Point Prime Order (Q) 2^508 + 10724754759635747624044531514068121842070756627434833028965540808827675062043 Decimal Form 837987995621412318723376562387865382967460363787024586107722590232610251879607410804876779383055508762141059258497448934987052508775626162460930737942299 Hexadecimal Form 0x100000000000000000000000000000000000000000000000000000000000000017b5feff30c7f5677ab2aeebd13779a2ac125042a6aa10bfa54c15bab76baf1b
Trace -85798038077085980992356252112544974736566053019478664231724326470621400496530 Cofactor R 8
Curve B Parameter 1 Curve A Parameter 530438
Base-Point X 5 Hexadecimal Form 0x5 Base-Point Y 2500410645565072423368981149139213252211568685173608590070979264248275228603899706950518127817176591878667784247582124505430745177116625808811349787373477 Hexadecimal Form 0x2fbdc0ad8530803d28fdbad354bb488d32399ac1cf8f6e01ee3f96389b90c809422b9429e8a43dbf49308ac4455940abe9f1dbca542093a895e30a64af056fa5.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Multiplication Modulo prime.
Generates a CryptoPlasm PublicKey and Address from a compatible Number in Base10.It is assumed the number is compatible with the Curve in use, that is, is of a clamped form according toused Curve Cofactor.Therefore attention must be used not to pass an incompatible number.This function is used only after the number was validated previously.
No description provided by the author
Key Print Function.
Part II - Converting the PublicKey string format into Affine Coordinates
.
======================================================================================================================
Functions required for the Second Main Function
.
No description provided by the author
Division Modulo prime.
Function reads all lines from an individual files, and creates a slice of strings, where each element of the slice is a line from within the file.
No description provided by the author
No description provided by the author
Subtraction Modulo prime.
No description provided by the author
Curve TEC-Novel-0002:
Function TEC_S1021_Pr1029p639_p403 defines the first Curve discovered while searching for a Curve with an S value of 1024 on the same systems used for finding the D coefficient for the TEC_S545_Pr551p335_m1874.
Curve TEC-Novel-0003:
Function TEC_S1023_Pr1029p639_m200 defines the second Curve discovered while searching for a Curve with an S value of 1024 on the same systems used for finding the D coefficient for the TEC_S545_Pr551p335_m1874.
Curve TEC-Novel-0004:
Function TEC_S1024_Pr1029p639_m2729 defines the first Cofactor 4 TEC Curve discovered with an S value of 1024 on the same systems used for finding the D coefficient for the TEC_S545_Pr551p335_m1874.
Curve TEC-Novel-0005:
Function TEC_S1600_Pr1605p2315_m26 defines the first Cofactor 4 TEC Curve discovered with an S value of 1600 on the same systems used for finding the D coefficient for the TEC_S545_Pr551p335_m1874.
======================================================================================================================
Curve TEC-Novel-0001:
Function TEC_S545_Pr551p335_m1874 defines the first Curve discovered with an S-value higher than the highest S-Value Public TEC Curve, the E521.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Function Verifies individual Files.
No description provided by the author
No description provided by the author
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Easy big.Int variables 0,1 and 2.
# Structs
Structures defining different types of TEC (Twisted-Edwards-Curves) Point Coordinates
Affine Coordinates, represent the normal X and Y point coordinates.
A CPKeyPair (CryptoPlasm Key Pair) is a pair consisting of two strings both representing a number in base 49.
Extended Coordinates represent aX and aY as eX, eY, eZ and eT satisfying the following equations:
aX = eX/eZ aY = eY/eZ aX*aY = eT/eZ with eZ != 0
Type2 - Extended Coordinates.
Package Cryptoplasm_Elliptic implements Elliptic Point Addition and Multiplication only for the Twisted Edwards Curves.
Inverted Coordinates represent aX and aY as iX, iY and iZ satisfying the following equations:
aX = iZ/iX aY = iZ/iY
Type3 - Inverted Coordinates.
No description provided by the author
Projective Coordinates represent aX and aY as pX, pY and pZ satisfying the following equations:
aX = iX/iZ aY = iY/iZ with eZ != 0
Type4 - Projective Coordinates.
The Schnorr Signature Structure.
XZ Coordinates represents x as X and Z satisfying the following equations
x = X/Z
Type1 - XZ Coordinates.
# Interfaces
No description provided by the author