Practical post-quantum key exchange from supersingular ...

38
Craig Costello Practical post-quantum key exchange from supersingular isogenies Invited talk at SPACE 2016 December 18, 2016 CRRao AIMSCS, Hyderabad, India

Transcript of Practical post-quantum key exchange from supersingular ...

Page 1: Practical post-quantum key exchange from supersingular ...

Craig Costello

Practical post-quantum key exchange from supersingular isogenies

Invited talk at SPACE 2016December 18, 2016

CRRao AIMSCS, Hyderabad, India

Page 2: Practical post-quantum key exchange from supersingular ...

https://www.microsoft.com/en-us/research/project/sidh-library/SIDH library (v2.0 coming soon)

Full version of Cryptoโ€™16 paper(joint with P. Longa and M. Naehrig)

http://eprint.iacr.org/2016/413

Full version of compression paper(joint with D. Jao, P. Longa, M. Naehrig, D. Urbanik, J. Renes)

http://eprint.iacr.org/2016/963

Page 3: Practical post-quantum key exchange from supersingular ...

Diffie-Hellman key exchange (circa 1976)

๐‘Ž =685408003627063761059275919665781694368639459527871881531452

๐‘” = 123456789

๐‘ž = 1606938044258990275541962092341162602522202993782792835301301

๐‘ =362059131912941987637880257325269696682836735524942246807440

๐‘”๐‘Ž mod ๐‘ž = 78467374529422653579754596319852702575499692980085777948593

๐‘”๐‘Ž๐‘ mod ๐‘ž = 437452857085801785219961443000845969831329749878767465041215

560048104293218128667441021342483133802626271394299410128798 = ๐‘”๐‘ mod ๐‘ž

Page 4: Practical post-quantum key exchange from supersingular ...

Diffie-Hellman key exchange (circa 2016)

๐‘” = 123456789

๐‘ž =5809605995369958062859502533304574370686975176362895236661486152287203730997110225737336044533118407251326157754980517443990529594540047121662885672187032401032111639706440498844049850989051627200244765807041812394729680540024104827976584369381522292361208779044769892743225751738076979568811309579125511333093243519553784816306381580161860200247492568448150242515304449577187604136428738580990172551573934146255830366405915000869643732053218566832545291107903722831634138599586406690325959725187447169059540805012310209639011750748760017095360734234945757416272994856013308616958529958304677637019181594088528345061285863898271763457294883546638879554311615446446330199254382340016292057090751175533888161918987295591531536698701292267685465517437915790823154844634780260102891718032495396075041899485513811126977307478969074857043710

716150121315922024556759241239013152919710956468406379442914941614357107914462567329693649

๐‘”๐‘Ž๐‘ =330166919524192149323761733598426244691224199958894654036331526394350099088627302979833339501183059198113987880066739419999231378970715307039317876258453876701124543849520979430233302777503265010724513551209279573183234934359636696506968325769489511028943698821518689496597758218540767517885836464160289471651364552490713961456608536013301649753975875610659655755567474438180357958360226708742348175045563437075840969230826767034061119437657466993989389348289599600338950372251336932673571743428823026014699232071116171392219599691096846714133643382745709376112500514300983651201961186613464267685926563624589817259637248558104903657371981684417053993082671827345252841433337325420088380059232089174946086536664984836041334031650438692639106287627157575758383128971053401037407031731509582807639509448704617983930135028

7596589383292751993079161318839043121329118930009948197899907586986108953591420279426874779423560221038468

๐‘Ž =7147687166405; 9571879053605547396582692405186145916522354912615715297097100679170037904924330116019497881089087696131592831386326210951294944584400497488929803858493191812844757232102398716043906200617764831887545755623377085391250529236463183321912173214641346558452549172283787727566955898452199622029450892269665074265269127802446416400\90259271040043389582611419862375878988193612187945591802864062679\86483957813927304368495559776413009721221824915810964579376354556\65546298837778595680891578821511273574220422646379170599917677567\30420698422392494816906777896174923072071297603455802621072109220\54662739697748553543758990879608882627763290293452560094576029847\39136138876755438662247926529997805988647241453046219452761811989\97464772529088780604931795419514638292288904557780459294373052654\10485180264002079415193983851143425084273119820368274789460587100\30497747706924427898968991057212096357725203480402449913844583448

