Mesin Enigma adalah sebuah mesin penyadi yang digunakan untuk mengeknripsikan dan mendekripsikan pesan rahasia.

KOMPONEN MESIN ENIGMA
Mesin Enigma terdiri dari 5 komponen utama, yaitu :

# Rotor –> bagian terpenting dari enigma. Berdiameter sekitar 10cm berupa piringan yang terbuat dari karet yang keras  dengan deretan kuningan yang berisi pin – pin yang menonjol yang berbentuk bundar. Sebuah rotor menunjukkan sebuah enkripsi yang sederhana, 1 huruf di enkripsi menjadi huruf lainnya. Hasil enkripsi akan menjadi lebih rumit jika menggunakan lebih dari 1 rotor.

# Penggerak Rotor –> untuk menghindari chiper yang sederhana, beberapa rotor harus diputar
berdasarkan penekanan sebuah kunci. Hal ini dilakukan untuk memastikan kriptogram yang dibuat merupakan sebuah transformasi perputaran rotor yang menghasilkan poloponik chiper. Alat yang paling banyak digunakan untuk penggerakan rotor tersebut adalah mekanisme roda bergigi dan penggeraknya. Penggerak roda memutar rotor sebanyak 1 karakter ketika sebuah huruf diketikkan pada papan kunci.

# Reflector –> digunakan untuk memstikan sebuah huruf tidak dikodekan pada dirinya sendiri dan untuk menjadikan mesin ini reversible (jika sebuah huruf dienkripsi, hasil enkripsi huruf tersebut adalah huruf semula). Reflector hanya terdiri dari 13 pasang huruf yang susunannya acak.

# Papan Steker –>digunakan untuk menukar 2 buah huruf dan untuk meningkatkan keamanan dari pesan rahasia mesin enigma. Sebelum masuk ke proses penyandian, huruf yang telah ditentukan pertukarannya akan di ubah dipapan ini.

# Kotak Enigma –> digunakan untuk menyimpan semua perlengkapan dari mesin ini. Biasanya kotak ini dapat menampung 10 buah rotor, papan steker, dan papan ketik.

CARA KERJA MESIN ENIGMA
Mesin enigma bekerja berdasarkan perputaran rotor – rotor yang ada. Ketika sebuah huruf diketikkan di papan panel, urutan kerjanya :
1. Majukan rotor kanan sebanyak 1 huruf. Huruf yang diketikkan masuk ke rotor paling kanan dan pada rotor ini dicari padanan pada rotor kedua. Setelah itu masuk ke rotor kedua.
2. Pada rotor kedua, huruf hasil padanan dari rotor pertama dicari padanannya untuk rotor ketiga.
3. Pada rotor ketiga, dicari padanan untuk reflector.
4. Setelah masuk ke reflector, dicari pasangan huruf tersebut pada reflector, dan hasil pada reflector dikembalikan kepada rotor ketiga, kedua, kesatu, dan hasilnya menghasilkan huruf enkripsi.