MS_EncryptionAlgorithms - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
ããã§ã¯ãæå·åã¢ã«ãŽãªãºã ã®æŠèŠã解説ããã
- ããã·ã¥å
- æå·åïŒç§å¯éµã»æå·å / å ¬ééµã»æå·å / ãã€ããªããã»æå·åïŒ
- ããžã¿ã«çœ²å
- èªèšŒïŒã¡ãã»ãŒãžèªèšŒç¬Šå·ïŒMACïŒ / èªèšŒä»ãæå·ïŒAEADïŒïŒ
ããã·ã¥åãšã¯ããããã·ã¥é¢æ°ããçšããŠæå®ã®ã¡ãã»ãŒãžã®ãããã·ã¥å€ããæ±ããè¡çºã§ããã
ãã¡ãã»ãŒãž ãã€ãžã§ã¹ããããããã¯åã«ããã€ãžã§ã¹ãããšåŒã¶ããšãããã
ãã€ãžã§ã¹ãèªèšŒããããã£ã¬ã³ãžïŒã¬ã¹ãã³ã¹èªèšŒãã§äœ¿çšãããŠããã
ç®çã«ãã£ãŠã¯ããã·ã¥å€ã®ããšãããã£ã³ã¬ãŒããªã³ãããããã§ãã¯ãµã ããšãåŒã¶ã
ããã§ã¯ãæ£ç¢ºã«ã¯ãæå·åŠçãããã·ã¥é¢æ°ã«ã€ããŠã
- æ å ±ã»ãã¥ãªãã£åéã§èªèšŒã眲åãªã©ãæ§ã ã«å©çšãããŠããã
- ãŸããéåžžã®ããã·ã¥é¢æ°ãšããŠãå©çšã§ãã
ããã·ã¥ããŒãã«ããã€ãžã§ã¹ããããŒã¿ã®äžæèå¥ã»éè€æ€åºããã§ãã¯ãµã ãªã©ã«ãå©çšãããŠããã - æ¢æã®ãããã·ã¥é¢æ°ãã䜿çšããå Žåã以äžãæºããããŠãããã®ãšããŠå©çšã§ããã
| æ§è³ª | å 容 |
|---|---|
| ååèšç®å°é£æ§ïŒäžå¯éæ§ / äžæ¹åæ§ïŒ | ããã·ã¥å€ããå ã®ã¡ãã»ãŒãžãåŸãããšãäºå®äžäžå¯èœ |
| 第äºååèšç®å°é£æ§ | äžããããã¡ãã»ãŒãžãšåãããã·ã¥å€ãæã€å¥ã®ã¡ãã»ãŒãžãæ±ããããšãäºå®äžäžå¯èœ |
| è¡çªçºèŠå°é£æ§ | åãããã·ã¥å€ãæã€2ã€ã®ã¡ãã»ãŒãžã®çµãæ±ããããšãäºå®äžäžå¯èœ |