๐‘ =655456209464694; 93360682685816031704969423104727624468251177438749706128879957701\93698826859762790479113062308975863428283798589097017957365590672\8357138638957122466760949930089855480244640303954430074800250796203638661931522988606354100532244846391589798641210273772558373965\48653931285483865070903191974204864923589439190352993032676961005\08840431979272991603892747747094094858192679116146502863521484987\08623286193422239171712154568612530067276018808591500424849476686\706784051068715397706852664532638332403983747338379697022624261377163163204493828299206039808703403575100467337085017748387148822224875309641791879395483731754620034884930540399950519191679471224\05558557093219350747155777569598163700850920394705281936392411084\43600686183528465724969562186437214972625833222544865996160464558\54629937016589470425264445624157899586972652935647856967092689604\42796501209877036845001246792761563917639959736383038665362727158

1974966481832271932862620186142505559719097997625337606540081479948757754456670542185781051331382174972068905995549284294506678994768546685955940340934936375624510789382969603134886961788481424913516872530546022029662470461057707715772483216821171742461283211956785376315202786494034647973536919967369935770926871783856022988735589541210564305228996197614537270822178234757462238037900142350513967990494465082246618501681499574014746384567166244019067013944724470150525694177463721850933025357393837919800705723814217290296516393042343612687649717077634843006689239728687091216655686698309786578047401579166115635085698868474877726766712073860961529476071145597063402090591037030181826355218987380945462945580355697525966763466146993277420884712557411847558661178122098955149524361601993365326052422101474898256696660124195726100495725510022002932814218768060112310763455404567248761396399633344901857872119208518550803791724

๐‘”๐‘Ž

(mod q)=

4116046620695933066832285256534418724107779992205720799935743972371563687620383783327424719396665449687938178193214952698336131699379861648113207956169499574005182063853102924755292845506262471329301240277031401312209687711427883948465928161110782751969552580451787052540164697735099369253619948958941630655511051619296131392197821987575429848264658934577688889155615145050480918561594129775760490735632255728098809700583965017196658531101013084326474277865655251213287725871678420376241901439097879386658420056919119973967264551107584485525537442884643379065403121253975718031032782719790076818413945341143157261205957499938963479817893107541948645774359056731729700335965844452066712238743995765602919548561681262366573815194145929420370183512324404671912281455859090458612780918001663308764073238447199488070126873048860279221761629281961046255219584327714817248626243962413613075956770018017385724999495117779149416882188

=๐‘”๐‘

(mod q)

Page 5: Practical post-quantum key exchange from supersingular ...

ECDH key exchange (1999 โ€“ nowish)

๐‘ƒ = (48439561293906451759052585252797914202762949526041747995844080717082404635286,36134250956749795798585127919587881956611106672985015071877198253568414405109)

๐‘ = 2256 โˆ’ 2224 + 2192 + 296 โˆ’ 1๐‘ = 115792089210356248762697446949407573530086143415290314195533631308867097853951

๐‘Ž =891306445912460335776397706414628550231450284928352556031837219223173

24614395

๐ธ/๐…๐‘: ๐‘ฆ2 = ๐‘ฅ3 โˆ’3๐‘ฅ +๐‘

๐‘ =100955574639327864188069383161907080327719109190584053916797810821934

05190826

[a]๐‘ƒ = (84116208261315898167593067868200525612344221886333785331584793435449501658416,102885655542185598026739250172885300109680266058548048621945393128043427650740)

