Caesar Cipher {{ lang === 'id' ? 'oleh' : 'by' }} Manisha Arie

{{ t.portalSubtitle }}

{{ mode === 'encrypt' ? t.plaintext : t.ciphertext }}

{{ t.result }}

{{ t.typePreviewPlaceholder }} {{ staticOutput }}

{{ t.selectShift }}

{{ t.selectShiftDesc }}

{{ t.shiftKeyLabel }}
(= {{ numToChar(shiftKey) }})
{{ n }}
{{ t.presets }}

{{ t.horizontalMapTitle }}

{{ t.shiftValueLabel }}
{{ t.plaintextTrack }}
{{ String.fromCharCode(65 + n - 1) }}
{{ n - 1 }}
{{ mode === 'encrypt' ? t.ciphertextTrackForward.replace('{val}', shiftKey) : t.ciphertextTrackBackward.replace('{val}', shiftKey) }}
{{ numToChar(getShiftedValue(n - 1)) }}
{{ getShiftedValue(n - 1) }}

{{ t.simTraceTitle }}

{{ t.simTraceDesc }}

{{ t.charCount.replace('{val}', totalBlocks) }} {{ t.charProgress.replace('{current}', activeBlockIndex + 1).replace('{total}', totalBlocks) }} {{ (mode === 'encrypt' ? t.encrypt : t.decrypt).toUpperCase() }} (K = {{ shiftKey }})
{{ t.charShiftLayout }}
{{ t.inputLabel }}
{{ currentInputChar || '_' }} {{ currentInputChar ? charToNum(currentInputChar) : '?' }}
{{ t.shiftLabel }}
{{ mode === 'encrypt' ? '+' : '-' }} {{ shiftKey }}
{{ t.outputLabel }}
{{ activeSubStep >= 4 ? currentOutputChar : '_' }} {{ activeSubStep >= 3 ? currentOutputVal : '?' }}
{{ t.calcTrace }}
{{ t.modularStepTitle }}
{{ t.mapCharVal }} {{ currentInputChar || '?' }} → {{ currentInputChar ? charToNum(currentInputChar) : '?' }}
{{ t.applyShift }} {{ currentInputChar ? charToNum(currentInputChar) : '?' }} {{ mode === 'encrypt' ? '+' : '-' }} {{ shiftKey }} = {{ currentInputChar ? (mode === 'encrypt' ? charToNum(currentInputChar) + shiftKey : charToNum(currentInputChar) - shiftKey) : '?' }}
{{ t.modulo26 }} ({{ currentInputChar ? (mode === 'encrypt' ? charToNum(currentInputChar) + shiftKey : charToNum(currentInputChar) - shiftKey) : '?' }}) mod 26 = {{ activeSubStep >= 3 ? currentOutputVal : '?' }}
{{ t.resultChar }} {{ activeSubStep >= 3 ? currentOutputVal : '?' }} → {{ activeSubStep >= 4 ? currentOutputChar : '?' }}
{{ t.playbackCenter }} {{ t.playbackSpeed.replace('{val}', animationSpeed) }}
{{ t.readCharLabel }} {{ t.mapNumLabel }} {{ t.shiftValLabel }} {{ t.modulo26Label }} {{ t.mapCharLabel }}
{{ t.speedSliderLabel }}
{{ t.charProgressTracker }}
{{ t.liveAccumulation }} {{ finalOutput || '...' }}
{{ t.completed }}

{{ t.howCaesarWorks }}

{{ t.caesarWorksDesc }}

{{ t.encEquationTitle }}

Ci = (Pi + K) mod 26

{{ t.encEquationDesc }}

{{ t.decEquationTitle }}

Pi = (Ci - K) mod 26

{{ t.decEquationDesc }}

{{ t.rot13Title }}

{{ t.rot13Desc }}

(X + 13) + 13 = X + 26 ≡ X mod 26

{{ t.rot13Desc2 }}

{{ t.historicalFactTitle }}

{{ t.historicalFactDesc }}

{{ t.referenceChartTitle }}

{{ String.fromCharCode(64 + n) }}
{{ n - 1 }}

{{ t.cryptanalysisLabTitle }}

{{ t.hackAttackButton }}