以äžã®é åºã§ïŒç Žãã®ãïŒé£ããã
- ååèšç®å°é£æ§
- 第äºååèšç®å°é£æ§
- è¡çªçºèŠå°é£æ§
ç§»è¡ã¡ã¢ïŒæ£èª€ïŒ: åæã¯ ãè¡çªçºèŠå°é£æ§ïŒããã·ã¥å€ãå€ããã«å ã®ã¡ãã»ãŒãžãæ¹ããã§ããªãã ã第äºååèšç®å°é£æ§ïŒåãããã·ã¥å€ãæã€2ã€ã®ã¡ãã»ãŒãžãæ±ããããªãïŒããããïŒã ãšããŠããããäž¡è ã®èª¬æãå ¥ãæ¿ãã£ãŠããã
- 第äºååïŒãç¹å®ã®ã¡ãã»ãŒãžã«å¯ŸããŠãåãããã·ã¥å€ã®å¥ã¡ãã»ãŒãžãæ¢ãïŒïŒæ¹ããïŒ
- è¡çªïŒãä»»æã®ã2ã€ã®ã¡ãã»ãŒãžã®çµãæ¢ãïŒæ¢çŽ¢ã®èªç±åºŠãé«ãã¶ãç ŽããããïŒ
äžè¡šã®ãšããã«æŽçãããåæã®ãé£ããé åºãã®äžŠã³èªäœã¯æ£ããã
ãæå·åŠçããã·ã¥é¢æ°ãã«ã¯ãããã·ã¥èšç®çšã®ããŒãåããªããã®ïŒããŒãªãæ¹åŒïŒãšã
ããŒãåãããã®ïŒããŒããæ¹åŒïŒãååšããã
ãæå·åŠçããã·ã¥é¢æ°ãèªäœã¯äžå¯éã§ãããã®ã®ã
ãããŒãªãæ¹åŒãã®å ŽåãèŸæžæ»æã«ãã容æã«ã¡ãã»ãŒãžãå²ããå¯èœæ§ãããã
ãæå·åŠçããã·ã¥é¢æ°ãã䜿çšããéã¯ãææ°ã®ãããã·ã¥ã®è¡çªèæ§ãã®æ
å ±ãå
¥æããäºãæšå¥šãããã
ããã¯ãMD5ãSHA-0ãSHA-1 ã«ã€ããŠè¡çªãçºèŠããæ»æãç¥ãããŠããããã§ããã
è£è¶³ïŒææ°åïŒ: SHA-1 㯠2017幎ã«å®éã®è¡çªïŒSHAtteredïŒã瀺ããã 2020幎ã«ã¯éžæãã¬ãã£ãã¯ã¹è¡çªãå®èšŒãããã çŸåšã¯èšŒææžã»çœ²åçšéã§å šé¢çã«çŠæ¢ãããŠããã æ°èŠã¯ SHA-256 以äžããŸã㯠SHA-3 ã䜿ãã
- ããŒãªãæ¹åŒïŒMD5ãRIPEMD160ãSHA1ãSHA256ãSHA384ãSHA512
- ããŒããæ¹åŒïŒâã¡ãã»ãŒãžèªèšŒç¬Šå·ïŒMACïŒ
æå·åã®æ¹åŒã«ã¯ã倧ããåããŠã
- ç§å¯éµã»æå·å⊠æå·åãšåŸ©å·ãåãåŠçã§ãããšãããããã察称ã¢ã«ãŽãªãºã ããšãåŒã°ããã
- å ¬ééµã»æå·å⊠æå·åãšåŸ©å·ãéãåŠçã§ãããšããããããé察称ã¢ã«ãŽãªãºã ããšãåŒã°ããã
ã®2ã€ã®æ¹åŒããããäž¡è ã®ã¡ãªããã»ãã¡ãªãããèæ ®ããäž¡è ãçµã¿åããããã€ããªããã®æ¹åŒãããã

- â»1ïŒãç§å¯éµã»æå·åãã¯ãæå·åãšåŸ©å·åã«äœ¿çšããéµãåäžã®ç§å¯éµã§ããããšããã
ãå ±ééµã»æå·åæ¹åŒããšãåŒã°ããã - â»2ïŒãç§å¯éµã»æå·åãã®éµã¯ãã¹ã¯ãŒãã®ãããªãã®ã§ãåºæ¬çã«çžææ¯ã«å€ããããšãæãŸããã
åŸã£ãŠãçžæãå¢ããã»ã©ç®¡çããç§å¯éµãå¢ããã - â»3ïŒã¢ã«ãŽãªãºã ãé察称ã§ãããšãæ°åŠçã«é£ããåŠçãå€ããé«éã§ã®åŠçãé£ãããªãããã
- ç§å¯éµã䜿çšããŠæå·åã»åŸ©å·åãè¡ããç§å¯éµãšããŠãä»»æã®ããŒïŒãã¹ã¯ãŒãïŒã䜿çšã§ããã
- ãã®æ¹åŒã¯ãç§å¯éµã®åãæž¡ããšç®¡çãå°é£ãšãªãããã
äžç¹å®å€æ°ã®ãŠãŒã¶ãšãããã¯ãŒã¯è¶ãã®æ å ±åãæž¡ããè¡ã C/S ã·ã¹ãã ã«ã¯äœ¿çšãããªãã - æ¹åŒã«ãã¹ããªãŒã æå·ããããããã¯æå·ããããã
- ã¢ã«ãŽãªãºã ïŒDESãRC2ãRijndaelïŒAESïŒã3DES
- éµã®æ°ïŒn 人ã§ãn(nâ1)/2 åã®éµãå¿ èŠã«ãªãã
- ç§å¯éµã»å ¬ééµã®ããŒã»ãã¢ãçæããã
- å
¬ééµã§æå·åãããã®ã¯ç§å¯éµã§ãã埩å·ã§ããªããšããæ§è³ªãå©çšããŠã
äžç¹å®å€æ°ã®ãŠãŒã¶ãšãããã¯ãŒã¯è¶ãã®æ å ±åãæž¡ããè¡ã C/S ã·ã¹ãã ã«äœ¿çšãããã
åŠçã·ãŒã±ã³ã¹
- éä¿¡åŽã¯ããåä¿¡åŽã®å ¬ééµããååŸããã
- éä¿¡åŽã¯ãå¹³æããåä¿¡åŽã®å ¬ééµãã§æå·åããã
- æå·åãããå¹³æãéä»ããã
- åä¿¡åŽã¯ãå¹³æããåä¿¡åŽã®ç§å¯éµãã§åŸ©å·åããã