[b]๐‘ƒ = (101228882920057626679704131545407930245895491542090988999577542687271695288383,77887418190304022994116595034556257760807185615679689372138134363978498341594)

[ab]๐‘ƒ = (101228882920057626679704131545407930245895491542090988999577542687271695288383,77887418190304022994116595034556257760807185615679689372138134363978498341594)

#๐ธ = 115792089210356248762697446949407573529996955224135760342422259061068512044369

Page 6: Practical post-quantum key exchange from supersingular ...

โ€ข Large-scale quantum computers break RSA, finite fields, elliptic curves

โ€ข Aug 2015: NSA announces plans to transition to quantum-resistant algorithms

โ€ข Yesterday: NIST published final call โ€“ Nov 30, 2017 deadlinehttp://csrc.nist.gov/groups/ST/post-quantum-crypto/

Forthcoming post-quantum standardsโ€ฆ

Page 7: Practical post-quantum key exchange from supersingular ...

Current confidence may be smaller, but so are current key sizes!

Popular post-quantum public key primitives

โ€ข Lattice-based (e.g., NTRUโ€™98, LWEโ€™05)

โ€ข Code-based (e.g., McElieceโ€™78)

โ€ข Hash-based (e.g., Merkle treesโ€™79)

โ€ข Multivariate-based (e.g., HFEv-โ€™96)

โ€ข Isogeny-based (Jao and De Feo SIDHโ€™11)

Page 8: Practical post-quantum key exchange from supersingular ...

SIDH: history

โ€ข 1999: Couveignes gives talk โ€œHard homogenous spacesโ€ (eprint.iacr.org/2006/291)

โ€ข 2006 (OIDH): Rostovsev and Stolbunov propose ordinary isogeny DH

โ€ข 2010 (OIDH break): Childs-Jao-Soukharev give quantum subexponential alg.

โ€ข 2011 (SIDH): Jao and De Feo fix by choosing supersingular curves

Crucial difference: supersingular (i.e., non-ordinary) endomorphism ring

is not commutative (resists above attack)

Page 9: Practical post-quantum key exchange from supersingular ...
Page 10: Practical post-quantum key exchange from supersingular ...

โ€ข Recall that every elliptic curve ๐ธ over a field ๐พ with char ๐พ > 3 can be defined by

๐ธ โˆถ ๐‘ฆ2 = ๐‘ฅ3 + ๐‘Ž๐‘ฅ + ๐‘,

where ๐‘Ž, ๐‘ โˆˆ ๐พ, 4๐‘Ž3 + 27๐‘2 โ‰  0

โ€ข For any extension ๐พโ€ฒ/๐พ, the set of ๐พโ€ฒ-rational points forms a group with identity

โ€ข The ๐‘—-invariant ๐‘— ๐ธ = ๐‘— ๐‘Ž, ๐‘ = 1728 โ‹…4๐‘Ž3

4๐‘Ž3+27๐‘2determines isomorphism

class over เดฅ๐พ

โ€ข E.g., ๐ธโ€ฒ: ๐‘ฆ2 = ๐‘ฅ3 + ๐‘Ž๐‘ข2๐‘ฅ + ๐‘๐‘ข3 is isomorphic to ๐ธ for all ๐‘ข โˆˆ ๐พโˆ—

โ€ข Recover a curve from ๐‘—: e.g., set ๐‘Ž = โˆ’3๐‘ and ๐‘ = 2๐‘ with ๐‘ = ๐‘—/(๐‘— โˆ’ 1728)

Elliptic Curves and ๐‘—-invariants

Page 11: Practical post-quantum key exchange from supersingular ...

Isogenies

โ€ข Isogeny: morphism (rational map)๐œ™ โˆถ ๐ธ1 โ†’ ๐ธ2that preserves identity, i.e. ๐œ™ โˆž1 = โˆž2

โ€ข Degree of (separable) isogeny is number of elements in kernel, same as its degree as a rational map

