
Habrahabrã«ã¯æå·åã«é¢é£ããäœããã®æ¹æ³ã§ãã§ã«çŽ1000ã®èšäºããããŸãããç¹å®ã®ã¢ã«ãŽãªãºã ã§æ å ±ãããã«å¿ èŠãªå Žåã«ç¶æ³ãçºçããããšããããŸãã
åºæã®ä»£ããã«
æåã¯ã3ã€ã®åºçç©ã®ãµã€ã¯ã«ã§ããã¯ãã§ããããã³ã¡ã³ãã®æåãš2çªç®ã®åºçç©ã®æç¹ã§ã1ã€ã®äžè¬çãªèšäºãäœæããããã«é ŒãŸããŸããã
æ®å¿µãªããããã£ãšæéãããããŸããããçŸåšãçŽ50ã®æå·åã¢ã«ãŽãªãºã ã®ãªã¹ãã玹ä»ããŠããŸããæå·åã¢ã«ãŽãªãºã ã®ç°¡åãªèª¬æãšãã®å®è£ å ŽæãèšèŒããããã£ã¬ã¯ããªã§ãã
ããã€ãã®ã¢ã«ãŽãªãºã ã¯ããªãããç¥ãããŠãããããã€ãã¯ççŽãªãšããŸããã¯ã§ãã ãããããããã¯ãŸãã«ç§ã«ãšã£ãŠèå³æ·±ããšæãããã¢ã«ãŽãªãºã ã§ãã ããããã©ããã§åŒ·èª¿ãããŠããã®ã¯éåžžã®ããšã§ã¯ãªãã§ãããã
ãã«ããšç·šéãããŠãããapashkovaã«æè¬ããŸãã
ãã£ãŒãããã¯ãšææ¡ãäºåã«ããããšãããããŸãã
UPDïŒ
ã©ãã¿ãŒã®ã¢ããã€ã¹ã§ã ç§ã¯èŠåãæçš¿ããŸãã
泚æïŒ äžèšã®ã¢ã«ãŽãªãºã ã®å€ãã¯å®å šã§ã¯ãªããæ代é ããªã©ã§ãã®ã§ããããã®äœ¿çšã¯å®å šã«ããªãã®è¯å¿ã«ãšã©ãŸããŸãã å°æ¥çã«ã¯ãåé¡ã®æçµæ±ºå®æã«ãå®å šæ§ãŸãã¯ãã®æ¬ åŠã瀺ãã¡ã¢ãåã¢ã«ãŽãªãºã ã«çŽæ¥è¿œå ãããŸãã
å®å®è¹ã®é¡åå
ããã§ãããç¥ãããŠããæå·ã¢ã«ãŽãªãºã ã§ã¯ãªããã®ãå«ãèšäºã玹ä»ããŸãã ç§ãã¡ã¯ããã®èšäºãé©æ°çãŸãã¯ãŠããŒã¯ãªãµããããªãããšãçä¿ããŸãã ããããã¯ã€ãã¯ãªãã¡ã¬ã³ã¹ãšããŠã誰ããããããµã€ããªãŒãã£ã³ã°ãšåŒã¶ããšããããŸãã æå·åã¢ã«ãŽãªãºã ã«ã¯ãããšãã°æ¬¡ã®ãããªããŸããŸãªåé¡ããããŸãã