- ã¢ã«ãŽãªãºã ïŒRSA
- éµã®æ°ïŒn 人ã§ã2n åã®éµãå¿ èŠã«ãªãã
- .NET ã®
RSACryptoServiceProviderã䜿çšããå Žåã
åãå ¬ééµã䜿çšããŠãæå·åæ å ±ã¯å¯å€ã«ãªãããåãç§å¯éµã§åŸ©å·åãå¯èœã§ããã®ã§ã
ãªãã¬ã€æ»æã®å¯Ÿè±¡ã«ãªãããã£ã¬ã³ãžãå ãããªã©ã®å®è£ ã远å ããå¿ èŠãããã
ç§å¯éµã»æå·åãå ¬ééµã»æå·åã®äž¡è ã®ã¡ãªãããšãã¡ãªãããèæ ®ããçµã¿åãããæ¹åŒã
åŠçã·ãŒã±ã³ã¹
- éä¿¡åŽã¯ããåä¿¡åŽã®å ¬ééµããååŸããã
- éä¿¡åŽã¯ããéä¿¡åŽã®ç§å¯ïŒå ±éïŒéµããããåä¿¡åŽã®å ¬ééµãã§æå·åããã
- æå·åããããéä¿¡åŽã®ç§å¯ïŒå ±éïŒéµããéä»ããã
- åä¿¡åŽã¯ãããããåä¿¡åŽã®ç§å¯éµãã§åŸ©å·åããã
- éä¿¡åŽã¯ãå¹³æããéä¿¡åŽã®ç§å¯ïŒå ±éïŒéµãã§æå·åããã
- æå·åãããå¹³æãéä»ããã
- åä¿¡åŽã¯ãå¹³æããéä¿¡åŽã®ç§å¯ïŒå ±éïŒéµãã§åŸ©å·åããã