โ€ข Given finite subgroup ๐บ โˆˆ ๐ธ1, there is a unique curve ๐ธ2 and isogeny ๐œ™ โˆถ ๐ธ1 โ†’ ๐ธ2 (up to isomorphism) having kernel ๐บ. Write ๐ธ2 = ๐œ™(๐ธ1) = ๐ธ1/โŸจ๐บโŸฉ.

Page 12: Practical post-quantum key exchange from supersingular ...

โ€ข The multiplication-by-๐‘› map: ๐‘› โˆถ ๐ธ โ†’ ๐ธ, ๐‘ƒ โ†ฆ ๐‘› ๐‘ƒ

โ€ข The ๐‘›-torsion subgroup is the kernel of ๐‘›๐ธ ๐‘› = ๐‘ƒ โˆˆ ๐ธ เดฅ๐พ โˆถ ๐‘› ๐‘ƒ = โˆž

โ€ข Found as the roots of the ๐‘›๐‘กโ„Ž division polynomial ๐œ“๐‘›

โ€ข If char ๐พ doesnโ€™t divide ๐‘›, then ๐ธ ๐‘› โ‰ƒ โ„ค๐‘› ร— โ„ค๐‘›

Torsion subgroups

Page 13: Practical post-quantum key exchange from supersingular ...

Recall example from tutorial: ๐ธ/๐”ฝ11: ๐‘ฆ2= ๐‘ฅ3 + 4๐œ™2

๐œ™4

๐œ™1

๐œ™3

๐ธ2/๐”ฝ11: ๐‘ฆ2= ๐‘ฅ3 + 5๐‘ฅ

๐ธ4/๐”ฝ112: ๐‘ฆ2= ๐‘ฅ3 + (4๐‘– + 3)๐‘ฅ

๐ธ1/๐”ฝ11: ๐‘ฆ2= ๐‘ฅ3 + 2

๐ธ3/๐”ฝ112: ๐‘ฆ2= ๐‘ฅ3 + 7๐‘– + 3 ๐‘ฅ

โ€ข Observe ๐ธ 3 โ‰ƒ โ„ค3 ร— โ„ค3 , i.e., 4 cyclic subgroups of order 3 (2-dimensional)โ€ข Veluโ€™s formulas: given ๐ธ and subgroup ๐บ โŠ‚ ๐ธ, outputs ๐ธโ€ฒ = ๐œ™(๐ธ) and ๐œ™(๐ธ)

Page 14: Practical post-quantum key exchange from supersingular ...

โ€ข SIDH works in set ๐‘†๐‘2 of supersingular curves (up to โ‰…) over a fixed field

โ€ข Theorem: #๐‘†๐‘2 =๐‘

12+ ๐‘, ๐‘ โˆˆ {0,1,2}

โ€ข Thm (Tate): ๐ธ1 and ๐ธ2 isogenous if and only if #๐ธ1 = #๐ธ2โ€ข Thm (Mestre): all supersingular curves over ๐”ฝ๐‘2 in same isogeny class

โ€ข Fact (see prev. e.g.): for every prime โ„“ not dividing ๐‘, there existsโ„“ + 1 isogenies of degree โ„“ originating from any supersingular curve

The supersingular isogeny graph

Upshot: immediately leads to (โ„“ + 1) directed regular graph ๐‘‹(๐‘†๐‘2 , โ„“)

Page 15: Practical post-quantum key exchange from supersingular ...

Supersingular isogeny graph for โ„“ = 2: ๐‘‹(๐‘†2412, 2)

Recall (from tutorials) that

supersingular isogeny graphs

are Ramanujan: rapid mixing!

Credit to Fre Vercauteren for example and pictureโ€ฆ

Page 16: Practical post-quantum key exchange from supersingular ...

Supersingular isogeny graph for โ„“ = 3: ๐‘‹(๐‘†2412, 3)

Recall (from tutorials) that

supersingular isogeny graphs

are Ramanujan: rapid mixing!

