---
title: Cripto
sidebar_position: 8
---

# Cripto

<div style={{ display: "flex", alignItems: "flex-start", gap: "16px", flexWrap: "wrap" }}>
	<img
		src={require("@site/static/images/atividades/programacao/cripto-thumbnail.png").default}
		alt="Thumbnail da atividade Cripto"
		style={{ width: "280px", height: "280px", objectFit: "contain", flexShrink: 0 }}
	/>
	<div style={{ flex: 1, minWidth: "260px" }}>
		<p>Cripto é a atividade mais explicitamente voltada para representação simbólica e transformação de dados. Ela usa desafios de cifra, substituição, inversão e somatório de integridade para mostrar que programação também serve para codificar, decodificar, comparar e proteger informação. Isso a torna especialmente interessante para estudantes que já avançaram um pouco além dos comandos básicos e estão prontos para trabalhar com cadeias de texto, posições e regras mais abstratas.</p>
		<p>Seu percurso é muito pedagógico porque começa com algo simples e concreto, a conversão entre letras e números, e avança até operações de cifra de César, alfabetos secretos e noções introdutórias de hash. Ao fazer isso, a atividade mostra que dados podem ser transformados sistematicamente por regras bem definidas e que pequenas mudanças de fórmula alteram o resultado final de maneira significativa.</p>
	</div>
</div>

## O que esta atividade ensina sobre programação

Cripto ensina, de forma bastante clara, que programar envolve percorrer sequências, manipular símbolos, guardar estados intermediários e aplicar operações repetidas com consistência. O estudante trabalha contadores, leitura de caracteres, busca de posição, concatenação de saída, uso de variáveis auxiliares e estruturas condicionais.

Do ponto de vista conceitual, a atividade é valiosa porque aproxima programação de temas reais da computação, como criptografia clássica, codificação, substituição e verificação de integridade. Mesmo em nível introdutório, isso ajuda a desfazer a ideia de que programação se resume a mover objetos na tela. Aqui, o foco passa a ser transformação de informação, que é um eixo central da computação.

## Mediação pedagógica

Uma mediação eficaz é pedir que o estudante explique a regra da transformação em linguagem comum antes de programá-la. Por exemplo: “cada letra anda três casas no alfabeto” ou “se a letra for A, troco por 4”. Essa explicitação ajuda a converter uma regra informal em algoritmo.

Também vale discutir a diferença entre cifra e hash. Mesmo de forma introdutória, a atividade permite mostrar que algumas transformações visam esconder uma mensagem, enquanto outras servem para verificar integridade. Essa conversa costuma enriquecer bastante o sentido da atividade.

## Progressão das fases

| Fase | Nome | O que o estudante pratica |
| --- | --- | --- |
| 1 | De Letra para Número | percorrer o alfabeto e associar símbolo a posição numérica |
| 2 | De Número para Letra | reverter o mapeamento e reconstruir texto a partir de índices |
| 3 | Cifra de César (+3) | aplicar deslocamento fixo com busca de posição e módulo |
| 4 | Cifra de César (-3) | realizar deslocamento inverso controlando índices negativos |
| 5 | Criptografia com Chave Variável | generalizar a cifra usando variável para a chave |
| 6 | Descriptografia com Chave Variável | reutilizar a lógica anterior invertendo a operação |
| 7 | Código Leetspeak | usar condicionais para substituições específicas por regra |
| 8 | Mensagem Invertida | manipular ordem de caracteres e composição incremental de saída |
| 9 | Alfabeto Secreto | cifrar usando correspondência entre dois alfabetos |
| 10 | Somador de Integridade (Hash) | acumular valor numérico por fórmula repetida para integridade |

## Quando usar

Cripto é mais adequada quando a turma já domina repetição, variáveis e manipulação básica de texto. Ela funciona bem como atividade de aprofundamento, fechamento de trilha ou ponte para discussões sobre segurança digital, codificação e proteção de dados.

## Referências

- Cifra de César: https://pt.wikipedia.org/wiki/Cifra_de_C%C3%A9sar
- Função hash: https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_hash
- Criptografia: https://pt.wikipedia.org/wiki/Criptografia