Skip to content

FatecLP/neuraldecipher

Repository files navigation

NeuralDecipher - README

Status do Projeto GitHub last commit
JavaScript Node.js TensorFlow.js

NeuralDecipher é um projeto de Machine Learning desenvolvido na Fatec Luigi Papaiz que utiliza regressão linear com TensorFlow.js para aprender padrões de criptografia e decifrar mensagens. O modelo treina com pares de caracteres ASCII (puro/cifrado) e descobre os valores de multiplicação (m) e adição (b) usados na cifra.

👥 Nomes dos Integrantes

  • André Diogo Melchior da Silva
  • Juan Pablo Firmino Ferreira
  • Michael Akira de Lima Kuwahara
  • Murilo de Oliveira Sartori

👨🏻‍🏫 Professor

📚 Tecnologias Utilizadas

  • JavaScript (Node.js) - Linguagem principal do projeto
  • TensorFlow.js - Biblioteca de Machine Learning
  • Regressão Linear - Algoritmo de aprendizado utilizado
  • Normalização de Dados - Técnica para evitar o mínimo local

🎯 Objetivo do Projeto

O desafio era criar um modelo de ML capaz de:

  1. Aprender a relação entre algo criptografado e seu valor original
  2. Descobrir os parâmetros m (multiplicação) e b (adição) da cifra linear
  3. Decifrar textos usando os parâmetros aprendidos

🔐 Como Funciona a Criptografia

A cifra utiliza a fórmula linear: Y = m × X + b

// Criptografar
const asciiPuro = 'A'.charCodeAt(0);      // 65
const asciiCifrado = (65 * 3) + 7;        // 202

O modelo treina para descobrir que m = 3 e b = 7 observando múltiplos pares puro/cifrado.

🗂️ Arquivos do Projeto

Arquivo Descrição
desafio.js Arquivo principal - treina o modelo para decifrar
cripto.js Implementação da cifra linear (Y = mX + b)
normalizar.js Funções utilitárias de normalização de dados
exemplo1.js Exemplo básico: horas estudadas vs nota
exemplo2.js Exemplo: conversão Celsius para Fahrenheit
sintaxe.md Comentários de sintaxe TensorFlow.js
problemas.md Registro de problemas e aprendizados

🚀 Como Executar

  1. Clone o repositório
git clone https://github.com/FatecLP/neuraldecipher.git
cd neuraldecipher
  1. Instale as dependências
npm install
  1. Execute o desafio principal
node desafio.js
  1. Execute os exemplos educacionais
node exemplo1.js
node exemplo2.js

📈 Fluxo de Execução

  1. Carrega mensagem em texto puro
  2. Converte para array de códigos ASCII
  3. Criptografa usando a fórmula Y = 3X + 7
  4. Cria tensores com ASCII puro e cifrado
  5. Normaliza dados para evitar problemas
  6. Treina modelo com SGD por 5000 épocas
  7. A cada 10 épocas, tenta decifrar a mensagem
  8. Quando decifração for 100% correta, para e exibe resultado

📜 Licença

License: MIT

Este projeto está licenciado sob a licença MIT.

Nota: Projeto educacional desenvolvido na FATEC Luigi Papaiz. Demonstra conceitos práticos de Machine Learning, regressão linear e otimização de parâmetros aplicados a um problema real de criptoanálise.


Desenvolvido com 💙 pela equipe NeuralDecipher
FATEC Luigi Papaiz - Diadema/SP - 2025

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published