blob: c41e36227ea24ea729f7e669299db78fd9aee9ed [file] [log] [blame]
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9809],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>d});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},p=Object.keys(e);for(a=0;a<p.length;a++)r=p[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(e);for(a=0;a<p.length;a++)r=p[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),i=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},m=function(e){var t=i(e.components);return a.createElement(o.Provider,{value:t},e.children)},k="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},b=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,p=e.originalType,o=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),k=i(r),b=n,d=k["".concat(o,".").concat(b)]||k[b]||u[b]||p;return r?a.createElement(d,l(l({ref:t},m),{},{components:r})):a.createElement(d,l({ref:t},m))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var p=r.length,l=new Array(p);l[0]=b;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[k]="string"==typeof e?e:n,l[1]=s;for(var i=2;i<p;i++)l[i]=r[i];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}b.displayName="MDXCreateElement"},1671:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>m,contentTitle:()=>o,default:()=>b,frontMatter:()=>s,metadata:()=>i,toc:()=>k});var a=r(7462),n=r(3366),p=(r(7294),r(3905)),l=["components"],s={id:"bls",title:"BLS",sidebar_label:"BLS"},o=void 0,i={unversionedId:"cryptojs/bls",id:"cryptojs/bls",title:"BLS",description:"BLS",source:"@site/../docs/cryptojs/bls.md",sourceDirName:"cryptojs",slug:"/cryptojs/bls",permalink:"/docs/cryptojs/bls",draft:!1,tags:[],version:"current",frontMatter:{id:"bls",title:"BLS",sidebar_label:"BLS"},sidebar:"docs",previous:{title:"BIG",permalink:"/docs/cryptojs/big"},next:{title:"BLS192",permalink:"/docs/cryptojs/bls192"}},m={},k=[{value:"BLS",id:"bls",level:2},{value:"new BLS()",id:"new-bls",level:3},{value:"BLS.bytestostring() \u21d2",id:"blsbytestostring-",level:3},{value:"BLS.stringtobytes() \u21d2",id:"blsstringtobytes-",level:3},{value:"BLS.bls_hashit() \u21d2",id:"blsbls_hashit-",level:3},{value:"BLS.KeyPairGenerate() \u21d2",id:"blskeypairgenerate-",level:3},{value:"BLS.sign() \u21d2",id:"blssign-",level:3},{value:"BLS.verify() \u21d2",id:"blsverify-",level:3},{value:"BLS.add_G1() \u21d2",id:"blsadd_g1-",level:3},{value:"BLS.add_G2() \u21d2",id:"blsadd_g2-",level:3}],u={toc:k};function b(e){var t=e.components,r=(0,n.Z)(e,l);return(0,p.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,p.kt)("a",{name:"BLS"}),(0,p.kt)("h2",{id:"bls"},"BLS"),(0,p.kt)("p",null,(0,p.kt)("strong",{parentName:"p"},"Kind"),": global class",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"this"),": ",(0,p.kt)("code",null,'{"{"}BLS{"}"}')," "),(0,p.kt)("ul",null,(0,p.kt)("li",{parentName:"ul"},(0,p.kt)("a",{parentName:"li",href:"#BLS"},"BLS"),(0,p.kt)("ul",{parentName:"li"},(0,p.kt)("li",{parentName:"ul"},(0,p.kt)("a",{parentName:"li",href:"#new_BLS_new"},"new BLS()")),(0,p.kt)("li",{parentName:"ul"},(0,p.kt)("a",{parentName:"li",href:"#BLS.bytestostring"},".bytestostring()")," \u21d2"),(0,p.kt)("li",{parentName:"ul"},(0,p.kt)("a",{parentName:"li",href:"#BLS.stringtobytes"},".stringtobytes()")," \u21d2"),(0,p.kt)("li",{parentName:"ul"},(0,p.kt)("a",{parentName:"li",href:"#BLS.bls_hashit"},".bls_hashit()")," \u21d2"),(0,p.kt)("li",{parentName:"ul"},(0,p.kt)("a",{parentName:"li",href:"#BLS.KeyPairGenerate"},".KeyPairGenerate()")," \u21d2"),(0,p.kt)("li",{parentName:"ul"},(0,p.kt)("a",{parentName:"li",href:"#BLS.sign"},".sign()")," \u21d2"),(0,p.kt)("li",{parentName:"ul"},(0,p.kt)("a",{parentName:"li",href:"#BLS.verify"},".verify()")," \u21d2"),(0,p.kt)("li",{parentName:"ul"},(0,p.kt)("a",{parentName:"li",href:"#BLS.add_G1"},".add_G1()")," \u21d2"),(0,p.kt)("li",{parentName:"ul"},(0,p.kt)("a",{parentName:"li",href:"#BLS.add_G2"},".add_G2()")," \u21d2")))),(0,p.kt)("a",{name:"new_BLS_new"}),(0,p.kt)("h3",{id:"new-bls"},"new BLS()"),(0,p.kt)("p",null,"Creates an instance of BLS"),(0,p.kt)("a",{name:"BLS.bytestostring"}),(0,p.kt)("h3",{id:"blsbytestostring-"},"BLS.bytestostring() \u21d2"),(0,p.kt)("p",null,"Convert byte array to string"),(0,p.kt)("p",null,(0,p.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,p.kt)("a",{parentName:"p",href:"#BLS"},(0,p.kt)("code",null,"BLS")),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Returns"),": string",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"this"),": ",(0,p.kt)("code",null,'{"{"}BLS{"}"}'),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": b byte array "),(0,p.kt)("a",{name:"BLS.stringtobytes"}),(0,p.kt)("h3",{id:"blsstringtobytes-"},"BLS.stringtobytes() \u21d2"),(0,p.kt)("p",null,"Convert string to byte array"),(0,p.kt)("p",null,(0,p.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,p.kt)("a",{parentName:"p",href:"#BLS"},(0,p.kt)("code",null,"BLS")),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Returns"),": byte array",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"this"),": ",(0,p.kt)("code",null,'{"{"}BLS{"}"}'),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": s string "),(0,p.kt)("a",{name:"BLS.bls_hashit"}),(0,p.kt)("h3",{id:"blsbls_hashit-"},"BLS.bls_hashit() \u21d2"),(0,p.kt)("p",null,"hash a message to an ECP point, using SHA3"),(0,p.kt)("p",null,(0,p.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,p.kt)("a",{parentName:"p",href:"#BLS"},(0,p.kt)("code",null,"BLS")),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Returns"),": ECP point",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"this"),": ",(0,p.kt)("code",null,'{"{"}BLS{"}"}'),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": m message to be hashedstring "),(0,p.kt)("a",{name:"BLS.KeyPairGenerate"}),(0,p.kt)("h3",{id:"blskeypairgenerate-"},"BLS.KeyPairGenerate() \u21d2"),(0,p.kt)("p",null,"Generate key pair"),(0,p.kt)("p",null,(0,p.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,p.kt)("a",{parentName:"p",href:"#BLS"},(0,p.kt)("code",null,"BLS")),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Returns"),": Error code",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"this"),": ",(0,p.kt)("code",null,'{"{"}BLS{"}"}'),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": rng Cryptographically Secure Random Number Generator",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": S Private key",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": W Public key "),(0,p.kt)("a",{name:"BLS.sign"}),(0,p.kt)("h3",{id:"blssign-"},"BLS.sign() \u21d2"),(0,p.kt)("p",null,"Sign message"),(0,p.kt)("p",null,(0,p.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,p.kt)("a",{parentName:"p",href:"#BLS"},(0,p.kt)("code",null,"BLS")),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Returns"),": Error code",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"this"),": ",(0,p.kt)("code",null,'{"{"}BLS{"}"}'),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": SIG Singature",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": m Message to sign",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": S Private key "),(0,p.kt)("a",{name:"BLS.verify"}),(0,p.kt)("h3",{id:"blsverify-"},"BLS.verify() \u21d2"),(0,p.kt)("p",null,"Verify message"),(0,p.kt)("p",null,(0,p.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,p.kt)("a",{parentName:"p",href:"#BLS"},(0,p.kt)("code",null,"BLS")),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Returns"),": Error code",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"this"),": ",(0,p.kt)("code",null,'{"{"}BLS{"}"}'),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": SIG Signature",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": m Message to sign",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": W Public key "),(0,p.kt)("a",{name:"BLS.add_G1"}),(0,p.kt)("h3",{id:"blsadd_g1-"},"BLS.add_G1() \u21d2"),(0,p.kt)("p",null,"R=R1+R2 in group G1"),(0,p.kt)("p",null,(0,p.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,p.kt)("a",{parentName:"p",href:"#BLS"},(0,p.kt)("code",null,"BLS")),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Returns"),": Error code",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"this"),": ",(0,p.kt)("code",null,'{"{"}BLS{"}"}'),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": R1 G1 Point",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": R2 G1 Point",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": R G1 Point "),(0,p.kt)("a",{name:"BLS.add_G2"}),(0,p.kt)("h3",{id:"blsadd_g2-"},"BLS.add_G2() \u21d2"),(0,p.kt)("p",null,"W=W1+W2 in group G2"),(0,p.kt)("p",null,(0,p.kt)("strong",{parentName:"p"},"Kind"),": static method of ",(0,p.kt)("a",{parentName:"p",href:"#BLS"},(0,p.kt)("code",null,"BLS")),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Returns"),": Error code",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"this"),": ",(0,p.kt)("code",null,'{"{"}BLS{"}"}'),(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": W1 G2 Point",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": W2 G2 Point",(0,p.kt)("br",{parentName:"p"}),"\n",(0,p.kt)("strong",{parentName:"p"},"Parameter"),": R G2 Point"))}b.isMDXComponent=!0}}]);