Hei Habr!
В
I tenei wahanga o te tuhinga, ka ata titiro tatou ki tetahi atu huarahi e whakamahi ana i nga waitohu paepae.
He iti o te tuhi tuhi
Kia mohio ai koe ki te mahi o nga hainatanga paepae, me mohio koe ki tetahi tuhinga tuhi taketake. Ka whakamahia e matou nga ariā e rua: scalars, tau noa ranei, ka tohuhia e matou ma nga reta iti (x, y) me nga tohu ki runga i te pihi porowhita, ka tohuhia e matou ma nga reta matua.
Kia mohio ai koe ki nga tikanga o nga hainatanga paepae, kaore koe e hiahia ki te mohio ki te mahi o nga pihi elliptic, i tua atu i etahi mea noa:
-
Ka taea te tapiri me te whakareatia nga tohu i runga i te anau elliptic ki te tauine (ka tohu tatou i te whakareatanga ki te tauine hei xG, ahakoa te tohu Gx whakamahia hoki i roto i nga tuhinga). Ko te hua o te taapiri me te whakareatanga ki te scalar he tohu kei runga i te anau elliptic.
-
Ko te mohio anake ki te kaupapa G me ona hua me te scalar xG e kore e taea te tatau x.
Ka whakamahi ano tatou i te kaupapa o te polynomial p(x) nekehanga k-1. Ina koa, ka whakamahia e tatou te taonga e whai ake nei o te polynomial: mena ka mohio tatou ki te uara p(x) mo tetahi k rerekē x (a kaore a matou korero mo p(x)), ka taea e tatou te tatau p(x) mo tetahi atu x.
He mea whakamere tera mo tetahi polynomial p(x) me etahi tohu i runga i te pihi Gte mohio ki te tikanga p(x)G mo tetahi k rerekē tikanga x, ka taea hoki e tatou te tatau p(x)G mo tetahi x.
He nui nga korero hei keri i nga korero mo te mahi o nga hainatanga paepae me te whakamahi ki te whakaputa tau matapōkere.
Kaihanga tau tupurangi i runga i nga hainatanga paepae
Me kii tera n e hiahia ana nga kaiuru ki te whakaputa i te tau matapōkere, me te hiahia kia uru mai tetahi k he nui o ratou ki te whakaputa i te maha, engari na te hunga whakaeke e whakahaere k-1, iti ake ranei nga kaiuru kaore i taea te matapae, te awe ranei i te tau kua puta.
Mehemea tera he polynomial p(x) nekehanga k-1 nga mea e mohio ana te kaiuru tuatahi p (1), e mohio ana te tuarua p(2), me era atu (n- e mohio ana p(n)). Ka whakaaro ano matou mo etahi waahi kua whakaritea G e mohio ana te katoa p(x)G mo nga uara katoa x. Ka waea atu matou p(i) "wahanga motuhake" ite kaiuru (no te mea anake ika mohio te kaiuru ki a ia), a p(i)G “wahanga tūmatanui” i-te kaiuru (no te mea e mohio ana nga kaiuru katoa ki a ia). Kia mahara koe, te matauranga p(i)G e kore e ranea ki te whakaora p(i).
Ko te hanga i te polynomial pera na anake i-Ko te kaiuru tuatahi me tetahi atu kaore i mohio ki tana waahanga motuhake - koinei te waahanga tino uaua me te whakamere o te kawa, a ka tātarihia e matou i raro nei. I tenei wa, me whakaaro tatou he polynomial penei me te mohio nga kaiuru katoa ki o raatau waahanga motuhake.
Me pehea e taea ai te whakamahi i te polynomial penei ki te whakaputa tau matapōkere? Hei timata, me hiahia etahi aho kaore ano i whakamahia i mua hei whakauru ki te kaihanga. I roto i te take o te poraka, te hash o te poraka whakamutunga h he kaitono pai mo taua rarangi. Kia hiahia nga kaiuru ki te hanga tau matapōkere ma te whakamahi h ano he kakano. Ka huri tuatahi nga kaiuru h ki tetahi ira i runga i te ānau ma te whakamahi i nga mahi kua tautuhia-mua:
H = scalarToPoint(h)
Katahi ia kaiuru i ka tātai me te whakaputa Kia ora = p(i)H, he aha ta ratou mahi na te mea e mohio ana ratou p(i) me H. Te whakaatu HKaore au e whakaae ki etahi atu kaiuru ki te whakaora i te waahanga motuhake ite kaiuru, na reira ka taea te whakamahi i tetahi huinga waahanga motuhake mai i tetahi poraka ki tetahi poraka. No reira, kotahi anake te mahi i te huringa whakangao-a-raupapa-a-raupapa-a-ira e whakaahuatia ana i raro nei.
Ahea k i autopsihia nga kaiuru Kia ora = p(i)H, ka taea e te katoa te tatau Hx = p(x)H mo te katoa x he mihi ki nga taonga o nga polynomials i korerohia e matou i te waahanga whakamutunga. I tenei wa, ka tatau nga kaiuru katoa H0 = p(0)H, a koinei te tau matapōkere ka puta. Kia mahara kaore tetahi e mohio p(0), no reira ko te huarahi anake hei tatau p(0)H – he wawaotanga tenei p(x)H, ka taea anake ina k uara p(i)H mohiotia. Te whakatuwhera i tetahi rahinga iti ake p(i)H kaore he korero mo p(0)H.
Ko te kaihanga i runga ake nei nga taonga katoa e hiahia ana matou: ko nga kaiwhai te whakahaere anake k-1 nga kaiuru iti iho ranei kaore he korero, he awe ranei ki te whakatau, ahakoa he aha k ka taea e nga kaiuru te tatau i te tau ka puta, me tetahi waahanga o k ka tae mai nga kaiuru ki te hua kotahi mo te kakano kotahi.
Kotahi te raruraru i ata karohia e matou i runga ake nei. Mo te urunga ki te mahi, he mea nui te uara Hi whakaputaina e ia kaiuru i he rite tonu p(i)H. No te mea kahore tetahi engari i-Kaore te kaiuru e mohio p(i), kahore he tangata ko i-Kaore e taea e te kaiuru te manatoko tena Hi i tika te tatau, me te kore he tohu tohu mo te tika HKa taea e te kaitawhai te whakaputa i tetahi uara hei hi, me te awe noa i te putanga o te kaihanga tau matapōkere:
Ko nga uara rereke o H_1 i tukuna e te kaiuru tuatahi ka arahi ki nga hua rereke H_0
E rua pea nga huarahi hei whakamatau i te tika Hi, ka whakaarohia e tatou i muri i te wetewete i te reanga o te polynomial.
Te whakatipuranga polynomial
I roto i te waahanga whakamutunga i whakaaro matou he penei te polynomial p(x) nekehanga k-1 e te kaiuru i mōhio p(i), karekau he korero a tetahi atu mo tenei uara. I roto i te waahanga e whai ake nei ka hiahia ano tatou mo etahi waahi kua whakaritea G i mohio katoa p(x)G mo te katoa x.
I roto i tenei waahanga ka whakaaro matou he kii motuhake kei ia kaiuru a rohe xi, kia mohio ai te katoa ki te taviri a te iwi Xi.
Ko tetahi kawa whakatipuranga polynomial e whai ake nei:
-
Ia kaiuru i ka hangaia e te rohe he polynomial pi(x) tohu k-1. Ka tukuna e ratou ia kaiuru j te tikanga pi(j), whakamunatia ki te kī tūmatanui Xj. Koia anake i-th и j-th mohio te kaiuru pahau(j). Kaiuru i he panui ano hoki pi(j)G mo te katoa j i 1 ki k whakauru.
-
Ka whakamahi nga kaiuru katoa i etahi whakaaro ki te whiriwhiri k nga kaiuru ka whakamahia nga polynomial. I te mea kei te tuimotu etahi o nga kaiuru, kaore e taea te tatari mo te katoa n ka whakaputahia e nga kaiuru he polynomials. Ko te hua o tenei taahiraa he huinga Z kei roto i te iti rawa k polynomial i hangaia i te taahiraa (1).
-
Ka mohio nga kaiuru ki nga uara e mohio ana ratou pi(j) he rite ki te panui whanui pi(j)G. I muri i tenei taahiraa ki roto Z ko nga polynomial anake i tukuna takitahi pi(j) he rite ki te panui whanui pi(j)G.
-
Ia kaiuru j ka tātai i tana wae motuhake p(j) hei moni pi(j) mo te katoa i в Z. Ka tatauhia e ia kaiuru nga uara katoa p(x)G hei moni pi(x)G mo te katoa i в Z.
mōhio e p(x) – he tino polynomial k-1, no te mea ko te tapeke o te tangata pi(x), ko ia o enei he tohu-a-raupapa k-1. Na, kia mahara ko ia kaiuru j mōhio p(j), karekau he korero mo ratou p(x) ki x ≠ j. Ae, ki te tatau i tenei uara, me mohio ratou ki nga mea katoa pi(x), me te roa o te kaiuru j Karekau e mohio ana ki tetahi o nga momo polynomial kua tohua, kaore i te rawaka nga korero mo p(x).
Koinei te tukanga whakatipuranga polynomial katoa i hiahiatia i te waahanga whakamutunga. Ko nga taahiraa 1, 2 me te 4 i runga ake nei he tino kitea te whakatinanatanga. Engari ko te taahiraa 3 ehara i te mea iti.
Ina koa, me kaha taatau ki te whakamatau i taua whakamunatia pi(j) tino rite ki nga mea kua whakaputaina pi(j)G. Ki te kore e taea e taatau te whakaatu, ko te kaiwhai i ka tukuna pea he para pi(j) ki te kaiuru j, me te kaiuru j e kore e taea te tiki i te tino uara pi(j), a kaore e taea te tatau i tana waahanga motuhake.
He kawa cryptographic e taea ai e koe te hanga i tetahi karere taapiri tohui(j), penei ka whai wariu tetahi kaiuru e, а также tohu(j) и pi(j)G, ka taea e te rohe te manatoko i tera e - he tino pi(j), kua whakamunatia ki te matua o te kaiuru j. Ko te mea pouri, he tino nui te rahi o enei taunakitanga, me te mea he mea tika kia whakaputa O(nk) Ko enei taunakitanga kaore e taea te whakamahi mo tenei kaupapa.
Engari o te whakamatau i tera pi(j) соответствует pi(j)G ka taea e matou te toha he wa roa rawa atu i roto i te kawa whakatipuranga polynomial, ka tirohia e nga kaiuru katoa te whakamunatanga pi(j), a ki te kore te karere wetemuna e rite ki te marea pi(j)G, ka whakaputahia e ratou he tohu whakamohiotanga e he ana te karere whakamunatia i riro ia ratou. Whakatauhia ko te karere e kore соответствует pi(G) he maamaa ake i te whakamatau he rite. Me tohu ko te hiahia kia puta mai ia kaiuru ki runga ipurangi i te iti rawa kia kotahi i roto i te wa i whakaritea ki te hanga i nga taunakitanga penei, me te whakawhirinaki ki te whakapae mena ka whakaputahia e ratou he tohu penei, ka tae atu ki nga kaiuru katoa i roto i te wa i whakaritea.
Mena karekau tetahi kaiuru i puta mai i runga ipurangi i tenei waa, a he kotahi pea te waahanga e he ana, karekau taua kaiuru e kaha ki te uru atu ki etahi atu reanga tau. Ka mahi tonu te kawa mena he iti rawa k ko nga kaiuru kua whiwhi noa i nga waahanga tika, i kaha ranei ki te waiho tohu o te he i roto i te waa kua whakaritea.
Nga tohu o te tika o H_i
Ko te waahanga whakamutunga ka korerohia me pehea te whakaatu i te tika o te whakaputanga Hi, ara tera Kia ora = p(i)H, me te kore tuwhera p(i).
Kia maumahara tatou ko nga uara H, G, p(i)G tūmatanui me te mohiotia e te katoa. Whiwhi mahi p(i) te mohio p(i)G и G ka karangahia te taukohiko motuhake, or korero, a e hiahia ana matou ki te whakamatau:
dlog(p(i)G, G) = dlog(Hi, H)
me te kore korero p(i). Ko nga hanganga mo enei tohu kei te noho, hei tauira
Ki tenei hoahoa, ia kaiuru, me Hi ka tukuna he tohu mo te tika i runga i te hoahoa.
Ina hangaia he tau matapōkere, me whakamahi e nga kaiuru atu i era i hanga. Ko aua kaiuru, me te nama, me tuku katoa Hi me nga taunakitanga e pa ana.
Ka patai pea te kaipanui rapu: na te mea ko te tau matapōkere whakamutunga H0, a p(0)G – He korero mo te iwi whanui tenei, he aha te take me tohu tohu mo ia tangata Hi, he aha te kore e tuku tohu hei utu
korero (p(0)G, G) = dlog(H0, H)
Ko te raruraru kaore e taea te hanga i taua tohu ma te whakamahi i te Schnorr Protocol no te mea kaore tetahi e mohio ana ki te uara p (0), e tika ana ki te hanga i te tohu, me te aha atu, ko te kaihanga tau matapōkere katoa e ahu mai ana i runga i te meka kaore tetahi e mohio ki tenei uara. No reira e tika ana kia mau nga uara katoa Hi me o ratou taunakitanga takitahi hei whakaatu i te tika H0.
Heoi, mena he mahinga i runga i nga tohu i runga i nga pihi elliptic e rite ana ki te whakareatanga, ko te tohu o te tika. H0 he iti noa iho, ma matou e whakarite
H0 × G = p(0)G × H
Mena kei te tautoko te pihi kua tohua
I te mutunga
Ko tenei tuhinga he waahanga o te raupapa rangitaki hangarau
Kua tuwhera te waehere kawa, kua tuhia to tatou whakatinanatanga ki Rust, ka kitea
Ka kite koe he aha te ahua o te whanaketanga mo NEAR me te whakamatautau i te IDE ipurangi
Ka taea e koe te whai i nga korero katoa i roto i te reo Russian i
Ka kite ano!
Source: will.com