Skip to main content

Settings

Color Mode

Theme Skin

Background

Appearance preferences are saved in this browser only.

Environment

Current Environment Production

Built with JEKYLL_ENV=production. Changes require deployment.

Theme & Build

Jekyll v3.10.0
Last BuildOct 17, 19:54

Page Info

Layout default
Collection none
Path overthewire/krypton/krypton0.md
URL /docs/wargames/krypton/krypton0/
Date 2026-04-07

Source Code

Set repository: USER/REPO in your _config.yml to enable source-code shortcuts.

Krypton0

Krypton Level 0 — decode a Base64 string to log in, learning the difference between encoding and encryption.

Table of Contents

Source: This content is aggregated from overthewire (MIT). Visit the original repository for the latest version.

Level Info

Welcome to Krypton! The first level is easy. The following string encodes the password using Base64:

S1JZUFRPTklTR1JFQVQ=

Use this password to log in to krypton.labs.overthewire.org with username krypton1 using SSH on port 2231. You can find the files for other levels in /krypton/

Study guide

Level map: the page gives you the password for krypton1 in encoded form.

What this level teaches

Base64 is an encoding, not a cipher. Anyone can undo it.

Key ideas

  • Encoding vs encryption. Encoding changes representation for transport. Encryption uses a secret key so that only someone with the key can read the data.
  • Recognising Base64. It uses letters, digits, + and /, and often ends with = padding.
  • Decoding tool. The base64 command with its decode option, or any programming language, reverses it.
  • SSH details. The host and port in the level text are the ones you use for every Krypton level.

How to approach it

  1. Decode the string given in the page text.
  2. Use the result as the password for the krypton1 account on the stated host and port.
  3. Look around /krypton/ to see where each later level’s files live.

Why it matters

Tokens and credentials in Base64 are often mistaken for encrypted data. Treat the format as public.