Credit to Fre Vercauteren for example and pictureโ€ฆ

Page 17: Practical post-quantum key exchange from supersingular ...

DH ECDH SIDH

elements integers ๐‘” modulo

prime

points ๐‘ƒ in curve

group

curves ๐ธ in isogeny

class

secrets exponents ๐‘ฅ scalars ๐‘˜ isogenies ๐œ™

computations ๐‘”, ๐‘ฅ โ†ฆ ๐‘”๐‘ฅ ๐‘˜, ๐‘ƒ โ†ฆ ๐‘˜ ๐‘ƒ ๐œ™, ๐ธ โ†ฆ ๐œ™(๐ธ)

hard problem given ๐‘”, ๐‘”๐‘ฅ

find ๐‘ฅgiven ๐‘ƒ, ๐‘˜ ๐‘ƒ

find ๐‘˜given ๐ธ,๐œ™(๐ธ)

find ๐œ™

Analogues between Diffie-Hellman instantiations

Page 18: Practical post-quantum key exchange from supersingular ...

๐ธ0 ๐ธ๐ด = ๐ธ0/โŸจ๐ดโŸฉ

๐ธ0/โŸจ๐ตโŸฉ = ๐ธ๐ต ๐ธ๐ด๐ต = ๐ธ0/โŸจ๐ด, ๐ตโŸฉ

๐œ™๐ด

๐œ™๐ต

๐œ™๐ดโ€ฒ

๐œ™๐ตโ€ฒ

params public privateSIDH in a nutshell:

e.g., Alice computes 2-isogenies, Bob computes 3-isogenies

Page 19: Practical post-quantum key exchange from supersingular ...

๐ธ0 ๐ธ๐ด = ๐ธ0/โŸจ๐‘ƒ๐ด + ๐‘ ๐ด ๐‘„๐ดโŸฉ

๐ธ0/โŸจ๐‘ƒ๐ต + ๐‘ ๐ต ๐‘„๐ตโŸฉ = ๐ธ๐ต ๐ธ๐ด๐ต = ๐ธ0/โŸจ๐ด, ๐ตโŸฉ

๐œ™๐ด

๐œ™๐ต

๐œ™๐ดโ€ฒ

๐œ™๐ตโ€ฒ

(๐œ™๐ต(๐‘ƒ๐ด), ๐œ™๐ต(๐‘„๐ด)) = (๐‘…๐ต , ๐‘†๐ต)

(๐‘…๐ด, ๐‘†๐ด) = (๐œ™๐ด(๐‘ƒ๐ต), ๐œ™๐ด(๐‘„๐ต))

๐ธ๐ด/โŸจ๐‘…๐ด + ๐‘ ๐ต ๐‘†๐ดโŸฉ โ‰… ๐ธ0/โŸจ๐‘ƒ๐ด + ๐‘ ๐ด ๐‘„๐ด , ๐‘ƒ๐ต + ๐‘ ๐ต ๐‘„๐ตโŸฉ โ‰…๐ธ๐ต/โŸจ๐‘…๐ต + ๐‘ ๐ด ๐‘†๐ตโŸฉ

Jao & De Feoโ€™s key: Alice sends her isogeny evaluated at Bobโ€™s generators, vice versa

params public privateSIDH in a nutshell:

SIDH shared secret is the ๐‘—-invariant of ๐ธ๐ด๐ต

Non-commutativity

resolved by

sending points in

public keys

Page 20: Practical post-quantum key exchange from supersingular ...

SIDH: security

โ€ข Setting: supersingular elliptic curves ๐ธ/๐”ฝ๐‘2 where ๐‘ is a large prime

โ€ข Hard problem: Given ๐‘ƒ, ๐‘„ โˆˆ ๐ธ and ๐œ™ ๐‘ƒ ,๐œ™ ๐‘„ โˆˆ ๐œ™(๐ธ), compute ๐œ™(where ๐œ™ has fixed, smooth, public degree)

