Utilize o cryptosia para gerar chaves pública e privada em sintonia, garantindo segurança simplificada de mensagens simples por meio da Criptografia RSA.
Note
O backend do projeto está disponível em: https://github.com/theduardomaciel/cc-md/tree/master/projeto
Frontend | Backend |
---|---|
HTML | WebAssembly |
CSS | Emscripten |
TypeScript | C |
Next.js | |
TailwindCSS | |
Radix & Radix Icons |
Important
O passo a passo disponível a seguir refere-se à compilação em um dispositivo Windows. Para especificações em outros sistemas operacionais, visite a página oficial do emscripten.
- Siga as instruções de instalação do emscripten em emscripten.org/docs/getting_started/downloads.html
- Abra o terminal
Emscripten Windows Command Prompt (emcmdprompt.bat)
disponível no diretório\emscripten\emsdk
e navegue até\upstream\emscripten/
- Com o terminal no diretório correto, compile o arquivo
cryptosia.c
com o seguinte comando:
emcc -O3 "[diretório do arquivo C]\cryptosia.c" -o "[diretório de saída]\cryptosia.js" -lm -lgmp --profiling-funcs -s MODULARIZE -s WASM=1 -s EXPORT_NAME="CRYPTOSIA" -s ENVIRONMENT="web" -s EXPORTED_FUNCTIONS=[nome das funções antecipados de "_", sem espaços e separados por "," como em "_int_sqrt"] EXPORTED_RUNTIME_METHODS=ccall,cwrap,UTF8ToString,stringToNewUTF8
Exemplo:
emcc -O3 -o cryptosia.js cryptosia.c ${HOME}/opt/lib/libgmp.a -I${HOME}/opt/include -s MODULARIZE -s WASM=1 -s EXPORT_NAME="CRYPTOSIA" -s ENVIRONMENT="web" -s EXPORTED_FUNCTIONS=_n_factor,_publicKey_totient,_publicKey_e,_privateKey_d,_mdc,_cryptosia_encrypt,_cryptosia_decrypt -s EXPORTED_RUNTIME_METHODS=ccall,cwrap,UTF8ToString,stringToNewUTF8 -lm
Note
O argumento -O3
é utilizado para otimizar o código. Portanto, ao utilizá-lo, prepare-se para tempos de compilação maiores.
Para tempos mais rápidos, utilize níveis de otimização menor como -O1, O2 ou Oz!
Além da otimização de código, as funções exportadas em EXPORTED_RUNTIME_METHODS
podem ser consultados neste link
- Copie os arquivos
cryptosia.js
ecryptosia.wasm
gerados para a pastapublic
do projeto
- Clone o repositório
- Instale as dependências com
npm
,yarn
oupnpm
- Inicie o servidor com
npm run dev
,yarn dev
oupnpm dev
Agora você pode acessar localhost:3000
do seu navegador.
- Eduardo Maciel Alexandre - Frontend e backend
- David Enéas Ferreira - Backend
- Maria Emily Nayla Gomes da Silva - Fundamentação teórica matemática e apresentações
- Mariáh Lins Sena - Apresentações e redição de texto
- Pedro Gabriel Medeiros de Lima - Apresentações e redição de texto
- Victória Júllya Cabral da Silva - Apresentações e redição de texto
Este projeto utiliza a MIT License. Veja o arquivo de LICENÇA para mais detalhes.