Salsa20
E42566
Salsa20 is a high-speed stream cipher designed by Daniel J. Bernstein, widely used in modern cryptography for its strong security and efficient software performance.
Observed surface forms (3)
| Surface form | Occurrences |
|---|---|
| Salsa20/8 | 2 |
| Salsa20/12 | 1 |
| Salsa20/20 | 2 |
Statements (48)
| Predicate | Object |
|---|---|
| instanceOf |
cryptographic primitive
ⓘ
stream cipher ⓘ symmetric-key algorithm ⓘ |
| application |
disk encryption
ⓘ
file encryption ⓘ network protocols ⓘ |
| blockSize | 512 bits ⓘ |
| category | modern cryptography ⓘ |
| coreFunctionName | Salsa20 hash core ⓘ |
| designedFor | software implementation ⓘ |
| designer | Daniel J. Bernstein ⓘ |
| designGoal |
high software performance
ⓘ
strong security ⓘ |
| designType | add-rotate-xor cipher ⓘ |
| encryptionMethod | XOR keystream with plaintext ⓘ |
| familyMember |
Salsa20
self-linksurface differs
ⓘ
surface form:
Salsa20/12
Salsa20 self-linksurface differs ⓘ
surface form:
Salsa20/20
Salsa20 self-linksurface differs ⓘ
surface form:
Salsa20/8
|
| influenced | ChaCha ⓘ |
| introducedIn | 2005 ⓘ |
| keySize |
128 bits
ⓘ
256 bits ⓘ |
| license | public domain ⓘ |
| nonceSize | 64 bits ⓘ |
| operatingMode | synchronous stream cipher ⓘ |
| outputType | keystream ⓘ |
| relatedTo | ChaCha20 ⓘ |
| rounds |
12
ⓘ
20 ⓘ 8 ⓘ |
| securityClaim | 256-bit security for 256-bit keys ⓘ |
| specifiedIn | eSTREAM portfolio documentation ⓘ |
| standardVariant |
Salsa20
self-linksurface differs
ⓘ
surface form:
Salsa20/20
|
| stateSize | 512 bits ⓘ |
| status |
no practical attacks on full-round Salsa20/20 known as of 2024
ⓘ
widely analyzed ⓘ |
| submissionCategory | software ⓘ |
| submittedTo | eSTREAM ⓘ |
| updateFunction | quarter-round function ⓘ |
| usesConstant | sigma constant ⓘ |
| usesOperation |
bit rotation
ⓘ
bitwise XOR ⓘ modular addition ⓘ |
| usesPrimitive | ARX operations ⓘ |
| usesStructure |
4x4 matrix of 32-bit words
ⓘ
hash-function-like core ⓘ |
| variantNonceSize | 96 bits ⓘ |
| wordSize | 32 bits ⓘ |
Referenced by (9)
Full triples — surface form annotated when it differs from this entity's canonical label.
this entity surface form:
Salsa20/8
this entity surface form:
Salsa20/12
this entity surface form:
Salsa20/20
this entity surface form:
Salsa20/8
this entity surface form:
Salsa20/20