- ãå
¬ééµã»æå·åãã§å
±ééµãå
±æããå¹³æèªäœã¯é床ã®éããç§å¯éµã»æå·åãã§åŠçããããã
ãå®å šæ§ããèœãšããã«åŠçé床ã皌ãããšãã§ããã - å
±ééµïŒã»ãã·ã§ã³éµïŒãã»ãã·ã§ã³æ¯ã«å€æŽããã°ã
äžäžè§£èªãããŠãçãæéããã¯ã©ããã³ã°ã§ããªããªãã - ãªããSSL/TLSããã®ããã€ããªããã»æå·åæ¹åŒããæ¡çšããŠããã
- æå·æãšããã®æå·æã埩å·ããããã®é·æç§å¯éµãæŒæŽ©ããŠãã
éå»ã®æå·æã埩å·ã§ããªãããšããéµäº€æã«é¢ããæŠå¿µã - PFS ãå®çŸå¯èœã«ããããã®ã¢ã«ãŽãªãºã
- DHEïŒãã£ãã£ãŒã»ãã«ãã³éµå ±æ
- ECDHEïŒæ¥åæ²ç·ãã£ãã£ãŒã»ãã«ãã³éµå ±æ
- SSL/TLS ã§ã¯ãèšŒææžãšçµã¿åããã DHE-RSA / DHE-DSA / ECDHE-RSA / ECDHE-ECDSA ã䜿ãã
ç§»è¡ã¡ã¢ïŒèª€èšã»æ£èª€ïŒ: åæã®ãPerfect Forward Securityã㯠Perfect Forward Secrecy ãæ£ããïŒåæ¹ç§å¿æ§ïŒã
ãŸããæå·æãšãã®æå·æã埩å·ããããã®ç§å¯éµãäž¡æ¹æŒæŽ©ããŠã埩å·ã§ããªãããšãã説æã¯ è«ççã«æç«ããªããæ£ãã㯠ããµãŒãã®é·æç§å¯éµãæŒæŽ©ããŠããéå»ã«èšé²ãããéä¿¡ã埩å·ã§ããªããã ã»ãã·ã§ã³ããšã®äžæéµïŒephemeralïŒã䜿ããéä¿¡åŸã«ç Žæ£ããããã
ãªã TLS 1.3 ã§ã¯éµäº€æã (EC)DHE ã®ã¿ã«ãªããPFS ã¯åžžã«æå¹ã
ãããžã¿ã«çœ²åãã¯ãå
ãšãªãã¡ãã»ãŒãžã®ããã·ã¥ãç§å¯éµã§åŠçãããã®ã§ããã
éä¿¡å
ããããã¡ãã»ãŒãžãšå梱ããŠéä»ããããšã«ããã
éä¿¡å
ã¯ãå
ãšãªãã¡ãã»ãŒãžã®æ£åœæ§ãïŒïŒæ¹ãããããŠããªãäºãïŒæ€èšŒã§ããã
åŠçã·ãŒã±ã³ã¹
- éä¿¡åŽã¯ããã¡ãã»ãŒãžããããã¡ãã»ãŒãžã®ããã·ã¥ããæ±ãã
ããããéä¿¡åŽã®ç§å¯éµãã§åŠçããããšã§ããããžã¿ã«çœ²åããçæããã - éä¿¡åŽã¯ããã¡ãã»ãŒãžãããããžã¿ã«çœ²åããéä»ããã
- åä¿¡åŽã¯ããããžã¿ã«çœ²åãããéä¿¡åŽã®å ¬ééµãã䜿çšããŠæ€èšŒããã

