Git Product home page Git Product logo

caesar-cipher's Introduction

Cifrado Cesar

Introduction

En criptografía, el cifrado César, también conocido como cifrado por desplazamiento, código de César o desplazamiento de César, es una de las técnicas de cifrado más simples y más usadas. Es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto. Por ejemplo, con un desplazamiento de 3, la A sería sustituida por la D (situada 3 lugares a la derecha de la A), la B sería reemplazada por la E, etc. En este programa usted podrá elegir la opción de desplazamiento, ingresando la frase y la clave.

Diagramas de Flujo

Para la solución del programa se presenta el diagrama de flujo.

Ingreso de datos

  • En la imagen el diagrama de flujo corresponde al ingreso y validación de datos ingresados, una vez ingresados se invoca a la función cipher o decipher.

Cipher Decipher

  • Diagrama de flujo de las funciones de cifrado y decifrado Cesar

Pseudocodigo

funcion cipher(secret){
    Declarar newPhrase = ""
    para( i <- 0; i<longitud(secret); ++){
        convertir secret a Ascii
        newphrase += ((secret(i)-65+33) mod 26 +65)
    }
    Escribir newPhrase
  }

funcion decipher(secret){
  Declarar newPhrase = ""
  para( i <- 0; i<longitud(secret); ++){
      convertir secret a Ascii
      newphrase += ((secret(i)-65-33 + 26*2 )mod 26 +65)
  }
  Escribir newPhrase
}

funcion validate(date){
  para( i = 0; i < longitud(date); i++){
    si((date>64 && date < 91) || (date>96 && date < 123))
      retornar date
    si no
      retornar error
  }
}

Cifrado cesar
1. Para cifrar
2. Para decifrar
3. Salir
Elija una opcion:

Leer opcion
declarar phrase
segun(opcion)
    caso 1:
      phrase = Escribir  Ingrese texto a cifrar
      cipher(validate(phrase))
    caso 2:
      phrase = Escribir  Ingrese texto a descifrar
      decipher(validate(phrase))


funcion cipher(secret){
  Declarar newPhrase = ""
  para( i <- 0; i<longitud(secret); ++){
    convertir secret a Ascii
    newphrase += ((secret(i)-65+33) mod 26 +65)
  }
  Escribir newPhrase
}

funcion decipher(secret){
  Declarar newPhrase = ""
  para( i <- 0; i<longitud(secret); ++){
    convertir secret a Ascii
    newphrase += ((secret(i)-65-33 + 26*2 )mod 26 +65)
  }
  Escribir newPhrase
}

caesar-cipher's People

Contributors

ivandevp avatar ctahirih avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.