โ€ข Best (known) attacks: classical ๐‘‚(๐‘1/4) and quantum ๐‘‚(๐‘1/6)

โ€ข Confidence: above complexities are optimal for (above generic) claw attack

Page 21: Practical post-quantum key exchange from supersingular ...

Motivation

Can we actually securely deploy SIDH?

Page 22: Practical post-quantum key exchange from supersingular ...

๐‘ = 23723239 โˆ’ 1

Parameters

๐‘ โ‰ˆ 2768 gives โ‰ˆ 192 bits classical and 128 bits quantum security against best known attacks

๐ธ0 /๐”ฝ๐‘2 โˆถ ๐‘ฆ2 = ๐‘ฅ3 + ๐‘ฅ

#๐ธ0 = ๐‘ + 1 2 = 23723239 2 Easy ECDLP

๐‘ƒ๐ด, ๐‘ƒ๐ต โˆˆ ๐ธ0 ๐”ฝ๐‘ , ๐‘„๐ด = ๐œ ๐‘ƒ๐ด , ๐‘„๐ต = ๐œ ๐‘ƒ๐ต

PK = ๐‘ฅ ๐‘ƒ , ๐‘ฅ ๐‘„ , ๐‘ฅ ๐‘„ โˆ’ ๐‘ƒ โˆˆ ๐”ฝ๐‘23

564 bytes

376 bytes

params public private

48 bytes ๐‘ ๐ด, ๐‘ ๐ต โˆˆ โ„ค

188 bytes ๐‘—(๐ธ๐ด๐ต) โˆˆ ๐”ฝ๐‘2

Page 23: Practical post-quantum key exchange from supersingular ...

โ€ข Computing isogenies of prime degree โ„“ at least ๐‘‚ โ„“

โ€ข We need exponential #secretsโ†” #isogeniesโ†”#kernel subgroups

โ€ข Upshot: isogenies must have exponential degree. Canโ€™t compute unless smooth!

โ€ข We will only use isogenies of degree โ„“๐‘’ for โ„“ โˆˆ {2,3}

Exploiting smooth degree isogenies

Page 24: Practical post-quantum key exchange from supersingular ...

โ€ข Suppose secret point ๐‘…0 has order 2372, we need ๐œ™ โˆถ ๐ธ โ†’ ๐ธ/โŸจ๐‘…0โŸฉ

โ€ข Factor ๐œ™ = ๐œ™371โ€ฆ๐œ™1๐œ™0, with ๐œ™๐‘– are 2-isogenies, and walk to ๐ธ/โŸจ๐‘…0โŸฉ

๐œ™0 = ๐ธ0 โ†’ ๐ธ0/โŸจ โ„“4 ๐‘…0โŸฉ , ๐‘…1 = ๐œ™0 ๐‘…0 ;

๐œ™1 = ๐ธ1 โ†’ ๐ธ1/โŸจ โ„“3 ๐‘…1โŸฉ , ๐‘…2 = ๐œ™1(๐‘…1);

โ‹ฎ โ‹ฎ๐œ™370 = ๐ธ370 โ†’ ๐ธ370/โŸจ โ„“

1 ๐‘…370โŸฉ , ๐‘…371 = ๐œ™370(๐‘…370);๐œ™371 = ๐ธ371 โ†’ ๐ธ371/โŸจ๐‘…371โŸฉ .

โ€ข The above is naรฏve: there is a much faster way (see [DJPโ€™14]).

โ€ข SIDH requires two types of arithmetic: [๐‘š]๐‘ƒ โˆˆ ๐ธ and ๐œ™ โˆถ ๐ธ โ†’ ๐ธโ€ฒ

Exploiting smooth degree isogenies

Page 25: Practical post-quantum key exchange from supersingular ...

Our performance improvements

1. Projective isogenies โ†’ โ„™1 everywhere

2. Fast ๐”ฝ๐‘2 arithmetic

