Ka taea te whakaputa tau matapōkere ki te kore tatou e whakawhirinaki tetahi ki tetahi? Wāhanga 2

Ka taea te whakaputa tau matapōkere ki te kore tatou e whakawhirinaki tetahi ki tetahi? Wāhanga 2

Hei Habr!

В te waahanga tuatahi I roto i tenei tuhinga, i matapakihia he aha e tika ai te whakaputa i nga tau matapōkere mo nga kaiuru kaore e whakawhirinaki ana ki a raatau ano, he aha nga whakaritenga ka tukuna mo nga kaihanga tau matapōkere, me te whakaaro kia rua nga huarahi ki te whakatinana.

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:

  1. 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.

  2. 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.

Ka taea te whakaputa tau matapōkere ki te kore tatou e whakawhirinaki tetahi ki tetahi? Wāhanga 2

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.

Ka taea te whakaputa tau matapōkere ki te kore tatou e whakawhirinaki tetahi ki tetahi? Wāhanga 2

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:

Ka taea te whakaputa tau matapōkere ki te kore tatou e whakawhirinaki tetahi ki tetahi? Wāhanga 2Ko 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:

Ka taea te whakaputa tau matapōkere ki te kore tatou e whakawhirinaki tetahi ki tetahi? Wāhanga 2

  1. 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.

  2. 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).

  3. 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.

  4. 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.

Ka taea te whakaputa tau matapōkere ki te kore tatou e whakawhirinaki tetahi ki tetahi? Wāhanga 2

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.

Ka taea te whakaputa tau matapōkere ki te kore tatou e whakawhirinaki tetahi ki tetahi? Wāhanga 2

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 Kawa Schnorr.

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 ngā takirua ānau elliptic, mahi tenei tohu. I tenei take HKo te 0 ehara i te mea ko te putanga noa o te kaihanga tau matapōkere, ka taea te manatoko e tetahi kaiuru e mohio ana G, H и p(0)G. HHe waitohu ano a 0 i runga i te karere i whakamahia hei kakano, hei whakapumau i tera k и n i hainatia e nga kaiuru tenei karere. Na, ki te kākano – ko te hash o te poraka i roto i te kawa poraka, na H0 he waitohu-maha i runga i te poraka me te tau matapōkere tino pai.

I te mutunga

Ko tenei tuhinga he waahanga o te raupapa rangitaki hangarau NEI. Ko te NEAR he kawa poraka me te papa mo te whakawhanake i nga tono whakaheke me te aro ki te ngawari o te whakawhanaketanga me te ngawari ki te whakamahi mo nga kaiwhakamahi mutunga.

Kua tuwhera te waehere kawa, kua tuhia to tatou whakatinanatanga ki Rust, ka kitea konei.

Ka kite koe he aha te ahua o te whanaketanga mo NEAR me te whakamatautau i te IDE ipurangi konei.

Ka taea e koe te whai i nga korero katoa i roto i te reo Russian i roopu waea Tuhinga o mua rōpū i runga i VKontakte, me te reo Ingarihi i roto i te mana puninga.

Ka kite ano!

Source: will.com

Tāpiri i te kōrero