Salsa20
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/03 06:12 UTC 版)
Salsa20は、ダニエル・バーンスタインによって開発されたストリーム暗号である。32-bit addition、XORおよびキャリーなしローテートに基づく疑似乱数生成によって構成される。中心となる関数は、256ビットの鍵、64ビットのnonce、そして64ビットの(ストリームの位置を示す)カウンタを入力とし、512ビットの鍵ストリーム1ブロックを出力する(鍵長128ビットのバージョンも存在する)。これにより、Salsa20には、任意の位置のストリームを一定時間で探索することが可能となる。最近のx86プロセッサでは、ソフトウェア実装で4–14 cycles per byte程度の速度を示す[3]。Salsa20は特許で保護されておらず、設計者であるバーンスタインによっていくつかのアーキテクチャ向けの最適化実装がパブリックドメインで公開されている[4]。
注釈
- ^ 計算時間のほとんどはラウンド処理の繰り返しによるものなので、ラウンド数と処理速度は反比例する。つまり、ラウンド数を半分にすれば、パフォーマンスは約二倍になる。よって、ラウンド数を削減した変種は明らかに速い。
出典
- ^ Daniel J. Bernstein. “Salsa 20 speed; Salsa20 software”. 2013年12月30日閲覧。
- ^ a b c d Jean-Philippe Aumasson, Simon Fischer, Shahram Khazaei, Willi Meier, and Christian Rechberger, New Features of Latin Dances
- ^ Salsa20 home page
- ^ Speed of Salsa20
- ^ Daniel J. Bernstein (2007-12-24). The Salsa20 family of stream ciphers .
- ^ http://www.ecrypt.eu.org/stream/endofphase2.html
- ^ http://www.ecrypt.eu.org/stream/endofphase1.html
- ^ http://www.ecrypt.eu.org/stream/PhaseIIreport.pdf
- ^ Simon Fischer, Willi Meier, Côme Berbain, Jean-Francois Biasse, Matt Robshaw, Non-Randomness in eSTREAM Candidates Salsa20 and TSC-4, Indocrypt 2006
- ^ Yukiyasu Tsunoo, Teruo Saito, Hiroyasu Kubo, Tomoyasu Suzaki and Hiroki Nakashima (2007-01-02). Differential Cryptanalysis of Salsa20/8 .
- ^ Zhenqing Shi, Bin Zhang, Dengguo Feng, Wenling Wu (2012): „Improved Key Recovery Attacks on Reduced-Round Salsa20 and ChaCha“. Information Security and Cryptology – ICISC 2012. Springer Verlag, 2013, pp. 337-351
- ^ Nicky Mouha, Bart Preneel (2013). A Proof that the ARX Cipher Salsa20 is Secure against Differential Cryptanalysis .
- ^ a b c Bernstein, Daniel (28 January 2008), ChaCha, a variant of Salsa20 2018年6月3日閲覧。
- ^ Neves, Samuel (2009-10-07), Faster ChaCha implementations for Intel processors 2011年2月20日閲覧, "two of these constants are multiples of 8; this allows for a 1 instruction rotation in Core2 and later Intel CPUs using the pshufb instruction"
- ^ Bernstein, D. J. (2008-01-28) (pdf), ChaCha, a variant of Salsa20, p. 4, Document ID: 4027b5256e17b9796842e6d0f68b0b5e 2011年2月20日閲覧。
- ^ ChaCha20 and Poly1305 for IETF protocols, Internet-Draft , Y. Nir, Check Point, A. Langley, Google Inc., November 9, 2014
- ^ draft-ietf-tls-chacha20-poly1305 The ChaCha20-Poly1305 AEAD Cipher for Transport Layer Security
- ^ Google Swaps Out Crypto Ciphers in OpenSSL, InfoSecurity, April 24, 2014
- ^ Miller, Damien (2013年12月2日). “ssh/PROTOCOL.chacha20poly1305”. BSD Cross Reference, OpenBSD src/usr.bin/. 2014年12月27日閲覧。
- ^ Murenin, Constantine A. (2013年12月11日). Unknown Lamer: “OpenSSH Has a New Cipher — Chacha20-poly1305 — from D.J. Bernstein”. Slashdot. 2014年12月27日閲覧。
- ^ Murenin, Constantine A. (2014年4月30日). Soulskill: “OpenSSH No Longer Has To Depend On OpenSSL”. Slashdot. 2014年12月26日閲覧。
- ^ “ChaCha Usage & Deployment”. 2015年1月7日閲覧。
- ^ “arc4random - NetBSD Manual Pages”. 2015年1月7日閲覧。
- ^ Donenfeld, Jason A.. “Protocol & Cryptography - WireGuard” (英語). www.wireguard.com. 2020年4月21日閲覧。
- 1 Salsa20とは
- 2 Salsa20の概要
- 3 解読
- 4 ChaCha
- 5 脚注
- Salsa20のページへのリンク