3. Tight public parameters

( just 1 todayโ€ฆ )

Page 26: Practical post-quantum key exchange from supersingular ...

๐ธa,b โˆถ ๐‘๐‘ฆ2 = ๐‘ฅ3 + ๐‘Ž๐‘ฅ2 + ๐‘ฅ

Point and isogeny arithmetic in โ„™1

๐ธ(A:B:C) โˆถ ๐ต๐‘Œ2๐‘ = ๐ถ๐‘‹3 + ๐ด๐‘‹2๐‘ + ๐ถ๐‘‹๐‘2

๐‘ฅ, ๐‘ฆ โ†” (๐‘‹ โˆถ ๐‘Œ โˆถ ๐‘) ๐‘Ž, ๐‘ โ†” (๐ด โˆถ ๐ต โˆถ ๐ถ)

โ„™1 point arithmetic (Montgomery): ๐‘‹ โˆถ ๐‘ โ†ฆ (๐‘‹โ€ฒ: ๐‘โ€ฒ)

โ„™1 isogeny arithmetic (this work): ๐ด โˆถ ๐ถ โ†ฆ ๐ดโ€ฒ: ๐ถโ€ฒ

ECDH: move around different points on a fixed curve.

SIDH: move around different points and different curves

The Montgomery ๐ต coefficient only fixes the quadratic twist. Can ignore it

in SIDH since ๐‘— ๐ธ = ๐‘—(๐ธโ€ฒ)

Page 27: Practical post-quantum key exchange from supersingular ...

what wasโ€ฆ

โ€ฆ is now (division-free):

Division in ๐”ฝp

Page 28: Practical post-quantum key exchange from supersingular ...

Performance benchmarks

Table: millions of clock cycles for DH operations on 3.4GHz Intel Core i7-4770 (Haswell)

SIDH operation This work* Prior work

(AFJโ€™14)

Alice key generation 46 149

Bob key generation 52 152

Alice shared secret 44 118

Bob shared secret 50 122

Total 192 540

*includes full protection against timing and cache attacks

Page 29: Practical post-quantum key exchange from supersingular ...

โ€ข No clear frontrunner for PQ key exchange

โ€ข Hybrid particularly good idea for (relatively young) SIDH

โ€ข Hybrid particularly easy for SIDH

BigMont: a strong SIDH+ECDH hybrid

There are exponentially many ๐ด such that ๐ธ๐ด /๐”ฝ๐‘2: ๐‘ฆ2 = ๐‘ฅ3 + ๐ด๐‘ฅ2 + ๐‘ฅ is in the

supersingular isogeny class. These are all unsuitable for ECDH.

There are also exponentially many ๐ด such that ๐ธ๐ด /๐”ฝ๐‘2: ๐‘ฆ2 = ๐‘ฅ3 + ๐ด๐‘ฅ2 + ๐‘ฅ is

suitable for ECDH, e.g. ๐ด = 624450.

Page 30: Practical post-quantum key exchange from supersingular ...

SIDH vs. SIDH+ECDH hybrid

comparison SIDH SIDH+ECDH

bit security

(hard problem)

classical 192 (SSDDH) 384 (ECDHP)

quantum 128 (SSDDH) 128 (SSDDH)

public key size (bytes) 564 658

Speed

(cc x 106)

Alice key gen. 46 52

Bob key gen. 52 58

Alice shared sec. 44 50

Bob shared sec. 50 57

Colossal amount of classical security almost-for-free (โ‰ˆ no more code)

Page 31: Practical post-quantum key exchange from supersingular ...

SIDH vs. lattice โ€œDHโ€ primitives

Table: ms for full DH round (Alice + Bob) on 2.6GHz Intel Xeon i5 (Sandy Bridge) See โ€œFrodoโ€ for benchmarking details.

Name Primitive Full DH

(ms)

PK size

(bytes)

Frodo LWE 2.600 11,300

