# Rubberhose

> deniable encryption file system

**Wikidata**: [Q2171491](https://www.wikidata.org/wiki/Q2171491)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Rubberhose_(file_system))  
**Source**: https://4ort.xyz/entity/rubberhose

## Summary
Rubberhose is a deniable encryption file system designed to protect data by allowing multiple encrypted volumes within a single container, where the existence of additional volumes cannot be proven. It was developed by Julian Assange, Suelette Dreyfus, and Ralf-Philipp Weinmann. The system supports multiple encryption algorithms and runs on Linux, FreeBSD, and other Unix-like platforms.

## Key Facts
- Rubberhose is a deniable encryption file system, meaning it allows multiple encrypted volumes within a single container.
- It was developed by Julian Assange, Suelette Dreyfus, and Ralf-Philipp Weinmann.
- The system supports multiple encryption algorithms including DES, Triple DES, IDEA, RC5, RC6, Blowfish, Twofish, and CAST-128.
- Rubberhose runs on Linux, FreeBSD, and other Unix-like platforms.
- The project's website was originally hosted at http://marutukku.org and http://www.rubberhose.org.
- The current source code is available on GitHub at https://github.com/sporkexec/rubberhose.
- Rubberhose is named after "rubber-hose cryptanalysis," a euphemism for extracting information through coercion.
- The system is classified as proprietary software and encryption software.
- The latest known version is 0.8.3 (alpha), released on March 28, 2001.
- Rubberhose is also known by the alias "Marutukku."

### Q: What is Rubberhose used for?
A: Rubberhose is used to create deniable encrypted file systems that protect data by allowing multiple encrypted volumes within a single container, where the existence of additional volumes cannot be proven.

### Q: Who created Rubberhose?
A: Rubberhose was created by Julian Assange, Suelette Dreyfus, and Ralf-Philipp Weinmann.

### Q: What platforms does Rubberhose support?
A: Rubberhose runs on Linux, FreeBSD, and other Unix-like operating systems.

### Q: What encryption algorithms does Rubberhose use?
A: Rubberhose supports multiple encryption algorithms including DES, Triple DES, IDEA, RC5, RC6, Blowfish, Twofish, and CAST-128.

### Q: Where can I find the Rubberhose source code?
A: The Rubberhose source code is available on GitHub at https://github.com/sporkexec/rubberhose.

## Why It Matters
Rubberhose represents a significant advancement in data protection technology by introducing the concept of deniable encryption to file systems. This approach addresses a critical vulnerability in traditional encryption: the ability of adversaries to prove that encrypted data exists and demand its decryption. By allowing multiple encrypted volumes within a single container, Rubberhose provides plausible deniability - if an adversary forces you to reveal your password, you can provide one that decrypts only a decoy volume while keeping the existence of other volumes undetectable. This technology is particularly relevant for individuals operating in environments where forced disclosure of encryption keys is a risk, such as journalists protecting sources, activists in repressive regimes, or anyone concerned about coercion-based attacks on their data. The system's support for multiple encryption algorithms also demonstrates a commitment to cryptographic diversity and security best practices.

## Notable For
- Pioneered deniable encryption in file systems, allowing multiple hidden volumes within a single container
- Developed by Julian Assange, who later founded WikiLeaks, giving it historical significance in privacy advocacy
- Supports an unusually wide range of encryption algorithms (8 different algorithms)
- Named after "rubber-hose cryptanalysis," highlighting its focus on protecting against coercion
- One of the first file systems to implement true deniability, where the existence of encrypted data cannot be proven

## Body
### Technical Architecture
Rubberhose implements a layered encryption approach where multiple file systems can be stacked within a single physical container. Each layer is encrypted independently using different keys, and the system uses random data distribution to make it impossible to determine whether unused space contains encrypted data or random noise. This architecture ensures that even if an adversary gains physical access to the storage device, they cannot prove the existence of additional encrypted volumes beyond what the user reveals.

### Encryption Implementation
The system supports eight different encryption algorithms: Data Encryption Standard (DES), Triple DES, International Data Encryption Algorithm (IDEA), RC5, RC6, Blowfish, Twofish, and CAST-128. This variety allows users to choose their preferred cryptographic strength and provides redundancy in case vulnerabilities are discovered in specific algorithms. The encryption is applied at the block level, making it transparent to applications using the file system.

### Development History
Rubberhose was developed in the late 1990s and early 2000s, with version 0.8.3 (alpha) released on March 28, 2001. The project was initially hosted at marutukku.org and rubberhose.org, with documentation available through archived versions of these sites. The development team included Julian Assange, who was involved in the project before his later work with WikiLeaks, along with Suelette Dreyfus and Ralf-Philipp Weinmann.

### Security Features
The primary security feature of Rubberhose is deniability - the inability to prove that additional encrypted volumes exist beyond what the user reveals. This is achieved through several mechanisms: random data distribution throughout the container, indistinguishable encryption headers, and the ability to create volumes that appear to be filled with random data. The system also implements secure key management and supports plausible deniability through the creation of decoy volumes that can be revealed under duress.

### Platform Support
Rubberhose was designed to run on Unix-like operating systems, with specific support for Linux and FreeBSD. The system integrates at the kernel level, requiring appropriate drivers and kernel modifications to function. This platform choice reflects the project's focus on open-source operating systems and its target audience of technically sophisticated users who value privacy and security.

### Documentation and Resources
The project maintains comprehensive documentation, including a user manual available at http://marutukku.org/current/src/doc/hose/manpage.hose.html (archived). The documentation covers installation, configuration, and usage of the system, along with technical details about its implementation. Additional resources include a guide at http://marutukku.org/current/src/doc/maruguide/t1.html, providing users with detailed instructions for implementing and using the deniable encryption features.

## References

1. [Source](https://github.com/sporkexec/rubberhose/blob/master/COPYING)
2. [Source](https://www.cryptolux.org/index.php/Ralf-Philipp_Weinmann)
3. [Source](https://web.archive.org/web/20011017170329/http://marutukku.org/dist/)
4. [Source](https://web.archive.org/web/20021127204528/http://www.rubberhose.org:80/)
5. [Source](https://raw.githubusercontent.com/sporkexec/rubberhose/master/README)
6. [Source](https://web.archive.org/web/20011017150100/http://marutukku.org/current/src/doc/hose/manpage.hose.html)