TypeScriptãšéåæå·ã®ç»æçãªäº€å·®ç¹ãæ¢æ±ããå ç¢ã§åå®å šãªããžã¿ã«ã»ãã¥ãªãã£ã®æªæ¥ã屿ããŸãã
TypeScript éåæå·ïŒåå®å šãªã»ãã¥ãªãã£ã®æªæ¥
ããžã¿ã«ã©ã³ãã¹ã±ãŒãã¯åžžã«é²åããŠãããããã«äŒŽã£ãŠç§ãã¡ã®ããŒã¿ãšã·ã¹ãã ãžã®è åšãé²åããŠããŸããéåã³ã³ãã¥ãŒãã£ã³ã°é©åœã®ç¬æžéã«ç«ã€ä»ããµã€ããŒã»ãã¥ãªãã£ã®æ°ãããã©ãã€ã ã¯æãŸããã ãã§ãªãã絶察ã«äžå¯æ¬ ã§ãããã®æªæ¥ã«ã¯ãé«åºŠãªæå·æè¡ã ãã§ãªããå ç¢ã§ä¿¡é Œæ§ã®é«ãéçºãã©ã¯ãã£ã¹ãå¿ èŠã§ããããã§ãTypeScriptãšéåæå·ã®åŒ·åãªçžä¹å¹æãç»å ŽããŸããããã¯ãæ¯é¡ãªãåå®å šæ§ããã£ãŠããžã¿ã«ã»ãã¥ãªãã£ã®åºç€ãã®ãã®ãåå®çŸ©ããå¯èœæ§ãç§ããçµã¿åããã§ãã
çŸä»£æå·ãžã®éåè åš
äœå幎ãã®éãç§ãã¡ã®ããžã¿ã«ã»ãã¥ãªãã£ã¯ãæ°åŠçã«è€éã§ãçŸåšã®ã³ã³ãã¥ãŒã¿ãŒã§ã¯è§£èªãèšç®äžäžå¯èœã§ããæå·ã¢ã«ãŽãªãºã ã«äŸåããŠããŸãããã€ã³ã¿ãŒãããäžã§ã®å®å šãªéä¿¡ïŒTLS/SSLãèããŠãã ããïŒãæ¯ããRSAãECCã®ãããªã¢ã«ãŽãªãºã ã¯ãçŽ å æ°åè§£ã颿£å¯Ÿæ°ã®ãããªåé¡ã«åºã¥ããŠããŸãããããã¯å€å žçãªã³ã³ãã¥ãŒã¿ãŒã«ãšã£ãŠã¯è§£èªäžèœã§ããã宿ãããéåã³ã³ãã¥ãŒã¿ãŒã¯ãããããææ°é¢æ°çã«éãè§£ãèœåãæã€ããã«ãªããŸãããã®ãããå€å žçã³ã³ãã¥ãŒã¿ãŒãšéåã³ã³ãã¥ãŒã¿ãŒã®äž¡æ¹ã®æ»æã«èæ§ã®ããæå·ã¢ã«ãŽãªãºã ã§ããéåã³ã³ãã¥ãŒã¿èæ§æå· (PQC) ã®ç·æ¥ã®éçºãé²ããããŠããŸãã
éåã³ã³ãã¥ãŒã¿èæ§æå· (PQC) ã®çè§£
PQCã¯åäžã®ã¢ã«ãŽãªãºã ã§ã¯ãªããéåæä»£ã«ç§ãã¡ã®ããŒã¿ãä¿è·ããããã«èšèšãããæ°ããæå·ã¢ãããŒãã®ã¹ã€ãŒãã§ãããããã®ã¢ã«ãŽãªãºã ã¯ãéåã³ã³ãã¥ãŒã¿ãŒã«ãšã£ãŠå°é£ã§ãããšä¿¡ããããŠããç°ãªãæ°åŠçåé¡ã«åºã¥ããŠããŸããäŸãã°ïŒ
- æ Œåæå·ïŒæ°åŠçãªæ Œåã«é¢é£ããåé¡ã®å°é£ãã«äŸåããŸãã
- 笊å·ããŒã¹æå·ïŒèª€ãèšæ£ç¬Šå·ãå©çšããŸãã
- ããã·ã¥ããŒã¹æå·ïŒæå·ããã·ã¥é¢æ°ã®ããããã£ã«åºã¥ããŠã»ãã¥ãªãã£ãæ§ç¯ããŸãã
- å€é åŒæå·ïŒå€å€æ°å€é åŒæ¹çšåŒç³»ã®è§£æ³ã«åºã¥ããŠããŸãã
- ç質æå·ïŒæ¥åæ²ç·ç質ã®ããããã£ãå©çšããŸãã
ç±³åœåœç«æšæºæè¡ç ç©¶æïŒNISTïŒã¯ããããã®PQCã¢ã«ãŽãªãºã ã®æšæºåã«ãããŠæåç·ã«ç«ã£ãŠããŸãããã®ããã»ã¹ã¯ããããã®åºç¯ãªæ¡çšãšãäžçäžã®ç°ãªãã·ã¹ãã ãçµç¹éã§ã®çžäºéçšæ§ã確ä¿ããããã«äžå¯æ¬ ã§ããPQCãžã®ç§»è¡ã¯å·šå€§ãªã¿ã¹ã¯ã§ãããå°æ¥ã®éåæµããæ©å¯ããŒã¿ãéèŠã€ã³ãã©ãããã³é²è¡äžã®éä¿¡ãä¿è·ããããã«ã¯ããã®å¿ èŠæ§ã¯åŠå®ã§ããŸããã
TypeScriptïŒçŸä»£ãœãããŠã§ã¢éçºã®æ±
åæã«ããœãããŠã§ã¢éçºã®äžçã§ã¯TypeScriptã®æ¡çšãšè©äŸ¡ãåçã«å¢å ããŠããŸããJavaScriptã®ã¹ãŒããŒã»ãããšããŠãTypeScriptã¯èšèªã«éçåä»ãããããããéçºããã»ã¹ãæ ¹æ¬çã«åŒ·åããŸãããã®å远å ã«ãããéçºè ã¯å®è¡æã§ã¯ãªãéçºæ®µéã§ãšã©ãŒãæ€åºã§ãããããããå ç¢ã§ä¿å®å¯èœã§ã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³ãå®çŸããŸãããŸããŸãè€éåãããœãããŠã§ã¢ã·ã¹ãã ãæ±ãã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«ãšã£ãŠãTypeScriptã¯æ¬¡ãæäŸããŸãïŒ
- æ©æãšã©ãŒæ€åºïŒåãã§ãã¯ã¯ãã³ãŒãå®è¡åã«å€ãã®äžè¬çãªãã°ãç¹å®ãããããã°æéãšã³ã¹ããåæžããŸãã
- å¯èªæ§ãšä¿å®æ§ã®åäžïŒæç€ºçãªåã«ãããç¹ã«äžçäžã®å€æ§ãªããŒã ãé¢ããå€§èŠæš¡ã§å ±åçãªãããžã§ã¯ãã«ãããŠãã³ãŒãã®çè§£ããªãã¡ã¯ã¿ãªã³ã°ãæ¡åŒµã容æã«ãªããŸãã
- éçºè çç£æ§ã®åäžïŒåæ å ±ã«ãã£ãŠåŒ·åããããªãŒãã³ã³ããªãŒããã³ãŒãããã²ãŒã·ã§ã³ããªãã¡ã¯ã¿ãªã³ã°ããŒã«ãªã©ã®æ©èœã«ãããéçºè ã®å¹çãå€§å¹ ã«åäžããŸãã
- ã¹ã±ãŒã©ããªãã£ïŒTypeScriptã®åŒ·åãªåä»ãã¯ãå³å¯ãªå¶åŸ¡ãšäºæž¬å¯èœæ§ãå¿ èŠãšããå€§èŠæš¡ã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ã«äžå¯æ¬ ã§ãã
亀差ç¹ïŒåå®å šãªéåæå·
ãããã®æ°ãããè€éãªPQCã¢ã«ãŽãªãºã ããœãããŠã§ã¢ã·ã¹ãã å ã«å®è£ ããããšãèãããšãçã®åãçŸããŸããæå·ã³ãŒãã¯æªåé«ãè€éã§ã埮åŠã§å±éºãªãã°ãçºçãããããã®ã§ãã1ãããã®èª€é 眮ãå倿ã®èª€ãã¯ãã·ã¹ãã ã®ã»ãã¥ãªãã£å šäœãæãªãå¯èœæ§ããããŸãããŸãã«ããã§TypeScriptãå€é©çãªåœ¹å²ãæããããšãã§ããŸãã
æ ŒåããŒã¹ã®PQCã¢ã«ãŽãªãºã ã®å®è£ ãæ³åããŠã¿ãŠãã ããããã®èåŸã«ããæ°åŠã«ã¯ã倧ããªè¡åããã¯ãã«ãè€éãªç®è¡æŒç®ãå«ãŸããŸããå³å¯ãªåãã§ãã¯ããªããšãã«ã¹ã¿ã ã®å€§ããªæŽæ°åé åãæåŸ ãããå Žæã«æŽæ°ã®é åãæž¡ããããå ¬ééµãšç§å¯éµçšã®ããŒã¿æ§é ã誀解ãããããããšã¯éåžžã«ç°¡åã§ããJavaScriptã®åçåä»ãã§ã¯èŠããªãããããã®ã¿ã€ãã®ãšã©ãŒã¯ã次ã®ãããªçµæã«ã€ãªããå¯èœæ§ããããŸãïŒ
- 埮åŠãªã¢ã«ãŽãªãºã ã®æ¬ é¥ïŒäžæ£ç¢ºãªããŒã¿åã¯ãæå·èšç®ã§ããããªãããåŒãèµ·ãããæ»æè ãæªçšã§ããè匱æ§ãçã¿åºãå¯èœæ§ããããŸãã
- éµç®¡çãšã©ãŒïŒéµã®ã¿ã€ãã誀ã£ãŠç®¡çããããšïŒäŸïŒç§å¯éµãšããŠå ¬ééµã䜿çšããããšïŒã¯ã壿» çãªã»ãã¥ãªãã£äŸµå®³ã«ã€ãªããå¯èœæ§ããããŸãã
- å®è£ äžã®è匱æ§ïŒããŒã¿åã«é¢é£ããå®è¡æãšã©ãŒã¯ãã·ã¹ãã ãã¯ã©ãã·ã¥ãããããããã«æªãããšã«ãæ©å¯ã®éäžçµæãå ¬éãããããå¯èœæ§ããããŸãã
TypeScriptã䜿çšããŠPQCã©ã€ãã©ãªãã¢ããªã±ãŒã·ã§ã³ãéçºããããšã«ãããéçºè ã¯éçåä»ããæŽ»çšããŠæ¬¡ãè¡ãããšãã§ããŸãïŒ
- æ£ç¢ºãªããŒã¿æ§é ã®å®çŸ©ïŒå
¬ééµãç§å¯éµãæå·æã眲åããã®ä»ã®æå·ããªããã£ãã®æåŸ
ããã圢åŒãæç¢ºã«åºå¥ããŸããããšãã°ãç¹å®ã®ãã©ã¡ãŒã¿Nããã³Måãã«èšèšãããã¢ã«ãŽãªãºã ã§äœ¿çšãããæ Œåå
¬ééµã®ãµã€ãºãšåãæ£ããããšãä¿èšŒããããã«ã
PublicKeyLattice<N, M>åãå®çŸ©ã§ããŸãã - ã¢ã«ãŽãªãºã å¶çŽã®åŒ·å¶ïŒåã䜿çšããŠãäºææ§ã®ããããŒã¿ã«å¯ŸããŠæäœãå®è¡ãããããšã確èªããŸããããšãã°ãç¹å®ã®PQCã¢ã«ãŽãªãºã ã®ã¢ãžã¥ãæŒç®ãå®è¡ãã颿°ã¯ãå®çŸ©ããã
BigIntModPåã®ã¿ãåãå ¥ããããã«åä»ãã§ããæšæºJavaScriptæ°å€ãç¡å¹ãªã¢ãžã¥ã©ã¹å€ã®å¶çºçãªäœ¿çšãé²ããŸãã - è€éãªããžãã¯ã®ã³ãŒãã®æç¢ºæ§ã®åäžïŒè€éãªPQCã¢ã«ãŽãªãºã ã«ã¯ãè€æ°ã®ã¹ããããšäžéç¶æ ããã°ãã°å«ãŸããŸããTypeScriptã®ã€ã³ã¿ãŒãã§ãŒã¹ãšåã¯ãããã®ç¶æ ãæç€ºçã«ã§ãããããçè§£ãåäžããè«çãšã©ãŒã®å¯èœæ§ã軜æžãããŸããããã¯ãç°ãªãã¿ã€ã ãŸãŒã³ãæåçãªã³ã³ããã¹ãã§äœæ¥ããåœéçãªããŒã ã«ãšã£ãŠç¹ã«éèŠã§ãã
- å®å šãªçµ±åã®ä¿é²ïŒæ¢åã®JavaScriptãŸãã¯Webã¢ããªã±ãŒã·ã§ã³ã«PQCã©ã€ãã©ãªãçµ±åããéãTypeScriptã¯å ç¢ãªå¥çŽãæäŸããPQCã³ã³ããŒãã³ããã·ã¹ãã å šäœã®ä»ã®éšåãšæ£ããå®å šã«çžäºäœçšããããšãä¿èšŒããŸãã
å®çšçãªå¿çšãšã°ããŒãã«ã€ã³ãã¯ã
TypeScriptãšPQCã®çµ±åã¯ãããŸããŸãªã»ã¯ã¿ãŒãšã°ããŒãã«ãªãã¬ãŒã·ã§ã³ã«åºç¯å²ã«ããã圱é¿ããããããŸãïŒ
1. å®å šãªWebéä¿¡ïŒTLS/SSLïŒ
å®å šãªã€ã³ã¿ãŒãããéä¿¡ã®ããã¯ããŒã³ã§ããTLS/SSLã¯ãæçµçã«PQCã¢ã«ãŽãªãºã ãçµã¿èŸŒãå¿ èŠãåºãŠããã§ããããWebãµãŒããŒããã©ãŠã¶ãŒã¯ããã°ãã°JavaScriptãã¬ãŒã ã¯ãŒã¯ã§æ§ç¯ãããããžãã¯ã«ã¯TypeScriptã䜿çšãããå¯èœæ§ããããŸãããããã®ã³ã³ããŒãã³ããTypeScriptã§éçºããããšã§ãPQCãã³ãã·ã§ã€ã¯ããã³æå·å/埩å·åããã»ã¹ãæé«ã®åå®å šæ§ã§å®è£ ãããããšãä¿èšŒãããã°ããŒãã«ãªãªã³ã©ã€ã³ååŒãeã³ããŒã¹ãããã³ãã©ã€ããŒãéä¿¡ã«ãããé倧ãªè匱æ§ã®ãªã¹ã¯ãæå°éã«æããããŸãã
2. ãããã¯ãã§ãŒã³ãšåæ£åå°åž³æè¡
ãã©ã³ã¶ã¯ã·ã§ã³ã®æŽåæ§ãšäžå€æ§ã«ãããŠæå·æè¡ã«å€§ããäŸåãããããã¯ãã§ãŒã³ã¯ãéåæ»æã®äž»èŠãªæšçã§ãããããã¯ãã§ãŒã³ãPQCã«ç§»è¡ããã«ã€ããŠãåºç€ãšãªãã¹ããŒãã³ã³ãã©ã¯ããšã³ã¢ãããã³ã«ïŒJavaScriptã«äŒŒãèšèªãTypeScriptã§éçºãããããšãå€ãïŒã¯ã现å¿ã®æ³šæãæã£ãŠä¿è·ããå¿ èŠããããŸããTypeScriptã¯ãã¹ããŒãã³ã³ãã©ã¯ãå ã®ããžã¿ã«çœ²åã®ãããªè€éãªæå·æäœããæ£ããåãšå¶çŽã§åŠçãããããšãä¿èšŒã§ããäžçäžã®äœçŸäžäººãã®äººã ãå©çšããéèã·ã¹ãã ãšåæ£åã¢ããªã±ãŒã·ã§ã³ãä¿è·ããŸãã
3. IoTïŒã¢ãã®ã€ã³ã¿ãŒãããïŒã»ãã¥ãªãã£
ãªãœãŒã¹ãéãããŠãããäžçäžã§èšå€§ãªæ°ãå±éãããŠããIoTããã€ã¹ã®æ®åã¯ãé倧ãªã»ãã¥ãªãã£äžã®èª²é¡ããããããŸãããããã®ããã€ã¹ã¯æ©å¯ããŒã¿ãéä¿¡ãããã°ãã°éèŠã€ã³ãã©ãå¶åŸ¡ããŸãããããã®ããã€ã¹ã®PQCå®è£ ãæ£ããããšãä¿èšŒããããšã¯æ¥µããŠéèŠã§ããTypeScriptã¯ãIoTããã«ãŠã§ã¢ãããã€ã¹ãã¡ãŒã ãŠã§ã¢ïŒè©²åœããå ŽåïŒãããã³ã¯ã©ãŠãããŒã¹ã®ç®¡çãã©ãããã©ãŒã ã®éçºã«äœ¿çšã§ããã¹ããŒãããŒã ããç£æ¥çšå¶åŸ¡ã·ã¹ãã ãŸã§ãããã€ã¹å šäœã®ãããã¯ãŒã¯ã䟵害ããããã«æªçšãããå¯èœæ§ã®ããå®è£ ãšã©ãŒã«å¯Ÿããå®å šæ§ã®å±€ãæäŸããŸãã
4. æ¿åºããã³é²è¡ã·ã¹ãã
åœå®¶å®å šä¿éãæ©å¯éä¿¡ãããã³éèŠã€ã³ãã©ã®ä¿è·ã¯ãæé«ã®ã»ãã¥ãªãã£ã¬ãã«ãèŠæ±ããŸããäžçäžã®æ¿åºããã³é²è¡çµç¹ã¯ãPQCã®ç ç©¶ãšå®è£ ã«å€é¡ã®æè³ãè¡ã£ãŠããŸãããããã®æ©å¯ã·ã¹ãã ã®ãœãããŠã§ã¢ãTypeScriptã§éçºããããšã¯ã貎éãªå®å šç¶²ãæäŸããè€éãªæå·ãããã³ã«ãæ£ç¢ºã«å®è£ ãããããšãä¿èšŒããæ»æå¯Ÿè±¡é åãçž®å°ããæŽç·Žãããæµå¯Ÿè ããåœå®¶ã®å©çãä¿è·ããŸãã
5. ãšã³ã¿ãŒãã©ã€ãºããŒã¿ä¿è·
倿§ãªåœéåžå Žã§äºæ¥ãå±éããããããèŠæš¡ã®äŒæ¥ã¯ãèšå€§ãªéã®é¡§å®¢ããŒã¿ãç¥ç財ç£ãããã³è²¡åæ å ±ãä¿è·ãã責任ããããŸããããŒã¿ã¯äœå幎ã«ãããã£ãŠå®å šã§ããå¿ èŠããããããPQCãžã®ç§»è¡ã¯é¿ããããŸãããTypeScriptã¯ãäŒæ¥ããªã³ããã³ãããã³è»¢éäžã®ããŒã¿ã®PQCãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããã³çµ±åããããšãå¯èœã«ããã°ããŒãã«ãªãã¬ãŒã·ã§ã³ãé²åããããŒã¿ä¿è·èŠå¶ïŒGDPRãCCPAãªã©ïŒã«æºæ ããå°æ¥ã®éåè åšã«å¯ŸããŠå埩åãããããšãä¿èšŒããŸãã
課é¡ãšä»åŸã®éç
åå®å šãªéåæå·ã®å¯èœæ§ã¯èšãç¥ããŸããããããã€ãã®èª²é¡ã«å¯ŸåŠããå¿ èŠããããŸãïŒ
1. PQCæšæºãšã©ã€ãã©ãªã®æç床
PQCã®æšæºåã¯ç¶ç¶çãªããã»ã¹ã§ããNISTã¯å€§ããªé²æ©ãéããŠããŸãããã¢ã«ãŽãªãºã ã¯ãŸã æ¯èŒçæ°ããããã®å®éã®ããã©ãŒãã³ã¹ç¹æ§ã¯ãŸã 培åºçã«è©äŸ¡ãããŠããŸããå ç¢ã§ãååã«ãã¹ããããããã©ãŒãã³ã¹ã®è¯ãPQCã©ã€ãã©ãªïŒçæ³çã«ã¯å æ¬çãªTypeScriptå®çŸ©ä»ãïŒã¯ãåºç¯ãªæ¡çšã«äžå¯æ¬ ã§ããéçºè ã¯ãPQCã¢ã«ãŽãªãºã ããŒãããå®è£ ããããšããã®ã§ã¯ãªãããããã®ååã«æ€èšŒãããã©ã€ãã©ãªã«äŸåããå¿ èŠããããŸãã
2. ããã©ãŒãã³ã¹ã«é¢ããèæ ®äºé
äžéšã®PQCã¢ã«ãŽãªãºã ã¯ãèšç®éãå€ããçŸåšã®ã¢ã«ãŽãªãºã ãšæ¯èŒããŠãã倧ããªéµãµã€ãºãšæå·æãå¿ èŠãšããå ŽåããããŸããããã¯ãç¹ã«ãªãœãŒã¹ãå¶çŽãããç°å¢ã§ã¯ãããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸããPQCã¢ã«ãŽãªãºã ã®æ éãªéžæãæé©åãããå®è£ ãããã³TypeScriptã§ã®å¹ççãªååŠçã¯ããããã®ããã©ãŒãã³ã¹æžå¿µã軜æžããããã«äžå¯æ¬ ã«ãªããŸãã
3. éçºè ã®æè²ãšã¹ãã«ã»ãã
éåæå·ãšåå®å šãªéçºã®äº€å·®ç¹ã«ã¯ãå°éçãªã¹ãã«ã»ãããå¿ èŠã§ããéçºè ã¯ãTypeScriptã ãã§ãªããPQCã®åºæ¬ååãããã³æå·ã³ã³ããã¹ãã«ãããåå®å šæ§ã®æå³ã«ã€ããŠãçè§£ããå¿ èŠããããŸããå æ¬çãªãã¬ãŒãã³ã°ããã°ã©ã ãšæç¢ºãªããã¥ã¡ã³ãã¯ãäžçäžã®éçºè ã«å¿ èŠãªç¥èãè£ åããããã«äžå¯æ¬ ã«ãªããŸãã
4. ç§»è¡æŠç¥
çŸåšã®æå·æšæºããPQCãžã®ç§»è¡ã¯ãè€éã§æ°å¹Žãããåãçµã¿ã§ããããã«ã¯æ éãªèšç»ã段éçãªå±éãããã³ç§»è¡æéäžã«å€å žçã¢ã«ãŽãªãºã ãšéååŸã¢ã«ãŽãªãºã ã®äž¡æ¹ãåæã«äœ¿çšããããã€ããªããã¢ãŒãããµããŒãããèœåãå¿ èŠã§ããTypeScriptã¯ããããã®ç§»è¡ã·ã¹ãã ãããèªä¿¡ãæã£ãŠæ§ç¯ããã®ã«åœ¹ç«ã¡ãŸãã
éçºè ãšçµç¹ã®ããã®å®è·µçãªæŽå¯
ãã®æªæ¥ã«åããããã«ãéçºè ãšçµç¹ã¯æ¬¡ã®ããšãèæ ®ãã¹ãã§ãïŒ
- TypeScriptãæ¡çšããïŒãŸã JavaScriptãããžã§ã¯ãã§TypeScriptã䜿çšããŠããªãå Žåã¯ãä»ãå°å ¥ã®æã§ããã³ãŒãã®å質ãšä¿å®æ§ã«å¯Ÿãããã®å©ç¹ã¯éèŠã§ãããã»ãã¥ãªãã£ã«ææãªã³ãŒããæ±ãéã«ã¯ããã«éèŠã«ãªããŸãã
- PQCæšæºã«é¢ããæ å ±ãå ¥æããïŒNISTã®ãããªçµç¹ããã®ææ°ã®éçºãšPQCã®ç ç©¶ååãåžžã«ææ¡ããŠãã ãããã¢ã«ãŽãªãºã ãšãã®æå³ãçè§£ããããšããæ å ±ã«åºã¥ããæææ±ºå®ãè¡ãéµãšãªããŸãã
- PQCã©ã€ãã©ãªãæ¢çŽ¢ããïŒTypeScriptå®çŸ©ãæäŸããããTypeScriptãããžã§ã¯ããšç°¡åã«çµ±åã§ããæ¢åã®PQCã©ã€ãã©ãªãæ¢çŽ¢ãå§ããŠãã ãããç©æ¥µçã«ã¡ã³ããã³ã¹ãããã§ããã°ã»ãã¥ãªãã£ç£æ»ãåããŠããã©ã€ãã©ãªãæ¢ããŠãã ããã
- æå·ã¢ãžãªãã£ã®èãæ¹ãæã€ïŒã»ãã¥ãªãã£ã®æªæ¥ã¯ãæ°ããæå·æšæºã«è¿ éã«å¯Ÿå¿ã§ããèœåãå¿ èŠãšããŸããæå·ã¢ãžã¥ãŒã«ãç°¡åã«äº€æã§ããããã«ãæå·ã¢ãžãªãã£ã念é ã«çœ®ããŠã·ã¹ãã ãèšèšããããšã¯ã倧ããªå©ç¹ãšãªãã§ããããTypeScriptã®ã¢ãžã¥ãŒã«æ§ãšããŸãèšèšãããåã·ã¹ãã ã¯ããã®èšèšãæ¯æŽã§ããŸãã
- ãã¬ãŒãã³ã°ã«æè³ããïŒéçºããŒã ã«ãéåã³ã³ãã¥ãŒãã£ã³ã°ãPQCãããã³åå®å šæ§ãšè€éãªããŒã¿æ§é ã«é¢é£ããé«åºŠãªTypeScriptæ©èœã«ã€ããŠåŠã¶ããã«å¥šå±ããŠãã ããã
- ãªã¹ã¯è©äŸ¡ã宿œããïŒçµç¹ã®æå·ã€ã³ãã³ããªãçè§£ããéåã³ã³ãã¥ãŒãã£ã³ã°ããããããªã¹ã¯ãè©äŸ¡ããŸããéèŠã·ã¹ãã ãšæ©å¯ããŒã¿ã®ç§»è¡ãåªå ããŸãã
çµè«ïŒå®å šã§åå®å šãªææ¥
TypeScriptãšéåæå·ã®åæã¯ãããžã¿ã«ã»ãã¥ãªãã£ã®æªæ¥ã«åãã匷åãªããžã§ã³ã衚ããŠããŸããéåã³ã³ãã¥ãŒã¿ãŒãé²åããã«ã€ããŠãPQCã®å¿ èŠæ§ã¯æéèŠã«ãªããŸããTypeScriptãæäŸããå ç¢ãªåå®å šæ§ãšéçºå¹çãæŽ»çšããããšã§ãç§ãã¡ã¯ããé«ãä¿¡é Œæ§ãšå埩åããã£ãŠæ¬¡äžä»£ã®å®å šãªã·ã¹ãã ãæ§ç¯ã§ããŸãããã®çµã¿åããã¯åãªãæè¡ç鲿©ã§ã¯ãªããçŸä»£ç掻ã®ã»ãŒãã¹ãŠã®åŽé¢ã§å®å šãªããžã¿ã«ã€ã³ãã©ã¹ãã©ã¯ãã£ã«äŸåããã°ããŒãã«ã³ãã¥ããã£ã«ãµãŒãã¹ãæäŸããä»åŸæ°å幎ã«ããã£ãŠç§ãã¡ã®ããžã¿ã«äžçã®æŽåæ§ãæ©å¯æ§ãããã³å¯çšæ§ã確ä¿ããããã®æŠç¥çå¿ èŠæ§ã§ãã
åå®å šãªéåæå·ãžã®éã®ãã¯å§ãŸã£ãã°ããã§ããããã¹ãŠã®äººãããããå Žæã®ããã«ãããå®å šã§ä¿¡é Œã§ããããžã¿ã«æªæ¥ãåµé ãããã®å¯èœæ§ã¯åŠå®ã§ããŸããããããã®é²æ©ãåãå ¥ããããšã§ãæè¡çã«å é²çã§æ¬è³ªçã«å®å šãªããžã¿ã«ããã³ãã£ã¢ãç©æ¥µçã«æ§ç¯ã§ããŸãã