Network Working Group B. Harris Request for Comments: 4345 January 2006 Category: Standards TrackImproved Arcfour Modes for the Secure Shell (SSH) Transport Layer Protocol
1. Introduction
Secure Shell (SSH) [RFC4251] is a secure remote-login protocol. It allows for the use of an extensible variety of symmetric cipher algorithms to provide confidentiality for data in transit. One of the algorithms specified in the base protocol is "arcfour", which specifies the use of Arcfour (also known as RC4), a fast stream cipher. As [RFC4253] says, though, "Arcfour (and RC4) has problems with weak keys, and should be used with caution." These problems are described in more detail in [MANTIN01], along with a recommendation to discard the first 1536 bytes of keystream so as to ensure that the cipher's internal state is thoroughly mixed. This document specifies new cipher algorithms for SSH that follow this recommendation.
2. Conventions Used in this Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
Harris Standards Track [Page 1]
RFC 4345 Improved Arcfour Modes for SSH January 2006 3. Applicability StatementImplementations of Arcfour are typically slightly faster and much smaller than those of any other encryption algorithm currently defined for SSH. This must be balanced, though, against the known security problems with Arcfour described in Section 5. In most cases, where speed and code size are not critical issues, the algorithms specified by [RFC4344] should be used instead.
4. Algorithm Definitions
The "arcfour128" algorithm is the RC4 cipher, as described in [SCHNEIER], using a 128-bit key. The first 1536 bytes of keystream generated by the cipher MUST be discarded, and the first byte of the first encrypted packet MUST be encrypted using the 1537th byte of keystream.
5. Security Considerations
The security considerations in [RFC4251] apply.
6. IANA Considerations
The IANA has assigned the Encryption Algorithm Names "arcfour128" and "arcfour256" in accordance with [RFC4250].
Harris Standards Track [Page 2]
RFC 4345 Improved Arcfour Modes for SSH January 2006 7. References 7.1. Normative References[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
7.2. Informative References
[FMcG] Fluhrer, S. and D. McGrew, "Statistical Analysis of the
Harris Standards Track [Page 3]
RFC 4345 Improved Arcfour Modes for SSH January 2006
Author's Address
Harris Standards Track [Page 4]
RFC 4345 Improved Arcfour Modes for SSH January 2006
Full Copyright Statement