GithubHelp home page GithubHelp logo

perfectpassword's Introduction

Perfect paper passwords

Esta aplicación está desarrollada para implementar la generación de tarjetas con passcodes.

Para generar la tarjeta se emplea CryptoKit. Con esta biblioteca se implementa un cifrador AES, y para hacerlo se utiliza una llave simétrica de 256 bits. Con el resultado del cifrador se llevan a cabo divisiones sucesivas de 128 bits tomando en cuenta el tamaño deseado para cada celda de la columna haciendo las veces de divisor. Con el residuo de cada operación se mapea el Passcode character set para obtener la cadena para cada una de las celdas de la tarjeta de passcodes

Cabe mencionar que CryptoKit hasta el momento no permite al programador establecer el vector de inicialización lo que en consecuencia hace imposible replicar las contraseñas de la tarjeta generadas en la app.

Para más información con respecto al algoritmo se puede consultar la siguiente liga:

GRC

Para las operaciones con números de 128 bits se usa la siguiente biblioteca:

UInt128

Consideraciones

  • Esta app sólo funciona para teléfonos de iPhone 8 en adelante con iOS 13.2 o superior debido al uso de cryptokit.
  • La app funciona para un pass code length igual a 11.
  • El character set debe ser al menos de 16 caracteres.

Instalación

  1. Tener instalado Xcode al menos la versión 11.3.1(11C504)
  2. Clonar el repositorio de la siguiente liga Perfect Paper Password.
  3. Abrir el archivo PerfectPassword.xcodeproj con Xcode
  4. Seleccionar un emulador (Se recomienda iPhone 8) o algún otro con iOS 13.3.
  5. En Xcode en el menú Product elegir la opción Run
  6. Esperar a que construya (Build) e inicie la app.

perfectpassword's People

Contributors

juleslegrand avatar

Watchers

James Cloos avatar  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.