A codificação de Vigenere é um criptosistema simétrico, o que significa que utiliza a mesma chave para a codificação e a descodificação. A codificação de Vigenere assemelha-se muito à codificação César, com a diferença de que utiliza uma chave mais longa para ultrapassar o principal problema da codificação César: o facto que uma letra poder ser codificada de uma só maneira. Para isto utiliza-se uma palavra chave em vez de um simples caracter.
Associa-se inicialmente a cada letra um número correspondente.
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
Isto consiste em codificar um texto com uma palavra acrescentando a cada um das suas letras a letra de uma outra palavra chamada chave. A chave é acrescentada indefinidamente no texto a codificar, seguidamente o código ASCII de cada uma das letras da chave é acrescentado ao texto a cifrar. Por exemplo, o texto “rendezvousamidi” com a chave "bonjour" será codificado da seguinte forma:
Texto original:
| r | e | n | d | e | z | v | o | u | s | a | m | i | d | i |
| 114 | 101 | 110 | 100 | 101 | 122 | 118 | 111 | 117 | 115 | 97 | 109 | 105 | 100 | 105 |
Chave:
| b | o | n | j | o | u | r |
| 98 | 111 | 110 | 106 | 111 | 117 | 114 |
Texto criptado :
| r+b | e+o | n+n | d+j | e+o | z+u | v+r | o+b | u+o | s+n | a+j | m+o | i+u | d+r | i+b |
| 114 + 98 | 101 + 111 | 110 + 110 | 100 + 106 | 101 + 111 | 122 + 117 | 118 + 114 | 111 + 98 | 117 + 111 | 115 + 110 | 97 + 106 | 109 + 111 | 105 + 117 | 100 + 114 | 105 + 98 |
Para decifrar esta mensagem basta ter a chave secreta e fazer a descodificação inversa, com a ajuda de uma subtracção.
Embora esta codificação seja muito mais segura do que a codificação César, pode ainda ser quebrada facilmente. Com efeito, quando as mensagens são muito mais longas que a chave, é possível localizar o comprimento da chave e utilizar para cada sequência do comprimento da chave o método que consiste em calcular a frequência de aparecimento das letras, permitindo determinar um a um os caracteres da chave…
Para evitar este problema, uma solução consiste em utilizar uma chave cuja dimensão é próxima da do texto para tornar impossível um estudo estatístico do texto cifrado. Este tipo de sistema de codificação é chamado de sistema de chave descartável. O problema deste tipo de método é o comprimento da chave de cifragem (quanto mais longo é o texto a cifrar, mais volumosa deve ser a chave), o que impede a sua memorização e implica uma probabilidade de erro na chave muito maior (um só erro torna o texto indecifrável…).