NewHope R-LWE 0.310 1,792

NTRU NTRU 2.429 1,024

SIDH Supersingular

Isogeny

900 564

All numbers above are for plain C implementations (e.g., SIDH w. assembly optimizations is 56ms)

Page 32: Practical post-quantum key exchange from supersingular ...

โ€ข Azarderakhsh, Jao, Kalach, Koziel, Leonardi: instead of sending points with ๐ธ, send scalars w.r.t. deterministic basis generating ๐ธ[๐‘›]

โ€ข e.g., instead of sending ๐‘ƒ โˆˆ ๐ธ(๐”ฝ๐‘2)[2372], send ๐›ผ, ๐›ฝ โˆˆ โ„ค2372 such that ๐‘ƒ =

๐›ผ ๐‘„ + ๐›ฝ ๐‘… for some โ€œcanonicalโ€ basis {๐‘„, ๐‘…} of ๐ธ(๐”ฝ๐‘2)[2372] that Alice and

Bob can compute from ๐ธ alone

โ€ข Azarderakhsh et al. show that decomposing ๐‘ƒ โ†ฆ ๐›ผ, ๐›ฝ costs roughly 10 times a full round of SIDH!!!

Compression of public keys

Page 33: Practical post-quantum key exchange from supersingular ...

(C-Jao-Longa-Naehrig-Renes-Urbanik: http://eprint.iacr.org/2016/963)

Efficient compression of public keys

โ€ข Three stages to SIDH public key compression ๐‘ƒ โ†ฆ ๐›ผ, ๐›ฝ

โ€ข Step 1: compute deterministic basis ๐‘„, ๐‘… โˆˆ ๐ธ[๐‘›]

โ€ข Step 2: compute pairings to transform discrete logarithms into ๐œ‡๐‘›โˆ—

โ€ข Step 3: solve discrete logarithms using Pohlig-Hellman

โ€ข Step 1: much faster bases computations using 2 & 3 descent

โ€ข Step 2: much faster pairing computations using optimized Tate not Weil

โ€ข Step 3: much faster PH using optimized windowing approach

Page 34: Practical post-quantum key exchange from supersingular ...

Performance benchmarks

Table: millions of clock cycles for DH operations (Haswell) scaled โ€“ see paper.

Full round SIDH

(Alice+Bob)

This work* Prior work

(AJKKLโ€™16)

no compression 192 535

compression 510 15,395

Page 35: Practical post-quantum key exchange from supersingular ...

Compressed SIDH vs. lattice โ€œDHโ€ primitives

Name Primitive Full DH

(ms)

PK size

(bytes)

Frodo LWE 2.600 11,300

NewHope R-LWE 0.310 1,792

NTRU NTRU 2.429 1,024

SIDH Supersingular

Isogeny

โ‰ˆ 2390 330

Compressed SIDH roughly 2-3 slower than uncompressed SIDH.

Page 36: Practical post-quantum key exchange from supersingular ...

โ€ข Issues regarding public key validation: Asiacrypt2016 paper by Galbraith-Petit-Shani-Ti

โ€ข NSA countermeasure: โ€œFailure is not an option: standardization issues for PQ key agreementโ€

โ€ข Thus, library currently supports ephemeral DH only

Validating public keys

Page 37: Practical post-quantum key exchange from supersingular ...

โ€ข Cryptanalysis!

โ€ข Faster SIDH

โ€ข SIDH with static keys

โ€ข SI signatures

Future work

Page 38: Practical post-quantum key exchange from supersingular ...

https://www.microsoft.com/en-us/research/project/sidh-library/

SIDH library (v2.0 coming soon)

Full version of Cryptoโ€™16 paper(joint with P. Longa and M. Naehrig)

http://eprint.iacr.org/2016/413

Full version of compression paper(joint with D. Jao, P. Longa, M. Naehrig, D. Urbanik, J. Renes)

http://eprint.iacr.org/2016/963

Thanks!