䟿å®äžãããŒã®æ°ã«å¿ããŠã°ã«ãŒãã«åããŠäœ¿çšããŸãã
- ããŒã¬ã¹KA-èšç®ã«ããŒã䜿çšããªãã§ãã ããã
- åäžããŒKA-1ã€ã®ããŒãã©ã¡ãŒã¿ãŒïŒç§å¯ããŒïŒã§åäœããŸãã
- 2ããŒå®å®è¹-äœæ¥ã®ããŸããŸãªæ®µéã§ã2ã€ã®ããŒãã©ã¡ãŒã¿ã䜿çšããŸããç§å¯ããŒãšå ¬éããŒã§ãã
çšèªïŒ
- ãªãŒãã³ïŒãœãŒã¹ïŒããã¹ã -æå·åã䜿çšããã«éä¿¡ãããããŒã¿ïŒå¿ ãããããã¹ãã§ã¯ãªãïŒã
- æå·åããã¹ããæå·åãããïŒéããïŒããã¹ã -æå·ã·ã¹ãã ã®äœ¿çšåŸã«ååŸãããããŒã¿ïŒéåžžãæå®ãããããŒã䜿çšïŒã
- ããŒã¯ãæå®ãããããã¹ãã®ç¹å®ã®å€æã®éžæã決å®ããæå·ãã©ã¡ãŒã¿ã§ãã çŸä»£ã®æå·ã§ã¯ãæå·ã®æå·åŒ·åºŠã¯å®å šã«ããŒã®æ©å¯æ§ã«ãã£ãŠæ±ºãŸããŸãïŒKirkhoffsã®åçïŒã
- æå·ãæå·ã·ã¹ãã -å¹³æããæå·åãžã®å¯éå€æã®ãã¡ããªãŒã
- æå·åã¯ãã¢ã«ãŽãªãºã ãšããŒã«åºã¥ããå¹³æã®æå·å€æã®éåžžã®äœ¿çšã®ããã»ã¹ã§ãããæå·åãããããã¹ãããããããŸãã
- 埩å·åã¯ãæå·åãããããã¹ããæå·åããŠå€æããŠéãéåžžã®ããã»ã¹ã§ãã
- é察称æå·ã2ããŒæå·ãå ¬éããŒæå·-æå·åãšåŸ©å·åã®2ã€ã®ããŒã䜿çšãããæå·ã ããã«ãæå·åããŒã®ã¿ãç¥ã£ãŠãããšãã¡ãã»ãŒãžã解èªã§ããŸããã
- å ¬ééµã¯ãèªç±ã«é åžãããé察称ã·ã¹ãã ã®2ã€ã®éµã®1ã€ã§ãã ç§å¯ã®éä¿¡ã®ããã®æå·åãšåŸ©å·å-é»å眲åçšã
- ç§å¯éµã§ããç§å¯éµã¯ãç§å¯ã«ä¿æãããé察称ã·ã¹ãã ã®2ã€ã®éµã®1ã€ã§ãã
- æå·è§£èªã¯ãæ å ±ã®æ©å¯æ§ãšæŽåæ§ã䟵害ããæ°åŠçæ¹æ³ãç 究ããç§åŠã§ãã
- Cryptanalyst-æå·è§£èªæ³ãäœæããã³é©çšããç§åŠè ã
- æå·æ»æ -æ»æãåããå®å šãªæ å ±äº€æã·ã¹ãã ã«éžè±ãåŒãèµ·ããæå·è§£èªè ã«ããè©Šã¿ã æåããæå·æ»æã¯ããããã³ã°ãŸãã¯æ¹ãããšåŒã°ããŸãã
- 埩å·åïŒåŸ©å·åïŒ -æ¢ç¥ã®æå·åã«åºã¥ããŠæå·åããŒãç¥ããã«ãã¬ãŒã³ããã¹ããæœåºããããã»ã¹ã 埩å·åãšããçšèªã¯ãéåžžãæå·æã®æå·è§£èªããã»ã¹ã«é¢é£ããŠäœ¿çšãããŸãïŒæå·è§£èªèªäœã¯ãäžè¬çã«èšãã°ãæå·åããããªãŒãã³ã¡ãã»ãŒãžã ãã§ãªããæå·ã·ã¹ãã ã®åæã«ãå«ãŸããŸãïŒã
- æå·åŒ·åºŠã¯ãæå·ã¢ã«ãŽãªãºã ãæå·è§£æã«èããèœåã§ãã
- æš¡å£ã®ä¿è· -åœæ å ±ã®è³Šèª²ã«å¯Ÿããä¿è·ã ã€ãŸããããã¹ãã¯éãããŸãŸã§ããã誀ã£ãŠãŸãã¯æå³çã«å€æŽãããŠããªãããšã確èªããããšãå¯èœã«ãªããŸãã éåžžãæš¡å£ä¿è·ã¯ãéä¿¡ãããããŒã¿ã®ãã±ããã«æš¡å£ãå«ããããšã«ãã£ãŠå®çŸãããŸãã
- æš¡é æ¿å ¥ -ããŒãšããŒã¿ã«å¿ããŠãæš¡é ä¿è·ã«äœ¿çšãããæ å ±ãããã¯ã
- é»åããžã¿ã«çœ²åãŸãã¯é»å眲åã¯ãé察称ã®æ¿å ¥ã§ãïŒã»ãã¥ãªãã£ããŒã¯æ€èšŒããŒãšã¯ç°ãªããŸãïŒã èšãæãããšã審æ»å®ãåœé ã§ããªããããªæš¡é æ¿å ¥ç©ã§ãã
- 蚌ææ©é¢ãšã¯ããã®å®å šæ§ãåŠå®ã§ãããå ¬éããŒãåºãç¥ãããŠããå£äœã§ãã 蚌ææ©é¢ã®é»å眲åã«ãããå ¬éããŒã®ä¿¡é Œæ§ã確èªãããŸãã
- ããã·ã¥é¢æ°ã¯ãä»»æã®é·ãã®ã¡ãã»ãŒãžãåºå®é·ã®æ°å€ïŒãç³ã¿èŸŒã¿ãïŒã«å€æããé¢æ°ã§ãã æå·åããã·ã¥é¢æ°ïŒæ±çšããã·ã¥é¢æ°ãšã¯å¯Ÿç §çã«ïŒã®å Žåãéé¢æ°ãèšç®ããå ±éã®ããã·ã¥é¢æ°ãæã€2ã€ã®ã¡ãã»ãŒãžãèŠã€ããããšããå°é£ã§ãã
ããŒã¬ã¹KA
md2 / 4/5/6
MD2ã¯ã1989幎ã«Ronald Rivestã«ãã£ãŠéçºãããRFC 1319ã§èª¬æãããŠããæå·åããã·ã¥é¢æ°ã§ããã¡ãã»ãŒãžã¯å ¥åã§ä»»æã®é·ãã§ãã ããã·ã¥ãµã€ãºã¯128ãããã§ãã
Braindamagedmanããã€ãŠMD5ãšMD6ã«ã€ããŠæžããããã« ïŒ
MD5ã¢ã«ãŽãªãºã ã¯ãã€ãŠéåžžã«äººæ°ããããŸãããããããã³ã°ã®æåã®åææ¡ä»¶ã¯90幎代åŸåã«çŸããçŸåšã§ã¯ãã®äººæ°ã¯æ¥éã«äœäžããŠããŸãã
MD6ã¢ã«ãŽãªãºã ã¯ãæ§é çãªèŠ³ç¹ããéåžžã«èå³æ·±ãã¢ã«ãŽãªãºã ã§ãã 圌ã¯SHA-3ã³ã³ãã¹ãã«ããããŒããããŸããããæ®å¿µãªããšã«ãäœè ã«ã¯ãããæ¡ä»¶ä»ããæéããªãããã®ã¢ã«ãŽãªãºã ã¯ç¬¬2ã©ãŠã³ãã«åæ Œããåè£è ã®ãªã¹ãã«ã¯å«ãŸããŠããŸããã
ã¿ã€ã¬ãŒ
1995幎ã«Ros AndersonãšEli Bihamã«ãã£ãŠéçºãããæå·ããã·ã¥é¢æ°ã Tigerã¯ãç¹ã«64ãããã³ã³ãã¥ãŒã¿ãŒã§é«éã«åäœããããã«èšèšãããŠããŸãã Tigerã«ã¯ç¹èš±ã®å¶éã¯ãããŸãããåç §å®è£ ãšãã®ä¿®æ£ã®äž¡æ¹ã§èªç±ã«äœ¿çšã§ããŸãã ããã·ã¥å€ã¯192ãããïŒTiger / 192ïŒã§ãããSHA-1ïŒTiger / 160ïŒããã³MD4ãMD5ãRIPEMDãSnefruïŒTiger / 128ïŒãšã®äºææ§ã®ããã®çãããŒãžã§ã³ããããŸãã é床ã¯132 Mbit / sã§ãïŒåäžã®Alpha 7000ããã»ããµãŒãã¢ãã«660ã§ãã¹ãæžã¿ïŒã ææ°ã®ããã»ããµã§ã¯ãã¯ããã«é«éã§ãïŒ32ãããAMD Sempron 3000+ã§ã®ãã¹ãã§ããé床ã¯çŽ225ã¡ã¬ããã/ç§ã§ãïŒã
Tiger2ã®2çªç®ã®ããŒãžã§ã³ãå®è£ ãããŸãããããã¯ãMD5 / SHA-1ãšåæ§ã®å¥ã®ãããè¿œå ã¢ã«ãŽãªãºã ã®ã¿ãã¡ã€ã³ããŒãžã§ã³ãšç°ãªããŸãã ãã¹ããã¯ã¿ãŒã¯Tiger2ã§å©çšå¯èœã§ãã
Sha-1 / 2
æå·åããã·ã¥ã¢ã«ãŽãªãºã ã RFC 3174ã«èšè¿°ãããŠããŸããä»»æã®é·ãïŒæ倧22 ^ 64-1ããããããã2ãšã¯ãµãã€ãã«çããïŒã®å ¥åã¡ãã»ãŒãžã®å Žåãã¢ã«ãŽãªãºã ã¯ã¡ãã»ãŒãžãã€ãžã§ã¹ããšãåŒã°ãã160ãããã®ããã·ã¥å€ãçæããŸãã å€ãã®æå·åã¢ããªã±ãŒã·ã§ã³ããã³ãããã³ã«ã§äœ¿çšãããŸãã ãŸããç±³åœã®æ¿åºæ©é¢ã®ãã©ã€ããªãšããŠãæšå¥šãããŸãã SHA-1ã®æ ¹åºã«ããååã¯ãMD4ã®èšèšã§ããã«ããªãã¹ãã䜿çšããŠãããã®ãšäŒŒãŠããŸãã
SHA-3
Joan DimenãRijndaelã®å ±èè ãæå·MMBãSHARKãNoekeonãSQUAREãBaseKingã®èè ãçããèè ã°ã«ãŒãã«ãã£ãŠéçºãããå¯å€ãããããã·ã¥ã¢ã«ãŽãªãºã ã 2012幎10æ2æ¥ã«ãKeccakã¯ãç±³åœåœç«æšæºæè¡ç 究æã«ãã£ãŠéå¬ãããæå·ã¢ã«ãŽãªãºã ã³ã³ãã¹ãã®åè ã«ãªããŸããã 2015幎8æ5æ¥ã«ãã¢ã«ãŽãªãºã ã¯FIPS 202æšæºãšããŠæ¿èªããã³å ¬éãããŸããããœãããŠã§ã¢ã§ã¯ãèè ã¯Intel Core 2ããã»ããµãæèŒããPCã§å®è¡ãããš1ãã€ãããã12.5ãµã€ã¯ã«ã宣èšããŸããã SHA-3ã¢ã«ãŽãªãºã ã¯ãæå·åã¹ãã³ãžã®åçã«åºã¥ããŠæ§ç¯ãããŠããŸãã
Ripemd
ã«ãŒãã³ã«ããªãã¯å€§åŠã§ããã³ã¹ãããŒãã£ã³ãã¢ã³ãã³ããã»ã©ãŒã¹ãããŒããã¬ãã«ïŒããŒããã¬ãã«ïŒã«ãã£ãŠéçºãããæå·ããã·ã¥é¢æ°ã ä»»æã®å ¥åã¡ãã»ãŒãžã®å Žåãé¢æ°ã¯ã¡ãã»ãŒãžãã€ãžã§ã¹ããšåŒã°ãã160ãããã®ããã·ã¥å€ãçæããŸãã RIPEMD-160ã¯RIPEMDã®æ¹è¯çã§ãMD4ã®åçã䜿çšããããäžè¬çãªSHA-1ã«å¹æµããæ§èœãåããŠããŸãã
ã¢ã«ãŽãªãºã ã«ã¯ã察å¿ããååã®128ãããã256ãããã320ãããã®ããŒãžã§ã³ããããŸãã
ããã«
1992幎ã«Yuliang ZhengãJosef PieprzykãJennifer Seberryã«ãã£ãŠéçºãããæå·åããã·ã¥é¢æ°ã ä»»æã®å ¥åã¡ãã»ãŒãžã®å Žåãé¢æ°ã¯ã¡ãã»ãŒãžãã€ãžã§ã¹ããšåŒã°ããããã·ã¥å€ãçæããŸããããã¯ã128ã160ã192ã224ããŸãã¯256ãããé·ã§ãã å埩åæ°ã¯3ã5ã®å¯å€ã§ããåå埩ã§ã®ã©ãŠã³ãæ°ã¯32ã§ããããã¯MD5ã®ä¿®æ£ã§ãã
ãããåäžããŒã®å®å®è¹ã®æéã§ãã
ã¬ã€ã³ããŒã«
Advanced Encryption StandartãšãåŒã°ããã察称ãããã¯æå·åã¢ã«ãŽãªãºã ã 1ãããã¯ã®ãµã€ãºã AESã³ã³ãã¹ãã®çµæãšããŠç±³åœæ¿åºã«ãã£ãŠåãå ¥ãããã128ãããã128/192/256ããŒã
圌ã¯DESã¢ã«ãŽãªãºã ã眮ãæããŸããïŒããã«ã€ããŠã¯å°ãåŸã§ïŒã ä»æ§ã¯2001幎11æ26æ¥ã«å ¬éãããŸããã 2002幎5æ26æ¥ãæå·åæšæºãšããŠå®£èšãããŸããã 2009幎çŸåšãããã¯æãäžè¬çãªå¯Ÿç§°æå·åã¢ã«ãŽãªãºã ã®1ã€ã§ãã
èå³æ·±ãäºå®ãšããŠã128ããŒã¯340ããã³ecillionã®å¯èœãªçµã¿åãããæäŸããŸãã
DES
IBMãéçºãã1977幎ã«ç±³åœæ¿åºã«ãã£ãŠå ¬åŒã®æšæºãšããŠæ¿èªããã察称æå·åã®ã¢ã«ãŽãªãºã ïŒFIPS 46-3ïŒã DESã®ãããã¯ãµã€ãºã¯64ãããã§ãã ãã®ã¢ã«ãŽãªãºã ã¯ã16ãµã€ã¯ã«ïŒã©ãŠã³ãïŒã®Feistelãããã¯ãŒã¯ãš56ãããé·ã®ããŒã«åºã¥ããŠããŸãã ãã®ã¢ã«ãŽãªãºã ã¯ãéç·åœ¢ïŒSãããã¯ïŒããã³ç·åœ¢ïŒEãIPãIP-1ã®é åïŒå€æã®çµã¿åããã䜿çšããŸãã DESã«ã¯ããã€ãã®ã¢ãŒããæšå¥šãããŸãã
- ECBïŒè±èªã®é»åã³ãŒãããã¯ïŒ-ãé»åã³ãŒãããã¯ãã¢ãŒãïŒç°¡åãªäº€æïŒ;
- CBCïŒè±èªæå·ãããã¯é£éïŒ-ãããã¯çµåã¢ãŒãã
- CFBïŒè±èªæå·ãã£ãŒãããã¯ïŒ-æå·ããã¹ããã£ãŒãããã¯ã¢ãŒãã
- OFBïŒè±èªåºåãã£ãŒãããã¯ïŒ-åºåãã£ãŒãããã¯ã¢ãŒãã
- DESã®çŽæ¥éçºã¯çŸåšãããªãã«DESã¢ã«ãŽãªãºã ïŒ3DESïŒã§ãã 3DESã§ã¯ãDESã¢ã«ãŽãªãºã ã3åå®è¡ããããšã§æå·å/埩å·åãå®è¡ãããŸãã
MMBæå·
è±èªãã ã¢ãžã¥ã©ãŒä¹ç®ããŒã¹ã®ãããã¯æå·-ä¹ç®ã䜿çšããã¢ãžã¥ã©ãŒãããã¯æå·ïŒ-æéã°ã«ãŒãã§ã®ä¹ç®ã®æäœã«åºã¥ããããã¯æå·åã¢ã«ãŽãªãºã ã
æéã°ã«ãŒãä¹ç®æŒç®ïŒMMBïŒãããã¯æå·ã¯ã1993幎ã«Joan DimenãIDEAæå·ã®æ¹è¯ãšããŠéçºãããããã¯æå·ã§ãã ãã®æå·ã®äž»ãªé©æ°ã¯ãã°ã«ãŒãZ2n â 1ã®å·¡åä¹ç®ã®äœ¿çšã§ãã æå·ã®äœæè ã¯ãn = 32ã«ããããšãææ¡ãããããä¹ç®ã¯ã°ã«ãŒãZ4294967295ã§è¡ãããŸãã ãŸããæäœãå®è¡ãããåèªã®é·ãã¯nããã®å Žåã¯32ã§ããããšã«ã泚æããŠãã ããã ãã®æå·ãäœæãããšãã«è¿œæ±ãããäž»ãªç®æšã¯ãå·®åæå·è§£èªã«èæ§ã®ããæå·ãäœæããããšã§ããã ããŒã¹ã±ãžã¥ãŒã«ã®æ¬ ç¹ã¯Eli Bihamã«ãã£ãŠçºèŠãããŸãããããã¯ãæå·ãç·åœ¢æå·è§£èªããä¿è·ãããŠããªããšããäºå®ãšçµã¿åãããŠãä»ã®æå·ãããšãã°3-Wayæå·ã®äœ¿çšã«ã€ãªãããŸããã
ããŒã¹ãã³ã°
æå·åã«ãããŠãBaseKingã¯ã1994幎ã«Joan Daemenã«ãã£ãŠéçºããããããã¯æå·ã§ãã
圌ã¯3-WAYãšéåžžã«å¯æ¥ã«é¢é£ããŠããŸãã å®éããããã¯åãäžè¬çãªæå·åææ³ã®å€çš®ã§ãã
BaseKingã®ãããã¯ãµã€ãºã¯192ãããã§ã3ãŠã§ã€ã®2åã§ãã ããŒã®é·ãã192ãããã§ãã
Daemanã¯ã圌ã®è«æã§ããããã¯æå·ã®åºç¯ãªçè«ããããªãèªç±ã«éžæã§ããå€ãã®å¯éå€æã§æ§æãããããªãäžè¬çãªæå·ã¢ã«ãŽãªãºã ãšããŠæ瀺ããŸããã 圌ã¯ããã®äžè¬çãªã¹ããŒã ã®æ¢ç¥ã®æ»æã«å¯Ÿããã»ãã¥ãªãã£ã«ã€ããŠèª¬æããå¯å€ãã©ã¡ãŒã¿ãŒã®ç¹å®ã®éžæããæãæå·ã®2ã€ã®å ·äœäŸã瀺ããŸããã ãããã®æå·ã¯3-WAYãšBaseKingã§ãã BaseKingã¯ã3-WAYãšåãçš®é¡ã®æ»æãåãããããªã£ãŠããŸãã DaemaenãPeetersãããã³Van Asscheã¯ãç¹å®ã®BaseKingã®ãã®ãããªæ»æã«å¯Ÿããèæ§ãé«ããããã€ãã®æ¹æ³ãšãšãã«ãå·®ååæã«å¯Ÿããæœåšçãªè匱æ§ã瀺ããŸããã
ãã±ãªã³
Joan DimenãMichaëlPeetersãGilles Van AsscheãVincent Ramenã«ãã£ãŠèšèšãããNESSIEç 究ãããžã§ã¯ãã§çºè¡šããã2ã€ã®ãããã¯æå·ã®ãã¡ããªãŒã 2ã€ã®æå·ã¯ãçŽæ¥ã¢ãŒããšéæ¥ã¢ãŒãã®NOEKEONã§ãã ã¢ãŒãã¯ãããŒæ¡åŒµæé ã®ã¿ãç°ãªããŸãã
NOEKEONã®ããŒã®é·ãã¯128ãããã§ãã NOEKEONã¯åã©ãŠã³ãã§ãããèªäœã«éã®å€æã·ãŒã±ã³ã¹ã䜿çšããŸããããã¯ããµãŒãããŒãã£ã®ãã£ãã«ãä»ããæ»æã®å¯èœæ§ãããå Žåã§ããããŒããŠã§ã¢ãŸãã¯ãœãããŠã§ã¢ã§ç°¡åã«å®è£ ã§ããŸãã ãã®æå·ã¯ãããŸããŸãªããã°ã©ãã³ã°èšèªã§ã®å®è£ ãã³ã³ãã¯ãã§ãããŸããŸãªããŒããŠã§ã¢ã§è¿ éã«åäœããå¹ åºããã©ãããã©ãŒã ã§éåžžã«å¹æçã§ãã ããããNOEKEONã¯ã2001幎4æã«Lars KnudsenãšHÃ¥vardRaddumã«ãã£ãŠè¡ãããæå·è§£æã«ãã£ãŠç€ºãããWide Trail Design Strategyã®èŠä»¶ãæºãããŠããŸããã§ãããKnudsenãšRaddumã¯ããã®æå·ãé¢é£ããŒã«åºã¥ããŠæ»æãããå¯èœæ§ãããããšã瀺ããŸããã NESSIEãããžã§ã¯ãã
Noekeonã¢ã«ãŽãªãºã ã®äž¡æ¹ã®ã¢ãŒãã¯ãNESSIEã³ã³ãã¹ãã®äžéšãšããŠæ€èšã®ããã«åãå ¥ããããŸããã äž¡æ¹ã®ã¢ãŒãã¯ãæå·åŠè ã®Lars KnudsenãšHÃ¥vardRaddumã®ç 究ã§ææ¡ãããããŒããŒã¹ã®æ»æãåãããããªããŸããã ããã«ã圌ãã¯ãŸããã¬ã³ãæäœã§çœ®æããŒãã«ãäœæããããã®åºæºãã¢ã«ãŽãªãºã ã®é«ãæå·åŒ·åºŠã«å¯äžããªãããšã蚌æããŸããïŒçœ®æããŒãã«ãçæãããšããçŽ86ïŒ ã®ç¢ºçã§çµæã®ã¢ã«ãŽãªãºã ã¯ç·åœ¢ããã³/ãŸãã¯å·®åæå·è§£æã®å¯Ÿè±¡ãšãªããŸãã ãŸããé¢é£ããããŒãèŠã€ããå¯èœæ§ãéåžžã«é«ãããšã瀺ãããŠããŸãã ãããã®çç±ã¯ãNoekeonã¢ã«ãŽãªãºã ã第2ã©ãŠã³ããéãã®ã«ååã§ããããšãå€æããŸããã
Dfc
Decorrelated Fast Cipherã¯ã1998幎ã«ããªé«çåž«ç¯åŠæ ¡ãåœç«ç§åŠç 究ã»ã³ã¿ãŒïŒCNRSïŒã®æå·åŠè ãããã³æåãªæå·åŠè Serge Wodenayã®æå°ã®äžã§é信倧æã®France Telecomã«ãã£ãŠAESã³ã³ãã¹ãã«åå ããããã«äœæããããããã¯å¯Ÿç§°æå·ã¢ã«ãŽãªãºã ã§ãã PEANUTïŒn-Universal Transformationã䜿çšããããªãã£æå·åã¢ã«ãŽãªãºã ïŒãã¡ããªãŒã®æå·ã«å±ããŸãã
8ã©ãŠã³ãã®Feistelãããã¯ãŒã¯ãè¡šã128ãããé·ã®ãããã¯ãæã€ãããã¯æå·ã
1ã€ã®ãœãŒã¹æå·åããŒããååŸãã8ã€ã®ç°ãªã128ãããã©ãŠã³ãããŒãåãã64ãããæå·åæ©èœã䜿çšããŸãã æå·åæ©èœã¯ãåã©ãŠã³ãã§ããœãŒã¹ããã¹ãïŒãããã¯ïŒã®å·Šååãšã察å¿ããã©ãŠã³ãã®ååã§ãã2ã€ã®64ãããããŒã䜿çšããŠã64ãããæå·åããã¹ããååŸããŸãã çµæã®æå·åããããããã¯ã®å·Šååãå³ã«è¿œå ãããŸãã 次ã«ãFeistelãããã¯ãŒã¯ã®ã¢ã€ãã¢ã«åŸã£ãŠããããã¯ã®å·Šå³ã®éšåã亀æãããŸãã 埩å·åã¯ãã©ãŠã³ãããŒãéã®é åºã§äœ¿çšããæå·åãšåãæ¹æ³ã§è¡ãããŸãã å ã®æå·åããŒã®é·ãã¯ãAES競åã«ãã£ãŠæäŸããã3ã€ã®åºå®ãµã€ãºïŒ128ã192ãããã³256ãããïŒã«éå®ãããã0ã256ãããã®å¯å€ãµã€ãºã«ããããšãã§ããŸãã
çµã¿ç«ãŠäŸïŒ
void madd(u4byte acc[4], u4byte x[1], u4byte y[1])
{ __asm {
__asm mov ecx,x
__asm mov edx,y
__asm mov eax,[ecx]
__asm mov ecx,[edx]
__asm mul ecx
__asm mov ebx,acc
__asm xor ecx,ecx
__asm add [ebx],eax
__asm adc [ebx+4],edx
__asm adc [ebx+8],ecx
__asm adc [ebx+12],ecx
}
};
#endif
å°æ°ç¹
Decimã¯ãCom BerbainãOliver BillletãAnn CantuãNicolas CourtoisãBlandin DebreãHenry GilbertãLouis GubinãAlin GougeãLouis GranbulanãCederic LardouãMarin MinierãThomas Porninããã³Erv Sibã«ãã£ãŠéçºãããRSLOSããŒã¹ã®ã¹ããªãŒã æå·ã§ãã ããŒããŠã§ã¢å®è£ ã«ç¹åã ç¹èš±ãååŸããŠããŸãã 圌ã¯eSTREAMãããžã§ã¯ãã§çŽ¹ä»ãããŸãããã3çªç®ã®ã¹ããŒãžãè¶ ããããšã¯ãããŸããã§ããã
æå·ã®æãéèŠãªèŠä»¶ã¯ãããŸããŸãªçš®é¡ã®æ»æã«å¯Ÿããèæ§ã§ãã 代æ°æ»æã¯ãæå·ãã¹ããªãŒãã³ã°ããããã®æãæ·±å»ãªã»ãã¥ãªãã£è åšã®1ã€ã§ãã ç§å¯éµãããã®çµã¿åãããšããã«ãã£ãŠçæãããã¬ã³ããããã®æ¯çãåçŽãŸãã¯äºæž¬ããããå Žåãç§å¯éµãããã®çµã¿åãããšããŒã¹ããªãŒã ãããïŒã¬ã³ãïŒã®éã®ä»£æ°çäŸåé¢ä¿ãèŠã€ããããšãç°¡åãªäœæ¥ã§ãã ç§å¯éµã®ãããã®çµã¿åããïŒãŸãã¯ç§å¯éµã«ãã£ãŠçæãããRSLOCã®åæç¶æ ã®ãããã®çµã¿åããïŒãšéµã¹ããªãŒã ã®ãããïŒã¬ã³ãïŒã®é¢ä¿ãè€éã«ããããã«ãç§å¯éµã®ãããã®çµã¿åããããã®éç·åœ¢ãã£ã«ã¿ãªã³ã°é¢æ°ãšãç§å¯éµã®ãããã®çµã¿åãããšéµã¹ããªãŒã ã®ãããïŒã¬ã³ãïŒéã®éåæåã¡ã«ããºã ã䜿çšãããŸãïŒ ãããã®ã¡ã«ããºã ïŒéç·åœ¢ãã£ã«ã¿ãªã³ã°æ©èœãšRSLOCããããšããŒã¹ããªãŒã ãããã®çµã¿åããã®éã®éåæã¡ã«ããºã ïŒã¯äž¡æ¹ãšããäœæ¥ã®åºç€ã§ãããDecimæå·ã®æå·è§£èªæ»æãé²æ¢ããäž»ãªæ段ã§ãã
Decimã¹ããªãŒã æå·ã¯ã80ãããã®ç§å¯ããŒãš64ãããã®å ¬éããŒïŒåæåãã¯ãã«ïŒã§å§ãŸããŸãã 次ã«ããããKãšãããIVã®ç¹å®ã®ç·åœ¢çµåã䜿çšããéç·åœ¢ãã£ã«ã¿ãªã³ã°é¢æ°Fã䜿çšããABSGãµã³ããªã³ã°ã¡ã«ããºã ãé©çšããŠã192ãããRSLOSã®åæç¶æ ãèšç®ãããŸãã ããããã¹ãŠã®æäœãå®è¡ããåŸãããŒãããŒã®çæãéå§ãããŸãã z = ïŒ z t ïŒ| T > > 0 é£ç¶çãªãããåºåãæäŸããããã«äœ¿çšãããç¹å¥ãªãããã¡ãããã¡ã§ãããåããŸã z t æå·ã®åºåã«ããã¬ãŒã³ããã¹ãæåã®ãã€ããªã·ãŒã±ã³ã¹ã§2ãæ³ãšããŠå ç®ãããŸãã
ããããŒ
ã¹ããªãŒã æå·åã¢ã«ãŽãªãºã ã ãã®ã¢ã«ãŽãªãºã ã«ã¯ãããŒé·ã80ãããïŒMICKEYïŒãš128ãããïŒMICKEY-128ïŒã®2ã€ã®ããªã¢ã³ãããããŸãã 2005幎ã«ãªãœãŒã¹ãéãããã·ã¹ãã ã§äœ¿çšããããã«Steve BabbageãšMatthew Doddã«ãã£ãŠéçºãããŸããã ãã®ã¢ã«ãŽãªãºã ã«ã¯ãé«åºŠãªã»ãã¥ãªãã£ãåããã·ã³ãã«ãªããŒããŠã§ã¢å®è£ ããããŸãã ã·ããã¬ãžã¹ã¿ã®äžèŠåãªã¯ãããã³ã°ãšãååã«é·ãæéãšæ¬äŒŒã©ã³ãã ããŒã·ãŒã±ã³ã¹ããã³æ»æã«å¯Ÿããèæ§ãæäŸããæ°ããæ¹æ³ã䜿çšããŸãã MICKEYã¢ã«ãŽãªãºã ã¯ãeCRYPTã³ãã¥ããã£ãäž»å¬ããeSTREAMã³ã³ãã¹ãã«åå ããŸããã ã¢ã«ãŽãªãºã ã®çŸåšã®ããŒãžã§ã³ã¯2.0ã§ãã 圌女ã¯ãããŒããŠã§ã¢å®è£ ã®ã¹ããªãŒã æå·ãšããŠeCRYPTããŒããã©ãªãªã«å ¥ããŸããã
1ã€ã®ãã¢ïŒKãIVïŒã䜿çšããŠååŸãããããŒã·ãŒã±ã³ã¹ã®æ倧é·ã¯240ãããã§ãã ãã ããIVãæ°ããã·ãŒã±ã³ã¹ããšã«ç°ãªãããã«éžæãããŠããã°ã1ã€ã®Kã䜿çšããŠ240åã®ãã®ãããªã·ãŒã±ã³ã¹ãååŸããããšãã§ããŸãã
SC2000
2000幎ã«å¯å£«éãšæ±äº¬å€§åŠãéçºãã察称ãããã¯æå·ã¢ã«ãŽãªãºã ã ãã®ã¢ã«ãŽãªãºã ã¯ã128ããããããã¯ãš128ã256ãããé·ã®ããŒã䜿çšããŸãïŒAESæšæºãšäºææ§ããããäžè¬çãªããŒé·-128/192/256ããµããŒãããŸãïŒã 2003幎ã«CRYPTRECå§å¡äŒã«ãã£ãŠæ¥æ¬ã®æ¿åºæ©é¢ã§ã®äœ¿çšãæšå¥šãããŸãããã2013幎ã«ã¯æšå¥šæå·ã®ãåè£ããªã¹ãã«ç§»åãããŸããã 圌ã¯ããã·ãŒã³ã³ãã¹ãã«åå ããŸããããæ»æã«ååãªæµæåã瀺ããŸãããã第2ã©ãŠã³ãã«ã¯åå ããŸããã§ããããã®çç±ã¯ãè€éãããæ§é ãšé ããè匱æ§ã®å¯èœæ§ã«å¯Ÿããææã§ãã
SC2000ã¯ãæ··åæ§é ã®æå·ã§ããFeistelãããã¯ãŒã¯ãšçœ®æé åãããã¯ãŒã¯ã®èŠçŽ ã䜿çšããŸãã ã¢ã«ãŽãªãºã ã¯ã6.5ïŒ128ãããããŒã®å ŽåïŒããã³7.5ïŒ192ã256ãããé·ã®ããŒã®å ŽåïŒã®æå·åã©ãŠã³ããå®è¡ããŸãã åã©ãŠã³ãã¯ãã«ãã¯ã¢ããããŒãã«ãžã®ã¯ãšãªãããŒã®è¿œå ãããã³ããŒã¬ã¹ã®2ã©ãŠã³ãFeistelãããã¯ãŒã¯ã§æ§æãããŸãã
3ã€ã®çœ®æããŒãã«ã䜿çšãããŸããFeistelãããã¯ãŒã¯ã§ã¯ãåã©ãŠã³ãã®éå§æã«4x4ãããã®S-Boxã䜿çšããã5x5ããããš6x6ãããã䜿çšãããŸãã
SC2000ã¢ã«ãŽãªãºã ã®ããŒæ¡åŒµã¯ã2ã€ã®æ®µéã§å®è¡ãããŸããäžéããŒãç§å¯ã®å¯Ÿç§°ããŒããçæããã次ã«æ¡åŒµããŒã®å¿ èŠãªæ°ã®ãã©ã°ã¡ã³ããäžéããŒããèšç®ãããŸãã
æå·ã®1ã©ãŠã³ãã¯éåžžã«è€éã§ã次ã®æäœã§æ§æãããŠããŸããå ¥å128ãããå€ã¯ã32ãããã®4ã€ã®ãµããããã¯ã«åå²ãããããããXORæäœã§æ¡åŒµããŒã®32ããããã©ã°ã¡ã³ããéãåãããŸãã æäœTãå®è¡ãããããŒã¿ãããã¯ããããã4ãããã®32åã®ãµããããã¯ã«åå²ãããŸãã
å4ããããµããããã¯ã¯ã次ã®ãããªS4ã«ãã¯ã¢ããããŒãã«ãééããŸããïŒ2,5,10,12,7,15,1,11,13,6,0,9,4,8ââ,3,14ïŒ
次ã«ãããŒã¿ãããã¯ã¯ãæäœTã®éã®æäœT 'ã䜿çšããŠ32ãããã®ãµããããã¯ã«åå²ãããŸããXORæäœã¯ãæ¡åŒµããŒã®ä»ã®4ã€ã®ãã©ã°ã¡ã³ããéãåãããŸãã ãµããããã¯ã®æåã®ãã¢ã®å€ã¯ãé¢æ°Fã®å ¥åã«è»¢éãããŸãããã®é¢æ°ã®çµæãšããŠã2ã€ã®32ãããå€ãååŸãããXORæŒç®ã«ãã£ãŠæåã®2ã€ã®ãµããããã¯ã«éããããŸãã ãµããããã¯ã®æåã®ãã¢ã¯ãµããããã¯ã®2çªç®ã®ãã¢ãšäº€æãããæåŸã®å€æã¹ããããç¹°ãè¿ãããŸãã
RC4
ARC4ãŸãã¯ARCFOURïŒRC4ãšåŒã°ããŸãïŒãšããŠãç¥ãããŠããã®ã¯ãã³ã³ãã¥ãŒã¿ãŒãããã¯ãŒã¯ã®ããŸããŸãªæ å ±ã»ãã¥ãªãã£ã·ã¹ãã ïŒSSLããã³TLSãããã³ã«ãWEPããã³WPAã¯ã€ã€ã¬ã¹ã»ãã¥ãªãã£ã¢ã«ãŽãªãºã ãªã©ïŒã§åºã䜿çšãããŠããã¹ããªãŒã æå·ã§ãã
ãã®æå·ã¯RSA Securityã«ãã£ãŠéçºããããã®ã§ããã䜿çšããã«ã¯ã©ã€ã»ã³ã¹ãå¿ èŠã§ãã
RC4ã¢ã«ãŽãªãºã ã¯ãã¹ããªãŒã æå·ãšåæ§ã«ãæ¬äŒŒã©ã³ãã ããããžã§ãã¬ãŒã¿ãŒã«åºã¥ããŠããŸãã ããŒã¯ãžã§ãã¬ãŒã¿ãŒã®å ¥åã«æžã蟌ãŸããæ¬äŒŒã©ã³ãã ãããã¯åºåã§èªã¿åãããŸãã ããŒã®é·ãã¯40ã2048ãããã§ãã çæããããããã®ååžã¯åäžã§ãã
æå·ã®äž»ãªå©ç¹ïŒ
- äœæ¥ã®é«éå;
- å¯å€ããŒãµã€ãºã
RC4ã¯æ¬¡ã®å Žåã«éåžžã«è匱ã§ãã
- éã©ã³ãã ãŸãã¯é¢é£ããŒã䜿çšãããŸãã
- 1ã€ã®ããŒã¹ããªãŒã ã2å䜿çšãããŸãã
ãããã®èŠå ãšãã®äœ¿çšæ¹æ³ã«ãããæå·ã·ã¹ãã ãå®å šã§ãªããªãå¯èœæ§ããããŸãïŒWEPãªã©ïŒã
Illivionã®ãããªãå®è£ ã
CïŒå®è£
using System; using System.Linq; namespace RC4_Testing { public class RC4 { byte[] S = new byte[256]; int x = 0; int y = 0; public RC4(byte[] key) { init(key); } // Key-Scheduling Algorithm // private void init(byte[] key) { int keyLength = key.Length; for (int i = 0; i < 256; i++) { S[i] = (byte)i; } int j = 0; for (int i = 0; i < 256; i++) { j = (j + S[i] + key[i % keyLength]) % 256; S.Swap(i, j); } } public byte[] Encode(byte[] dataB, int size) { byte[] data = dataB.Take(size).ToArray(); byte[] cipher = new byte[data.Length]; for (int m = 0; m < data.Length; m++) { cipher[m] = (byte)(data[m] ^ keyItem()); } return cipher; } public byte[] Decode(byte[] dataB, int size) { return Encode(dataB, size); } // Pseudo-Random Generation Algorithm // private byte keyItem() { x = (x + 1) % 256; y = (y + S[x]) % 256; S.Swap(x, y); return S[(S[x] + S[y]) % 256]; } } static class SwapExt { public static void Swap<T>(this T[] array, int index1, int index2) { T temp = array[index1]; array[index1] = array[index2]; array[index2] = temp; } } }
RC5
RSA Security Inc.ã®Ron Rivestãèšèšãããããã¯æå· å¯å€æ°ã®ã©ãŠã³ãããããã¯é·ãããŒé·ã§ã ããã«ãããç¯å²ãæ¡åŒµãããã¢ã«ãŽãªãºã ã®ãã匷åãªããŒãžã§ã³ãžã®ç§»è¡ãç°¡çŽ åãããŸãã
ã¯ã©ã·ãã¯RC5ã®ãããŒãã©ãŠã³ããã®å€æããããã«å€æŽãããã¢ã«ãŽãªãºã ã«ã¯ãããã€ãã®ç°ãªãããŒãžã§ã³ããããŸãã å€å žçãªã¢ã«ãŽãªãºã ã¯ã3ã€ã®åºæ¬æŒç®ãšãã®å転ã䜿çšããŸãã
- ã¢ãžã¥ãå ç®
- ãããããšã®æä»çORïŒXORïŒ
- å¯å€ãããæ°ã«ãã埪ç°ã·ããæŒç®ã
äž»ãªã€ãããŒã·ã§ã³ã¯ã以åã®æå·åã¢ã«ãŽãªãºã ã§ã¯äœ¿çšãããŠããªãã£ãå¯å€ãããæ°ã§ã®ã·ããæäœã®äœ¿çšã§ãã ãããã®æäœã¯ã»ãšãã©ã®ããã»ããµã§åæ§ã«è¿ éã«å®è¡ãããŸãããåæã«ã¢ã«ãŽãªãºã ã®å·®åããã³ç·åœ¢æå·è§£æãå€§å¹ ã«è€éã«ããŸãã
RC5æå·åã¯2ã€ã®ã¹ãããã§æ§æãããŸãã ããŒæ¡åŒµæé ãšæå·åãçŽæ¥ã 埩å·åã®å ŽåãããŒæ¡åŒµæé ãæåã«å®è¡ããã次ã«æå·åæé ãšå察ã®æäœãå®è¡ãããŸãã
ããã
2003幎2æã«ç¬¬10åFSEã·ã³ããžãŠã ã§åããŠå°å ¥ãããé«éã¹ããªãŒã æå·ã 2005幎5æã«ã圌ã¯ã€ã³ã©ã€ã³æå·åã·ã¹ãã ã®ãšãŒãããæšæºãäœæããããšãç®çãšããeStreamã³ã³ãã¹ãã«éãããŸããã
ãŠãµã®ã®éçºè ã¯ãMartin BoesgaardãMette VesteragerãThomas PedersenãJesper ChristiansenãOve Scaveniusã§ãã
Rabbitã¯128ãããããŒãš64ãããåæåãã¯ãã«ã䜿çšããŸãã ãã®æå·ã¯ãæå·åé床ãéãããããœãããŠã§ã¢ã§äœ¿çšããããã«èšèšãããŸããã åæã«ãæå·åé床ã¯ãPentium 3ããã»ããµã§ã¯1ãã€ãããã3.7ãµã€ã¯ã«ïŒCPBïŒãARM7ã§ã¯1ãã€ãããã10.5ãµã€ã¯ã«ã«éããå¯èœæ§ããããŸãã ãã ããæå·ã¯ããŒããŠã§ã¢ã§å®è£ ãããå Žåãé«éã§ã³ã³ãã¯ãã§ããããšã蚌æãããŸããã
æå·ã®äž»èŠãªã³ã³ããŒãã³ãã¯ãå埩ããšã«128ã¡ãã»ãŒãžããããæå·åãããããã¹ããªãŒã ãžã§ãã¬ãŒã¿ãŒã§ãã æå·ã®å©ç¹ã¯ã2ã€ã®é£ç¶ããå埩éã§å éšç¶æ ãå®å šã«æ··åããããšã§ãã ããã·ã³ã°æ©èœã¯ãææ°ã®ããã»ããµã§äœ¿çšå¯èœãªç®è¡æŒç®ã«å®å šã«åºã¥ããŠããŸããã€ãŸããæå·ãå®è£ ããããã«S眮æãããã¯ãšã«ãã¯ã¢ããããŒãã«ã¯å¿ èŠãããŸããã
æå·ã®äœæè ã¯ãCrypticoããŒã ããŒãžã§æè¡çãªèª¬æã®å®å šãªã»ãããæäŸããŸããã æå·ã¯RFC 4503ã«ãèšèŒãããŠããŸããCrypticoã¯æå·ç¹èš±ãä¿æããŠãããé·å¹Žã«ããã£ãŠåçšç®çã§æå·ã䜿çšããã«ã¯ã©ã€ã»ã³ã¹ãå¿ èŠã§ããã ãã ãã2008幎10æ6æ¥ã«ã¯ãã³ãŒããããããç®çã§ç¡æã§äœ¿çšããããšãèš±å¯ãããŸããã
ãã¥ãŒãã¹
æå·åã«ãããŠããããŒãã»ã¹ã³ããã1985幎ã«DESæšæºã®ä»£æ¿ãšããŠéçºãã察称ãããã¯æå·åã¢ã«ãŽãªãºã ã120ãããã®å®å šãªããŒãµã€ãºã§ããä¿¡é Œæ§ã®é«ãæå·ãå®è£ ããŸãã
NewDESã¯æŽŸçåããããŸãããå®å šã«ç°ãªãæ§é ãæã¡ãDESãããã¯ããã«åçŽã§ãããã°ã©ã ã§ç°¡åã«å®è£ ã§ãããããåäœã®é åã¯å«ãŸããŸããããã¹ãŠã®æäœã¯ãã€ãã§å®è¡ãããŸãã ãã®ã¢ã«ãŽãªãºã ã¯256èŠçŽ ã®çœ®æããŒãã«ã䜿çšãã1åã®ã©ãŠã³ãã§8ã®å ç®æŒç®ãã¢ãžã¥ã2ã§å®è¡ãããé¢æ°Fã䜿çšãã眮æ-眮æããŒãã«ã䜿çšãã眮æãå®è¡ãããŸãã
åçã®äž»èŠãªã¹ã±ãžã¥ãŒã«ã¯ããªã匱ããNewDES-96çã§ä¿®æ£ãããŸããã å€æããããã«ãNewDESã¢ã«ãŽãªãºã ã¯DESã¢ã«ãŽãªãºã ãããæå·è§£èªã«å¯Ÿããèæ§ãäœããªããŸãããNewDES-96ã«å¯Ÿãããã«ãŒããã©ãŒã¹æ»æã¯ã»ãšãã©äžå¯èœã§ããããã®ãšãã£ã·ã§ã³ã®ã¢ã«ãŽãªãºã ã¯ã¯ããã«å®å šã§ãã
ãµã«ãµ20
Daniel Bernshteinãéçºããã€ã³ã©ã€ã³æå·åã·ã¹ãã ãã®ã¢ã«ãŽãªãºã ã¯ãeSTREAMã³ã³ãã¹ãã§çºè¡šãããŸããããã®ç®çã¯ãã¡ãŒã«ã·ã¹ãã ã«ãã£ãŠéä¿¡ãããããŒã¿ã®æå·åã«é¢ãã欧å·æšæºãäœæããããšã§ããã ãã®ã¢ã«ãŽãªãºã ã¯ãæåã®ãããã¡ã€ã«ïŒé«åž¯åå¹ ã®ãœãããŠã§ã¢ã¢ããªã±ãŒã·ã§ã³ã®ã¹ããªãŒã æå·ïŒã§ç«¶äºã«åã¡ãŸããã
Salsa20æå·ã¯æ¬¡ã®æäœã䜿çšããŸãã
- 32ãããæ°ã®è¿œå ã
- 2ãæ³ãšãããããå ç®ïŒxorïŒ;
- ãããã·ããã
ãã®ã¢ã«ãŽãªãºã ã¯ã20ã«ãŒãã®ããã·ã¥é¢æ°ã䜿çšããŸãã ãã®äž»ãªå€æã¯ãAESã¢ã«ãŽãªãºã ã«äŒŒãŠããŸãã
ãœã»ããã¯
Sosemanukã¯ããããã¡ã€ã«1ã®ãã¹ããªãŒã æå·ããªããã£ãã®ECRYPTã³ãŒã«ãã«ãããšãæ°ãã察称ãœãããŠã§ã¢-æåã¹ããªãŒã æå·ã§ãã ããŒã®é·ãã¯128ã256ãããã§ãã åæå€ã¯128ãããã«èšå®ãããŠããŸãã äŒãããããšããã§ã¯ãããŒã®é·ãã¯128ãããä¿è·ã«éããŸãã Sosemanukæå·ã¯ãSNOW 2.0ã¹ããªãŒã æå·ã®åºæ¬ååãšããããã¯æå·SERPENTãã掟çããããã€ãã®å€æã®äž¡æ¹ã䜿çšããŸãã Sosemanukã¯ãã»ãã¥ãªãã£ãšæå¹æ§ã®äž¡æ¹ã®ç¹ã§SNOW 2.0ãæ¹åããããšãç®æããŠããŸãã ç¹ã«ãç°¡åãªIVã»ããã¢ããæé ã䜿çšããŸãã ãŸããããã€ãã®ã¢ãŒããã¯ãã£ïŒãã©ãããã©ãŒã ïŒã®ããã©ãŒãã³ã¹ãåäžãããããã«ãéçããŒã¿ã®æ°ãæžããå¿ èŠããããŸãã
Sosemanukæå·ã¯ãSNOW 2.0ã¹ããªãŒã æå·ã®åºæ¬ååïŒãéªã-è±èªã®ãéªãïŒãšããããã¯æå·SERPENTïŒãSERPENTã-è±èªã®ãèãïŒãã掟çããããã€ãã®å€æã®äž¡æ¹ã䜿çšããŸãã ãã®ããããã®ååã¯ãããšéªã®äž¡æ¹ã«é¢é£ä»ããå¿ èŠããããŸãã ããããéªèã¯å¬ã«ã¯ç ãã«ã€ããæããæ°åã«ç§»åãããããéªèã¯ååšããªãããšã¯ããç¥ãããŠããŸãã ããã«ããœã»ããã¯ã¯ãã«ããæ±éšã®éšæã«ååžãã人æ°ã®ããã¹ããŒãã§ãã ã²ãŒã ã®ã¢ã€ãã¢ã¯ãéªã®å€ã海岞ã«æšè£œã®æ£ãã§ããéãæã蟌ãããšã§ãã ååã¯äººã ã®æ¹èšã«ç±æ¥ããéªã®äžã®æ£ãšèãšã®æ¯èŒãå«ãŸããŠããŸãã ãKwakweco-cime winãã¯ãã®ã²ãŒã ã®ååã®1ã€ã§ãããæå·ã®ååã«ã¯ãµãããããããŸããã
ããªããŠã
察称åæã¹ããªãŒãã³ã°æå·åã¢ã«ãŽãªãºã ãäž»ã«ãäœæ¥é床ãšèŠçŽ æ°ã®ãã©ã³ã¹ãæè»ãªããŒããŠã§ã¢å®è£ ã«çŠç¹ãåœãŠãŠãããããªãå¹æçãªãœãããŠã§ã¢å®è£ ã®å¯èœæ§ããããŸãã
ãã®æå·ã¯ã欧å·ãããžã§ã¯ãeSTREAMã®ããŒããã©ãªãªã®äžéšãšããŠã2008幎12æã«å°å ¥ãããŸããããããã¡ã€ã«2ïŒããŒããŠã§ã¢æåã®æå·ïŒã æå·ã®äœæè ã¯ã¯ãªã¹ããã»ãã»ã«ããšãšããŒãã»ãã¬ãã«ã§ãã
ãã®ã¹ããªãŒã æå·ã¯ãæ倧㧠2 64 ããŒã®80ããããšIVïŒåæåãã¯ãã«ïŒã®80ãããã®åºåã¹ããªãŒã ã®ãããã ããã¯eSTREAMãããžã§ã¯ãã®æãåçŽãªæå·ã§ãããæå·ã®å®å®æ§ã«åªããçµæã瀺ããŠããŸãã
Triviumã¯ã軜éã¹ããªãŒã æå·ãšããŠISO / IEC 29192-3æšæºã«å«ãŸããŠããŸãã
Triviumã®åæç¶æ ã¯ãåèš288ãããã®3ã€ã®ã·ããã¬ãžã¹ã¿ã§ãã åãµã€ã¯ã«ã§ãã·ããã¬ãžã¹ã¿ã®ãããã¯ããã€ã¬ã¯ããšãã£ãŒãããã¯ã®éç·åœ¢ã®çµã¿åããã«ãã£ãŠå€æŽãããŸãã æå·ãåæåããã«ã¯ãããŒKãšåæåãã¯ãã«IVã2 of 3ã¬ãžã¹ã¿ã«æžã蟌ãŸããã¢ã«ãŽãªãºã ã4x288 = 1152åå®è¡ãããŸããããã«ãããããŒã®åããããšåæåãã¯ãã«ã®åãããã«å¯Ÿããåæç¶æ ã®åãããã®äŸåæ§ãä¿èšŒãããŸãã
åæåã¹ããŒãžãééããåŸãåã¯ããã¯ãµã€ã¯ã«ã§ããŒã¹ããªãŒã Zã®æ°ããã¡ã³ããŒãçæããã次ã®ããã¹ãã¡ã³ããŒãšXORããã·ãŒãžã£ãå®è¡ããŸãã 埩å·åæé ã¯éã®é åºã§è¡ãããŸããæå·æã®åã¡ã³ããŒã¯ãããŒã¹ããªãŒã Zã®åã¡ã³ããŒãšXORããã·ãŒãžã£ãæž¡ããŸãã
VMPC
ããã¯ãã³ã³ãã¥ãŒã¿ãŒãããã¯ãŒã¯ã®äžéšã®æ å ±ä¿è·ã·ã¹ãã ã§äœ¿çšãããã¹ããªãŒã æå·ã§ãã æå·ã¯ãæå·äœæè BartoszultakïŒããŒã©ã³ãèªãBartoszŻóÅtakãè±èªãBartoszZoltakïŒã«ãã£ãŠã人æ°ã®æå·RC4ã®æ¡åŒµããŒãžã§ã³ãšããŠéçºãããŸããã VMPCã¢ã«ãŽãªãºã ã¯ãã¹ããªãŒã æå·ãšåæ§ã«ãããŒã«ãã£ãŠãã©ã¡ãŒã¿ãŒåãããæ¬äŒŒã©ã³ãã ããããžã§ãã¬ãŒã¿ãŒã«åºã¥ããŠæ§ç¯ãããŸãã RC4ãªã©ã®æå·ã®äž»ãªå©ç¹ã¯ãé«éãå¯å€ããŒãµã€ãºãåæåãã¯ãã«ïŒ128ã512ããããå«ãïŒãå®è£ ã®å®¹æãïŒæåéãæ°åè¡ã®ã³ãŒãïŒã§ãã
æå·ã®åºç€ã¯æ¬äŒŒä¹±æ°ãžã§ãã¬ãŒã¿ã§ããããã®ããŒã¹ã¯äžæ¹åã®äžå¯éé¢æ°VMPCïŒEngãVariably Modified Permutation CompositionïŒã§ãã
ã«ãšã«
ã³ã¹ã¿ãªã«ã®äŒç€ŸTecApro Internacionalã«ãã£ãŠéçºããããéæ£çµ±çãªæ§é ã®å¯Ÿç§°ãããã¯æå·åã¢ã«ãŽãªãºã ãã¢ã¡ãªã«AESã³ã³ãã¹ãã®åå è ã®1人ã
FROGã¢ã«ãŽãªãºã ã¯ã1998幎ã«ãã©ãã³ã¢ã¡ãªã«ã®å°ããªã³ã¹ã¿ãªã«å·ïŒä»¥åã¯æå·æè¡ã®éçºã§ã¯äžæã§ããïŒã®Tecnologia ApropriadaïŒTesArgoïŒã®3人ã®å°é家ã«ãã£ãŠäœæãããŸããïŒDianelos GeorgoudisãDamian Lerouv JillpyïŒDamian LerouxïŒBiess and Besãµã€ã¢ã³ã»ãã£ãã¹ïŒã
競äºã®ããã«çºè¡šãããæå·ããŒãžã§ã³ã¯ãAESèŠä»¶ã«æºæ ããŠããã128ãããã«çãããããã¯ãšã128ã192ããŸãã¯256ãããé·ã®ããŒãæã£ãŠããŸãã ã¢ã«ãŽãªãºã èªäœã¯ãçè«çã«ã¯ã40ã1000ãããã®é·ãã®ããŒãèš±å¯ããŸãã
ã³ãŒãFROGã¯ãã³ã¹ã¿ãªã«ã§ç»é²ãããåœéäŒæ¥TecApro Internacionalã«ãã£ãŠç«¶äºã«åããããŸããã ã¢ã«ãŽãªãºã ã®éçºè ã¯ãæå·åã®äžçã§ã¯ããŸãç¥ãããŠããªãD. GeorgoudisãDãLerouxãããã³B. Chavesã§ãã èè ã«ãããšãFROGã¯ãéæ£çµ±çãªæ§é ãæã€æ°ããæå·ãã§ãã æå·ã®åŒ·åºŠã®åºç€ã¯è€éãªèšèšã®ç§å¯ã®å éšããŒã§ãããæå·å/埩å·åæäœèªäœã¯éåžžã«ç°¡åã§ãã
8æã«ãTWOFISHããŒã ïŒWagnerãFergusonãããã³SchneierïŒã¯ãFROGæå·ããŒãçŽ257ã®äººä»¶è²»ã§éãããšãã§ããããšã瀺ããŸããã
æå·ã®åŒ·åºŠã«é¢ããŠã¯ããã®ææšãæ€èšŒããã®ã¯ã¯ããã«å°é£ã§ãã NIST Webãµã€ãã§ã®æåã®ã©ãŠã³ãã®äºåè©äŸ¡æ®µéã§ãAES2äŒè°ã§çŽæ¥ãã»ãšãã©ãã¹ãŠã®åè£æå·ã®è©å€ãäœããã®åœ¢ã§ãå·ã€ãããããªãã®æ°ã®æå·è§£æçµæãæ瀺ãããŸããã ãã ããæ瀺çãªéšå€è LOKIãFROGãMAGENTAãããã³HPCã«ã€ããŠè©±ããªãå Žåãã¢ã«ãŽãªãºã ã®æãããªåŒ±ç¹ã¯èŠã€ãããŸããã§ããã
ããã·ã¥
ãã·ã¢ã®äŒç€ŸLAN Cryptoã®ããã«Anatoly LebedevãšAlexei Volchkovã«ãã£ãŠéçºããããããã¯å¯Ÿç§°æå·åã¢ã«ãŽãªãºã ã
NUSHã«ã¯ãç°ãªããããã¯ãµã€ãºïŒ64ã128ã256ãããïŒãç°ãªãã©ãŠã³ãæ°ïŒãããã¯ãµã€ãºã«å¿ããŠ36ã128ããŸãã¯132ã©ãŠã³ãïŒã®ããã€ãã®ç°ãªããªãã·ã§ã³ãããã128ã192ããŸãã¯256ãããã®ããŒé·ã䜿çšããŸãã ã¢ã«ãŽãªãºã ã¯Sãããã¯ã䜿çšãããANDãORãXORãã¢ãžã¥ãå ç®ãå·¡åã·ãããªã©ã®æŒç®ã®ã¿ã䜿çšããŸãã æåã®ã©ãŠã³ãã®åãšæåŸã®ã©ãŠã³ãã®åŸãããŒã¯ãçœãããããŸãã
ãã®ã¢ã«ãŽãªãºã ã¯NESSIEãããžã§ã¯ãã§ææ¡ãããŸããããéžæãããŸããã§ãããããã¯ãç·åœ¢æå·è§£èªããã«ãŒããã©ãŒã¹æ»æãããå¹æçã§ããããšã瀺ãããããã§ãã
æå·åã¢ã«ãŽãªãºã ã«åºã¥ããŠãä»ã®ã¢ã«ãŽãªãºã ãæ§ç¯ã§ããŸãã ãããã®ããã€ãã¯ãã®èšäºã§æŠèª¬ãããŠããŸãã
REDOC
1990幎ã«Michael Woodã«ãã£ãŠCryptechçšã«éçºãããREDOC IIãšããååã®å¯Ÿç§°ãããã¯æå·ã¢ã«ãŽãªãºã ããã¹ãŠã®æäœ-眮æã眮æãXORã¯ãã€ãã§å®è¡ããããããããã°ã©ã ã§å¹æçã«å®è£ ã§ããŸããã¢ã«ãŽãªãºã ã¯ãããŒãã«é¢æ°ã®å€æŽã䜿çšããŠãããŒãšãœãŒã¹ã®ãã¬ãŒã³ããã¹ãäŸåããŒãã«ã®ã»ããïŒSãããã¯ïŒã䜿çšããŸããã¢ã«ãŽãªãºã ã¯ããã¹ã¯ã®äœ¿çšãåºå¥ããŸããããŒããŒãã«ããååŸããçªå·ããã¹ã¯ã¯ãç¹å®ã®ã©ãŠã³ãã®ç¹å®ã®é¢æ°ã®ããŒãã«ãéžæããããã«äœ¿çšãããŸãããã®å Žåããã¹ã¯å€ãšããŒã¿å€ã®äž¡æ¹ã䜿çšãããŸãã
ããŒãéãæãå¹æçãªæ¹æ³ã¯ãã«ãŒããã©ãŒã¹ã§ã;ç®æšãéæããã«ã¯2160åã®æäœãå¿ èŠã§ããã»ãŒå¯äžã®å¹æçãªæå·è§£æã¯ãThomas Kuzikã«ããã¢ã«ãŽãªãºã ã®ã©ãŠã³ãã®1ã€ãéãããšã§ãããããã以äžã®ã©ãŠã³ãã«æ¡åŒµããããšã¯ã§ããŸããã§ããã 2300ã®ãªãŒãã³ããã¹ãã®å©ããåããŠã4ã©ãŠã³ã3ã®ãã¹ã¯å€ãååŸãããåŸãShamirãšBihamã«ããã©ãŠã³ãã®1ã€ã®æå·è§£æãå®è¡ãããŸããããããã¯æåããªãã£ããããçŸæç¹ã§ã¯ã¢ã«ãŽãªãºã ã¯æå·ãšèŠãªãããŸãã
ãŸããMichael Woodãäœæããã¢ã«ãŽãªãºã ã®å€§å¹ ã«ç°¡çŽ åãããããŒãžã§ã³ã§ããREDOC IIIããããŸãã 80ããããããã¯ã䜿çšãããããŒã®é·ãã¯å¯å€ã§ããã20,480ãããã«éããå¯èœæ§ããããŸããé åãšçœ®æã¯é€å€ããããããã¯ãšããŒã«å¯Ÿãããã¹ãŠã®æäœã¯XORã®äœ¿çšã®ã¿ã«åºã¥ããŠããŸãããã®ãããæå·åé床ãå€§å¹ ã«åäžããå·®åæå·è§£èªã«å¯Ÿããèæ§ãæãªãããŸãããã®ã¢ã«ãŽãªãºã ã¯ããã©ã€ããŒãããŒã«åºã¥ããŠçæããã256åã®10ãã€ãããŒãšãXOR 128 10ãã€ãããŒã«åºã¥ããŠååŸããã2ã€ã®10ãã€ããã¹ã¯ãããã¯ã«åºã¥ããŠããŸãã REDOC IIIã¢ã«ãŽãªãºã ã®äž¡æ¹ã®ãã¹ã¯ãæ£åžžã«å埩ããã«ã¯ã223ã®å¹³æãå¿ èŠã§ãããã®ã¢ã«ãŽãªãºã ã¯ã·ã³ãã«ã§é«éã§ãã 33ã¡ã¬ãã«ãããã»ããµ80386ã§ã¯ã2.75 Mbpsã®é床ã§ããŒã¿ãæå·åããŸãã REDOC IIæå·åã·ã¹ãã ã¯ã20 MHzã®ã¯ããã¯åšæ³¢æ°ã§800 kbpsãæå·åã§ããŸãã
REDOC IIã¢ã«ãŽãªãºã ãšãã®ç°¡æããŒãžã§ã³ã¯ãç±³åœã§ç¹èš±ãååŸããŠããŸãã
äžæ¹
ããã¯ãRijndaelã¢ã«ãŽãªãºã ïŒAESãšåŒã°ããããšãããïŒã®äœæè ã®1人ã§ããJoan Daemanã«ãã£ãŠéçºããããç§å¯éµã䜿çšãã察称ãããã¯æå·ã§ãã
3-Wayã¢ã«ãŽãªãºã ã¯11ã¹ãããã®SPãããã¯ãŒã¯ã§ãã96ãããã®ãããã¯ãšããŒã䜿çšãããŸããæå·åã¹ããŒã ã¯ãSPãããã¯ãŒã¯ãªã©ã®ã¢ã«ãŽãªãºã ã«äžè¬çã§ããããã«ãå¹æçãªããŒããŠã§ã¢å®è£ ã䌎ããŸãã
å ¬éåŸãŸããªãã3ãŠã§ã€ã¢ã«ãŽãªãºã ã®æå·è§£æãæåããé¢é£ããŒã«åºã¥ãæ»æã«å¯Ÿããè匱æ§ã瀺ãããŸãããã¢ã«ãŽãªãºã ã¯ç¹èš±ãååŸããŠããŸããã
ãã°
å¯å€ããŒé·ã®ãããã¯å¯Ÿç§°æå·åãå®è£ ããæå·åã¢ã«ãŽãªãºã ã1993幎ã«ãã«ãŒã¹ã·ã¥ãã€ã¢ãŒã«ãã£ãŠèšèšãããŸãããããã¯Feistelãããã¯ãŒã¯ã§ããXORã眮æãå ç®ãªã©ã®ç°¡åã§é«éãªæäœã§å®è¡ãããŸããç¹èš±ããªãèªç±ã«é åžãããŸãã
Blowfishãç»å Žããåã¯ãæ¢åã®ã¢ã«ãŽãªãºã ã¯ç¹èš±ãååŸããŠããããä¿¡é Œæ§ãäœããäžéšã¯ç§å¯ã«ãããŠããŸããïŒããšãã°ãSkipjackïŒããã®ã¢ã«ãŽãªãºã ã¯ãæ§åŒã®DESããã³ç¹èš±ååŸæžã¿ã®IDEAã«ä»£ããè¿ éãã€ç¡æã®ä»£æ¿æ段ãšããŠã1993幎ã«Bruce Schneierã«ãã£ãŠéçºãããŸãããèè ã«ãããšãBlowfishã®èšèšåºæºã¯æ¬¡ã®ãšããã§ãã
- é床ïŒ32ãããããã»ããµã§ã®æå·åã¯26ãµã€ã¯ã«ã§çºçããŸãïŒ;
- åçŽæ§ïŒã¢ã«ãŽãªãºã ã®å®è£ ã«ããããšã©ãŒã®å¯èœæ§ãæžããåçŽãªæäœã®äœ¿çšã«ããïŒ;
- ã³ã³ãã¯ãïŒ5 KBæªæºã®ã¡ã¢ãªã§åäœããèœåïŒ;
- ã«ã¹ã¿ã ã»ãã¥ãªãã£ïŒå¯å€ããŒé·ïŒã
ã¢ã«ãŽãªãºã ã¯ãããŒæ¡åŒµãšããŒã¿æå·åã®2ã€ã®éšåã§æ§æãããŠããŸããããŒæ¡åŒµã®æ®µéã§ãå ã®ããŒïŒæ倧448ãããé·ïŒã¯ã18åã®32ããããµãããŒãš256åã®èŠçŽ ãå«ã4åã®32ãããSãããã¯ã«å€æãããŸããåä¿¡ããããŒã®åèšéã¯ïŒ18 + 256 â 4 ïŒâ 32 = 33344 b ããã³tïŒ18 + 256 â 4 ïŒâ 32 = 33344ããããŸãã¯4168ãã€ãã
ãã£ã¹ã
å€ãã®æå·ä¿è·è£œåãç¹ã«PGPãšGPGã®äžéšã®ããŒãžã§ã³ã§äœ¿çšãããŠããFeistelãããã¯ãŒã¯ãããã¯å¯Ÿç§°æå·åã¢ã«ãŽãªãºã ã¯ãã«ããæ¿åºã«ãã䜿çšãæ¿èªãããŠããŸãã
ãã®ã¢ã«ãŽãªãºã ã¯ã1996幎ã«ä»ã®CAST-256ã¢ã«ãŽãªãºã ïŒAESåè£ã¢ã«ãŽãªãºã ïŒã§ã䜿çšãããŠããCASTæå·æ§ç¯æ¹æ³ã䜿çšããŠãCarlisle AdamsãšStafford Tavaresã«ãã£ãŠäœæãããŸããã
CAST-128ã¯ã12ããããŸãã¯16ã©ãŠã³ãã®Feistelãããã¯ãŒã¯ã§æ§æããããããã¯ãµã€ãºã¯64ããããããŒã®é·ãã¯40ã128ãããã§ãïŒãã ããå¢åã¯8ãããã®ã¿ã§ãïŒãããŒãµã€ãºã80ããããè¶ ããå Žåã16ã©ãŠã³ãã䜿çšãããŸãããã®ã¢ã«ãŽãªãºã ã¯ããã³ãé¢æ°ãXORæŒç®ãã¢ãžã¥ã©ãŒæŒç®ïŒã¢ãžã¥ã©ãŒå ç®ããã³æžç®ïŒã«åºã¥ãã8x16 Sãããã¯ã䜿çšããŸããã©ãŠã³ãé¢æ°ã«ã¯3ã€ã®ç°ãªãã¿ã€ãããããŸãããæ§é ã¯äŒŒãŠãããç°ãªãå Žæã§å®è¡ããæäœïŒå ç®ãæžç®ããŸãã¯XORïŒã®éžæã®ã¿ãç°ãªããŸãã
CAST-128ã¯Entrustã®ç¹èš±ã«ãã£ãŠä¿è·ãããŠããŸãããåçšãŸãã¯éåçšç®çã§äžçäžã§ç¡æã§äœ¿çšã§ããŸãã
CASTã¯ãå·®åããã³ç·åœ¢æå·è§£èªã«èæ§ããããŸãã CASTã¢ã«ãŽãªãºã ã®åŒ·ã¿ã¯ãSãããã¯ã«ãããŸãã CASTã«ã¯åºå®Sãããã¯ããªããã¢ããªã±ãŒã·ã§ã³ããšã«åæ§ç¯ãããŸãã CASTã®ç¹å®ã®å®è£ çšã«äœæãããSãããã¯ã¯äºåºŠãšå€æŽãããŸãããã€ãŸããSãããã¯ã¯å®è£ ã«äŸåããããŒã«äŸåããŸããã Northern Telecomã¯ãMacintoshã³ã³ãã¥ãŒã¿ãŒãPCãããã³UNIXã¯ãŒã¯ã¹ããŒã·ã§ã³çšã®EntrustãœãããŠã§ã¢ããã±ãŒãžã§CASTã䜿çšããŠããŸãã圌ããéžæããSãããã¯ã¯å ¬éãããŠããŸããããé©ãããšã§ã¯ãããŸããã
CAST-128ã¯Entrust TechnologiesãææããŠããŸãããåçšããã³éåçšã®äž¡æ¹ã§ç¡æã§äœ¿çšã§ããŸããCAST-256ã¯ç¡æã§ã¢ã¯ã»ã¹å¯èœãªCAST-128æ¡åŒµæ©èœã§ãæ倧256ãããã®ããŒãµã€ãºãåãå ¥ãã128ãããã®ãããã¯ãµã€ãºãæã¡ãŸããCAST-256ã¯ãAESã®æåã®åè£ã®1ã€ã§ããã
CAST-256ã¯ãCããã¯ã¹ãå«ãCAST-128ãšåãèŠçŽ ããæ§ç¯ãããŸããããããã¯ãµã€ãºã¯2åã«ãªãã128ãããã«çãããªããŸããããã¯ãæ¡æ£ç¹æ§ãšæå·ä¿è·ã«åœ±é¿ããŸãã
RFC 2612ã¯ãCAST-256ãåæ¥ç®çããã³éåæ¥ç®çã§äžçäžã§èªç±ã«äœ¿çšã§ãããšè¿°ã¹ãŠããŸãã
e2
æå·åã«ãããŠãE2ã¯1998幎ã«NTTãäœæããAESã³ã³ãã¹ãã«æåºãã察称ãããã¯æå·ã§ãã
ä»ã®AESåè£ãšåæ§ã«ãE2ã¯128ã192ããŸãã¯256ãããããŒã䜿çšããŠ128ããããããã¯ã§å®è¡ãããŸãã12ã©ãŠã³ãã®Feistelãããã¯ãŒã¯ã䜿çšããŸããE2ã«ã¯ãã¢ãžã¥ã©ãŒä¹ç®ã䜿çšãããããªå ¥åãšåºåã®å€æå€æããããŸãããã©ãŠã³ãé¢æ°èªäœã¯XORæŒç®ãšSããã¯ã¹æ€çŽ¢ã®ã¿ã§æ§æãããŠããŸããåäžã®8Ã8ãããSããã¯ã¹ã¯ãæéäœGFïŒ28ïŒäžã§X127ã®ã¹ãä¹ã«é¢æ£çã«äžæããã¢ãã£ã³å€æã§æ§æãããŠããŸããNTTã¯ãE2ã®å€ãã®ç¹å¥ãªæ©èœãCamelliaã§æ¡çšããŠãããæ¬è³ªçã«E2ã«çœ®ãæããããŠããŸãã
Twofish
ãããã¯ãµã€ãº128ããããããŒé·256ããããŸã§ã®å¯Ÿç§°ãããã¯æå·åã¢ã«ãŽãªãºã ãã©ãŠã³ãæ°16ããã«ãŒã¹ã»ã·ã¥ãã€ã¢ãŒçããå°é家ããŒã ã«ãã£ãŠéçºãããŸããã圌ã¯ãAESã³ã³ããã£ã·ã§ã³ã®ç¬¬2ã¹ããŒãžã®5ã€ã®ãã¡ã€ããªã¹ãã®1人ã§ããããã®ã¢ã«ãŽãªãºã ã¯ãBlowfishãSAFERãããã³Squareã¢ã«ãŽãªãºã ã«åºã¥ããŠéçºãããŠããŸãã
ã¢ã«ãŽãªãºã ã®ç¹åŸŽã¯ãäºåã«èšç®ãããããŒäŸåã®çœ®æããŒãã®äœ¿çšãšãæå·åãµãããŒãå±éããããã®è€éãªã¹ããŒã ã§ããnãããæå·åããŒã®ååã¯æå·åããŒèªäœãšããŠäœ¿çšããããã1ã€ã¯ã¢ã«ãŽãªãºã ãå€æŽããããã«äœ¿çšãããŸãïŒäº€æããŒãã¯ããã«äŸåããŸãïŒã
Twofishã¯ãAESã®NISTã®èŠä»¶ãšæšå¥šäºé ãæºããããã«ç¹å¥ã«èšèšãããŸããã
- 128ããããããã¯å¯Ÿç§°æå·
- ããŒã®é·ã128ã192ãããã³256ããã
- 匱ãããŒã®æ¬ åŠ
- ( 32- )
- ( , , - . .).
- â .
ããããã¢ã«ãŽãªãºã ã®æ§é ã®è€éãããããã£ãŠã匱ãããŒãŸãã¯é ããããªã³ã¯ã®åæã®è€éããããã³ã»ãšãã©ã®ãã©ãããã©ãŒã ã®Rijndaelãšæ¯èŒããŠããªãé ãå®è¡æéã¯ã圌ã®å¥œæãçºæ®ããŸããã§ããã
Twofishã¢ã«ãŽãªãºã ã¯ã128ãããå ¥åãããã¯ã®Blowfishã¢ã«ãŽãªãºã ãå€æŽããããšããçµæçããŸãããæ°ããã¢ã«ãŽãªãºã ã¯ãããŒããŠã§ã¢ã§ç°¡åã«å®è£ ããïŒããå°ããããŒãã«ã®äœ¿çšãå«ãïŒãããé«åºŠãªããŒã¹ã±ãžã¥ãŒã«æ¡åŒµã·ã¹ãã ãæã¡ãç¬èªã®æ©èœFã
æã€ããšã«ãªããŸããããã®çµæãã¢ã«ãŽãªãºã ã¯4ã€ã®ãã©ã³ããæã€æ··åFeistelãããã¯ãŒã¯ãšããŠå®è£ ãããŸãããã¢ãããŒã«æå·å€æïŒPseudo-Hadamar TransformãPHTïŒã䜿çšããŠçžäºã«å€æŽããŸãã
ææ°ã®ïŒåœæïŒ32ãããããã»ããµïŒããã³ã¹ããŒãã«ãŒããåæ§ã®ããã€ã¹ïŒã§å¹æçã«å®è£ ã§ããå¯èœæ§ã¯ãTwofishéçºè ãå°ãéèŠãªååã®1ã€ã§ãã
ããšãã°ãé¢æ°Fã§ã¯ãPHTãèšç®ããŠããŒKã®äžéšãè¿œå ããå ŽåãåŸæ¥ã®xorã®ä»£ããã«æå³çã«è¿œå ã䜿çšãããŸããããã«ãããPentiumããã»ããµãââã¡ããªã®LEAããŒã ã䜿çšã§ããããã«ãªãã1ãµã€ã¯ã«ã§ã¢ãããŒã«å€æã®èšç®ãå¯èœã«ãªããŸãïŒT 0 + 2 T 1 + K 2 r + 9 ïŒm o d 2 32 â ïŒT 0 + 2 T 1 + K 2 r + 9 ïŒm o d 2 32 ïŒãã®å Žåãã³ãŒãã¯ç¹å®ã®å€ã«ã³ã³ãã€ã«ããå¿ èŠããããŸãããŒïŒã
Twofishã¢ã«ãŽãªãºã ã¯ç¹èš±ãååŸããŠããªããããè«æ±ãæ§é€ãªãã§èª°ã§ã䜿çšã§ããŸããå€ãã®æå·åããã°ã©ã ã§äœ¿çšãããŠããŸãããBlowfishã»ã©åºã䜿çšãããŠããŸããã
Xtea
TEAã¢ã«ãŽãªãºã ã®é倧ãªãšã©ãŒãæé€ããããã«èšèšããããããã¯æå·ã¢ã«ãŽãªãºã ãæå·éçºè ã¯ãDavid WheelerãšRoger NeedhamïŒã±ã³ããªããžå€§åŠã³ã³ãã¥ãŒã¿ãŒç§åŠéšïŒã§ãããã®ã¢ã«ãŽãªãºã ã¯ã1997幎ã«ãªãªãŒã¹ãããŠããªãæè¡ã¬ããŒãã§çºè¡šãããŸãããæå·ã¯ç¹èš±ãååŸããŠããŸãããã¡ã¢ãªèŠä»¶ãéåžžã«äœããå®è£ ã容æã§ãããããå€ãã®æå·åã¢ããªã±ãŒã·ã§ã³ãšå¹ åºãããŒããŠã§ã¢ã§åºã䜿çšãããŠããŸãã
TEAãšåæ§ã«ãæå·ã¯64ããããããã¯ã§ã®æäœã«åºã¥ããŠããã32ã®å®å šãªãµã€ã¯ã«ãæã¡ãåã©ãŠã³ãã«ã¯2ã©ãŠã³ãã®Feistelãããã¯ãŒã¯ããããŸããã€ãŸãã64ã©ãŠã³ãã®Feistelãããã¯ãŒã¯ã«ãªããŸãããã ããããè¯ãæ¡æ£ãéæããããã®ã©ãŠã³ãã®æ°ã¯ãããã©ãŒãã³ã¹ãæãªãã»ã©å¢ããããšãã§ããŸããããã«ãXTEAã§ã¯ãTEAãšåæ§ã«ã4ã€ã®32ãããã¯ãŒãK [0]ãK [1]ãK [2]ããã³K [3]ã§æ§æããã128ãããããŒã䜿çšãããŸãã XTEAã«ã¯ãéåžžã®æå³ã§ã®äž»èŠãªèšç»ã¢ã«ãŽãªãºã ã¯ãããŸãããåã©ãŠã³ãã§4ã€ã®ããŒã¯ãŒãã®ã©ãã䜿çšãããã決å®ããããã«ãå®æ°ÎŽ= 9E3779B916ãã¢ã«ãŽãªãºã ã§äœ¿çšãããŸãã TEAã§ã¯ããã®ãããªé åžã¯ãããŸããã TEAãšã®ãã1ã€ã®éãã¯ãæå·ã§äœ¿çšããããããæäœã®é åã§ãããããã®æ¹åã®ãããã§ãXTEAã¯TEAãšæ¯èŒããŠå€§ããªåé¡ãæ±ããŠããŸããããããåæã«ãTEAã¢ã«ãŽãªãºã ã®2ã€ã®äž»ãªæ¬ é¥ãæé€ããŸããã
TEAã®åããŒã¯ä»ã®3ã€ãšåçã§ããã€ãŸããéçºè ãæå³ããããã«ãæå¹ãªããŒã®é·ãã¯128ãããã§ã¯ãªã126ãããã§ãã
TEAã¯ãé¢é£ããããŒã«å¯Ÿããæ»æãåãããããªã£ãŠããŸãããã®ãããªæ»æã§ã¯ãéžæããããã¬ãŒã³ããã¹ãã223åã ãã§ãæéã®è€éãã¯232ã«ãªããŸãã
ãŠã§ã€ã¯
1993幎ã«David J Wheelerã«ãã£ãŠäœæãããèªåããŒã¹ããªãŒã æå·åã¢ã«ãŽãªãºã ãããã¯ãäžéãããã¯æå·åã䜿çšããæå·åã·ã¹ãã ã§ããäœæ¥æã«ã¯ãç¹°ãè¿ãããŒãã«ã®äœ¿çšãšå€§ããªç¶æ 空éã®ååšãå¿ èŠã§ããæå·ã®ç¯å²ã¯32ãããã¯ãŒãã䜿çšããCFBã¢ãŒãã§åäœããŸã-æå·åãããã·ãŒã±ã³ã¹ã®åã®ã¯ãŒãã¯ã次ã®çæã®åºç€ãšããŠæ©èœããŸãããŸããã¢ã«ãŽãªãºã ã¯256åã®32ãããã¯ãŒãã§æ§æãããS眮æãããã¯ã䜿çšããå®å®æ§ãé«ããŸãã
ã¢ã«ãŽãªãºã ã¯ãéžæããããœãŒã¹ããã¹ãã«å¯Ÿããæ»æããã³éžæãããæå·ããã¹ãã«å¯Ÿããæ»æã«å¯ŸããŠäžå®å®ã§ãã
ã«ããª
Capstoneãããžã§ã¯ãã®äžç°ãšããŠç±³åœåœå®¶å®å šä¿éå±ã«ãã£ãŠéçºããããããã¯æå·ãéçºåŸãæå·ã«é¢ããæ å ±ã¯åé¡ãããŸãããå ã ã¯ãã¯ãªãããŒãããã§ã®äœ¿çšãç®çãšããŠãããæ¿åºã®é»è©±ãããã¯ãŒã¯ãã¢ãã€ã«ããã³ã¯ã€ã€ã¬ã¹ãããã¯ãŒã¯ãä»ããŠéä¿¡ãããé³å£°æ å ±ãä¿è·ããŠããŸãããã¢ã«ãŽãªãºã ã¯åŸã«æ©å¯è§£é€ãããŸããã
Skipjackã¯ãCapstoneãããžã§ã¯ãã«ãã£ãŠææ¡ãããã€ãã·ã¢ããã®1ã€ã§ããããã®ãããžã§ã¯ãã¯ãç±³åœæ¿åºãè³éæäŸããåœå®¶å®å šä¿éå±ïŒNSAïŒãšç±³åœåœç«æšæºæè¡ç 究æïŒNISTïŒãäž»å°ããŸããããã®ã€ãã·ã¢ããã®æ£åŒãªéå§æ¥ã¯1993ã§ããæå·åã¢ã«ãŽãªãºã ã¯1980幎ã«éçºããããã®æåã®å®è£ ã¯1987幎ã«ååŸãããŸããããã®æå·ã¯ãä¿è·ãããæ©åšã«çµã¿èŸŒãŸããŠããClipperãããã§äœ¿çšããããã®ãã®ã§ãããåæã«ãSkipjackã¯ã¡ãã»ãŒãžã®æå·åã«ã®ã¿äœ¿çšãããèªèšŒæ©é¢ã«ãããã®åŸã®äœ¿çšã®å¯èœæ§ã®ããã®ããŒã®ä¿ç®¡-æå·ã®äœ¿çšã§æãè°è«ãããŠããåŽé¢-ã¯ãæ³å·è¡æ©é¢ã¢ã¯ã»ã¹ãã£ãŒã«ããšåŒã°ããå¥ã®ã¡ã«ããºã ã«ãã£ãŠéæãããŸããã
åœåããããžã§ã¯ãã¯åé¡ããããã®ããã«å€§ããªæ¹å€ãåããŸãããããã€ãã®åŠè¡ç 究è ã¯ãåœæ°ã®ä¿¡é Œãé«ããã¢ã«ãŽãªãºã ãè©äŸ¡ããããæ±ããããŸãããç¬ç«ãã培åºçãªç 究ã®æéãäžè¶³ããŠãããããå°é家ã¯ãNSAã«ãã£ãŠæ瀺ãããã¢ã«ãŽãªãºã éçºãšè©äŸ¡ããã»ã¹ã®èšè¿°ã®ç 究ã«éäžããŸãããããã«å ããŠã圌ãã¯1ã¶æã®éã«äžé£ã®å°ããªãã¹ããå®æœããŸããã圌ãã®ä»äºã«é¢ããäºåå ±åïŒæçµå ±åã¯ãããŸããã§ããïŒã¯ã3ã€ã®çµè«ã瀺ããŸããã
- 18ãæããšã«èšç®èœåã®ã³ã¹ããåæžããããšãèãããšã36幎åŸã«ã®ã¿ã培åºçãªæ€çŽ¢ã«ãã£ãŠSkipjackããããã³ã°ããã³ã¹ãã¯ãDESããããã³ã°ããã³ã¹ãã«å¹æµããŸãã
- å·®åæå·è§£èªãå«ãããé«éãªæ¹æ³ã䜿çšããŠæå·ãç Žããªã¹ã¯ã¯ç¡èŠã§ããŸããã¢ã«ãŽãªãºã ã«ã¯åŒ±ãããŒãšçžè£æ§ã®ããããã£ã¯ãããŸããã
- æå·è§£èªã«å¯ŸããSkipjackã®æµæã¯ãã¢ã«ãŽãªãºã èªäœã®æ©å¯æ§ã«äŸåããŸããã
ãã®ã³ãŒãã¯1998幎6æ24æ¥ã«å ¬éãããŸããã2016幎8æãNISTã¯æå·åæšæºã®äœ¿çšã«é¢ããæ°ããååãæ¡çšããæ¿åºã®ç®çã§Skipjackã¢ã«ãŽãªãºã ã®èªèšŒãç¡å¹ã«ããŸããã
Skipjackã¯ã80ãããããŒã䜿çšããŠ64ãããããŒã¿ãããã¯ãæå·å/埩å·åããŸããããã¯ã32ã©ãŠã³ãã®äžåè¡¡ãªFeistelãããã¯ãŒã¯ã§ãã
ãµã¡
SHARKã¢ã«ãŽãªãºã ã¯ããã«ã®ãŒã®ã«ãŒãã³ã«ããªãã¯å€§åŠã代衚ããä»ã®3人ã®å°é家ãšå ±åã§ãAESæšæºã®å°æ¥ã®èè ã§ããVincent RidgemanãšJoan Damenã«ãã£ãŠéçºãããŸãããããã¯Squareã¢ã«ãŽãªãºã ãããå°ãæ©ãéçºã§ããSHARKã¯1995幎ã«éçºãããŸãã
ãã¢ã«ãŽãªãºã ã¯128ãããããŒãš64ããããããã¯ã䜿çšããŸãã SHARKã¢ã«ãŽãªãºã ã«ã¯æ§ãããªãã©ã¡ãŒã¿ãŒããããæ¢åã®æå·ãIDEAãDESãªã©ã®64ããããããã¯ã«çœ®ãæããããã«èšèšãããŠããŸãã
SHARKæå·ã«ã¯ãSHARK-AïŒè±èªã¢ãã£ã³å€æïŒãšSHARK-EïŒè±èªexorïŒã®2ã€ã®ããªã¢ã³ãããããŸãã
æ»æã¯ã5ã©ãŠã³ãã®å€æŽãããããŒãžã§ã³ã®æå·ã«å¯ŸããŠã®ã¿è¡ãããŸããã¢ã«ãŽãªãºã èªäœã¯çŸæç¹ã§ã¯å®å šãšèŠãªãããšãã§ããŸãã
ãã®ã¢ã«ãŽãªãºã ã¯éçºãããããå®å šãªæ°ããKHAZADæå·ã®åºç€ã«ãªããŸãããRijndaelã¢ã«ãŽãªãºã ã¯ãSHARKæå·ãšãã®åå«ã®ã¢ã€ãã¢ã«åºã¥ããŠæ€èšããããšãã§ããŸãã
è
ãã¹ã»ã¢ã³ããŒãœã³ãã€ãŒã©ã€ã»ããã ãã©ãŒã¹ã»ã¯ããŒã»ã³ã«ãã£ãŠèšèšãããŸããã以åã®èè ã®éçºã®äžéšã¯ãåç©ã«ã¡ãªãã§åä»ããããŸãããããšãã°ãã¿ã€ã¬ãŒããã¢ãªã©ã§ãã
ãã®ã¢ã«ãŽãªãºã ã¯ãAESã³ã³ãã¹ãã®ç¬¬2ã¹ããŒãžã®æçµåè£ã®1ã€ã§ãããAESã³ã³ãã¹ãã«åå ããä»ã®ã¢ã«ãŽãªãºã ãšåæ§ã«ãSerpentã®ãããã¯ãµã€ãºã¯128ãããã§ãå¯èœãªããŒé·ã¯128ã192ããŸãã¯256ãããã§ãããã®ã¢ã«ãŽãªãºã ã¯ã4ã€ã®32ãããã¯ãŒãã®ãããã¯ã§åäœãã32ã©ãŠã³ãSPãããã¯ãŒã¯ã§ããSerpentã¯ã32åã®1ããããã¹ããªãŒã ãã䜿çšããŠãã¹ãŠã®æäœã䞊è¡ããŠå®è¡ã§ããããã«èšèšãããŸããã
Serpentã¯ä»ã®AESãã¡ã€ããªã¹ããããä¿å®çãªã¢ãããŒããæ¡çšããŠãããæå·èšèšè ã¯æ¢ç¥ã®ã¿ã€ãã®æå·è§£èªã«å¯Ÿæããã«ã¯16ã©ãŠã³ãã§ååã§ãããšèããŠããŸããããã¢ã«ãŽãªãºã ããŸã æªç¥ã®æå·è§£èªæ¹æ³ã«èããããããã«ã©ãŠã³ãã®æ°ã32ã«å¢ãããŸããã
AESã³ã³ãã¹ãã®ãã¡ã€ããªã¹ãã«ãªã£ãSerpentã¢ã«ãŽãªãºã ã¯ãæ祚ã®çµæã2äœã«ãªããŸããã
èã¯ç¹èš±ãååŸããŠãããããããªãã¯ãã¡ã€ã³ã§ãã
ãã®ã¢ã«ãŽãªãºã ã¯ãAESã³ã³ãã¹ãã«åå ããããã«ãã21äžçŽã®æå·ã¢ã«ãŽãªãºã ããšããã¹ããŒã¬ã³ã®äžã§äœæãããŸãããæ°ãããæªæ€èšŒãæªæ€èšŒã®ãã¯ãããžãŒã¯æå·ã®äœæã«äœ¿çšãããŸããã§ããããæ¡çšãããå Žåãèšå€§ãªéã®éèååŒãšæ¿åºæ å ±ãä¿è·ããããã«äœ¿çšãããŸããAES競æè ã®äž»ãªèŠä»¶ã¯ãåè£ã¢ã«ãŽãªãºã ã3DESãããéããå°ãªããšãåãã¬ãã«ã®ã»ãã¥ãªãã£ãæäŸããããšã§ããã128ãããã®ããŒã¿ãããã¯ãš256ãããã®ããŒãå¿ èŠã§ãã16ã©ãŠã³ãã®ãµãŒãã³ãã¯3DESãšåããããä¿¡é Œã§ããŸããã2åé«éã§ããããããèè ã¯ãä¿¡é Œæ§ãé«ããããã«ãã©ãŠã³ãæ°ã32ã«å¢ãã䟡å€ããããšèããŸãããããã«ãããæå·ã¯DESãšåããããéãã3DESãããã¯ããã«ä¿¡é Œæ§ãé«ããªããŸããã
ã·ãŒã«
ãœãããŠã§ã¢å®è£ çšã«æé©åããã察称ã€ã³ã©ã€ã³ããŒã¿æå·åã¢ã«ãŽãªãºã ã
1993幎ã«IBMã«ãã£ãŠPhil RogawayãšDon Coppersmithã«ãã£ãŠèšèšãããŸããããã®ã¢ã«ãŽãªãºã ã¯æé©åãããŠããã32ãããããã»ããµåãã«æšå¥šãããŠããŸããåäœããã«ã¯ãæ°ãããã€ãã®ãã£ãã·ã¥ãš8ã€ã®32ãããã¬ãžã¹ã¿ãå¿ èŠã§ããæå·åé床ã¯ãããã¹ãã®ãã€ããããçŽ4ãã·ã³ãµã€ã¯ã«ã§ãã 160ãããããŒã¯ããšã³ã³ãŒããšãã³ãŒãã«äœ¿çšãããŸããé ãããŒåŠçæäœã«ããäžèŠãªé床æ倱ãé¿ããããã«ãSEALã¯æåã«ããã€ãã®å€æãå®è¡ããŠãç¹å®ã®ãµã€ãºã®3ã€ã®ããŒãã«ãäœæããŸãã
ãããã®ããŒãã«ã¯ãããŒèªäœã§ã¯ãªããããã¹ãã®æå·åãšåŸ©å·åã«çŽæ¥äœ¿çšãããŸãã
ãã®ã¢ã«ãŽãªãºã ã¯ãéåžžã«ä¿¡é Œæ§ãé«ããéåžžã«é«éã§ãããšèããããŠããã1993幎12æ以æ¥ãç±³åœç¹èš±ç¬¬5454039å·ã«ãã£ãŠä¿è·ãããŠããŸãã
1991幎ãRalph C. Merkleã¯ããœãããŠã§ã¢æåã®æå·ã®è²»çšå¯Ÿå¹æã説æããŸããã圌ã®æèŠã§ã¯ãæãå¹æçãªã®ã¯ã¯ããFEALãRC4ã§ããããã ããä¿¡é Œæ§ã®é«ãæå·åã«å¯Ÿãã顧客ã®ããŒãºã¯å¢ãç¶ããŠãããæ°ãããœãªã¥ãŒã·ã§ã³ãšå€ããœãªã¥ãŒã·ã§ã³ã®æ¹è¯ãæ¢ãå¿ èŠããããŸããã
1992幎ã®å€ã«ãæ°ãããœãããŠã§ã¢æé©åã¢ã«ãŽãªãºã SEAL 1.0ã®æåã®ããŒãžã§ã³ã®éçºãå§ãŸããŸãããéçºè ã¯ããããã¯æå·ã®ã©ã«ãããŒã¯ã«ïŒè±èªã®ã©ã«ãC.ããŒã¯ã«ïŒã¯ãããäž»èŠãªã¢ã€ãã¢ãšäœæ¥ã®ååãåãå ¥ããŸããã圌ãã¯ããã®å®è£ ãå¯èœãªæ©åšã®ç¯å²ãçããããšã«ããããããžã§ã¯ãã®æé«ã®ç¹æ§ïŒäž»ã«é床ïŒãéæããããšã«æ±ºããŸãããå°ãªããšã8ã€ã®æ±çšã¬ãžã¹ã¿ãšå°ãªããšã8 KBã®ãã£ãã·ã¥ãåãã32ããããã·ã³ãéžæããŸããã 1993幎3æã«ãããã¯æå·ãäœæããããšã決å®ãããŸãããããã®å¹Žã®10æãŸã§ã«éçºãããæ¬äŒŒã©ã³ãã é¢æ°ãã¡ããªãŒã®æ§é ãããéãæ©èœããéçºè ãæå·åãã¹ããªãŒãã³ã°ããããã«ãªããŸããããã®æ§é ã¯4ã€ã®ã¬ãžã¹ã¿ã§æ§æãããåã¬ãžã¹ã¿ã¯ããŒãã«ã«å¿ããŠãé£æ¥ããå€æŽããããŒããååŸããã®ãããªå€æŽãå€æ°è¡ã£ãåŸãã¬ãžã¹ã¿å€ãããŒã·ãŒã±ã³ã¹ã«è¿œå ãããŸããããŒã·ãŒã±ã³ã¹ã¯ãç¹å®ã®é·ãã«éãããŸã§å埩ããšã«å¢å ããŸããéçºäžãã¢ã«ãŽãªãºã ã®å éšãµã€ã¯ã«ã«ã»ãšãã©ãã¹ãŠã®æ³šæãæãããŸãããããã¯ãã¬ãžã¹ã¿ã®åæåæé ãšããŒããããŒãã«ãçæããæ¹æ³ãã»ãã¥ãªãã£ã«ããããªåœ±é¿ãäžããããã§ããæçµåœ¢æ ã§ã¯ãSEAL 1.0ãããžã§ã¯ãã¯1993幎12æã«ã®ã¿ç»å ŽããŸãããããã¯ãã¬ãžã¹ã¿ã®åæåã®æé ãšããŒããããŒãã«ãçæããæ¹æ³ããã®ã»ãã¥ãªãã£ã«ããããªåœ±é¿ãäžããããã§ããæçµåœ¢æ ã§ã¯ãSEAL 1.0ãããžã§ã¯ãã¯1993幎12æã«ã®ã¿ç»å ŽããŸãããããã¯ãã¬ãžã¹ã¿ã®åæåã®æé ãšããŒããããŒãã«ãçæããæ¹æ³ããã®ã»ãã¥ãªãã£ã«ããããªåœ±é¿ãäžããããã§ããæçµåœ¢æ ã§ã¯ãSEAL 1.0ãããžã§ã¯ãã¯1993幎12æã«ã®ã¿ç»å ŽããŸããã
1996幎ãHelena HandschuhïŒEngãïŒããã³Henri GilbertïŒEngãïŒã¯ãSEAL 1.0ã®ç°¡æããŒãžã§ã³ããã³SEAL 1.0èªäœã«å¯Ÿããæ»æã«ã€ããŠèª¬æããŸããã圌ãã¯å¿ èŠãšããŠãã2 4ã€ã®32ãããã¯ãŒãã®é·ããæ〠30ã®ããã¹ããããŒã«å¯Ÿããæ¬äŒŒã©ã³ãã é¢æ°ã®äŸåé¢ä¿ãèŠã€ããŸãããã®çµæãSEAL 3.0ããã³SEAL 2.0ã¢ã«ãŽãªãºã ã®æ¬¡ã®ããŒãžã§ã³ã§ããã€ãã®æ¹åãšå€æŽãè¡ãããŸãããããšãã°ãããŒãžã§ã³1.0ã§ã¯ãããŒã·ãŒã±ã³ã¹ã®åå埩ã¯2ã€ã®ã¬ãžã¹ã¿ã®ã¿ã®å€æŽã§çµäºããããŒãžã§ã³3.0ã§ã¯4ã€ãã¹ãŠãå€æŽãããŸãããSEAL 3.0ããã³SEAL 2.0ã¯ãå ã®SHAã®ä»£ããã«SHA-1ã¢ã«ãŽãªãºã ïŒè±èªã®Secure Hash Algorithm-1ïŒã䜿çšããŠããŒãã«ãçæããæå·è§£æã«å¯Ÿããèæ§ãé«ããŸããã
ããå®å š
é å-é åãããã¯ãŒã¯ã«åºã¥ã察称ãããã¯æå·åã¢ã«ãŽãªãºã ã®ãã¡ããªãŒãã¢ã«ãŽãªãºã ã®éçºãžã®äž»ãªè²¢ç®ã¯ããžã§ãŒã ãºããã»ã€ã«ãã£ãŠè¡ãããŸãããæå·ã®æåã®ããŒãžã§ã³ã¯ã1993幎ã«äœæããã³å ¬éãããŸããã
æå·åããŒã®é·ããšãœãŒã¹ããã¹ãã®ãããã¯ã®ãµã€ãºã«ãã£ãŠäºãã«ç°ãªãããã€ãã®æå·ãªãã·ã§ã³ããããŸãã
ã¢ã«ãŽãªãºã ã®æåã®ããŒãžã§ã³-SAFER K-64ã¯ã1993幎ã«ã«ãªãã©ã«ãã¢ã®æ³äººãCylincãã®ããã«James Masseyã«ãã£ãŠéçºãããŸãããåã幎ã«å ¬éãããã¢ã«ãŽãªãºã ã«ã¯ããããã¯ãš64ãããã®æå·åããŒããããŸããã 6ã©ãŠã³ãã®æå·åã䜿çšããããšããå§ãããŸããããã ããããŒã®é·ãã128ãããã«å¢ããå¿ èŠãããããïŒã¢ã«ãŽãªãºã ã®å ã®ããŒãžã§ã³ã§è匱æ§ãçºèŠãããããïŒãMasseyã¯SAFER K-128æå·ã®æ°ããããŒãžã§ã³ãéçºããŸãããããã¯SAFER K-64ã®ç¿å¹Žã«å ¬éãããŸãããæ°ããã¢ã«ãŽãªãºã ã«ã¯ãã·ã³ã¬ããŒã«å åçã«ãã£ãŠéçºãããäž»èŠãªã¹ã±ãžã¥ãŒã«ãå«ãŸãããã®åŸããŸããŸãªç®çã§äœ¿çšãããŸããããŸãããã®ã¢ã«ãŽãªãºã ã«ã¯10ã©ãŠã³ãïŒæ倧12ã©ãŠã³ãïŒã®æå·åã䜿çšããããšããå§ãããŸããã
ãã°ããããŠãã¢ã«ãŽãªãºã ã®æåã®ããŒãžã§ã³ã§ã¯ãã©ãŒã¹ã¯ããŒã»ã³ãšã·ã§ãŒã³ããŒãã£ãŒã«ãã£ãŠçºèŠãããããã€ãã®åŒ±ç¹ãæããã«ãªããŸãããããã«ã¯ãSANU SK-64ããã³SAFER SK-128ãšåŒã°ããã¢ã«ãŽãªãºã ã®æ°ããããŒãžã§ã³ã®äœæãå¿ èŠã§ãããKnudsenã«ãã£ãŠææ¡ãããã¹ããŒã ã«åŸã£ãŠããŒã¹ã±ãžã¥ãŒã«ãå€æŽãããŸãããããŒã®é·ãã40ãããã«ççž®ãããªãã·ã§ã³ãéçºãããŸãã-SAFER SK-40ãã¢ã«ãŽãªãºã åã®ç¥èªãSKãã¯ãã匷åãããããŒã¹ã±ãžã¥ãŒã«ãã®ç¥ã§ããæå·ã®æ°ããããŒãžã§ã³ã§ã¯ã6åã§ã¯ãªããå°ãªããšã8åïŒæ倧10åïŒã®æå·åã䜿çšããããšãææ¡ãããŸããã
SAFER +ã¢ã«ãŽãªãºã ã¯ã1998幎ã«ã«ãªãã©ã«ãã¢ã«æ ç¹ã眮ãCylinc Corporationãã¢ã«ã¡ãã¢ç§åŠã¢ã«ãããŒãšå ±åã§ãæåã®äºéžã©ãŠã³ãã®ã¿ãéå¬ããAESã³ã³ãã¹ãã«åå ããããã«éçºããŸããããã®æå·ã«ã¯ã128ãããã®å ¥åãããã¯ãšã128ã192ããŸãã¯256ãããã®ããŒãµã€ãºããããŸãã
SAFERã¢ã«ãŽãªãºã ã®æåŸã«äœæãããåçš®ã¯ã2000幎ã«Masseyã«ãã£ãŠéçºãããSAFER ++ã§ãããSAFER +ã¢ã«ãŽãªãºã ã®ãããªãéçºã«ãªããŸããããã®ã¢ã«ãŽãªãºã ã¯ããšãŒãããã®NESSIEã¢ã«ãŽãªãºã ã®ç«¶äºã«åå ãã64ããããããã¯ã®æå·ãš128ããããããã¯ã®2ã€ã®ããŒãžã§ã³ã§æ瀺ãããŸããã競äºã®ç¬¬2段éã«å ¥ããŸããããNESSIEãæšå¥šããæå·ããªããã£ãã®ã»ããã§ã¯éžæãããŸããã§ãããå°é家ã¯ã8ãããã®ãã·ã³ïŒã¹ããŒãã«ãŒããªã©ïŒãé€ããã¹ãŠã®ãã·ã³ã§æå·ãé ãããæå·ã®ã»ãã¥ãªãã£ããŒãžã³ãå°ãããããšèããŸããã
SAFERã¢ã«ãŽãªãºã ã¯ç§æ財ç£ã§ã¯ãªããèäœæš©ã«ãã£ãŠä¿è·ãããŠããŸãããã€ãŸããå¶éãªãã§äœ¿çšã§ããŸãããããã¯å®å šã«åçŽãªãã€ãæäœã§æ§æãããŠããããïŒããŒçææã®ãã€ãããŒããŒã·ã§ã³ãé€ãïŒããããã®ã¢ã«ãŽãªãºã ã¯äœãããããã»ããµã§å®è£ ã§ããŸãã
MISTY1
1995幎ã«Feistelã®ããã¹ããããããããã¯ãŒã¯ã«åºã¥ããŠäœæããããããã¯æå·åã¢ã«ãŽãªãºã ã MISTYã¯Mitsubishi Enhanced Security Technologyã®ç¥ã§ãããã¢ã«ãŽãªãºã ã®äœæè ã®é æåã§ãïŒåžå·å²ä¹ãåçºæ·³ãæç°ä¿å€«ã山岞tsuåãã¢ã«ãŽãªãºã ã®éçºã«åå ããŸããããã®ã¢ã«ãŽãªãºã ã¯1995幎ã«éçºãããŸããããã©ã€ã»ã³ã¹ããã1996幎ã«å ¬éãããŸããã
MISTY1ã¯ãå¯å€ã©ãŠã³ãæ°ã®Feistelãããã¯ãŒã¯ã§ãïŒ8ãæšå¥šããŸããã4ã®åæ°ã«ããããšãã§ããŸãïŒããã®ã¢ã«ãŽãªãºã ã¯64ããããããã¯ã§æ©èœãã128ãããããŒã䜿çšããŸãããã®æå·ã¯ãNESSIE欧å·å€§äŒã§64ããããããã¯ãæå·åããã¢ã«ãŽãªãºã ã®äžã§åè ãšãªããŸããããã®ã³ã³ãã¹ãã®ãã¬ãŒã ã¯ãŒã¯å ã§å®æœãããã¢ã«ãŽãªãºã ã®åæã®çµæããã®åã«ãå°é家ã¯ããã®ã¢ã«ãŽãªãºã ã«ã¯æ·±å»ãªè匱æ§ã¯ãªããšçµè«ä»ããŸããïŒåœŒãã¯ãæå·åæãã¯ããã«å°é£ã«ãããã¹ããããFeistelãããã¯ãŒã¯ãæã€ã¢ã«ãŽãªãºã ã®æ§é ã§ãããšåŒ·èª¿ããŸããïŒãåæ§ã®ç 究ããæ¥æ¬ã®é»åæ¿åºåãã®æå·ã¢ã«ãŽãªãºã ã®éžæã«é¢ããCRYPTRECãããžã§ã¯ãã®äžç°ãšããŠå®æœãããŸããããããžã§ã¯ãã®å°é家ã¯ãMISTY1ã¢ã«ãŽãªãºã ãéåžžã«è¯å®çã«è©äŸ¡ããé«ãæå·åŒ·åºŠããŒãžã³ãæã£ãŠãããšçµè«ä»ããŸãããã¢ã«ãŽãªãºã ã®æå·åé床ã¯é«ããããŒããŠã§ã¢ã®å®è£ ã«éåžžã«å¹æçã§ãã
MISTY1ã¯ãç¹èš±ååŸæžã¿ã®ã¢ã«ãŽãªãºã ã§ãããã ããå ã®ç¹èš±æš©è ã§ããäžè±é»æ©ã¯ãç¡æã§äœ¿çšããã©ã€ã»ã³ã¹ãçºè¡ãããšçºè¡šããŸããã
MISTY1ã¯ãå·®åããã³ç·åœ¢æå·è§£èªã«å¯Ÿãããå®èšŒæžã¿ã®ã»ãã¥ãªãã£ãã®çè«ã«åºã¥ããŠéçºãããŸããããã®ã¢ã«ãŽãªãºã ã¯ãäœææã«ç¥ãããŠããããŸããŸãªæå·æ»æã«èããããã«èšèšãããŸããã
Mistyã®åºç以æ¥ã圌ã®ã»ãã¥ãªãã£ã¬ãã«ãè©äŸ¡ããããã«å€ãã®ç 究ãè¡ãããŠããŸãããå°ãªãã©ãŠã³ãã§ã®Mistyã®èª¿æ»ã®çµæã以äžã«ç€ºããŸãã
é«æ¬¡å·®åæå·è§£æã¯ãçšåºŠã®äœãæå·ãå¹æçã«ãããã¯ããããã«é©çšãããŸãã Mistyã«ã¯2ã€ã®ã«ãã¯ã¢ããããŒãã«S7ãšS9ãå«ãŸããŠãããäž¡æ¹ãšããããã3ãš2ã®å°ããªåºåããããŸãããããã£ãŠãå€ãã®èšäºãå·®åmystiæå·è§£æã«å°å¿µããŠããŸãã FLé¢æ°ã䜿çšããªã5ã¬ãã«ã®ã¢ã«ãŽãªãºã ã§æè¯ã®çµæãåŸãããŸããããã ããFLé¢æ°ãšãã®äžã®ã¯ã€ããããAND / ORæŒç®ã®ååšããé«éå·®åæå·è§£æã®äœ¿çšãå€§å¹ ã«è€éã«ããŸãã
äžå¯èœãªåŸ®ååæã¯ãåã©ãŠã³ãïŒãŸãã¯nçªç®ã®ã©ãŠã³ãããšïŒã§åããµãããŒå€ãæã€ãããã¯ãã©ã³ãã«ãé©çšã§ããŸãããŸããMISTY1ã«ã¯ããªãåçŽãªããŒæ¡åŒµã·ã¹ãã ãããããããã®ã¢ã«ãŽãªãºã ãžã®ãã®æ»æã®é©çšå¯èœæ§ãèæ ®ããããšã¯éåžžã«èªç¶ã§ãããã®ãããªæ»æã®æè¯ã®çµæã¯ãFLé¢æ°ã®ãªãã¢ã«ãŽãªãºã ãæ€èšãããšãã«ãåŸãããŸããã
ãã®æå·ã¯ãNESSIE European CompetitionïŒ2000-2003ïŒã§64ããããããã¯ãæå·åããã¢ã«ãŽãªãºã ã®äžã§åè ãšãªããŸããããã®ç«¶åã®ãã¬ãŒã ã¯ãŒã¯å ã§è¡ãããã¢ã«ãŽãªãºã ã®åæã®çµæããã®åã«ãå°é家ã¯ããã®ã¢ã«ãŽãªãºã ã«ã¯æ·±å»ãªè匱æ§ã¯ãªããšçµè«ä»ããŸããïŒåœŒãã¯ãæå·è§£æãã¯ããã«é£ãããããã¹ããããFeistelãããã¯ãŒã¯ãæã€ã¢ã«ãŽãªãºã ã®æ§é ã§ãããšåŒ·èª¿ããŸããïŒã
åæ§ã®ç 究ããæ¥æ¬ã®é»åæ¿åºåãã®æå·ã¢ã«ãŽãªãºã ã®éžæã«é¢ããCRYPTRECãããžã§ã¯ãã®äžç°ãšããŠå®æœãããŸããããããžã§ã¯ãã®å°é家ã¯ãMISTY1ã¢ã«ãŽãªãºã ãéåžžã«è¯å®çã«è©äŸ¡ããé«ãæå·åŒ·åºŠããŒãžã³ãæã¡ãã¢ã«ãŽãªãºã ã¯é«ãæå·åé床ãæã¡ãããŒããŠã§ã¢å®è£ ã«éåžžã«å¹æçã§ãããšçµè«ä»ããŸããã
ãã®ã¢ã«ãŽãªãºã ã®å€æŽããããŸã-MISTY2ããã ããæå·åŒ·åºŠãäœããããåºãç¥ãããŠããŸããã§ããã
ãŸããMISTY1ã®ä¿®æ£ã§ããã¢ã«ãŽãªãºã ãæ®åããŸããã2000幎ã«ã¯ãã¢ãã€ã«éä¿¡ãæå·åããããã®W-CDMAæšæºã«ãªããŸããã
KAïŒæ¥æ¬èªfromïŒã²ãããªããã¿ãããŒãåkaïŒ-é§ãé§ïŒã¯ã3GPPã»ã«ã©ãŒãããã¯ãŒã¯ã§äœ¿çšããããããã¯æå·ã§ãã GSMã§äœ¿çšãããGPRSã§GEA3ã§äœ¿çšãããå ŽåãA5 / 3ãšãåŒã°ããŸãã
SUMã¯ã欧å·é»æ°éä¿¡æšæºåæ©æ§ïŒETSIïŒã®äžéšã§ããSAGEïŒã»ãã¥ãªãã£ã¢ã«ãŽãªãºã å°é家ã°ã«ãŒãïŒã«ãã£ãŠéçºãããŸãããæ¢åã®MISTY1ã¢ã«ãŽãªãºã ã¯åºç€ãšããŠæ¡çšãããã»ã«ã©ãŒéä¿¡ã§ã®äœ¿çšã«æé©åãããŠããŸãã
2010幎ã«æå·è§£èªè ã瀺ããããã«ãå€æŽã®éçšã§MISTY1ã¢ã«ãŽãªãºã ã®ä¿¡é Œæ§ãäœäžããŸãããã«ã¯ç¹å®ã®çš®é¡ã®æ»æã«å¯Ÿããè匱æ§ããããŸãããMISTY1ã¯ãããã«èæ§ããããŸãã
SUMã¯ã8ã©ãŠã³ãFeistelã¹ããŒã ã§64ããããããã¯ãµã€ãºãš128ãããããŒã䜿çšããŸããåã©ãŠã³ãã§ã¯ã128ãããã®ã©ãŠã³ãããŒã䜿çšãããŸããããã¯ããµãããŒãçæããããã®åºå®æé ã«ãã£ãŠå ã®ããŒããååŸããã8ã€ã®16ããããµãããŒã§æ§æãããŸãã
ç«æ
IBMã«ãã£ãŠéçºããããã€ãŠDESãäœæããAESã®åè£ã³ãŒãã IBMã«ãããšãå瀟ã®25幎ã«ãããæå·è§£æã®çµéšã¯MARSã¢ã«ãŽãªãºã ã«çµã¿èŸŒãŸããŠãããæå·ã¯é«ãæå·åŒ·åºŠãšãšãã«ãã¹ããŒãã«ãŒãã«å žåçãªãããªéããããã¬ãŒã ã§ãå¹æçã«å®è£ ã§ããŸãã
æå·ã«é¢ããå€ãã®èšäºã§ç¥ãããLuciferïŒDESïŒæå·ã®èè ã®1人ã§ããDon Coppersmithã¯ãæå·ã®éçºã«åå ããŸããïŒå·®åæå·è§£æãé«éè¡åä¹ç®ïŒCoppersmith-Vinohradã¢ã«ãŽãªãºã ïŒãRSAæå·è§£æã«å¯ŸããSãããã¯ã®æ§é ã®æ¹åãããã«å ããŠãã¢ã«ãŽãªãºã ã®éçºã«ã¯ããã£ããªã³ã»ãã«ããã¯ããšãã¯ãŒãã»ãããã§ã³ããã¶ãªãªã»ãŒãããã·ã§ã€ã»ãã¬ãããã£ã©ã³ãžããã»ãžã¥ãã©ãã¹ãã£ãŒãã³ã»Mã»ããã£ã¢ã¹ã»ãã©ãã«ãŒã¯ã»ãªã³ããŒãã¢ãã¡ãã»ããŒããŽã£ã¢ã³ãããããã»ãµãã©ãŒããããŽã§ã³ã³ã»ãºããããåå ããŸããã
AESã³ã³ãã¹ãã®ã«ãŒã«ã«ãããšãåå è ã¯ã¢ã«ãŽãªãºã ã«ããããªå€æŽãå ããããšãã§ããŸãããã®ã«ãŒã«ã䜿çšããŠãMARSaã®äœæè ã¯ããŒæ¡åŒµæé ãå€æŽããäžæ®çºæ§ããã³ã©ã³ãã ã¢ã¯ã»ã¹ã¡ã¢ãªã®èŠä»¶ãåæžããŸãããã¢ã«ãŽãªãºã ã®ä¿®æ£ããŒãžã§ã³ã以äžã«ç€ºããŸãã
AESã³ã³ãã¹ãã®çµæã«ãããšãMARSã¯æ±ºåã«éããŸããããã©ã€ã³ããŒã«ã«æããŸãããçµæã®çºè¡šïŒ2000幎5æ19æ¥ïŒåŸãéçºããŒã ã¯AESã³ã³ãã¹ãã«ã€ããŠç¬èªã®æèŠãè¿°ã¹ãåå«ãžã®äž»åŒµã«ã€ããŠã³ã¡ã³ãããŸããã
çŸåšãMARSã¯ãã€ã€ãªãã£ããªãŒã©ã€ã»ã³ã¹ã®äžã§äžçäžã«é åžãããŠããŸãããã®ã¢ã«ãŽãªãºã ã¯ãæå·åã¢ã«ãŽãªãºã ã§äœ¿çšãããã»ãšãã©ãã¹ãŠã®æ¢åã®æè¡ã䜿çšããŠãããšããç¹ã§ãŠããŒã¯ã§ãïŒ
- åçŽãªæäœïŒå ç®ãæžç®ãæä»çORïŒ
- 眮æããŒãã«ã䜿çšãã眮æ
- åºå®å·¡åã·ãã
- ããŒã¿äŸåã®å·¡åã·ãã
- 232ãæ³ãšããä¹ç®
- ããŒãã¯ã€ããã³ã°
ããã«ããã·ã³ã°ã®äœ¿çšã¯ãæå·è§£æã§ã¯å°é£ã§ããããã¯ãã¢ã«ãŽãªãºã ã®æ¬ ç¹ã®äžéšã§ããåæã«ãçŸæç¹ã§ã¯ã¢ã«ãŽãªãºã ã«å¯Ÿããå¹æçãªæ»æã¯ãããŸããããäžéšã®ããŒã¯åŒ±ããµãããŒãçæã§ããŸãã
ãã
æå·åã§ã¯ãLOKI89ãšLOKI91ã¯ãããã¯æå·ã®å¯Ÿç§°ããŒã§ãããDESïŒããŒã¿æå·åïŒæšæºã®ä»£æ¿ãšããŠèããããŸããæå·ã¯ãDESãåæããäœæ¥ã®æ¬äœã«åºã¥ããŠéçºãããæ§é ãDESã«éåžžã«äŒŒãŠããŸããããã®ã¢ã«ãŽãªãºã ã¯ãã¹ã«ã³ãžããã¢ã®ç¥è©±ã®æªç¥ããã«ã¡ãªãã§åœåãããŸããã
LOKI89ã¯ã1990幎ã«æåã«å ¬éããããã®åŸãªãŒã¹ãã©ãªã¢ã®æå·äœæè Lori BrownãJoseph Pieprzykãããã³Jennifer Seberryã«ãã£ãŠåã«ãLOKIããšåŒã°ããŸããã LOKI89ã¯è©äŸ¡ã®ããã«æ¬§å·RIPEãããžã§ã¯ãã«æåºãããŸããããéžæãããŸããã§ããã
æå·ã¯64ããããããã¯ãš64ãããããŒã䜿çšããŸãã DESãšåæ§ã«ãããã¯16ã©ãŠã³ãã®Feistelãããã¯ãŒã¯ã§ãããå šäœçãªæ§é ã¯äŒŒãŠããŸãããç¹å®ã®Sããã¯ã¹ããPé åãããæ¡åŒµé åãã®éžæãšã¯ç°ãªããŸãã Sããã¯ã¹ã¯ãJosef Pieprzykãéçºããéç·åœ¢æ§åºæºã䜿çšããŠãå¯èœãªéããè€éããã€ãäºæž¬äžå¯èœããªãã®ã«ããŸãããããã®æå¹æ§ã¯ãDES Sããã¯ã¹ã®ããç¥ãããèšèšåºæºãšæ¯èŒãããŸãããé åã¯ãSããã¯ã¹ã®åºåãå¯èœãªéãè¿ éã«ãããã¯ã¹ãããããã«èšèšãããŠãããè¯å¥œãªFeistelæå·ã«å¿ èŠãªç¹æ§ã®éªåŽ©ãšå®å šæ§ã«å¯äžããŠããŸãããã ããDESã®åçã®ãã®ãšã¯ç°ãªãããããã¯èšèšåæãæ¯æŽããããã«ãå¯èœãªéãã¯ãªãŒã³ã§ã·ã³ãã«ãªãã®ã«ãªããŸãïŒæ¯ãè¿ã£ãŠã¿ããšãå€åå°ãã·ã³ãã«ãããŸãïŒã
LOKI89ã®å ¬éåŸãæ°ããå·®åæå·è§£æã«é¢ããæ å ±ãå©çšå¯èœã«ãªããïŒKnudsen 1993aïŒã«ããåæ解æã®çµæãããã€ãå©çšå¯èœã«ãªããŸãããããã«ãããLOKI91ã«ãªãããã«èšèšãå€æŽãããŸããã
LOKI 91ã¯ãLOKI89ãžã®æ»æã«å¯Ÿå¿ããŠéçºãããŸããïŒBrown et alãã1991ïŒãå€æŽã«ã¯ãéå§ããŒãšçµäºããŒã®ãã¯ã€ããã³ã°ãæ°ããSããã¯ã¹ã®åé€ãããã³ããŒã¹ã±ãžã¥ãŒã«ã®ãã€ããŒãªå€æŽãå«ãŸããŸããããå ·äœçã«ã¯ãSãããã¯ã¯ä¿®æ£ãããç°ãªãåºåãåãåºåïŒå·®åæå·åã䜿çšããããã¯ïŒã«ã€ãªããå¯èœæ§ãæå°éã«æããããšã«ãããæ»æã®äœè ã«ãã£ãŠè©³çŽ°ã«èª¬æãããŠããããã«ããã®æ»æã«å¯ŸããLOKI91ã®èæ§ãåäžããŸããïŒBihamããã³Shamira 1991ïŒãããŒã¹ã±ãžã¥ãŒã«ã®å€æŽã¯ããåçã®ããŸãã¯ãé¢é£ä»ãããããããŒã®æ°ãæžããããã«èšèšãããŠãããæå·åã¹ããŒã¹ãåæžãããŠããŸãã
çµæã®æå·ã¯LOKI89ãããæããã«åŒ·åã§å®å šã§ãããã¯ããŒã»ã³ãšããã ã«ãã£ãŠè©³çŽ°ã«èª¬æãããŠããããã«ãå€ãã®æœåšçãªæ»æããããŸãããããã£ãŠããããã®æå·ã¯ã䜿çšããã¢ã«ãŽãªãºã ã§ã¯ãªãããããã¯æå·ã®éçºã«ãããç§åŠçé²æ©ã®åªåãšèŠãªãããå¿ èŠããããŸããåŒçšæ°ãšå ¬éãããæ¹å€ã¯ããã®ç®æšãéæãããããšã蚌æããŠããŸãã
ã¢ã€ãã¢
ã¹ã€ã¹ã®äŒæ¥Ascomãç¹èš±ãååŸãã察称ãããã¯ããŒã¿æå·åã¢ã«ãŽãªãºã ãPGPæå·åãœãããŠã§ã¢ããã±ãŒãžã§äœ¿çšãããããšã§ç¥ãããŠããŸãã2000幎11æãIDEAã¯ã欧å·å§å¡äŒã®ISTïŒæ å ±ç€ŸäŒæè¡ãæ å ±ç€ŸäŒæè¡ïŒããã°ã©ã ã®æ å ã§NESSIEãããžã§ã¯ãã®åè£ãšããŠçŽ¹ä»ãããŸããã
ãã®ã¢ã«ãŽãªãºã ã®æåã®ããŒãžã§ã³ã¯ãDESïŒããŒã¿æå·åïŒã®ä»£ãããšããŠã1990幎ã«ã¹ã€ã¹ç 究æETHãã¥ãŒãªããã®Xuejia LaiãšJames MasseyïŒåŸã«Ascom-Tech AGã«å å ¥ããHasler Foundationãšã®å¥çŽã®äžïŒã«ãã£ãŠéçºãããŸãããæšæºãããŒã¿æå·åã®æšæºïŒããã³PESïŒProposed Encryption Standardãææ¡ãããæå·åæšæºïŒãšåŒã°ããŸãã次ã«ãPESã®å·®åæå·è§£æã«é¢ããBehamãšShamirã®äœåã®åºçåŸãæå·ã®å®å®æ§ã匷åããããã«ã¢ã«ãŽãªãºã ãæ¹è¯ãããIPESïŒè±èªã®æ¹è¯ææ¡æå·åæšæºãæ¹è¯ãããæå·åæšæºïŒãšåŒã°ããŸããã 1幎åŸãããã¯IDEAïŒEnglish International Data Encryption AlgorythmïŒã«æ¹åãããŸããã
IDEAã¯128ãããããŒãš64ããããããã¯ãµã€ãºã䜿çšããããããã¬ãŒã³ããã¹ãã¯64ããããããã¯ã«åå²ãããŸãããã®ãããªããŒãã£ã·ã§ã³ãäžå¯èœãªå ŽåãæåŸã®ãããã¯ã¯ãããã®ç¹å®ã®ã·ãŒã±ã³ã¹ã«ãã£ãŠããŸããŸãªæ¹æ³ã§è£å®ãããŸããåã ã®ãããã¯ã«é¢ããæ å ±ã®æŒæŽ©ãé²ãããã«ãããŸããŸãªæå·åã¢ãŒãã䜿çšãããŸããæå·åããã»ã¹ã§äœ¿çšããããã¹ãŠã®ä»£æ°æŒç®ã¯16ãããæ°ã§å®è¡ããããããå ã®æå·åãããŠããªã64ããããããã¯ã¯ãããã16ãããã®4ã€ã®ãµããããã¯ã«åå²ãããŸããIDEAã¯ãæå·åãšåŸ©å·åã«åãã¢ã«ãŽãªãºã ã䜿çšããŸãã
ã¢ã«ãŽãªãºã ã®åºæ¬çãªé©æ°ã¯ãç°ãªã代æ°çŸ€ã®æäœã®äœ¿çšã§ãã
- ã¢ãžã¥ãå ç®
- å€èª¿
- ãããããšã®æä»çè«çåïŒXORïŒã
ãããã®3ã€ã®æäœã¯ã次ã®æå³ã§äºææ§ããããŸããã
- ãããã®2ã€ã¯ååžæ³åãæºãããŠããŸãã
- ãããã®2ã€ã¯é£æ³æ³ãæºãããŠããŸãã
ãããã®3ã€ã®æäœã䜿çšãããšãæä»çORæäœã®ã¿ã«åºã¥ãDESãããIDEAæå·è§£æãé£ãããªããSããã¯ã¹ãšçœ®æããŒãã«ã®äœ¿çšãäžèŠã«ãªããŸããIDEAã¯Feistelãããã¯ãŒã¯ã®ä¿®æ£çã§ãã
ãã§ãªãã¯ã¹
ã¯ã³ã¿ã€ã ã¡ãã»ãŒãžèªèšŒã³ãŒãã䜿çšããé«éã¹ããªãŒã æå·ãã³ãŒãã¯2004幎ã®eSTREAMã³ã³ãã¹ãã§çºè¡šãããŸãããèè ã¯ãã«ãŒã¹ã»ã·ã¥ãã€ã¢ãŒããã°ã»ãŠã£ããã£ã³ã°ãã¹ããã¡ã³ã»ã©ãã¯ã¹ããã¬ããªãã¯ã»ãã¥ã©ãŒã§ãããã®ã¢ã«ãŽãªãºã ã¯ã232ãæ³ãšããå ç®æŒç®ã2ãæ³ãšããå ç®æŒç®ãããã³åŸªç°ã·ãããåããŠããŸãã Phelixã¯256ãããã®ããŒãš128ãããã®ã¿ã€ã ã¹ã¿ã³ãã䜿çšããŸããäžéšã®æå·åŠè ã¯ãæå·ã誀ã£ãŠäœ¿çšãããå Žåã«ç§å¯éµãååŸããå¯èœæ§ã«ã€ããŠæžå¿µãè¡šæããŠããŸãã
Phelixã®å身ã¯Helixæå·ã§ãããæãåçŽãªæäœã§æ§ç¯ãããŠããŸãããããããã³ã°ãããããšãå€æããŸãããé«åºŠãªHelixã®ååã¯Phelixã§ããããeCryptã³ã³ãã¹ãã§æåŠãããŸãããæåŠã®çç±ã¯è°è«ã®äœå°ããããŸã-æ»æã¯ä»ã®æå·ã®åŒ±ç¹ã§ããã¿ã€ã ã¹ã¿ã³ãã®éžæã«åºã¥ããŠããŸããããéçºè ã¯æå·ããã®çš®ã®æ»æã«èæ§ããããšèšããŸãããä»ã®æ¡ä»¶ã§æå·ã®åŒ·åºŠãè ããããšã¯ãããŸããããæå·ã¯åŸ®åç·åœ¢æå·è§£èªã«ãã£ãŠãããã³ã°ãããããšãå€æããŸããããã®çµæãèè ã®æšå®ãšäžæ³šæã®ããã«ãPhelixã¯ç«¶äºã®ç¬¬3ã©ãŠã³ãã«èªããããŸããã§ãããããããã¹ãŠã«å ããŠãããã€ãã®çè«çç 究ãç»å Žããadd-xor-shiftæäœã®æ··åã¯å¿ èŠãªéç·åœ¢æ§ãæäŸããªããšäž»åŒµãããŸããããå®éã«ã¯ãããã³ã°ã¯ãããŸããã§ãããçŸåšãPhelixèšèšã¯ãSkeinããã³Threefishã§äœ¿çšããããã«èè ã«ãã£ãŠææ¡ãããŠããŸãã
èè ã¯ãè¿œå ã®æå·è§£æãåãåããŸã§Phelixã䜿çšãã¹ãã§ã¯ãªããšå ±åããŠããŸãã
å·®åæ»æã®èè ã§ããHongjun WuãšBart Prenilã¯ãååãªæ··ä¹±ãšæ¡æ£ã¬ã€ã€ãŒãè¿åããŠãåå¹³æã®åèªãããŒã¹ããªãŒã ã«åœ±é¿ãäžãããšããæžå¿µãè¡šæããŸãã圌ãã¯ããããHelixãšPhelixã®æ§é ã«åºæã®æ¬ é¥ã ãšäž»åŒµããŠããŸããèè ã¯ãPhelixã¯å®å šã§ã¯ãªããšçµè«ä»ããŠããŸãã
al
æž æ°Žæå®ïŒæž æ°Žæå®ïŒããã³å®®å£æ£æ²»ïŒNTOåŸæ¥å¡ïŒãèšèšãããããã¯æå·ã
64ããããããã¯ãš64ãããããŒã䜿çšããŸãã圌ã®ã¢ã€ãã¢ã¯ãDESã«äŒŒãã¢ã«ãŽãªãºã ãäœæããããšã§ããããã匷åãªã¹ããŒãžæ©èœãåããŠããŸããããå°ãªãã¹ãããã䜿çšããŠããã®ã¢ã«ãŽãªãºã ã¯ããé«éã«åäœããŸããããã«ãDESãšã¯ç°ãªããFEALã®ã¹ããŒãžé¢æ°ã¯Sãããã¯ã䜿çšããªããããã¢ã«ãŽãªãºã ã®å®è£ ã§ã¯ã眮æããŒãã«ãæ ŒçŽããããã®è¿œå ã®ã¡ã¢ãªã¯å¿ èŠãããŸããã
1987幎ã«æž æ°Žæå®ãšå®®å£æ£æ²»ã«ãã£ãŠå ¬éãããFEALãããã¯æå·ã¯ãDESãšæ¯èŒããŠæå·ã®ä¿¡é Œæ§ãæãªãããšãªãæå·åé床ãäžããããã«èšèšãããŸãããæåã¯ãã¢ã«ãŽãªãºã ã¯64ããããããã¯ã64ãããããŒãããã³4ã©ãŠã³ãã®æå·åã䜿çšããŠããŸããããããããã§ã«1988幎ã«ããŒããã³ããŒã¢ã®ç 究ãçºè¡šããã10,000ã®æå·æã§ååã§ãããéžæãããå¹³æã«åºã¥ããŠæ»æãæåãããããšã蚌æãããŸããã FEALæå·ãæåã«äœ¿çšãããã®ã®1ã€ã¯ãç·åœ¢æå·è§£èªã§ããã 1992幎ãå«ããæŸäºæºãšå±±å²žAå®ã¯ãæ»æãæåãããã«ã¯5ã€ã®æå·æãåŠç¿ããã ãã§ååã§ããããšã蚌æããŸããã
çºèŠãããè匱æ§ã«å¯Ÿæããããã«ãäœæè ã¯FEAL-8æšæºãå ¬éããããšã§æå·åã®ã©ãŠã³ãæ°ã2åã«ããŸããããã ãã1990幎ã«ã¯ããã³ãªãŒã®ã«ããŒãïŒè±èªçïŒã®è匱æ§ãšãéžæããããã¬ãŒã³ããã¹ãã«åºã¥ãæ»æåã®ãã®ã³ãŒãããããã1992幎ãæŸäºæºãšå±±å²žAåŒã¯å¹³ææ»æã«ã€ããŠèª¬æããã
å€æ°ã®æ»æãæåãããããéçºè ã¯æå·ãããã«è€éåããããšã«ããŸãããã€ãŸãã1990幎ã«FEAL-Nãå°å ¥ãããŸãããNã¯ä»»æã®å¶æ°ã®æå·åã©ãŠã³ãã§ãããFEAL-NXãå°å ¥ãããŸãããããã§ãXïŒè±èªæ¡åŒµããïŒã¯128ãããã«æ¡åŒµãããæå·ããŒã®äœ¿çšã瀺ããŸãããã ãããã®ã€ãããŒã·ã§ã³ã¯éšåçã«ãã圹ç«ã¡ãŸããã§ããã 1991幎ãEli BihamãšAdi Shamirã¯ãå·®åæå·è§£ææ³ã䜿çšããŠã培åºçãªæ€çŽ¢ãããéãæå·ãç Žãå¯èœæ§ã瀺ããŸããã
ããã«ãããããããã³ãã¥ããã£ã«ããæå·åã¢ã«ãŽãªãºã ã®ç 究ã®åŒ·ãã®ãããã§ãç·åœ¢ããã³å·®åæå·è§£æã«å¯Ÿããæå·ã®è匱æ§ã®å¢çã蚌æãããŸãããç·åœ¢æå·è§£èªã«å¯Ÿããã©ãŠã³ãæ°ã26ãè¶ ããã¢ã«ãŽãªãºã ã®å®å®æ§ã¯ã森äºå¿ç©ãéæšäžmarã倧ç°äžéïŒæ£®åå¿ä¿ãéæšäžmarã倪ç°å倫ïŒã®äœåãéæšäžmarãå°æéŠç·ã森äºå¿ç©ïŒéæšäžéïŒã®äœåã§ç€ºãããŠããŸãå°æã森äºå¿ç©ïŒã¯ã32ã©ãŠã³ã以äžã®æå·åã䜿çšããã¢ã«ãŽãªãºã ã«å·®åæå·è§£æãé©çšããããšã¯äžå¯èœã§ããããšã蚌æããŸããã
FEALæå·ã¯éåžžã«æ©ãææã«éçºããããšããäºå®ã«ãããäžçäžã®æå·åŠè ã®ããã®ãã¬ãŒãã³ã°ã®åªãããªããžã§ã¯ããšããŠæ©èœããŸããã
ããã«ã圌ã®äŸã䜿çšããŠç·åœ¢æå·è§£èªãçºèŠãããŸãããç·åœ¢æå·è§£èªã®çºæè ã§ããæŸäºæºã¯ããã®äž»é¡ã«é¢ããæåã®ç 究ã§FEALãšDESãæ€èšããŸããã
ããŒããŒå®å®è¹
RSA
RSAã¯ãRivestãShamirãããã³Adlemanãšããååã®ç¥èªã§ã倧æŽæ°å æ°å解åé¡ã®èšç®ã®è€éãã«åºã¥ãå ¬ééµæå·ã¢ã«ãŽãªãºã ã§ãã 1977幎ã«ããµãã¥ãŒã»ããå·¥ç§å€§åŠã®Ron RivestãAdi Shamirãããã³Leonard Adlemanã«ãã£ãŠèª¬æãããŸããã
RSAæå·ã·ã¹ãã ã¯ãæå·åãšããžã¿ã«çœ²åã®äž¡æ¹ã«é©ããæåã®ã·ã¹ãã ã§ãããã®ã¢ã«ãŽãªãºã ã¯ãPGPãS / MIMEãTLS / SSLãIPSEC / IKEãªã©ãå«ãå€æ°ã®æå·åã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããŸãã Rivest-Shamir-AdlemanïŒRSAïŒã¢ã«ãŽãªãºã ã¯ãæãäžè¬çã§å®å šãªå ¬éããŒæå·åæ¹åŒã®1ã€ã§ãããã®ã¢ã«ãŽãªãºã ã¯ãéåžžã«å€§ããªïŒ100ã200æ¡ã®ïŒæ°åã説æããå¹æçãªæ¹æ³ããªããšããäºå®ã«åºã¥ããŠããŸãã
RSAããŒã¯æ¬¡ã®ããã«çæãããŸãã
- p ãã㊠q (, 1024 ).
- n=pâq , .
- :
Ï(n)=(pâ1)â(qâ1) - e ïŒ 1<e<Ï(n) ), Ï(n) Ï(n) ã e , , , 17, 257 65537.
- æ° e (. public exponent)
- , , e ã
- e , 3, RSA.
- d , e Ï(n) , , : dâ
eâ¡1(modÏ(n)).
. , . - { e,n } RSA.
- { d,n }ã¯RSAç§å¯éµã®åœ¹å²ãæãããç§å¯ã«ãããŸãã
RSAã»ãã¥ãªãã£ã¯ã倧ããªæŽæ°ãå æ°å解ããèšç®ã®è€éãã«äŸåããŸããèšç®èœåãåäžããããå¹æçãªãã¡ã¯ã¿ãªã³ã°ã¢ã«ãŽãªãºã ãèå¥ããããšãæ°ããã³å€§ããªæ°ãå¢ããèœåãåäžããŸããæå·åã¯ããŒã®ãµã€ãºã«çŽæ¥é¢é£ä»ããããããŒã®é·ãã2åã«ãããšãããã©ãŒãã³ã¹ã¯äœäžããŸããã匷床ãææ°é¢æ°çã«å¢å ããŸãã
JavaScriptã®åäœäŸ
'use strict';
/**
* RSA hash function reference implementation.
* Uses BigInteger.js https://github.com/peterolson/BigInteger.js
* Code originally based on https://github.com/kubrickology/Bitcoin-explained/blob/master/RSA.js
*
* @namespace
*/
var RSA = {};
/**
* Generates a k-bit RSA public/private key pair
* https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Code
*
* @param {keysize} int, bitlength of desired RSA modulus n (should be even)
* @returns {array} Result of RSA generation (object with three bigInt members: n, e, d)
*/
RSA.generate = function (keysize) {
/**
* Generates a random k-bit prime greater than â2 Ã 2^(k-1)
*
* @param {bits} int, bitlength of desired prime
* @returns {bigInt} a random generated prime
*/
function random_prime(bits) {
var min = bigInt(6074001000).shiftLeft(bits-33); // min â â2 Ã 2^(bits - 1)
var max = bigInt.one.shiftLeft(bits).minus(1); // max = 2^(bits) - 1
while (true) {
var p = bigInt.randBetween(min, max); // WARNING: not a cryptographically secure RNG!
if (p.isProbablePrime(256)) return p;
}
}
// set up variables for key generation
var e = bigInt(65537), // use fixed public exponent
p, q, lambda;
// generate p and q such that λ(n) = lcm(p â 1, q â 1) is coprime with e and |pq| >= 2^(keysize/2 - 100)
do {
p = random_prime(keysize / 2);
q = random_prime(keysize / 2);
lambda = bigInt.lcm(p.minus(1), q.minus(1));
} while (bigInt.gcd(e, lambda).notEquals(1) || p.minus(q).abs().shiftRight(keysize/2-100).isZero());
return {
n: p.multiply(q), // public key (part I)
e: e, // public key (part II)
d: e.modInv(lambda) // private key d = e^(-1) mod λ(n)
};
};
/**
* Encrypt
*
* @param {m} int / bigInt: the 'message' to be encoded
* @param {n} int / bigInt: n value returned from RSA.generate() aka public key (part I)
* @param {e} int / bigInt: e value returned from RSA.generate() aka public key (part II)
* @returns {bigInt} encrypted message
*/
RSA.encrypt = function(m, n, e){
return bigInt(m).modPow(e, n);
};
/**
* Decrypt
*
* @param {c} int / bigInt: the 'message' to be decoded (encoded with RSA.encrypt())
* @param {d} int / bigInt: d value returned from RSA.generate() aka private key
* @param {n} int / bigInt: n value returned from RSA.generate() aka public key (part I)
* @returns {bigInt} decrypted message
*/
RSA.decrypt = function(c, d, n){
return bigInt(c).modPow(d, n);
};
DSA
DSAã¯å ¬ééµã䜿çšããŠé»å眲åãäœæããæå·åã¢ã«ãŽãªãºã ã§ãããæå·åçšã§ã¯ãããŸããïŒRSAãEl-Gamalã¹ããŒã ãšã¯ç°ãªããŸãïŒã眲åã¯ç§å¯ã«äœæãããŸãããå ¬ã«æ€èšŒããããšãã§ããŸããããã¯ã1ã€ã®ãµããžã§ã¯ãã®ã¿ãã¡ãã»ãŒãžçœ²åãäœæã§ãããã誰ã§ããã®æ£åœæ§ãæ€èšŒã§ããããšãæå³ããŸãããã®ã¢ã«ãŽãªãºã ã¯ãæéäœã®å¯Ÿæ°ãåãèšç®ã®è€éãã«åºã¥ããŠããŸãã
ãã®ã¢ã«ãŽãªãºã ã¯ã1991幎8æã«ç±³åœåœç«æšæºæè¡ç 究æïŒç±³åœïŒã«ãã£ãŠææ¡ãããç¹èš±ãååŸããŠããŸã; NISTã¯ããã®ç¹èš±ããã€ã€ãªãã£ãªãã§äœ¿çšã§ããããã«ããŸããã DSAã¯ã1998幎12æ15æ¥ã«æåã«å ¬éãããDSSã®äžéšã§ããæšæºã¯ãFIPS-186-4ã®ææ°ããŒãžã§ã³ã§ããæ°åæŽæ°ãããŠããŸãã
DSAã«ã¯ãã¡ãã»ãŒãžçœ²åã®äœæïŒSïŒãšæ€èšŒïŒVïŒã®2ã€ã®ã¢ã«ãŽãªãºã ïŒSãVïŒãå«ãŸããŠããŸãã
äž¡æ¹ã®ã¢ã«ãŽãªãºã ã¯ãæåã«æå·åããã·ã¥é¢æ°ã䜿çšããŠã¡ãã»ãŒãžããã·ã¥ãèšç®ããŸããã¢ã«ãŽãªãºã Sã¯ããã·ã¥ãšç§å¯éµã䜿çšããŠçœ²åãäœæããã¢ã«ãŽãªãºã Vã¯ã¡ãã»ãŒãžããã·ã¥ã眲åãããã³å ¬ééµã䜿çšããŠçœ²åãæ€èšŒããŸãã
å®éã眲åãããã®ã¯ïŒä»»æã®é·ãã®ïŒã¡ãã»ãŒãžã§ã¯ãªãããã®ããã·ã¥ïŒ160-256ãããïŒã§ãã
ã¡ãã»ãŒãžã¯ã次ã®ã¢ã«ãŽãªãºã ã«åŸã£ãŠçœ²åãããŸãã
- ä¹±æ°ã®éžæ kâ(0;q)
- èšç® r=(gkmodp)modq
- èšç® s=(kâ1(H(m)+xâ r))modq
- å¥ã®ãã®ãéžã¶ k ãããå€æããå Žå r=0 ãŸã㯠s=0
- 眲åã¯æ°åã®ãã¢ã§ã (r,s)
眲åã®æ€èšŒçœ²åã®
æ€èšŒã¯ãã¢ã«ãŽãªãºã ã«åŸã£ãŠå®è¡ãããŸãã
- èšç® w=sâ1modq
- èšç® u1=(H(m)â w)modq
- èšç® u2=(râ w)modq
- èšç® v=((gu1â yu2)modp)modq
- 眲åã¯æ¬¡ã®å Žåã«çã§ã v=r
DSA眲åãäœæããã³æ€èšŒãã
#include < CkCrypt2 .h> #include < CkDsa .h> void ChilkatSample ( void ) { bool ; // Chilkat Crypt . // crypt DSA. CryptCrypt2 crypt; success = crypt. UnlockComponent ( « 30- » ); if (success! = true ) { std :: cout << crypt. lastErrorText () << "\ r \ n"; ; } . put_EncodingMode ( "hex" ); . put_HashAlgorithm ( "sha-1" ); // SHA-1 . . // Chilkat Crypt , // , // . // 20- SHA-1 . const char * hashStr = crypt. hashFileENC ( "hamlet.xml" ); CkDsa dsa; // DSA PEM. Chilkat DSA // DSA PEM DER. // LoadText . // PEM // . const char * pemPrivateKey = 0; pemPrivateKey = dsa. loadText ( "dsa_priv.pem" ); success = dsa. FromPem (pemPrivateKey); if (success! = true ) { std :: cout << dsa. lastErrorText () << "\ r \ n"; ; } // , , // DSA-. success = dsa. VerifyKey (); if (success! = true ) { std :: cout << dsa. lastErrorText () << "\ r \ n"; ; } // DSA: success = dsa. SetEncodedHash ( "hex" , hashStr); if (success! = true ) { std :: cout << dsa. lastErrorText () << "\ r \ n"; ; } // , DSA , , // : success = dsa. SignHash (); if (success! = true ) { std :: cout << dsa. lastErrorText () << "\ r \ n"; ; } // SignHash , DSA //. base64- . ( // «».) Const char * hexSig = dsa. getEncodedSignature ( "hex" ); std :: cout << ":" << "\ r \ n"; std :: cout << hexSig << "\ r \ n"; // ------------------------------------------------ ----------- // 2. DSA // ---------------------------- ------------------------------- CkDsa dsa2; // DSA : const char * pemPublicKey = 0; pemPublicKey = dsa2. loadText ( "dsa_pub.pem" ); success = dsa2. FromPublicPem (pemPublicKey); if (success! = true ) { std :: cout << dsa2. lastErrorText () << "\ r \ n"; ; } // . success = dsa2. SetEncodedHash ( "hex" , hashStr); if (success! = true ) { std :: cout << dsa2. lastErrorText () << "\ r \ n"; ; } // : success = dsa2. SetEncodedSignature ( "hex" , hexSig); if (success! = true ) { std :: cout << dsa2. lastErrorText () << "\ r \ n"; ; } // Verify: success = dsa2. Verify (); if (success! = true ) { std :: cout << dsa2. lastErrorText () << "\ r \ n"; } else { std :: cout << « DSA!» << "\ r \ n"; } }
ãšã«ã¬ãã«
1985幎ã«El Gamalã«ãã£ãŠææ¡ãããé察称ã¢ã«ãŽãªãºã ã¯æ®éçã§ããããŒã¿ã®æå·åãããžã¿ã«çœ²åã®çæãå ±éããŒã®ããŽã·ãšãŒã·ã§ã³ã®3ã€ã®äž»èŠãªåé¡ãã¹ãŠã解決ããããã«äœ¿çšã§ããŸããããã«ããã¹ã¯ãŒãæ€èšŒã¹ããŒã ã®ã¢ã«ãŽãªãºã ãã¡ãã»ãŒãžIDã®èšŒæãããã³ãã®ä»ã®ãªãã·ã§ã³ã®å€æŽãå¯èœã§ãããã®ã¢ã«ãŽãªãºã ãšDiffie-Hellmanã¢ã«ãŽãªãºã ã®ã»ãã¥ãªãã£ã¯ãé¢æ£å¯Ÿæ°ã®èšç®ã®é£ããã«åºã¥ããŠããŸãããã®ã¢ã«ãŽãªãºã ã¯ãå®éã«Diffie-Hellmanã¹ããŒã ã䜿çšããŠãäºãã«ã¡ãã»ãŒãžãéä¿¡ãããµãã¹ã¯ã©ã€ããŒçšã®å ±æç§å¯ããŒãçæããã¡ãã»ãŒãžã«ãã®ããŒãæããŠæå·åããŸãã
ãŸããæå·åã®å Žåãããã³ããžã¿ã«çœ²åã®åœ¢æã®å ŽåãåãŠãŒã¶ãŒã¯ããŒãã¢ãçæããå¿ èŠããããŸãããããè¡ãã«ã¯ãDiffie-Hellmanã¹ããŒã ã®ããã«ã倧ããªçŽ æ°ãéžæãããŸã ãšæ° ãç°ãªã次æ°Aãç°ãªãã¢ãžã¥ãæ°ãè¡šã ãçªå·PãšAã¯ã¯ãªã¢ããã¹ãã§éä¿¡ã§ãããã¹ãŠã®ãããã¯ãŒã¯å å ¥è ã«å ±éã§ãã
次ã«ãã°ã«ãŒãã®åå å ¥è ãèªåã®ç§å¯çªå·ãéžæããŸãi,1<i<â1$ ãããã³å¯Ÿå¿ããå ¬éçªå·ãèšç®ããŸã Yi:Yi=AXimodP ã ãããã£ãŠãåãŠãŒã¶ãŒã¯ç§å¯éµãçæã§ããŸã i ããã³å ¬ééµ Yi ã
ã©ãã³
ãã®ã¢ã«ãŽãªãºã ã¯ããã€ã±ã«O.ã©ãã³ã«ãã£ãŠ1979幎1æã«å ¬éãããŸãããRabinæå·ã·ã¹ãã ã¯ãæå·åãããããã¹ããããã¹ãŠã®ãã¬ãŒã³ããã¹ããå埩ããããšããã¡ã¯ã¿ãªã³ã°ãšåãããã蚌æã§ããæåã®é察称æå·ã·ã¹ãã ã§ããã
éµã®çæïŒ
2ã€ã®å€§ããªç°ãªãæ°å€pããã³qãéžæããŸããéžã¹ãŸãpâ¡qâ¡3 mod 4pããã³qãæ³ãšããå¹³æ¹æ ¹ã®èšç®ãåçŽåããããïŒä»¥äžãåç §ïŒããã ãããã®ã¹ããŒã ã¯ã©ã®ã¹ãããŒã¯ã§ãæ©èœããŸãã
ãããŠn= p â qãnã¯å ¬ééµã§ããçŽ æ°p ãã㊠qç§å¯éµã§ãã
ã¡ãã»ãŒãžã®æå·åã«ã¯å ¬ééµã®ã¿ãå¿ èŠã§ãn ã æå·æã解èªããã«ã¯ãèŠçŽ ãå¿ èŠã§ã p ãã㊠q ã n ã
ããŒçæ
- 次ã®èŠä»¶ãèæ ®ããŠã2ã€ã®ä¹±æ°pãšqãéžæãããŸãã
- æ°å€ã¯å€§ããããå¿ èŠããããŸãïŒããã深床ãåç §ïŒã
- æ°å€ã¯çŽ æ°ã§ãªããã°ãªããŸããã
- æ¡ä»¶ãæºããå¿ èŠããããŸãã pâ¡qâ¡3mod4 ã
ãããã®èŠä»¶ãæºããããšã§ãpããã³qãæ³ãšããæ ¹ã®æœåºæé ãå€§å¹ ã«å éãããŸãã
æ°ãèšç®ãããŸãn=pâq ;
- çªå·nã¯å ¬ééµã§ãã
- çªå·pãšqã¯éããŠããŸãã
æå·å
å ã®ã¡ãã»ãŒãžmïŒããã¹ãïŒã¯ã次ã®åŒã«åŸã£ãŠãå ¬éããŒ-çªå·nã䜿çšããŠæå·åãããŸããc=m² mod n.
ã¢ãžã¥ãä¹ç®ã䜿çšããŠãããããåŸè ã®å Žåã¯å°ããªææ°å€ãéžæãããŠããŠããRabinã·ã¹ãã ã®æå·åé床ã¯RSAæå·åé床ãããé«éã§ãã
埩å·
åã¡ãã»ãŒãžã埩å·åããã«ã¯ãç§å¯éµ-çªå·pããã³qãå¿ èŠã§ãã埩å·åããã»ã¹ã¯æ¬¡ã®ãšããã§ãã
- ãŸãããŠãŒã¯ãªããã¢ã«ãŽãªãºã ã䜿çšããŠãæ¹çšåŒããypâ p+yqâ q=1 çªå·ãèŠã€ãã yp ãã㊠yq ;
- ããã«ãäžåœã®å°äœå®çã䜿çšããŠã4ã€ã®æ°å€ãèšç®ãããŸãã
r=(ypâ pâ mq+yqâ qâ mp)modnâr=nârs=(ypâ pâ mqâyqâ qâ mp)modnâs=nâs
ãããã®æ°åã®1ã€ã¯ãçã®å¹³æmã§ãã
PS誰ããèå³ãæã£ãŠããå Žåããã®èšäºã«èšèŒãããŠããã»ãŒãã¹ãŠã®ã¢ã«ãŽãªãºã ã«ã¯ãCãC ++ããŸãã¯ã¢ã»ã³ãã©ãŒïŒäžéšã®èšèªïŒã®å®è£ ãå«ãã¢ãŒã«ã€ãããããå®è£ ã¯ç§ã®ãã®ã§ã¯ãªãã䜿çšããå¯èœæ§ãé«ããšèšããŸã誰ãç¥ã£ãŠããŸããã
PPSæ¯èŒè¡šãäœæãããšããã¢ã€ãã¢ããããŸãããããŸããã©ã®ãã©ã¡ãŒã¿ãŒã§æ¯èŒãããã®ããç¥ããããšæããŸãã
PPPSèšäºã³ã³ãã¹ããNetologiiãããµã€ããžã®ãªã³ã¯ãããã°ãžã®ãªã³ã¯ã