blob: 9e3331c0756d56a29dc2d6bb796c80edb06cc7fd [file] [log] [blame]
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9290],{3905:(t,e,a)=>{a.d(e,{Zo:()=>o,kt:()=>s});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function p(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){r(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function i(t,e){if(null==t)return{};var a,n,r=function(t,e){if(null==t)return{};var a,n,r={},l=Object.keys(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var k=n.createContext({}),m=function(t){var e=n.useContext(k),a=e;return t&&(a="function"==typeof t?t(e):p(p({},e),t)),a},o=function(t){var e=m(t.components);return n.createElement(k.Provider,{value:e},t.children)},c="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,k=t.parentName,o=i(t,["components","mdxType","originalType","parentName"]),c=m(a),d=r,s=c["".concat(k,".").concat(d)]||c[d]||u[d]||l;return a?n.createElement(s,p(p({ref:e},o),{},{components:a})):n.createElement(s,p({ref:e},o))}));function s(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,p=new Array(l);p[0]=d;var i={};for(var k in e)hasOwnProperty.call(e,k)&&(i[k]=e[k]);i.originalType=t,i[c]="string"==typeof t?t:r,p[1]=i;for(var m=2;m<l;m++)p[m]=a[m];return n.createElement.apply(null,p)}return n.createElement.apply(null,a)}d.displayName="MDXCreateElement"},1196:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>o,contentTitle:()=>k,default:()=>d,frontMatter:()=>i,metadata:()=>m,toc:()=>c});var n=a(7462),r=a(3366),l=(a(7294),a(3905)),p=["components"],i={id:"ecp2",title:"ECP2",sidebar_label:"ECP2"},k=void 0,m={unversionedId:"cryptojs/ecp2",id:"cryptojs/ecp2",title:"ECP2",description:"ECP2",source:"@site/../docs/cryptojs/ecp2.md",sourceDirName:"cryptojs",slug:"/cryptojs/ecp2",permalink:"/docs/cryptojs/ecp2",draft:!1,tags:[],version:"current",frontMatter:{id:"ecp2",title:"ECP2",sidebar_label:"ECP2"},sidebar:"docs",previous:{title:"ECP",permalink:"/docs/cryptojs/ecp"},next:{title:"ECP4",permalink:"/docs/cryptojs/ecp4"}},o={},c=[{value:"ECP2",id:"ecp2",level:2},{value:"new ECP2()",id:"new-ecp2",level:3},{value:"ecP2.is_infinity(1)",id:"ecp2is_infinity1",level:3},{value:"ecP2.copy(P)",id:"ecp2copyp",level:3},{value:"ecP2.inf()",id:"ecp2inf",level:3},{value:"ecP2.cmove()",id:"ecp2cmove",level:3},{value:"ecP2.select()",id:"ecp2select",level:3},{value:"ecP2.equals(Q)",id:"ecp2equalsq",level:3},{value:"ecP2.neg()",id:"ecp2neg",level:3},{value:"ecP2.affine()",id:"ecp2affine",level:3},{value:"ecP2.getX()",id:"ecp2getx",level:3},{value:"ecP2.getY()",id:"ecp2gety",level:3},{value:"ecP2.getx()",id:"ecp2getx-1",level:3},{value:"ecP2.gety()",id:"ecp2gety-1",level:3},{value:"ecP2.getz()",id:"ecp2getz",level:3},{value:"ecP2.toBytes(b)",id:"ecp2tobytesb",level:3},{value:"ecP2.toString() \u21d2",id:"ecp2tostring-",level:3},{value:"ecP2.setxy(ix, iy)",id:"ecp2setxyix-iy",level:3},{value:"ecP2.setx(ix)",id:"ecp2setxix",level:3},{value:"ecP2.frob()",id:"ecp2frob",level:3},{value:"ecP2.dbl()",id:"ecp2dbl",level:3},{value:"ecP2.add()",id:"ecp2add",level:3},{value:"ecP2.sub(Q)",id:"ecp2subq",level:3},{value:"ecP2.mul(e)",id:"ecp2mule",level:3},{value:"ECP2.generator()",id:"ecp2generator",level:3},{value:"ECP2.fromBytes(b)",id:"ecp2frombytesb",level:3},{value:"ECP2.RHS(x)",id:"ecp2rhsx",level:3},{value:"ECP2.mul4()",id:"ecp2mul4",level:3}],u={toc:c};function d(t){var e=t.components,a=(0,r.Z)(t,p);return(0,l.kt)("wrapper",(0,n.Z)({},u,a,{components:e,mdxType:"MDXLayout"}),(0,l.kt)("a",{name:"ECP2"}),(0,l.kt)("h2",{id:"ecp2"},"ECP2"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global class",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2"},"ECP2"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#new_ECP2_new"},"new ECP2()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("em",{parentName:"li"},"instance"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+is_infinity"},".is_infinity(1)")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+copy"},".copy(P)")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+inf"},".inf()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+cmove"},".cmove()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+select"},".select()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+equals"},".equals(Q)")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+neg"},".neg()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+affine"},".affine()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+getX"},".getX()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+getY"},".getY()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+getx"},".getx()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+gety"},".gety()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+getz"},".getz()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+toBytes"},".toBytes(b)")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+toString"},".toString()")," \u21d2"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+setxy"},".setxy(ix, iy)")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+setx"},".setx(ix)")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+frob"},".frob()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+dbl"},".dbl()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+add"},".add()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+sub"},".sub(Q)")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2+mul"},".mul(e)")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("em",{parentName:"li"},"static"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2.generator"},".generator()")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2.fromBytes"},".fromBytes(b)")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2.RHS"},".RHS(x)")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"#ECP2.mul4"},".mul4()"))))))),(0,l.kt)("a",{name:"new_ECP2_new"}),(0,l.kt)("h3",{id:"new-ecp2"},"new ECP2()"),(0,l.kt)("p",null,"Creates an instance of ECP2"),(0,l.kt)("a",{name:"ECP2+is_infinity"}),(0,l.kt)("h3",{id:"ecp2is_infinity1"},"ecP2.is_infinity(1)"),(0,l.kt)("p",null,"Tests for ECP2 point equal to infinity"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"1"),(0,l.kt)("td",{parentName:"tr",align:null},"if infinity, else returns 0")))),(0,l.kt)("a",{name:"ECP2+copy"}),(0,l.kt)("h3",{id:"ecp2copyp"},"ecP2.copy(P)"),(0,l.kt)("p",null,"Copy ECP2 point to another ECP2 point"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"P"),(0,l.kt)("td",{parentName:"tr",align:null},"ECP2 instance")))),(0,l.kt)("a",{name:"ECP2+inf"}),(0,l.kt)("h3",{id:"ecp2inf"},"ecP2.inf()"),(0,l.kt)("p",null,"Set ECP2 to point-at-infinity"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+cmove"}),(0,l.kt)("h3",{id:"ecp2cmove"},"ecP2.cmove()"),(0,l.kt)("p",null,"conditional move of Q to P dependant on d"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+select"}),(0,l.kt)("h3",{id:"ecp2select"},"ecP2.select()"),(0,l.kt)("p",null,"Constant time select from pre-computed table"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+equals"}),(0,l.kt)("h3",{id:"ecp2equalsq"},"ecP2.equals(Q)"),(0,l.kt)("p",null,"Test P == Q"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Q"),(0,l.kt)("td",{parentName:"tr",align:null},"ECP2 instance")))),(0,l.kt)("a",{name:"ECP2+neg"}),(0,l.kt)("h3",{id:"ecp2neg"},"ecP2.neg()"),(0,l.kt)("p",null,"set this=-this"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+affine"}),(0,l.kt)("h3",{id:"ecp2affine"},"ecP2.affine()"),(0,l.kt)("p",null,"convert this to affine, from (x,y,z) to (x,y)"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+getX"}),(0,l.kt)("h3",{id:"ecp2getx"},"ecP2.getX()"),(0,l.kt)("p",null,"extract affine x as ctx.FP2"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+getY"}),(0,l.kt)("h3",{id:"ecp2gety"},"ecP2.getY()"),(0,l.kt)("p",null,"extract affine y as ctx.FP2"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+getx"}),(0,l.kt)("h3",{id:"ecp2getx-1"},"ecP2.getx()"),(0,l.kt)("p",null,"extract projective x"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+gety"}),(0,l.kt)("h3",{id:"ecp2gety-1"},"ecP2.gety()"),(0,l.kt)("p",null,"extract projective y"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+getz"}),(0,l.kt)("h3",{id:"ecp2getz"},"ecP2.getz()"),(0,l.kt)("p",null,"extract projective z"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+toBytes"}),(0,l.kt)("h3",{id:"ecp2tobytesb"},"ecP2.toBytes(b)"),(0,l.kt)("p",null,"convert this to byte arrayextract projective x"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"b"),(0,l.kt)("td",{parentName:"tr",align:null},"byte array output")))),(0,l.kt)("a",{name:"ECP2+toString"}),(0,l.kt)("h3",{id:"ecp2tostring-"},"ecP2.toString() \u21d2"),(0,l.kt)("p",null,"convert this to hex string"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Returns"),": hex string",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+setxy"}),(0,l.kt)("h3",{id:"ecp2setxyix-iy"},"ecP2.setxy(ix, iy)"),(0,l.kt)("p",null,"set this=(x,y)"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ix"),(0,l.kt)("td",{parentName:"tr",align:null},"x-value")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"iy"),(0,l.kt)("td",{parentName:"tr",align:null},"y-value")))),(0,l.kt)("a",{name:"ECP2+setx"}),(0,l.kt)("h3",{id:"ecp2setxix"},"ecP2.setx(ix)"),(0,l.kt)("p",null,"set this=(x,.)"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ix"),(0,l.kt)("td",{parentName:"tr",align:null},"x-value")))),(0,l.kt)("a",{name:"ECP2+frob"}),(0,l.kt)("h3",{id:"ecp2frob"},"ecP2.frob()"),(0,l.kt)("p",null,"set this","*","=q, where q is Modulus, using Frobenius"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+dbl"}),(0,l.kt)("h3",{id:"ecp2dbl"},"ecP2.dbl()"),(0,l.kt)("p",null,"this+=this"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+add"}),(0,l.kt)("h3",{id:"ecp2add"},"ecP2.add()"),(0,l.kt)("p",null,"Adds ECP2 instances"),(0,l.kt)("p",null,"param Q ECP2 instance"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2+sub"}),(0,l.kt)("h3",{id:"ecp2subq"},"ecP2.sub(Q)"),(0,l.kt)("p",null,"Subtracts ECP instance Q from this"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Q"),(0,l.kt)("td",{parentName:"tr",align:null},"ECP2 instance")))),(0,l.kt)("a",{name:"ECP2+mul"}),(0,l.kt)("h3",{id:"ecp2mule"},"ecP2.mul(e)"),(0,l.kt)("p",null,"Multiplies an ECP2 instance P by a BIG, side-channel resistant"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": instance method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"e"),(0,l.kt)("td",{parentName:"tr",align:null},"BIG number multiplier")))),(0,l.kt)("a",{name:"ECP2.generator"}),(0,l.kt)("h3",{id:"ecp2generator"},"ECP2.generator()"),(0,l.kt)("p",null,"Set group generator"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("a",{name:"ECP2.fromBytes"}),(0,l.kt)("h3",{id:"ecp2frombytesb"},"ECP2.fromBytes(b)"),(0,l.kt)("p",null,"convert from byte array to point"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"b"),(0,l.kt)("td",{parentName:"tr",align:null},"input byte array")))),(0,l.kt)("a",{name:"ECP2.RHS"}),(0,l.kt)("h3",{id:"ecp2rhsx"},"ECP2.RHS(x)"),(0,l.kt)("p",null,"Calculate RHS of curve equation x^3+B"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"x"),(0,l.kt)("td",{parentName:"tr",align:null},"x-value")))),(0,l.kt)("a",{name:"ECP2.mul4"}),(0,l.kt)("h3",{id:"ecp2mul4"},"ECP2.mul4()"),(0,l.kt)("p",null,"Calculate P=u0.Q0+u1_Q1+u2_Q2+u3","*","Q3"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,l.kt)("a",{parentName:"p",href:"#ECP2"},(0,l.kt)("code",null,"ECP2")),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"this"),": ",(0,l.kt)("code",null,'{"{"}ECP2{"}"}')))}d.isMDXComponent=!0}}]);