ç§»è¡ã¡ã¢: åæã¯çœ²åããç§å¯éµã§æå·åããå ¬ééµã§åŸ©å·åããšèª¬æããŠãããã ãã㯠RSA ã«éã£ãå®è£ äžã®é¡æšã§ãããäžè¬ã«ã¯èª€ãã DSA / ECDSA ã«ã¯ãç§å¯éµã§æå·åããããšããæäœèªäœãååšããªãã æ£ããã¯ã眲åçæããšãçœ²åæ€èšŒããšããå¥ã ã®æäœã RSA ã§ããå®éã®çœ²å㯠PKCS#1 v1.5 ã PSS ã®ããã£ã³ã°ã䌎ãã æå·åãšã¯ç°ãªãåŠçã«ãªãã
- MAC: Message Authentication Code
- å ±ééµã䜿ã£ãŠãã¡ãã»ãŒãžã®å®å šæ§ãšçæ£æ§ãä¿èšŒããçãããŒã¿ã
- æå·åŠçããã·ã¥é¢æ°ãšã®éãïŒ
MAC 颿°ã¯éžæå¹³ææ»æã«ãããååšçåœé ã«å¯ŸããŠèæ§ããªããã°ãªããªãã - ã¢ã«ãŽãªãºã
- ããã·ã¥é¢æ°ïŒããŒããæ¹åŒïŒãäœ¿ãæ¹åŒïŒHMACïŒ
- ãããã¯æå·ã¢ã«ãŽãªãºã ãäœ¿ãæ¹åŒïŒOMAC/CMACãCBC-MACãPMACïŒ
â» ããã·ã¥ïŒSHA-256 çïŒã¯ãæ¹ãããããŠããªãããšããã瀺ããªããã
MAC ã¯éµãæã€è
ã ããäœããããã誰ãäœã£ããïŒçæ£æ§ïŒããæ
ä¿ã§ããã
- AE: Authenticated Encryption / AEAD: Authenticated Encryption with Associated Data
- MAC ãšå¯Ÿç§°æå·ãçµã¿åãããŠãæ©å¯æ§ïŒæå·ïŒãèªèšŒã»æ£çæ§ïŒMACïŒãæºããä»çµã¿ã
- äžé©åã«çް工ãããæå·æãèå¥ããŠåŸ©å·ãæåŠã§ãããããéžææå·ææ»æã«å¯ŸããŠå®å šã«ãªãã
- çµã¿åããæ¹ã«ã¯3éããããã
Encrypt-then-MAC (EtM) ãé©å¿çéžææå·ææ»æã«å¯Ÿãå®å šã§ããããšãå®èšŒãããŠããã- Encrypt-then-MAC (EtM)
- Encrypt-and-MAC (E&M)
- MAC-then-Encrypt (MtE)
è£è¶³ïŒææ°åïŒ: çŸåšã®æšæºã¯ AES-GCM ãš ChaCha20-Poly1305ã TLS 1.3 ã§ã¯æå·ã¹ã€ãŒãã AEAD ã®ã¿ã«éå®ããã ïŒæ§æ¥ã® CBC + HMACïŒMtEïŒã¯ Lucky Thirteen çã®åå ã«ãªã£ãããæé€ïŒã
Web ãµã€ãã® Forms èªèšŒãªã©ãå®è£ ããå Žåãããã·ã¥ã®ã¿ä¿ç®¡ãäžè¬çã
| æ¹åŒ | å 容 |
|---|---|
| ããã·ã¥ã®ã¿ä¿ç®¡ | ãã¹ã¯ãŒãã®ããã·ã¥å€ã®ã¿ä¿åãéµç®¡çãäžèŠããã ããã¹ã¯ãŒãã®å¹³æãååŸã§ããªãããããªãã€ã³ãããã£ã¬ã³ãžïŒã¬ã¹ãã³ã¹ã¯äœµçšã§ããªã |
| æå·åããŠä¿ç®¡ | æšä»ãããŸãéžæãããªãæ¹åŒ |
- ãããŒãªãæ¹åŒãïŒãœã«ãïŒã¹ãã¬ããã³ã°
- ãœã«ãïŒåããã¹ã¯ãŒãã§ããŠãŒã¶ãŒããšã«ç°ãªãããã·ã¥å€ã«ã§ããïŒã¬ã€ã³ããŒã»ããŒãã«å¯ŸçïŒã
ãœã«ãã¯ããã·ã¥å€ãšãšãã«ä¿åããã - ã¹ãã¬ããã³ã°ïŒé«éãªããã·ã¥ãç¹°ãè¿ãçšããããšã§é床ãé ããããªãã©ã€ã³ç·åœããæ»æã劚害ããã
- ãœã«ãïŒåããã¹ã¯ãŒãã§ããŠãŒã¶ãŒããšã«ç°ãªãããã·ã¥å€ã«ã§ããïŒã¬ã€ã³ããŒã»ããŒãã«å¯ŸçïŒã
- æ¥ççãã¹ãã»ãã©ã¯ãã£ã¹ã® bcryptïŒBlowfish æå·ãåºç€ïŒããåèšèªããšã©ã€ãã©ãªãååšããã
- ãŸããbcrypt ã®åŸç¶ãšã㊠Argon2 ãæ³šç®ãããŠããã
è£è¶³ïŒææ°åïŒ: çŸåšã®æšå¥šã¯ Argon2idïŒOWASP ã®ç¬¬äžæšå¥šïŒã 次ç¹ã§ scryptãbcryptãPBKDF2ã ãããããã¡ã¢ãªå°é£æ§ããæãã㊠GPU / ASIC ã«ãã䞊åç·åœãããäžå©ã«ããã®ãèŠç¹ã æ±çšããã·ã¥ïŒSHA-256 çïŒãåçŽã«ç¹°ãè¿ãã ãã®èªäœã¹ãã¬ããã³ã°ã¯é¿ããã
| æ¹åŒ | å 容 |
|---|---|
| HTTPS | äžè¬çã«ã¯ã³ã¬ãå ±ééµãéä¿¡ã»ãã·ã§ã³æ¯ã«å¯å€ãšãªãããããªãã¬ã€æ»æã«ã察åŠã§ãã |
| ãã£ã¬ã³ãžïŒã¬ã¹ãã³ã¹ | NTLM ã CHAP ãªã©ã§æ¡çšããã£ã¬ã³ãžïŒä¹±æ°ïŒãšããŒããæ¹åŒã®ããã·ã¥ã§ãã¹ã¯ãŒããããã·ã¥åããŠæµããèªèšŒåºç€åŽã¯ãã¹ã¯ãŒããå¹³æïŒãŸãã¯å¯éãªåœ¢ïŒã§ä¿æããŠããå¿ èŠããã |
| å ¬ééµã»æå·å | åãç§å¯éµã§åŸ©å·å¯èœãªããããã®ãŸãŸã§ã¯ãªãã¬ã€æ»æã®å¯Ÿè±¡ããã£ã¬ã³ãžãå ããçã®å®è£ ãå¿ èŠ |
OpenID Connect ã«ããã JWT ã®çšäŸãªã©ãåèã«ãªãã
åæåãã¯ãã«ïŒIV: Initialization VectorïŒ
- ã¹ããªãŒã æå·âŠ éµã¹ããªãŒã ïŒæ¬äŒŒä¹±æ°åïŒã®çæã«å©çšããã
- ãããã¯æå·âŠ æåã®ãããã¯ã«äœ¿çšããããã¯ãã«å€ãšããã
â» IV ã¯ç§å¯ã§ããå¿
èŠã¯ãªãããåãéµã§äœ¿ãåããŠã¯ãªããªãã
䜿ãåããšåäžå¹³æãåäžæå·æã«ãªããè§£æã®æããããäžããã
- ãããããã€ããæåæ¯ã«åŠç
- ãããã¯æå·ããä»çµã¿ãåçŽã§é«é
- æå·åããŠãããŒã¿ãµã€ãºãå€åããªãïŒéä¿¡åŠçã«é©ããïŒã
- éµã¹ããªãŒã ïŒæ¬äŒŒä¹±æ°åïŒãå
±ééµãåæåãã¯ãã«ãã·ãŒããšããŠçæãã
å¹³æ / æå·æãšã®æä»çè«çåã§æå·å / 埩å·åããã - ã¢ã«ãŽãªãºã ïŒKCipher-2ãSalsa20ãRC4ïŒå±æ®åïŒãMUGIãA5/1ïŒè匱æ§ïŒ
â» çŸåšã¯ ChaCha20ïŒSalsa20 ã®æ¹è¯ïŒãäž»æµãRC4 㯠TLS ã§çŠæ¢æžã¿ã
- ãããã¯æ¯ã«åŠçãã¹ããªãŒã æå·ããä»çµã¿ãè€éã§äœéã
- 空ãã¯ããã£ã³ã°ããã®ã§ããŒã¿ãµã€ãºãå¢å ããã
- ãã®ãŸãŸã§ã¯æå·åŒ·åºŠã匱ãã®ã§ãåãããã¯å€ãæä»çè«çåã«äœ¿çšããæå·åã¢ãŒããããã
- ã¢ã«ãŽãªãºã ïŒAESïŒDES ã®åŸç¶ïŒãDES / DES-X / 3DESãRC2 / RC5 / RC6ãIDEAãCamelliaãCAST-128 / CAST-256
ç§»è¡ã¡ã¢ïŒæ£èª€ïŒ: åæã¯ãéåžžãæå·åã¯éµã®ãµã€ãºãšåããã€ãé·ã1ãããã¯ãšããã 1024ãããã®éµãªãã° 128ãã€ãã1ãããã¯ããšèª¬æããŠãããã ãããã¯é·ãšéµé·ã¯ç¬ç«ã§ããã äŸãã° AES ã¯ãããã¯é·ã åžžã« 128 ãããïŒ16ãã€ãïŒ ã§ã éµé·ã¯ 128 / 192 / 256 ãããããéžã¹ãã ãŸã 1024 ãããéµã¯ãããã¯æå·ã§ã¯ãªã RSA çã®å ¬é鵿å·ã®è©±ã
- èªèšŒçšã®å©çšã¢ãŒãïŒCCMãOCBãXCBCãXCBC-MAC
- ç§å¿çšã®å©çšã¢ãŒã
| # | ã¢ãŒã | ç¹åŸŽ |
|---|---|---|
| 1 | ECB: Electronic CodeBook | åçŽã«ãããã¯ã«åå²ããã®ãŸãŸæå·åãããããIV ãå¿ èŠãšããªããéµãšããŒã¿ãåããªãåãæå·æã«ãªããããæå·æäžèŽæ»æã»æ¹ããæ»æã«åŒ±ã |
| 2 | CBC: Cipher Block Chaining | åã®æå·åãããã¯ãš XOR ããŠããæå·åãæåã®ãããã¯ã¯ IV ã䜿ã |
| 3 | CFB: Cipher-FeedBack | åã®ãããã¯ãæå·åããçµæãš XOR ããïŒã¹ããªãŒã æå·çïŒ |
| 4 | OFB: Output FeedBack | IV ãç¹°ãè¿ãæå·åããŠéµã¹ããªãŒã ãçæããXOR ãã |
| 5 | GCM: Galois/Counter Mode | CTR ã¢ãŒãïŒèªèšŒã¿ã°ãçŸåšã®æšæºïŒAEADïŒ |
â» ECB ã¯äœ¿ããªãã®ãéåïŒç»åã ECB ã§æå·åãããšå ã®çµµãéããŠèŠããäŸãæåïŒã
- NoPadding ⊠ããã£ã³ã°ããªã
- ZeroBytePadding ⊠NULL ãã€ã(0x00) ã§ããã£ã³ã°ãå ããŒã¿ã« NULL ãå«ãŸããªãå Žåã®ã¿
- PKCS #5 / #7 Padding ⊠ãããã¯é·ã«æºããªããµã€ãºã®å€ã衚ããã€ãå€ã§è¶³ããªãåãåãã
- RSA : Rivest-Shamir-Adleman cryptosystem
- 倧ããªåææ°ã®çŽ å æ°åè§£ã®å°é£æ§ã«äŸãã
- æå·åã«ã眲åã«ã䜿ããã
- DSA : Digital Signature Algorithm
- 颿£å¯Ÿæ°åé¡ ã®å°é£æ§ã«äŸãã
- 眲åå°çšïŒæå·åã«ã¯äœ¿ããªãïŒã
- ECC : Elliptic Curve Cryptography
- æ¥åæ²ç·ãå©çšããæå·æ¹åŒã®ç·ç§°ãæ¥åæ²ç·äžã®é¢æ£å¯Ÿæ°åé¡ã®å°é£æ§ã«äŸãã
- ECDSAïŒElliptic Curve DSAïŒâŠ DSA ãæ¥åæ²ç·äžã§å®çŸ©ãããžã¿ã«çœ²åã«å©çšã§ããã
-
ECDHïŒElliptic curve DiffieâHellman key exchangeïŒâŠ DH éµå
±æãæ¥ååã
å ±ééµã®å ±æã®ããã®æå·åã«å©çšã§ããã
â» ECC 㯠RSA ããçãéµã§åçã®åŒ·åºŠãåŸããã
ïŒECC 256bit â RSA 3072bitïŒãåŠçã軜ããããTLS ã®äž»æµã«ãªã£ãŠããã
- 2ã€ã®ããŒãã¯çŽ æ° p ãšå®æ° gïŒp ããå°ããïŒãå ±æããã
- yïŒâå ¬ééµïŒãã xïŒâç§å¯éµïŒãæ±ããã®ãå°é£ã§ããããšãå©çšããã
DiffieâHellman key exchangeã
äºãã«ç§å¯éµãæã¡ãå
¬ééµã亀æããããšã§ã
éä¿¡è·¯ã«å
±ééµãã®ãã®ãæµããã«åãå
±ééµãå°åºã§ããã
- æå·åŠçããã·ã¥é¢æ° - Wikipedia
- æå·å©çšã¢ãŒã - Wikipedia
- èªèšŒä»ãæå· - Wikipedia
- CRYPTREC æå·ãªã¹ã
- OWASP Password Storage Cheat Sheet
- .NETã®çœ²åã»æå·åã¢ã«ãŽãªãºã
Tags: ã»ãã¥ãªãã£, æå·å, èšŒææž